c复习资料及答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++》复习资料及答案
一、判断题
1、在变量定义int sum , SUM; 中sum和SUM是两个相同的变量名。(N )
2、字符串”china”在内存中占据的存储空间是5个字节。(N )
3、在C++语言中,”A”和’A’是等价的。(N )
4 、C++表达式4/7和4.0/7的值是相等的,且都为double型。(N )
5、关系表达式a=b>c 等价于a=(b>c) ,同时也等价于a==b>c。(N )
6、continue 语句和break 语句的区别是:break 语句提前跳出switch结构或结束循环的执行;continue 语句只结束本次循环,而不是终止整个循环的执行。(Y )
7、数组是一种构造型数据,即是若干相同类型的数据的集合。()
8、C++语言中,二维数组中元素排列的顺序是:按行存放,即在内存中先顺序存放第一行的元素,再存放第二行的元素。()
9、#include “iostream.h” 的作用是将说明标准输入输出流对象的头文件包含到当前源文件中来。(Y )
10、C++语言中允许函数“嵌套调用”和“递归调用”,所谓“递归调用”就是指:在调用一个函数的过程中又出现直接或间接地调用该函数本身。(Y )
二、选择题
1、由C++源程序文件编译而成的目标代码文件的缺省扩展名为(C )
A).cpp B).exe C).obj D).lik
2、设x和y均为bool类型(bool类型:1或0),则x&&y为真的条件是(A )
A).它们均为真B).其中一个为真
C).它们均为假D).其中一个为假
3、设有int i;则表达式i=1,++i,++i||++i,i的值为( C )
A).1 B).2 C).3 D).4
4、设有int i;则表达式(i=1,i=10)?i++||++i:++i的值为(A )
解析:(i=1,i=10)?i++||++i:++i
(i=1,i=10)是真的情况表达式的值=i++||++i
是假的时候=++i
(i=1,i=10)这个是逗号运算符最终i=10,是真
所以表达式的值是i++||++i = 10 ||12 = 1
A).1 B).2 C).3 D).10
5、设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是()
A).10,11,12 B).11,12,12
C).10,12,12 D).11,11,12
6、设a、b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是()
A).'A'&&'B' 1 B).a<=b 1
C).c>=b||b+c&&b-c 1 D). a<=b+c&&c>=a+b
7、若x和y都是int型变量,x=100,y=200,则下面程序片段cout<<(x,y)< () 解析:语句中遵循优先级高的优先执行的原则,括号优先级最高,所以(x, y)最先计算。这是一个逗号表达式,注意,是一个表达式,是表达式就有值。逗号表达式的值等于最右边的那个值,即x,y,z的值是z,依次类推。所以(x, y)=y=200,最后执行语句其他部分,输出200 A).200 B).100 C).100 200 D).输出格式符不够,输出不确定的值 8、下面各语句中,能正确进行字符串赋值操作的语句行是() A).char s[4][5]={"ABCDE"}; B). char s[5]={'A','B','C','D','E'}(char s[6]= {'A','B','C','D','E'}) C). Char *s; s="ABCDE"; D). char *s; cin>>s; 9、若有:int a[6]={4,5,6,9,5,7},*p=a, *q=p; 则对数组元素的错误引用是() A). a[4] B). *(p+4) C). *a++(变量才能加减)D). *q++ 10、下列不正确的转义字符是() A).'\\' B).'\" C).'074' D).'\0' 11、假定a和b为int型变量,则执行以下语句后b的值为() a=1; b=10; do { b-=a; a++; } while (b--<0); A). 9 B). –2 C). -1 D). 8 12、对于结构中定义的成员,其隐含访问权限为() A). public B). protected C). private D). static 13、设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是() A).k=*P1+*P2; B).p2=k; C).P1=P2; D).K=*P1 * (*P2); 14、设有如下定义: int arr[]={6,7,8,9,10}; int * ptr; 则下列程序段的输出结果为() ptr=arr; * (ptr+2)+=2; cout<<*ptr<<*(ptr+2)< A).8,10 B).6,8 C).7,9 D).6,10 15、执行以下程序段后,m的值为() int a[2][3]={ {1,2,3},{4,5,6} }; int m,*p; p=&a[0][0]; m=(*p)*(*(p+2))*(*(p+4)); A). 15 B). 14 C). 13 D). 12