C++题库+参考答案.docx
《C++题库+参考答案.docx》由会员分享,可在线阅读,更多相关《C++题库+参考答案.docx(63页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【C+题库】顺序分支结构BDDAC DDCBC BABDA BCCCB BCBBC BADA1 .设ch是char型变量,其值为字符A,且有下面的表达式:ch=(ch= A &ch= T )?(ch+32):ch上面表达式的值是A) AB) aC) ZD) z2 .设a, b和c都是int型变量,且a=3, b=4, c=5,则下面的表达式中,值为的表达式是A) a&bB) a=bC) a|b+c&b-cD) ! (a=10 or a=10 | a =10 | a=10 | a=04.设a为整型变量,不能正确表达数学关系:10a15的C+语言表达式是A) 10a10 & a15D) ! (a=
2、15)说明:不能正确表达,看清楚题目,是不能!! a因为是整型变量,所以选项b也是可以表达 的5.设x、y、z、t均为int型变量,则执行以下语句后,t的值为 x=y=z=1;t=+x | +y & +z;A)不定值B) 4C) 1D) 0说明:因为+x表达式的值为2,是真,所以|或后面的运算被跳过,=右边的表达式值为真, 賦值给t,t的值为1.6 .语句:cout(a=2) & (b= -2);的输出结果是A)无输出B)结果不确定0-1D)1说明:将cout后那个表达式的值输出出来.a=2先将2赋值给a,同时表达式的值为左 边变量a的值2,同理b=-2表达式的值为2,两个非的值进行&操作,结
3、果为真,即值为17 .能正确表示a和b同时为正或同时为负的逻辑表达式是A) (a=0 11 b=0) & (a0 11 b=0 & b=0) & (a0 & b0 & a+b0说明:随便找两个具体的值代进去看看,答案就可以分辨出来了哎.选项b怎么可能对呢, 任何情况下,选择b都是假的啊8 .为了避免嵌套的if-eIse语句的二义性,C+语言规定else总是与()组成配对关系。A)缩排位置相同的ifB)在其之前未配对的ifC)在其之前未配对的最近的ifD)同一行上的if9 .已知 int x=10,y=20, z=30,则执行if (xy)z=x;x=y;y=z;语句后,x、y、z的值是()A)
4、 x=10, y=20, z=30B) x=20, y=30, z=30C) x=20, y=30, z=10D) x=20,y=30, z=20说明:i f条件为真的时候,执行的语句体只是z=x;这一句,其它的x=y;和y=z;是i f语句执行 完了之后的语句。所以这里if条件不成立,认为if(xy) z=x;这句话就执行结束了,接着执 行下面的x=y;y=z;语句,不要把后面两句也看成是if条件为真的时候的语句体了。如果语 句体包括多句话的时候,必须加10 .执行下面程序的输出结果是()。ma i n()(int a=5, b=0, c=0;if (a=a+b) cout“*、n”;els
5、e cout“#n ;A)有语法错误不能编译B)能通过编译,但不能通过连接C)输出*D)输出#说明:if条件的逻辑是将a+b的值赋给a,然后判断表达式a=a+b的值(即被赋值后的a的值 5)是否非11 .运行下面程序后,输出是()。ma i n() i nt k=-3;if (k15?a+10:a-10;coutbend I ;A) 5B) 25C) 15D) 1013.以下选项中,两个条件语句语义等价的是()A) i f (a=2) couta;i f (a 2) couta;B) if(a-2) couta;i f (a! =2) couta;C) if (a) couta;i f (a=
6、0) couta;D) if(a-2) couta;if (a=2) couta;14,在执行以下程序时,为了使输出结果为:t=4则给a和b输入的值应满足的条件是 ma i n () int s, tF a, b;cinab;s=1; t=1;if (a0) s二s+1;if (ab) t二s+t;e I se i f (ab) t二5;else t二2*s;cout t二tend I;)A) abB) ababD) 0ab15.下面程序的输出结果是ma i n ()int x-100, a二10, b=20, ok1=5, ok2=0;if (a0) case 1:switch(b99)pl
7、ace=3:eIse i f (num9)pIace=2;e I seplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (pI ace) case 3: coutkjiendI ;break;case 2: coutkjendI ;break;case 1: coutk;A) 123B) 1,2,3C) 321D) 3,2, 1 18.运行下面程序时,若从键盘输入数据为“ 86”, 则输出结果是()ma in () int t;c int;if (t=90) cout “An” ;else if (t=80) cout “
8、Bn” ;else if (t=70) cout“Cn” ;else if (t=60) cout Dn”;else cout En;cout0Kn;A) BB) B OKC) BD) BOKCDEOK19.以下程序的运行结果是()。ma in () int a二, b二 1, c二, d二20, x;if (a) d=d-10;else if (!b)if (!c) x=15;eIse x=25;coutd;)A) 15B) 25C) 20D) 1020.运行下面程序时,从键盘输入” 1605CR “, 则输出结果是()。ma in () int t, h, m;Cint;h=(t/100)
9、%12;if (h=0) h=12;couth :;m二t%100;if (m10) cout, ;coutm;if (t1200|t=2400)cout “AM” ;else cout “PM” ;A) 6:05PMB) 4:05PMC) 16:05AMD) 12:05AM21、运行下面程序时,从键盘输入数据为“ 2 13 5 “, 则输出结果是()。ma i n ()( int a, b, c;c i nabc;switch (a) case 1: coutb+cendl ; break;case 2: coutb-cend I ; break;case 3: coutb*cendl ;
10、break;case 4: if (c! =0) coutb/cendI ;break; else cout“errorn ;break;defuaIt: break;)A) 10B) 8C) 65D) error22、若k是int型变量,且有下面的程序片段:k=8;if (k)if (k=0) cout “料#;else cout “&”;else cout “*” ;上面程序片段的输出结果是A) #B) &C) *D)有语法错误,无输出结果23、若执行下面的程序从键盘上输入5,则输出结果是ma i n ()i nt x;c i nx;if (x+5) coutxendI; e I se c
11、outx;A) 7B) 6C) 5D) 424、当a=1, b=3, c=5, d-4时,执彳丁下面一段程序后,x的值为 if (ab)if (cd) x=1;e I seif (ac)if (bd) x=2;eIse x=3;eIse x=6;eIse x=7;A) 1B) 2C) 3D) 6 25、下面的程序片段所表示的数学函数关系是r 1 (x0)r -1 (x0)r -1 (x0) r 0 (x0) y=-1;if (x!=0) if (x0) y=1;eIse y;26、假定所有变量均已正确说明,下列程序段运行后x的值是a=b=c=O;x=35;if (!a) x-;else if
12、(b);if (c) x=3;eIse x=4;A) 34B) 4C) 35D) 3说明:这里注意第三行的if后面有个;说明if(b)条件为真时,其语句体为一条空语句:27、与y=(x0?1:x0) y=1;B) if(x)else if (x0) y=1;eIse y=0;else if (x。)if (x0) y=1;if (x0) y=1;else if (x。)y二。;else y二一1else y二T;说明:答案b.这里总共只有一句话,当x为。时,第一行if条件不满足,整个代码就执行结束 了,y的值不知道是多少。28、执行下列程序,输入为1的输出结果是()。 ma i n ()(in
13、t k;cink;switch (k)(case 1: coutk+end I;case 2: coutk+endI;case 3: coutk+endI;case 4: coutk+endI; break;default: cout“FulI!n ;)A) 1B) 20 2D) 13 24 35 4 29.执行下面程序时,若从键盘输入 2 则程序的 运行结果是()。ma in ()( int j,k; char cp;cp二getchar ();if (cp二。& cp9)k二cp- 0;else if (cp= a & cp= f)k二cp- a +1。;else k 二 cp-A+1。;
14、coutkend I;循环结构1BABAA CADCB CBBDB DBCBC DBCDC1、设i, j, k均为!nt型变量,则执行完下面的for循环后,k的值为 for(i=0, j=10; i=j; i+, j) k=i+j;A) 12B) 10C) 11D) 92、当执行以下程序段时x=-1;do x=x*x; whiIe( !x);A)循环体將执行次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误3、若输入字符串:abcde回车,则以下while循环体将执行多少次? whi le(ch=getchar ()!= e) cout *;A) 5B) 4C) 6D) 1说
15、明:getcharO每次获取一个字符,将获得的值赋给ch,整个表达式ch=getchar ()的值就是 等号左边的变量ch的值,判断其是否不等于字符e4、有以下程序段i nt k=0;while (k=1) k+;whi Ie循环执行的次数是A)无限次B)有语法错,不能执行0 一次也不执行D)执行一次说明:k=1是將1赋值给k.表达式k=1的值就是左边变量k的值,因此每次判断条件时,k都 会重新被賦值为1,条件永远为真5、语句whi le(!e);中的条件!e等价于()。A) e=0B) e!=1C) e!=0D)e说明:答案b没有考虑到如e的值为2时,!e为假,而答案b为真6、以下for循环
16、是().for(x=0, y=0; (y!=123) & (x100) break;)B) for(;C) int k;do +k; while (k 0);D) i nt s=36; while (s) -s;9、以下程序段的输出结果是()。 i nt k, n, m;n= 10; m1; k1;while (k=n) m*=2;k+=4; coutm;A) 4B) 16C) 8D) 3210、设有如下程序段: i nt i二, sum=l;do sum+=i+;)wh i Ie (i 6); coutsum;上述程序段的输出结果是()A) 11B) 16C) 22D) 1511、以下程序的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 题库 参考答案
限制150内