- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
信息学竞赛中可能用到的C++语法
冯文科
虽然我们总是习惯写“C/C++”,其实大家都知道C与C++是两种不同的语言:C++是C的“超集”——它“几乎”完全兼容C的语法,同时也提供非常多特有的语法与概念。
本文并不想全面介绍C++的语法与概念——那足够写一本一寸多厚的专业书籍——只是将信息学竞赛中可能要用到的C++语法做个简要介绍,它们的加入将使您原有的C程序更简洁、清晰,书写更方便。
首先要说明的一点是:C++程序源文件的扩展名是“cpp”,而不是C程序的“c”,这也是多数编译器识别一个源程序是C++程序还是C程序的标准。由于C++是C的“超集”,因此您可以在“*.cpp”文件中原样书写C程序而且“几乎”不会遇到什么问题。特别强调:本文中介绍的语法,都是只能在“*.cpp”文件中使用的C++语法,C语言的编译器不会编译通过。(本文中所有源程序都在Dev-C++中编译通过。)
一、输入输出流。
C++中对输入输出部分做了很大的修改,C语言中使用scanf、fscanf、printf、fprintf进行的输入输出工作都由对“流(stream)”的操作代替了。您可以向一个输出流中用“”符号“插入”一些内容——相当于输出,也可以用“”符号从一个输入流中“提取”一些内容——相当于输入。
[例1](从键盘读入及向屏幕输出)从键盘读入两个整数,由小到大排序后输出,用空格分开。
[源程序]
#include iostream //要使用输入输出流必须的头文件,注意没有“.h”
using namespace std; //要使用cin与cout必须包括的命名空间
int main(int argc, char *argv[])
{
int a, b;
cinab; //cin是标准输入流,此语句从键盘输入两个整数,依次存入a、b中
if(ab)
couta bendl;//cout是标准输出流,输出到屏幕
else
coutb aendl;//依次将“”连接的各项输出,endl表示换行
return EXIT_SUCCESS;
}
若从键盘输入:
4 3
则输出
3 4
通过上面的例子,相信您已经对输入输出流的使用有了一个大概的了解。下面一个例子演示如何利用输入输出流对文本文件进行读写操作,您也将从这个例子开始逐渐看到C++语法的方便之处。
[例2](文件的输入输出)从文件in.txt中输入两个整数,由小到大排序后输出到out.txt中,用空格分开。
[源程序]
#include fstream //要使用文件输入输出流必须的头文件
using namespace std; //要使用ifstream与ofstream必须的命名空间
ifstream inf(in.txt); //定义文件输入流inf,并关联到in.txt
ofstream ouf(out.txt); //定义文件输出流ouf,并关联到out.txt
int main(int argc, char *argv[])
{
int a, b;
infab; //从inf中输入两个整数
if(ab)
oufa bendl; //向ouf输出结果。
else
oufb aendl;
return EXIT_SUCCESS;
}
如果in.txt的内容为:
4 3
则out.txt的内容为:
3 4
由例2可以看出,对文本文件的输入输出与标准输入输出从格式上讲是一致的,只是需要定义一下文件输入输出流,且定义时只需说明文件名即可,文件的打开与关闭动作是C++自动完成的,用户不必处理,这样就不会出现忘记关闭文件而丢失数据的情况了。
二、“//”开始的单行注释。
上面的两个例子中其实已经使用这个语法了,一个语句行中从“//”开始后面的文字都是注释——换行后就不是了,因此这是“单行注释”,与常用的“/*”、“*/”不同。
三、有了bool类型。
C++也有“真正”的布尔类型了,就是“bool”,布尔型的变量可以有两个值true和false。其中“bool”、“true”和“false”都成为了C++的关键字。
四、可以按需要随时定义变量。
在C语言中,变量只能定义在所有可执行语句之前,这样,每当我们需要定义一个新变量时,都要向前翻。在C++中就不用,您可以“随时随地”地定义变量,当然,同一作用域中的变量仍然是不准重名的。这在下面的例子中可以看到。
五、结构体(struct)的名称、共用体(union)的名称及枚举(enum)的名称都可以直接用做类型名而定义变量。
直接用一个例子来说明即可。
[例3](结构体语法)从文件in.txt中读入十个学生的姓名与成绩,将学生信息按成绩由大到小排序后输出到o
您可能关注的文档
- 职教学论文等职业教育论文-职会计号业工作过程系统化课程设计探究.doc
- 指标结合选股:KDJ形态K线形态底背离风洞VR布林带,成功概率%.doc
- 中数学必修2知识点.doc
- 重点词形转换.doc
- 金融英语课文翻译chaptermoneyclassnew.docx
- 把理想变成看得见的样子——设计的特征.doc
- 般程序行政处罚案件办案要点.doc
- 边形的认识--wyp.doc
- 表面的完整性.doc
- 成交攻略:感动客户.doc
- 2023年江苏省镇江市润州区中考生物二模试卷+答案解析.pdf
- 2023年江苏省徐州市邳州市运河中学中考生物二模试卷+答案解析.pdf
- 2023年江苏省苏州市吴中区中考冲刺数学模拟预测卷+答案解析.pdf
- 2023年江苏省南通市崇川区田家炳中学中考数学四模试卷+答案解析.pdf
- 2023年江西省吉安市中考物理模拟试卷(一)+答案解析.pdf
- 2023年江苏省泰州市海陵区九年级(下)中考三模数学试卷+答案解析.pdf
- 2023年江苏省苏州市高新二中中考数学二模试卷+答案解析.pdf
- 2023年江苏省南通市九年级数学中考复习模拟卷+答案解析.pdf
- 2023年江苏省南通市海安市九年级数学模拟卷+答案解析.pdf
- 2023年江苏省泰州市靖江外国语学校中考数学一调试卷+答案解析.pdf
文档评论(0)