C++语言速成与ACM入门.ppt_第1页
C++语言速成与ACM入门.ppt_第2页
C++语言速成与ACM入门.ppt_第3页
C++语言速成与ACM入门.ppt_第4页
C++语言速成与ACM入门.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+语言速成与ACM入门,Page 2,C+语言速成,语言,函数,数据类型,运算符,指针,数组,语句,Page 3,char:字符,用来存英文字母、数字 或其他字符,int:整型数字,输入的数字均为整数,数据类型,float:浮点数,用来存储小数,C+语言速成,Page 4,数据类型,数据类型可加入以下扩展声明: short:该数据类型精度较小 long:该数据类型精度较大 (例:short int 范围为 -32768 32767, long int 范围为 -2147483648 2147483647) unsigned: 该数据类型没有符号位 signed:该数据类型有符号位 (例:si

2、gned long int 范围为 -2147483648 2147483647, unsigned long int 范围为 0 4294967295) long float 可以写作 double 默认情况下,int为signed 的 long 当使用 int时,若有其他扩展声明可省略int 比如:long a;,Page 5,数据类型,如果觉得long不够长的话,还可以使用另外一种更长的int long long 范围为-(2 63) 2 63 - 1 如果还不够长,还可以 unsigned long long 范围为 0 2 64 - 1 (2 64 = 184467440737095

3、51616) 在dev C+编译器下输入long long long后编译出错 错误提示为:long long long is too long (注意,在VC+ 6.0中,long long必须写成_int64),Page 6,算术运算符,1,逻辑运算符,2,关系运算符,3,赋值运算符,4,运算符,Page 7,算术运算符,+:加法运算,比如3+2=5 -:减法运算,比如 3-2=1 *、/: 同上 (注意除法运算中,int类型的除法的结果为带余除法的商) %:取模运算,算a对b带余除法后的余数 int f ( int x, int y); 返回类型 函数名(参数1,参数2,.) int f

4、 ( int x, int y) . return x*(x+y); return .; ,f(x, y) = x*(x + y),Page 21,函数,main函数是整个程序的开始 一般情况下main类型为int,返回值应为0 函数一旦运行到return时,立即返回该值并结束函数的运行,并不运行return之后的任何语句 函数可不带任何参数 当函数不需要返回值时,可以使用void作为该函数的类型,要结束函数运行时直接return;即可 void f()return; 函数内部可以调用其他的函数,也可以调用自身 int f(long x)if(x = 0)return 0;else retur

5、n x+f(x-1);,else可省略,Page 22,函数,函数运行时,不会修改参数的值 void f(int a) a+; int main()int b = 3;f(b);return 0; 事实上,f(b)的调用是先申请int a,成功后令a=b(即复制一个b,名字为a),然后再对a进行操作。 运行后a会被销毁,但是b不会被改变。 若调用的是指针又会如何呢?,void f(int ,Page 23,ACM,扎实的数学基础,良好的英语阅读理解能力,编程经验,创新思维能力,团队合作精神,心理素质,ACM入门,Page 24,ACM比赛规则,三个人一台电脑(Linux系统) 队内可讨论,可由

6、队内任何人编写任意题目 共612道题目,45小时 可用CC+Java答题 可带任何纸质材料 每次提交答案都有返回结果,若不正确可以修改后再次提交 每次通过一道题目时,你的通过题目数+1,你的总罚时会加上当前的时间(分钟为单位)再加上你之前提交此题不通过的次数*20 没有回答顺序限制,可按任意顺序答题 场内有打印机,可打印任何你需要的东西(通常是代码) 可随时通过电脑向裁判(judge)问任何问题,judge可选择回不回答 排名按题数降序排序,若题数相同则按罚时升序排序 可以在比赛过程中查看所有队伍回答题目的情况以及当前的排名,此排名被称之为board 在比赛结束前一小时board将停止更新,保

7、持在比赛结束前一小时的状态,在比赛结束后才会看到最终的结果,称为frozen或封board,Page 25,状态解释,Accepted(AC):成功解决一道题目,答案正确 Presentation Error(PE):输出的答案正确,但是格式错误了 Wrong Answer(WA):输出的答案与要求的答案不一致 Runtime Erorr(RE):程序运行时崩溃 Time-limit Exceeded(TLE):程序运行时间过长 Memory-limit Exceeded(MLE):程序花费内存空间过大 Output-limit Exceeded(OLE):输出的答案过长 System Err

8、or:裁判系统崩溃,Page 26,初学者易犯的错误,题目:输入两个数,输出该两个数的差 样例输入:12 3 样例输出:9 #includeusing namespace std;int main()int a,b;cout ab;cout The answer is: a-b endl;return 0;,Page 27,初学者易犯的错误,ACM比赛中,期待获得的程序是输入一些数据后能马上输出需要输出的结果 即输入12 3之后马上输出9 而该程序会输出的是: Please input the numbers:The answer is:9 这与答案9不一样,虽然方法是对的,但仍然会出现WA

9、#includeusing namespace std;int main()cin ab;cout a-bendl;return 0;,没有endl会返回PE,Page 28,ACM常用技巧,一般而言,C+的cin与cout速度上会比C语言的scanf和printf慢很多,所以我们推荐使用scanf和printf而不是cin cout scanf的格式为scanf(“”, %以及后面的内容为需要代换的内容,不同的字母有不同的含义: %d:一个整数 %f:一个小数 %c:一个字符 %s:一个字符串(遇到空格与回车的时候结束) %:一个百分号,Page 29,ACM常用技巧,除了%以外,每一个百分

10、号后面读入的内容要按顺序在后面的列表中提供读入到哪一个地址: int a; float b; scanf(%d%f,是指读入两个被分号分开的数,例如3:15,分别读到a和b,如读入数据并非如此则会出现混乱,Page 30,ACM常用技巧,printf:与scanf类似的格式写出数据 printf(%ld %ldn, a,b); printf(“Answer is : %ldn,a); printf(%5.2lfn,f); printf(%8dn,a);右对齐占八位的数字 printf(%-8dn,a);左对齐占八位的数字 printf(%08dn,a);八位(补0)的数字,Page 31,AC

11、M常用技巧,n:输出一个回车 t:输出一个间隔 :输出一个双引号 :输出一个斜杠( ) :输出一个单引号,Page 32,ACM常用技巧,一般而言,ACM题目中常常会有多组数据,一般有两种表示方法 1:第一行为数据组数t,下面总共有t个数据 2:有多个数据,读到当m=0之类时停止处理 3:有多个数据,处理到结束为止 1:scanf(%d,Page 33,ACM常用技巧,2:有多个数据,读到当m=0之类时停止处理 while(scanf(%d,Page 34,ACM团队合作,三个人一台电脑:只能由一个人编写程序 队内可讨论:讨论总能够得到更好的结果 可由队内任何人编写任意题目:轮流上机 可带任何纸质材料:模板 每次提交答案都有返回结果,若不正确可以修改后再次提交:随时知道自己的答案正确与否 没有回答顺序限制,可按任意顺序答题:三个人不要看同一道题目 场内有打印机:如果提交错误则可以打印代码,将机器交给队友使用,自己查看代码发现错误,Page 35,提示,不要盲目交题,要有充分把握才交。并不是你的程序能跑过样例就是正确的。提交前最好再次检查题目和代码。 尽可能不要在机子上调试,这会花去很多的时间。 一般常用的计算机一秒内最多能计算的次数为107,最好检查下你的程序在题目的规模下大概要计算多少次。 错误的时候不要慌张,打印你的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论