2012年软考程序员考前练习试题及答案解析(二)
05-18
0

16.设整型变量m,n,a,b,c,d均为1,执行“( m=a>b)&&(n=a>b)"后m,n的值是(B)

A.0,0

B.0,l

C.1,0

D.1,l

【解析】表达式(m=a >b)&&(n=a >b)是一个逻辑表达式,它的计算过程是先计算逻辑与的左分量(m=a>b,其中又是先计算a>b。因a>b不成立,结果为0,将0赋给变量m,最后逻辑与的左分量结果为0。由于逻辑运算采用特别的优化计算规则,当逻辑与的左分量结果为0时,不再计算逻辑与的右分量,而直接以0为逻辑与的结果。所以,上述表达式计算使m的值变为0,而n的值没有变,依旧为l。所以解答是B。

17. 设有代码“int a=3;”,则执行了语句“a+=a-= a*a;”后,变量a的值是(D)

A.3

B. 0

C. 9

D. -12

【解析】由于赋值运算符的结合性自右至左,语句“a+=a-=a*a;”的执行是先计算a*a,得到值 9,再计算 a-=a*a,使 a的值为-6,接着计算 a+=a,使 a的值为-12。所以解答是D。

18.在以下一组运算符中,优先级最高的运算符是(C)

A.<=

B.=

C.%

D.&&

【解析】常规运算符的优先级自高到低的排列顺序是算术运算符、移位运算符、关系运算符。按位运算符、逻辑运算符、条件运算符、赋值运算符、逗号运算符。所以问题所给的四个运算符按优先级自高到低的排列顺序是%,<=,&&,=。所以解答是C。

31.设 a=3,b=4执厅‘printf(”%d,%d’,(a,b)(b,a));”的输出是(C)

A.3,4

B.4,3wWW.KAo8.Cc

C.3, 3

D.4,4

【解析】在调用格式输出函数的语句中,其中每个格式符对应一个输出项,格式符d要求输出项内容以十进制整数形式输出。第一个输出项(a,b)是一个逗号表达式,该表达式的值是b的值,输出4。接着输出字符逗号。第二个输出项(b,a)的值是a的值,输出3。所以语句执行将输出4,3。

32.使用“Scanf("X=%f,y=%f",&x,&y)”,要使 X,y均为1.25,正确的输入是(C)

A.1.25,1.25

B.1.25 1.25

C.x=1.25,y=1.25

D.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是能满足上述要求的。所以正确选择是C。

33.设有int i=010,j=10;则执行“printf("%d,%d ",++i,j--);”的输出是(B)

A.ll, 10

B. 9,10

C. 010,9

D. 10, 9

【解析】变量i和j的初值分别为八进制数010和十进制数 10,函数调用Printf(“%d,%d ”,++i,j--)中,++i的值是变量 i增1后的值,原来值是八进制数 010,等于十进制数8,输出9。j--的值是变量j减1之前的值,输出10。格式字符申中的逗号是普通字符照原样输出。所以问题给出的格式输出函数调用将输出9,10。正确的解答是B。

34.设a,b为字符型变量,执行"scanf("a=%c,b=%c",&a,&b)"后使a为'A',b为'B',从键盘上的正确输入是(D)

A.’A”B’

B.’A’,’B’

C.A=A,B=B

D.a=A b=B

【解析】函数调用scanf("c=%c,b=%c",&c,&b)中,普通字符必须按格式字符串要求照原样输入,c格式对紧接的任何字符都输入。所以实现问题的要求,输入字符列应为“a=A,b=B”。另外要特别指出,在程序中,为表示字符常量,字符前后需加单引号。但用字符格式输入字符时,在要输入字符前后不必另键人单引号。若键人单引号,则这个单引号也将作为字符被输入。正确的解答是D。

35.设X、y、Z、t均为int型变量,则执行以下语句后,t的值为(C)

x=y=z=1;t=++x||++y&&++z;

A.不定值

B.2

C.l

D.0

【解析】语句序列“x=y=z=l;t=++x||++y&&++z;”使变量x的值为1,变量t是赋一个逻辑表达式的值。在C语言中,由逻辑与和逻辑或构成的逻辑表达式有特别的计算规则,顺序计算各逻辑子表达式,并当一旦能得到逻辑表达式的结果时,就立即结束逻辑表达式的计算,不再计算后继逻辑子表达式。本题的逻辑表达式是两个运算分量的逻辑或,而且左运算分量++X的值为非0,立即得到逻辑或运算的结果为1,并将1赋给变量t,所以变量t的值为1。正确解答为C。

相关内容

热门资讯

2012年软考网络管理员磁盘与... 2012年软考网络管理员磁盘与文件系统管理习题及答案
2014年计算机软考(数据库系... 2014年计算机软考(数据库系统工程师)考前冲刺试题4
2014年计算机软考(信息系统... 2014年计算机软考(信息系统项目管理师)考试备考试题七
2014年计算机软考(电子商务... 2014年计算机软考(电子商务设计师)考试备考试题6
2014年计算机软考(数据库系... 2014年计算机软考(数据库系统工程师)考前冲刺试题1
2014年计算机软考(数据库系... 2014年计算机软考(数据库系统工程师)考前冲刺试题2
2014年计算机软考(信息系统... 2014年计算机软考(信息系统项目管理师)考试备考试题一
2014年计算机软考(信息系统... 2014年计算机软考(信息系统项目管理师)考试备考试题六
2012年计算机软件水平考试网... 2012年计算机软件水平考试网络管理员考前冲刺试题(1)
2014年计算机软考(电子商务... 2014年计算机软考(电子商务设计师)考试备考试题3