欢迎来到天天文库
浏览记录
ID:55360730
大小:31.50 KB
页数:9页
时间:2020-05-11
《信息学竞赛可能用到的C++语法.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、信息学竞赛中可能用到的C++语法冯文科虽然我们总是习惯写“C/C++”,其实大家都知道C与C++是两种不同的语言:C++是C的“超集”——它“几乎”完全兼容C的语法,同时也提供非常多特有的语法与概念。本文并不想全面介绍C++的语法与概念——那足够写一本一寸多厚的专业书籍——只是将信息学竞赛中可能要用到的C++语法做个简要介绍,它们的加入将使您原有的C程序更简洁、清晰,书写更方便。首先要说明的一点是:C++程序源文件的扩展名是“cpp”,而不是C程序的“c”,这也是多数编译器识别一个源程序是C++程序还是C程序的标准。由于C++是C的“超集”,因此您可以在“*.cpp”文件中原
2、样书写C程序而且“几乎”不会遇到什么问题。特别强调:本文中介绍的语法,都是只能在“*.cpp”文件中使用的C++语法,C语言的编译器不会编译通过。(本文中所有源程序都在Dev-C++中编译通过。)一、输入输出流。C++中对输入输出部分做了很大的修改,C语言中使用scanf、fscanf、printf、fprintf进行的输入输出工作都由对“流(stream)”的操作代替了。您可以向一个输出流中用“<<”符号“插入”一些内容——相当于输出,也可以用“>>”符号从一个输入流中“提取”一些内容——相当于输入。[例1](从键盘读入及向屏幕输出)从键盘读入两个整数,由小到大排序后输出,
3、用空格分开。[源程序]#include //要使用输入输出流必须的头文件,注意没有“.h”usingnamespacestd;//要使用cin与cout必须包括的命名空间intmain(intargc,char*argv[]){inta,b;cin>>a>>b; //cin是标准输入流,此语句从键盘输入两个整数,依次存入a、b中if(a4、若从键盘输入:4 3则输出3 4通过上面的例子,相信您已经对输入输出流的使用有了一个大概的了解。下面一个例子演示如何利用输入输出流对文本文件进行读写操作,您也将从这个例子开始逐渐看到C++语法的方便之处。[例2](文件的输入输出)从文件in.txt中输入两个整数,由小到大排序后输出到out.txt中,用空格分开。[源程序]#include //要使用文件输入输出流必须的头文件usingnamespacestd;//要使用ifstream与ofstream必须的命名空间ifstreaminf("in.txt");//定义文件输入流inf,并关联到in.txto5、fstreamouf("out.txt"); //定义文件输出流ouf,并关联到out.txtintmain(intargc,char*argv[]){inta,b;inf>>a>>b; //从inf中输入两个整数if(a6、开与关闭动作是C++自动完成的,用户不必处理,这样就不会出现忘记关闭文件而丢失数据的情况了。二、“//”开始的单行注释。上面的两个例子中其实已经使用这个语法了,一个语句行中从“//”开始后面的文字都是注释——换行后就不是了,因此这是“单行注释”,与常用的“/*”、“*/”不同。三、有了bool类型。C++也有“真正”的布尔类型了,就是“bool”,布尔型的变量可以有两个值true和false。其中“bool”、“true”和“false”都成为了C++的关键字。四、可以按需要随时定义变量。在C语言中,变量只能定义在所有可执行语句之前,这样,每当我们需要定义一个新变量时,都要向7、前翻。在C++中就不用,您可以“随时随地”地定义变量,当然,同一作用域中的变量仍然是不准重名的。这在下面的例子中可以看到。五、结构体(struct)的名称、共用体(union)的名称及枚举(enum)的名称都可以直接用做类型名而定义变量。直接用一个例子来说明即可。[例3](结构体语法)从文件in.txt中读入十个学生的姓名与成绩,将学生信息按成绩由大到小排序后输出到out.txt中,每个学生一行。[源程序]#includeusingnamespacestd;#defineN10ifst
4、若从键盘输入:4 3则输出3 4通过上面的例子,相信您已经对输入输出流的使用有了一个大概的了解。下面一个例子演示如何利用输入输出流对文本文件进行读写操作,您也将从这个例子开始逐渐看到C++语法的方便之处。[例2](文件的输入输出)从文件in.txt中输入两个整数,由小到大排序后输出到out.txt中,用空格分开。[源程序]#include //要使用文件输入输出流必须的头文件usingnamespacestd;//要使用ifstream与ofstream必须的命名空间ifstreaminf("in.txt");//定义文件输入流inf,并关联到in.txto
5、fstreamouf("out.txt"); //定义文件输出流ouf,并关联到out.txtintmain(intargc,char*argv[]){inta,b;inf>>a>>b; //从inf中输入两个整数if(a
6、开与关闭动作是C++自动完成的,用户不必处理,这样就不会出现忘记关闭文件而丢失数据的情况了。二、“//”开始的单行注释。上面的两个例子中其实已经使用这个语法了,一个语句行中从“//”开始后面的文字都是注释——换行后就不是了,因此这是“单行注释”,与常用的“/*”、“*/”不同。三、有了bool类型。C++也有“真正”的布尔类型了,就是“bool”,布尔型的变量可以有两个值true和false。其中“bool”、“true”和“false”都成为了C++的关键字。四、可以按需要随时定义变量。在C语言中,变量只能定义在所有可执行语句之前,这样,每当我们需要定义一个新变量时,都要向
7、前翻。在C++中就不用,您可以“随时随地”地定义变量,当然,同一作用域中的变量仍然是不准重名的。这在下面的例子中可以看到。五、结构体(struct)的名称、共用体(union)的名称及枚举(enum)的名称都可以直接用做类型名而定义变量。直接用一个例子来说明即可。[例3](结构体语法)从文件in.txt中读入十个学生的姓名与成绩,将学生信息按成绩由大到小排序后输出到out.txt中,每个学生一行。[源程序]#includeusingnamespacestd;#defineN10ifst
此文档下载收益归作者所有