3.1 单项选择题
1.设 a=3,b=4执厅lsquo;printf(”%d,%drsquo;,(a,b),(b,a));“的输出是( )
①3,4 ②4,3 ③3, 3 ④4,4
「解」在调用格式输出函数的语句中,其中每个格式符对应一个输出项,格式符d要求输出项内容以十进制整数形式输出。第一个输出项(a,b)是一个逗号表达式,该表达式的值是b的值,输出4.接着输出字符逗号。第二个输出项(b,a)的值是a的值,输出3.所以语句执行将输出4,3.正解的选择是③。
2.使用”Scanf(“X=%f,y=%f”,x,y)“,要使 X,y均为1.25,正确的输入是( )
①1.25,1.25 ②1.25 1.25 ③x=1.25,y=1.25 ④X=1.25 y=1.25
「解」格式输入函数的格式字符串中的字符可以分成三类:空格类字符、其它普通字符和格式转换说明。其中空格类字符用来跳过一个空格类字符序列,直至下一个非空格类字符。普通字符要求输入字符与其完全相同。格式转换说明对输入字符列按格式转换说明进行转换,得到内部值存储到对应输入项所指定的存储位置中。函数调用scanf(”x=%f,y=%f,x,y)以普通字符X=开头,输入时也要先输入X=。接着是一个浮点数输入格式,所有能构成一个浮点数1.25的字符序列都能满足要求。接着是普通字符列“,y=”,在输入的浮点数之后也要有字符列“,y=”。最后又是浮点数输入格式,同样所有能构成一个浮点数1.25的字符序列都能满足要求。问题给出的供选择答案中只有x=1.25,y=1.25是能满足上述要求的。所以正确选择是③。
3.设有int i=010,j=10;则执行”printf(“%d,%d\n”,++i,j――);“的输出是( )
①ll, 10 ② 9,10 ③ 010, 9 ④ 10, 9
「解」变量i和j的初值分别为八进制数010和十进制数 10,函数调用Printf(”%d,%d\n“,++i,j――)中,++i的值是变量 i增1后的值,原来值是八进制数 010,等于十进制数8,输出9.j――的值是变量j减1之前的值,输出10.格式字符申中的逗号是普通字符照原样输出。所以问题给出的格式输出函数调用将输出9,10.正确的解答是②。
4.设a,b为字符型变量,执行”scanf(“a=%c,b=%c”,a,b)“后使a为lsquo;Arsquo;,b为lsquo;Brsquo;,从键盘上的正确输入是( )
①lsquo;A”Brsquo; ②lsquo;Arsquo;,lsquo;Brsquo; ③A=A,B=B ④a=A b=B
「解」函数调用scanf(”c=%c,b=%c“,c,b)中,普通字符必须按格式字符串要求照原样输入,c格式对紧接的任何字符都输入。所以实现问题的要求,输入字符列应为”a=A,b=B“。另外要特别指出,在程序中,为表示字符常量,字符前后需加单引号。但用字符格式输入字符时,在要输入字符前后不必另键人单引号。若键人单引号,则这个单引号也将作为字符被输入。正确的解答是④。
5.设X、y、Z、t均为int型变量,则执行以下语句后,t的值为( )
x=y=z=1;t=++x||++y++z;
①不定值 ②2 ③l ④0
「解」语句序列”x=y=z=l;t=++x||++y++z;“使变量x的值为1,变量t是赋一个逻辑表达式的值。在C语言中,由逻辑与和逻辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量++X的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1.正确解答为③。
6设x、y、z均为int型变量,则执行以下语句后,x、y, z的值为( )
X=1; y=0; Z=2; y++++Z ||++ X;
①2、l、3 ②2、0、3 ③2、l、3 ④2、1、2
「解」语句序列”x=l;y=0;z=2; y++++z||++x;“先使变量x的值为 1,变量y的值为0,变量Z的值为2.由逻辑与和逻辑或构成的逻辑表达式的特别计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑子表达式的结果时,就立即结束逻辑子表达式的计算,不再计算该逻辑子表达式。计算y++因y的值为0,使y++++z的结果为0,立即去计算++X,这次计算使变量y的值变成1,而变量Z的值本改变。接着计算++X,使X的值变为2.所以经上述语句执行后,X、y、Z的值依次为2、1、Z. 确解答为④。
7.假定所有变量均已正确定义,下列程序段运行后X的值是( )
a=b=c=0; x=35;
if(!a)x――; else if(b);if(c)x=3;else x=4;
①34 ② 4 ③ 35 ④ 3
「解」以变量 a,b,c的值均为 0,变量x的值为 35,语句:
if(!a)x――;else if(b);if(c)x=3;else x=4;
由两个证语句组成。首先执行前一个if语句”if(!a)x――;else if(b);“,因变量a的值为0,条件!a成立,执行x――使x的值变为34.接着执行后继的if语句”if(c)x=3; else X=4;“,因变量c的值为0,条件不成立而执行X=4,最终使变量X的值为4.正确解答是②。
注意前一个if语句的else部分的成分语句只有”if(b);“,这是一个单分支if语句,且其成分语句为空语句。
声明:
(一)由于考试政策等各方面情况的不断调整与变化,本网站所提供的考试信息仅供参考,请以权威部门公布的正式信息为准。
(二)本网站在文章内容来源出处标注为其他平台的稿件均为转载稿,免费转载出于非商业性学习目的,版权归原作者所有。如您对内容、版权等问题存在异议请与本站联系,我们会及时进行处理解决。
相关推荐
2023年4月浙江自考律师公证与仲裁制度模拟试题及答案汇总(下)
03-232023年4月浙江自考《农产品营销理论与实务》章节习题汇总(上)
02-172023年4月浙江自考《普通逻辑原理》模拟试卷及答案(六)
03-31自考公共课英语(一)模拟试题(8)
08-302022年浙江自考《毛泽东思想概论》练习题及答案(11)
07-272023年4月浙江自考《教育科研方法》章节试题汇总(下)
02-172023年10月浙江自考《英语(二)》模拟试题及答案12
05-162022年浙江自考《美学》模拟题及答案(15)
09-072023年4月浙江自考《老年护理学》模拟试题及答案40
01-132022年浙江自考《外国文学史》模拟题及答案(6)
09-02