好文档 - 专业文书写作范文服务资料分享网站

清华大学ACM集训队培训资料

天下 分享 时间: 加入收藏 我要投稿 点赞

清华大学ACM集训队培训资料

一、C++基础 差不多知识 所有的C++程序差不多上有函数组成的, 函数又叫做子程序,且每个C++程序必须包含一个main函数,编译器〔能够把源代码转换成目标代码的程序〕把翻译后的目标代码和一些启动代码组合起来,生成可执行文件,main函数确实是可执行文件的入口,因此,每个C++程序有且只有一个main函数。 下面我们看一个最简单C++程序。(程序1.1)

程序1.1

int main(){return 0;}

在那个程序中,假如缺少任何一个字符,编译器就无法将其翻译成机器代码。

此外,C++是对大小写敏锐的,这就意味着,假如我将mian()函数拼为Main(),哪么,编译器在编译这段程序的时候就会出错。

编辑源文件 能够提共治理程序开发的所有步骤,包括编辑的程序成为集成开发环境〔integrated development evironments, IDE〕。在windows系统下,使用较为广泛的有Microsoft Visual C++、Dev-Cpp等,在UNIX系统下,有Vim、emacs、eclipes等。这些程序都能提供一个较好的开发平台,使我们能够方便的开发一个程序,接下我们所要了解的差不多上标准C++,所有源代码都在Dev-cpp下编写,能够编译通过。 假如我们修改程序1.1中的main()函数的名称,将其改为Main(),那么,IDE就会给出错误信息,比如〝 [Linker error] undefined reference to `WinMain@16'〞,因为编译器没有找到main函数。 接下来,我们来看一个经典的C++例子〔程序1.2〕

程序1.2

#include using namespace std;

int main(void) {

cout<<\ return 0; }

运行结果 Hello World!

程序说明 第一行〝#include〞,是一句预处理命令,相当于把〝iostream〞那个文件的

所有内容复制到当前位置,替换该行。因为在输出操作中需要做专门多事,C++编译器就提供了专门多差不多写好的函数(成为C++标准库),我们做的只是拿来用就能够了。第二行的〝using namespace std;〞是使用标准命名空间,因为我们在程序中用到了在标准命名空间里的函数和对象。目前能够不了解其具体如何实现,在以后的程序设计中能够再对其进行了解。在明函数中〝cout<<〞Hello World!〞<

// ourfunc.cpp -- defining your own function #include

void simon(int); // function prototype for simon()

int main() {

using namespace std;

simon(3); // call the simon() function cout << \ int count; cin >> count;

simon(count); // call it again cout << \ return 0; }

void simon(int n) // define the simon() function {

using namespace std;

cout << \} // void functions don't need return statements

下面试运行情形:

Simon says touch your toes 3 times. Pick an integer: 512

Simon says touch your toes 512 times. Done! 程序中包含了cin语句来从键盘上猎取数据。 该程序中包含了除main函数以外的另一个函数simon(),他和main函数定义的格式相同,函数的统一格式如下: type functionname (argumentlist) { statements } 注意,定义simon()的代码在main()函数的后面,C++中不承诺将函数定义在另一个函数内。每个函数的定义差不多上独立的,所有的函数的创建差不多上平等的。

simon()函数的函数头定义如下: void simon(int n)

以void 开头说明simon()没有返回值,因此我们不能类是如此的使用它。 simple = simon(3);

有返回值的函数如下

// convert.cpp -- converts stone to pounds #include

int stonetolb(int); // function prototype int main() {

using namespace std; int stone;

cout << \ cin >> stone;

int pounds = stonetolb(stone); cout << stone << \

cout << pounds << \ return 0; }

int stonetolb(int sts) {

return 14 * sts; }

下面是运行情形:

Enter the weight in sone: 14 14 stone = 196 pounds.

程序通过cin语句给stone提供一个值,然后在main函数中,把那个值传递给stonetolb()函数,那个植被赋给sts之后,stonetolb()用return 将 14*sts返回给main()。 函数头中的int说明stonetolb()将返回一个整数。 除了int类型之外,C++的内置数据类型还有:unsigned long、long、unsigned int、unsigned short、short、char、unsigned char、signed char、bool、 float、double、long double。

关于数据的输入和输出有几道练习题

://acm.hdu.edu.cn/showproblem.php?pid=1089 至

://acm.hdu.edu.cn/showproblem.php?pid=1096

二、算法基础 1. 什么是算法 算法是完成特定任务的有限指令集。所有的算法必须满足下面的标准:

清华大学ACM集训队培训资料

清华大学ACM集训队培训资料一、C++基础差不多知识所有的C++程序差不多上有函数组成的,函数又叫做子程序,且每个C++程序必须包含一个main函数,编译器〔能够把源代码转换成目标代码的程序〕把翻译后的目标代码和一些启动代码组合起来,生成可执行文件,main函数确实是可执行文件的入口,因此,每个C++程序有且只有一个main函数。下面我们看一个最简单C++程序。(
推荐度:
点击下载文档文档为doc格式
39hlb0kovq4uc568cqjj1x2cx44ea901aav
领取福利

微信扫码领取福利

微信扫码分享