《C++复习笔记及模拟题.docx》由会员分享,可在线阅读,更多相关《C++复习笔记及模拟题.docx(23页珍藏版)》请在优知文库上搜索。
1、C+期末知识复习总结及模拟题第一章C+简介一、什么是计算机1、计算机是一种能以数十亿倍于人类的速度执行计算和进行逻辑判断的设备。2、冯诺依曼结构20世纪30年代中期,美国科学家冯诺依曼大胆的提出:抛弃十进制,采用二进制作为数字计算机的数制基础。同时,他还提出预先编制计算程序,然后由计算机来按照人们事前制定的计算顺序来执行数值计算工作。二、计算机的组成结构1 .输入单元:计算机的“接收”部分。2 .输出单元:计算机的“运送”部分。3 .内存单元:计算机进行快速存取,但容量不大的“仓库”部分。4 .算术逻辑单元:计算机的“生产”部分。5 .中央处理器:计算机的“管理”部分6 .辅助存储单元:这是计
2、算机的长期性、大容量的“仓库”部分。三、早期的操作系统1、早期操作系统的特点(1)单用户单任务(2)输入慢、效率低下2、新操作系统的特点(1)多用户多任务(2)分时系统、并行处理、效率高四、个人计算、分布式计算和客户/服务器计算1 .个人计算机(1)在计算机的发展史上,曾经有一段时间,计算机依功能与体积大小而被划分为:超级计算机、大型计算机(巨型机)、中型计算机、小型计算机、微型计算机。(2)个人计算机(PC机,PerSonaIComPUter)属于微型计算机。2 .分布式计算(1)把一个需要非常巨大的计算分成许多小的部分,然后把这些部分分配给许多计算机进行处理,最后把这些计算结果综合起来得到
3、最终的结果。3 .客户/服务器计算(1)工作站:功能最强大的桌面计算机(2)文件服务器:为分布在网络中的客户机提供了一个公共的数据存储。(3)客户机:客户平常使用的计算机五、互联网和万维网1 .互联网全世界最大的网络,是家与家、国与国之间互联的大网络,建立在计算和通信基础之上。随着计算机技术和通信技术的发展,互联网的扩展更加迅速。2 .万维网(WorldWideWeb)万维网是一个庞大的信息网络集合,可利用浏览器访问该网络。利用浏览器,在客户计算机的屏幕上可以显示文本和图片、还可以播放声音和视频。用户可方便地从网站中选取各种内容,也可以利用该网站中的超链接转到其它网站。六、机器语言、汇编语言和
4、高级语言1、编程语言分类:机器语言、汇编语言和高级语言2、(1)机器语言:是一种指令集的体系。这种指令集称为机器码,是电脑的CPU可直接解读和执行的数据。(2)汇编语言:是机器语言的符号化,用汇编语言编写的程序要通过汇编程序翻译成机器语言,计算机才能执行。(3)高级语言:这种语言接近于数学语言或人的自然语言,同时又不依赖于计算机硬件,编出的程序能在所有机器上通用。当然也要通过编译程序翻译成机器语言才能执行。七、开发C+的6个阶段第2阶段:预处理第4阶段:链接第3阶段:运行第I阶段:创建程序第3阶段:编译C+程序第3阶段:载入第二章C+基础知识一、C+标准模板1头文件:#include2、主函数
5、:main()3、返回:return(返回值)二、常用的一个C+标准模板#includeusingnamespacestd;intmain()语句1语句2return0;2、输入输出流和换行1、头文件条件:#includeoiostream是输入类头文件,里面包含了常用的cin、cout等输入输出流。2、名空间:在使用输入输出流时,要声明名空间,方法是:USingnameSPaCeStd.如果不事先声明std名空间,则使用Cin和COUt时,应写成:std:cin和std:COUto3、cin:输入流。用来把变量从键盘输入屏幕。4、cout:输出流。用来把结果从屏幕中打印出来。5、endl:是
6、换行的意思。也可以用n来表示。四、输入输出的格式控制1、头文件条件:#includeoiomanip是格式控制类头文件。里面包含了常用的SetW和setprecision。2、名空间:还是std。3、setw:设置数据输出宽度。使用的时候格式为:SetW(imn),表示左边和右边的语句输出后空出的位置长度。4、SetPreeiSion:设置浮点数输出精度。使用的时候格式为:setprecision(intn),表示后面输出的数据精确的小数点位数。五、标识符1、定义:标识符是指常量、变量、语句标号以及用户自定义函数的名称。2、标识符命名时需要满足的规则:(1)标识符必须由字母、下划线或数字(09
7、)组成。(2)标识符的第一个字符只能是大小写字母或者下划线。(3)C+语言中的关键字不能用作用户自己定义的标识符(4)标识符命名时区分大小写。比如TeSt和test是两个不同的标识符。3、C+容易被当做非关键字的关键字举例(1)auto(2)case(3)delete(4)new(5)goto六、数据类型名称类型占用字节数存储值范围整型int4-23,-(23,-l)实型float4-IO38-IO38双精度型double8-IO308-IO308字符型char10-127无值型void0无值七、C+常用转义符列表转义字符名称功能或用途n换行输出W反斜线用于输出或文件的路径名0空字符字符串结束
8、标志t制表位输出空出一个制表位a响铃(报警)输出八、常量和变量1、常量(I)定义:在程序运行过程中,值不会改变的量称为常量。(2)类型:整型常量、实型常量、字符常量、字符串常量、标识符常量(3)定义常量的一种方法:ConSt数据类型V标识符=常量值。注意COnSt常量必须在初始化时对其进行初始化,初始化后不允许对其再进行赋值。2、变量(1)定义:在程序运行过程中,其值可以改变的量称为变量。(2)类型:同常量。(3)定义变量的方法:数据类型变量名1,变量名2,变量名n;九、类型转化1、自动类型转化(1)在表达式中,般要求运算符的两个操作数类型相同。如果两个数的操作类型不同,则需要进行转换,使其类
9、型一-致。(2)转换原则:由精度低的操作数向精度高的操作数类型自动转换。2、赋值类型转换3、强制类型转换(高类型向低类型转换)注:当函数原型中的类型和调用函数不同时发生类型转换(“二”赋值运算也是如此)向下传递:当调用函数参数类型低于函数原型中参数类型,自动转换;反之,强制转换,有警告错误向上传递:调用表达式类型高于函数原型中返回值类型,自动转换;反之,强制转换(会产生警告错误)。十、C+常用的表达方式1、语句表达方式:语句块,语句则表达成:“语句;”。2、简单的输入和输出表达方式(1)输入:cin变量名1变量名2变量名n;(2)输出:CoUt表达式1表达式2hexi3、SyStem(PAUS
10、E):表示程序运行到这里暂停一下(按任意键继续运行)。4、intargc,char*argv:intargc表示记录你输入在命令行上的字符串个数;第二个*argv是个指针数组,存放输入在命令行上的命令(字符串)。Char是字符类型。十一、C+运算符及其优先级优先级运算符功能说明结合性最高O改变优先级从左至右:作用域1数组下标其次+;-自增自减从右至左&取地址*取内容I逻辑求反按位求反+,-取正、负数sizeof取所占内存字节数从上往下优先级依次递减*,/,%乘法,除法,取余从左至右+,加减法,=比较运算=,!=相等,不等&按位与按位异或I按位或&逻辑与Il逻辑或?:三目运算符从右至左=,+=,
11、-=*=,/=,%=赋值预算符9逗号运算符从左至右几种重要但易错的运算符介绍1、算术运算符(1)%:为求模运算符。a%b在数学上表示为a(mod)b0取模运算符两边的操作数必须是整数,其取模结果符号必须与被除数相同。如16%(-5)=1,(-16)%5=-k(2)算术运算符都是双目运算符。使用算术运算符的时候,需要注意有关算数表达式求值溢出的处理问题。整数运算产生溢出时,不认为是一个错误,但这时候运算结果已经不正确了。若双目运算符两边的类型不一致,则系统将按照自动类型转换规则使两边类型一致后再进行运算。(3) /:为除法运算符。注意除法运算符的左右两边操作数是整数的时候,进行整除运算;如果有一
12、边是实数,则进行普通的除法运算。例如5/4=1;50/4=1.25。2、赋值运算符(1)=:在C+中,=号是一个赋值运算符。是把等号右边的值赋给左边。如果要判断两个数是否相等,则应该使用“=或者=!”来进行判断。(2)赋值运算符的左操作数必须是变量,右操作数可以是常量、变量和表达式等。3、关系运算符和逻辑运算符(1) C+语言的逻辑值:。表示逻辑“假”,除了O以外表示逻辑“真”。常用“1”来表示逻辑真。(2) &:逻辑与。是先左到右进行计算。如果左边计算为假,则不计算右边。如果左边计算为真,就会继续计算右边。(3) |:逻辑或。如果左边计算为真,不再计算右边。左边为假,就会继续计算右边。(4)
13、对于&应该把最有可能成为false的条件放在左边;对于|应该把把最有可能成为true的条件放在左边。4、其他运算符(1)前+():一般表示成+(一一)变量名。表示先对该变量进行增量运算(+1运算),再引用该变量的值进行表达式的其他运算。(2)后+(一):一般表示成变量名+(一一)。表示先引用该变量的值进行表达式的其他运算,再对该变量进行增量运算。(3)条件运算符“?:”:“?:”是C+中唯一的一个三目运算符,它的运算格式如下:“条件表达式?表达式1:表达式2。其含义是如果条件表达式的结果为真(非0),就执行表达式1;如果为假,就执行表达式2。(4) SiZeOf运算符:SiZeOf是个带符号的
14、单目运算符,而不是一个函数。它的格式如下:SiZeof(表达式)或SiZeOf(数据类型)。它的运算结果是求出表达式的存储字节数或者系统为该数据类型所设置的存储字节数。注:当SiZeof用于数组名时,返回数组占用的字节数。当SiZeof用于变量名(不是数组名)或常量值时,返回存储该特定类型变量或常量所需的字节数。(5) !运算可以用关系运算符代替。如:if(!grade)等价于if(grade=false),也等价于if(grade!=true)十二、C+基本概念中的一些补充知识1、八进制、十进制、十六进制整数的输入和输出进制类型符号输入输出表达式八进制OCtcin或coutocti十进制deccin或coutdeci十六进制hexcin或coulhexi2、字符的输入和输出(1)字符的输入使用即可(2)字符的输出,可以使用COUL但如果要把空格和回车都作为一个输入字符赋给字符变量,必须使用函数cin.gel(),格式为:“cinget(字符型变