欢迎来到天天文库
浏览记录
ID:51310378
大小:168.00 KB
页数:10页
时间:2020-03-21
《上海大学ACM集训队培训资料内部使用.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、上海大学ACM/icpc集训队何琪辰2007.3.25上海大学ACM集训队培训资料(内部使用)一、C++基础基本知识所有的C++程序都是有函数组成的,函数又叫做子程序,且每个C++程序必须包含一个main函数,编译器(能够把源代码转换成目标代码的程序)把翻译后的目标代码和一些启动代码组合起来,生成可执行文件,main函数就是可执行文件的入口,所以,每个C++程序有且只有一个main函数。下面我们看一个最简单C++程序。(程序1.1)程序1.1intmain(){return0;}在这个程序中,如果缺少任何一个字符,编译
2、器就无法将其翻译成机器代码。此外,C++是对大小写敏感的,这就意味着,如果我将mian()函数拼为Main(),哪么,编译器在编译这段程序的时候就会出错。编辑源文件能够提共管理程序开发的所有步骤,包括编辑的程序成为集成开发环境(integrateddevelopmentevironments,IDE)。在windows系统下,使用较为广泛的有MicrosoftVisualC++、Dev-Cpp等,在UNIX系统下,有Vim、emacs、eclipes等。这些程序都能提供一个较好的开发平台,使我们能够方便的开发一个程序,
3、接下我们所要了解的都是标准C++,所有源代码都在Dev-cpp下编写,能够编译通过。如果我们修改程序1.1中的main()函数的名称,将其改为Main(),那么,IDE就会给出错误信息,比如“[Linkererror]undefinedreferenceto`WinMain@16'”,因为编译器没有找到main函数。接下来,我们来看一个经典的C++例子(程序1.2)程序1.2#includeusingnamespacestd;intmain(void){cout<<"HelloWrold!"<4、dl;return0;}运行结果HelloWorld!程序说明第一行“#include”,是一句预处理命令,相当于把“iostream”10上海大学ACM/icpc集训队何琪辰2007.3.25这个文件的所有内容复制到当前位置,替换该行。因为在输出操作中需要做很多事,C++编译器就提供了很多已经写好的函数(成为C++标准库),我们做的只是拿来用就可以了。第二行的“usingnamespacestd;”是使用标准命名空间,因为我们在程序中用到了在标准命名空间里的函数和对象。目前可以不了解其具体如何实现5、,在以后的程序设计中可以再对其进行了解。在明函数中“cout<<”HelloWorld!”<voidsimon(int);//functionprototypeforsimon()intmain(){usingnamespacestd6、;simon(3);//callthesimon()functioncout<<"Pickaninteger:";intcount;cin>>count;simon(count);//callitagaincout<<"Done!"<7、tneedreturnstatements下面试运行情况:Simonsaystouchyourtoes3times.Pickaninteger:512Simonsaystouchyourtoes512times.Done!程序中包含了cin语句来从键盘上获取数据。该程序中包含了除main函数以外的另一个函数simon(),他和main函数定义的格式相同,函数的统一格式如下:typefunctionname(argumentlist){statements}注意,定义simon()的代码在main()函数的后面,C++中8、不允许将函数定义在另一个函数内。每个函数的定义都是独立的,所有的函数的创建都是平等的。simon()函数的函数头定义如下:10上海大学ACM/icpc集训队何琪辰2007.3.25voidsimon(intn)以void开头表明simon()没有返回值,因此我们不能类是这样的使用它。simple=simon(3);有返回值的函数如
4、dl;return0;}运行结果HelloWorld!程序说明第一行“#include”,是一句预处理命令,相当于把“iostream”10上海大学ACM/icpc集训队何琪辰2007.3.25这个文件的所有内容复制到当前位置,替换该行。因为在输出操作中需要做很多事,C++编译器就提供了很多已经写好的函数(成为C++标准库),我们做的只是拿来用就可以了。第二行的“usingnamespacestd;”是使用标准命名空间,因为我们在程序中用到了在标准命名空间里的函数和对象。目前可以不了解其具体如何实现
5、,在以后的程序设计中可以再对其进行了解。在明函数中“cout<<”HelloWorld!”<voidsimon(int);//functionprototypeforsimon()intmain(){usingnamespacestd
6、;simon(3);//callthesimon()functioncout<<"Pickaninteger:";intcount;cin>>count;simon(count);//callitagaincout<<"Done!"<7、tneedreturnstatements下面试运行情况:Simonsaystouchyourtoes3times.Pickaninteger:512Simonsaystouchyourtoes512times.Done!程序中包含了cin语句来从键盘上获取数据。该程序中包含了除main函数以外的另一个函数simon(),他和main函数定义的格式相同,函数的统一格式如下:typefunctionname(argumentlist){statements}注意,定义simon()的代码在main()函数的后面,C++中8、不允许将函数定义在另一个函数内。每个函数的定义都是独立的,所有的函数的创建都是平等的。simon()函数的函数头定义如下:10上海大学ACM/icpc集训队何琪辰2007.3.25voidsimon(intn)以void开头表明simon()没有返回值,因此我们不能类是这样的使用它。simple=simon(3);有返回值的函数如
7、tneedreturnstatements下面试运行情况:Simonsaystouchyourtoes3times.Pickaninteger:512Simonsaystouchyourtoes512times.Done!程序中包含了cin语句来从键盘上获取数据。该程序中包含了除main函数以外的另一个函数simon(),他和main函数定义的格式相同,函数的统一格式如下:typefunctionname(argumentlist){statements}注意,定义simon()的代码在main()函数的后面,C++中
8、不允许将函数定义在另一个函数内。每个函数的定义都是独立的,所有的函数的创建都是平等的。simon()函数的函数头定义如下:10上海大学ACM/icpc集训队何琪辰2007.3.25voidsimon(intn)以void开头表明simon()没有返回值,因此我们不能类是这样的使用它。simple=simon(3);有返回值的函数如
此文档下载收益归作者所有