《C++语言基础教程》.doc
《《C++语言基础教程》.doc》由会员分享,可在线阅读,更多相关《《C++语言基础教程》.doc(136页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第一章习题一、 选择填空1. 下列各种高级语言中,( )是面向对象的程序设计语言。A.BASIC;B.PASCAL;C.C+ D.Ada2. 下列各种高级语言中,( )是最早提出了对象的概念。A.Algol 60;B.Simula 67;C.Smalltalk;D.C+3. 下述面向对象抽象的原理中,( )是不对的。A. 数据抽象;B. 行为共享;C.进化;D. 兼容;4. ( )不是面向对象系统所包含的要数。A. 重载; B. 对象;C. 类;D. 继承;5. 关于C+与C语言的关系的描述中,( )是错误的。A. C语言是C+的一个子集;B. C语言与C+是兼容的;C. C+对C语言进行了一
2、些改进;D. C+和C语言都是面向对象的;6. 下面关于对象概念的描述中,( )是错误的。A.对象就是C语言中的结构变量;B.对象代表着正在创建的系统中的一个实体;C. 对象是一个状态和操作(或方法)的封装体;D.对象之间的信息传递是通过消息进行的;7. 下面关于类概念的描述中,( )是错误的。A.类是抽象数据类型的实现; B.类是具有共同行为的若干对象的统一描述体;C.类是创建对象的样板;D.类就是C语言中的结构类型;8. C+对C语言作了很多改进,下列描述中( )使得C语言发生了质变,即从面向过程变成为面向对象。A.增加了一些新的运算符;B.允许函数重载,并允许设置缺省参数;C.规定函数说
3、明必须用原型;D.引进了类和对象的概念;9. 按照标识符的要求,( )符号不能组成标识符。A.连接符;B. 下划线;C.大小写字母;D.数字字符;10. 下列符号中,( )不可作为分隔符。A.,;B.:;C.?;D.;二、判断下列描述的正确性,对者划,错者划。1 C+引进了引用的概念,对编程带来了很多方便。2 C+允许使用友元,但是友元会破坏封装性。3 C+中使用了新的注释符(/),C语言中注释符(/*/)不能在C+中使用。4 C+中为了减轻使用者的负担,与C语言相比较C+中减少了一些运算符。5 C+程序中,每条语句结束时都加一个分号(;)。6 C+中标识符内的大小写字母是没有区别的。7 C+
4、中不允许使用宏定义的方法定义符号常量,只能用关键字const来定义符号常量。8 在编写C+程序时,一定要注意采用人们习惯使用的书写格式,否则将会降低其可读性。9 C+是一种以编译方式实现的高级语言。10 在C+编译过程中,包含预处理过程、编译过程和连接过程,并且这三个过程的顺序是不能改变的。11 预处理过程是一般编译过程之后连接过程之前进行的。12 源程序在编译过程中可能会出现一些错误信息,但在连接过程中将不会出现错误信息。三、分析下列程序的输出结果1#includevoid main()coutBeiJing ;coutShangHain ;coutTianJingendl;1 BeiJji
5、ng ShangHai TianJing2.#includevoid main()int a,b;coutab;couta=a,b=bendl;couta-b=a-bn;假定,输入如下两个数据:8 52 Input a,b:8 5A=8,b=5A-b=33#include void main()char c=m;int d=5;coutd=d:;coutc=cn;D=5,c=m四、编译下列程序,改正所出现的各种错误信息,并分析输出结果:1、 main ( )coutThis is a string!;1#include void main()cout”This is a string!”;输出
6、结果:This is a string!2、 #includevoid main( )cinx;int p=x*x;coutp=pn;#includevoid main( )int x;cinx;int p=x*x;cout”p=”p”n”;输出结果:3 p=93、 #include void main ( )int i,j;i=5;int k=i+j;couti+j=kn;#include void main ( )int i,j;i=5;j=3;int k=i+j;cout”i+j=”k”n”;输出结果:I+j=8五、通过对第四题中三个程序的所出现问题的修改,回答下列问题:1. 从对第四题
7、1题的修改中,总结出编程时应注意哪三个问题?2. C+程序中所出现的变量是否都必须先说明才能引用?3. 使用cout和运算符; D. &17、下列各运算符中,()不能作用于浮点数。A/; B.&; C.!; D.18、下列各运算符中,()优先级最高。A. +(双目);B. *(单目); C. b)+(int(b)%2); D. - -a+b22、下列表达式中,()是合法的。已知:double m=3.2; int n=3;A. m3; B. +a+b+; C.b+(a=3); D. ( a=3)-a+二、 判断下列描述是否正确,对者划,错者划。1、 任何字符常量与一个任意大小的整型数进行加减都
8、是有意义的。2、 转义序列表示法只能表示字符不能表示数字。3、 在命名标识符中,大小写字母是不加区别的。4、 C+的程序中,对变量一定要先说明再使用,说明只要在使用之前就可以。5、 C+中数组元素的下标是从0开始,数组元素是连续存储在内存单元中的。6、 数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数。7、 枚举变量的取值受到该枚举变量所对应的枚举表中的枚举符的局限。8、 指针是用来存放某种变量的地址值的变量。这种变量的地址值也可以存放在某个变量中,存放某个指针的地址值的变量称为指向指针的指针,即二级指针。9、 引用是用来给某个变量以别名的变量。,对引用的操作,实质上就是对被
9、引用的变量的操作。10、 运算符的优先级和结合性可以确定表达式的计算顺序。11、 在说明语句 中,的值和的值是相等的。12、 已知:表达式具有两用性。13、 移位运算符在移位操作中,无论左移还是右移,所移出的空位一律补0;14、 某个变量的类型高是指该变量被存放在内存中的高地址处。15、 隐含的类型转换都是保值映射,显式的类型转换都是非保值映射。16、 类型定义是用来定义一些C+中所没有的新的类型。三、 计算下列各表达式的值(下列各表达式是相互独立的,不考虑前面对后面的影响。)1、 已知:unsigned int x=015,y=0x2b;A. x|y;B.xy;C.x&y;D.x+y; E.
10、x=4.ABCDEF4738910422、 已知:inti(10),j(5);A. +i-j-;B.i=i*=j;C.i=3/2*(j=3-2);D.ij; E.i&j|1; F.i+i&0xff.ABCDEF6501-161203、 已知:int a(5),b(3);计算下列表达式得值以及a和b的值。A.!a&b+;B.a|b+4&a*b;C.a=1,b=2,ab?+a:+b;D.+b,a=10,a+5;E.a+=b%=a+b; F.a!=b2=a+1.ABCDEF0,5,31,5,33,1,315,10,48,8,31,5,34、 已知:int d(5),*pd=&d,&rd=d;A. d
11、+-rd;B.*pd*rd; C.+*pd-rd; D.+rd-d.ABCD025005、 已知:1的ASCII码的值为49。A.3+21+1;B.2*9|31;C.5%-3*2/6-3; D.8= =35)|2=3+2-(0-7).ABCDEF2022-3011四、 按下列要求编写程序1 从键盘上输入两个int型数,比较其大小,并输出显示其中小的。2 从键盘上输入一个int型数,一个浮点型数比较其大小,并输出其中大的。3 输入一摄氏温度,编程输出华氏温度。已知:华氏温度转换为摄氏温度的计算公式如下:C=(F-32)*5/9其中,F表示华氏温度,C表示摄氏温度。#include void ma
12、in() float c,f; coutf; c=(f-32)*5/9; cout” 摄氏温度:”cendl; 4 编程实现输入公里数,输出显示其英里数。已知:1英里=1.60934公里(用符号常量)。#include const float r=1.60934; void main() float m,I; coutm; I=r*m; cout”英里数:”Iendl;5 输入一个int型数,将它的低4位(右4位)都置为1。#include void main() int n,m; coutn; m=n|15; cout”结果为:”mendl;第三章习题一、 选择填空1. 预处理命令在程序中都
13、是以( )开头的。A. * ; B. # ;C . :;D. / ;2. 文件包含命令中被包含的文件的扩转名( )。A.必须为.h;B.不能用.h;C .必须是.c;D.不一定是.h;3. 下列条件编译命令中#if()#else#endifA.整常量表达式;B.任何标识符;C .任意表达式;D.被定义的宏名;4. 带参数的宏定义中,程序中引用宏定义的实参( )。A.只能是常量;B.只能是整型量;C .只能是整形表达式;D.可以是任意表达式;5. 下列( )是语句A. ;;B.a=17;C .x+y;D. cout”n”;6. 下列for循环的次数为( )。for(int i(0),x=0;!x
14、&i=5;i+)A.5;B.6;C .1;D.无限;7. 下列while循环的次数是( )。while(int i=0)i- -;A.0;B.1;C .5;D.无限;8. 下列do-while循环的循环次数为( )。已知:int i(5);docouti- - endl;i- - ;while(i!=0);A.0;B.1;C .5;D.无限;9. 下列for循环的循环体执行次数为( )。for(int i(0),j(10);i=j=10;i+,j- -) A.0;B.1;C .10;D.无限;10. 已知:int a,b;下列switch语句中,( )是正确的。A. switch(a);cas
15、e a:a+;break;case b:b+;break;B. switch(a+b) case 1:a+b;break;case 2:a-b|C. switch(a*a)case1,2:+a;case3,4:+b;D. switch(a/10+b)case 5:a/5;breakdefault:a+b;11. 下述关于循环体的描述中,( )是错误的。A. 循环体中可以出现break语句和continue语句;B. 循环体中还可以出现循环语句;C. 循环体中不能出现goto语句;D. 循环体中可以出现开关语句。12. 下述关于goto语句的描述中,( )是正确的。A. goto语句可在一个文件
16、中随意转向;B. goto语句后面要跟上一个他所转向的语句;C. goto语句可以同时转向多条语句;D. goto语句可以从一个循环体内转到循环体外。13. 下述关于break语句的描述中,( )是正确的。A. break语句可用于循环体内,它将退出该重循环;B. break语句可用于开关语句中,它将退出开关语句。C. break语句可用于if体内,它将退出if语句;D. break语句在一个循环体内可以出现多次。14. 下述关于开关语句的描述中,( )是正确的。A. 开关语句中default子句可以没有,也可以有一个;B. 开关语句中每个语句序列中必须有break语句;C. 开关语句中def
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+语言基础教程 C+ 语言 基础教程
限制150内