软考程序员考前模拟题练习及答案.docx
- 文档编号:12681042
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:10
- 大小:18.89KB
软考程序员考前模拟题练习及答案.docx
《软考程序员考前模拟题练习及答案.docx》由会员分享,可在线阅读,更多相关《软考程序员考前模拟题练习及答案.docx(10页珍藏版)》请在冰豆网上搜索。
软考程序员考前模拟题练习及答案
2021软考程序员考前模拟题练习及答案
1.若已定义x和y为double类型,则表达式:
x=l,y=x+3/2结果是()
A.l
B.2
C.2.0
D.2.5
【解析】由于变量x和y都是double类型,表达式x=l,y=x+3/2是先计算x=1,由于1是整型的,x是double类型的,该计算先将整数1转换成double类型的1.0,并将1.0赋给变量x。
计算y=X+3/2是先求3/2的值,因是两整数相除,结果是整型值1,然后在计算X+1时,也先将1转换成1.0,然后求得X+l的值为2.0,最后将该值赋给变量y,并得到整个表达式的值为2.0.所以解答是C。
【参考答案】C
2.设a为整型变量,下列C表达式中,不能表达数学关系式:
A.10
B.a==11||a==12||a==13||a==14
C.a>10&&a<15
D.!
(a<=10)&&!
(a>=15)
【解析】数学关系式1010&&a<15,或!
(a<=10)&&!
(a>=15),或a==11||a==12||a==13||a==14等。
若写成10
【参考答案】A
3.下列表达式中,正确的C赋值表达式是()
A.a=7+b+C=a+7
B.C=7+b++=a+7
C.a=(7+b,b++,a+7)
D.a=7+b,c=a+7
【解析】赋值运算符是运算符之一,赋值运算也可以出现在一般表达式中。
赋值运算时,出现在赋值运算符左边的表达式应该是引用一个存储对象,例如变量。
不可以是一个数值计算表达式。
如表达式a=7+b+c=a+7因算术运算符比赋值运算符的优先级高,要把a+7的结果赋给7+b+c,这是错误的。
同样理由,表达式a=7+b++=a+7也是错误的。
而表达式a=(7+b,b++,a+7)就是正确的赋值表达式,它是先计算赋值号左边的括号内的表达式,括号表达式内是一个逗号表达式,远号表达式要求顺序逐一计算各子表达式,并以最后一个子表达式的值作为远号表达式的结果,最后将该结果赋给变量a。
而表达式a=7+b,c=a+7则不是一个赋值表达式,而是一个逗号表达式,它由两个赋值子表达式组成。
所以解答是C。
【参考答案】C
4.若有以下定义:
chara;intb;floatc;doubled;则表达式a*b+d-c值的类型为()
A.float
B.int
C.char
D.double
【解析】基本类型的数据可以混合运算,但运算时,对要求运算分量类型相同的运算来说,如运算分量的类型不是全相同,则会有自动类型转换发生。
类型自动转换规则规定类型低(简单)的向类型高(复杂)的转换。
各类型由高到低的排列顺序是:
longdouble、float、unsignedlong、long、unsignedint、int这样,若有定义:
chara;intb;floatc;doubled;则表达式a*b+d-c的值的类型是double的。
首先计算a*b,得到int类型的值,接着计算a*b+d,得到double类型的值,最后计算a*b+d-c,得到double类型的值。
所以解答是D。
【参考答案】D
5.表达式“9!
=7”的值是()
A.true
B.非0值
C.0
D.1
【解析】关系运算的结果只有0和1,若关系成立,则结果为1;若关系不成立,则结果为0。
因关系式9!
=7成立,所以表达式的结果为1。
虽然1也是非0值,在供选择的答案中有1,所以最确切的解答是D。
【参考答案】D
6.用十进制数表示表达式“12|012”的运算结果是()
A.1
B.0
C.14
D.16
【解析】按位运算将运算分量视作二进位的位申信息,对两运算分量的对应位进行运算,产生H进位的位串信息结果。
整数12最低8位二进位是00001100,整数012是八进制数,它的最低8位二进位是00001010。
这两个二进位位串信息按位或运算,得到结果是00001110,对应十进制数14,八进制数是016。
所以解答是C。
【参考答案】C
7.设字符型变量a=3,b=6,计算表达式C=(a^b)<<2后C的二进制值是()
A.00011100
B.00000111
C.00000001
D.00010100
【解析】a的值为3,写成8位二进制数形式是00000011,b的值为6,写成8位二进制数形式是00000110。
表达式c=(a^b)<<2,先计算a与b的按位加,得到结果00000101,将这结果向左移2位,得到二进位的位串信息是00010100。
所以解答是D。
【参考答案】D
8.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是()
A.’a’&&b’
B.a<=b
C.a||b+c&&b-c
D.!
((a
【解析】对于表达式’a’&&’b,两个非O运算分量的逻辑与结果为1。
对于表达式a<=b,由于关系式成立,结果也为此又由于变量a为非0,表达式a||b+c&&b-c的结果也为1。
对于表达式!
((a
【参考答案】A
9.设Ch是Char型变量,其值为’A’,则下面表达式的值是()
ch=(ch>=’A’&&ch<=’Z’)?
(ch+32):
ch
A.’A’
B.’a’
C.’Z’
D.’z’
【解析】由于字符型变量ch的值为’A’,计算表达式ch=h>=’A’&&ch<=’Z’)?
(ch+32):
ch,先计算其中条件表达式,由于条件(ch>=’A&&h<=’Z’)成立,该条件表达式以ch+32=97为结果,将该值赋给变量ch,以字符表达这个值为’a’。
所以解答是B。
【参考答案】B
10.设有无符号短整型变量i、j、k,i值为013,j值为OX13。
计算表达式“k=~i|j>>3”后,k的值是()
A.06
B.0177776
C.066
D.0177766
【解析】将变量i的八进制数值013写成二进制形式为00001011,将变量j的十六进制值oxl3写成二进制数形式为00010011。
表达式k=~i|j>>3的计算过程是先求~i,结果用八进制代码表示为0177764;接着计算j>>3,结果为02。
对它们进行按位或运算结果为0177766。
所以解答是D。
【参考答案】D
11.设a=3,b=4执厅‘printf(”%d,%d’,(a,b)(b,a));”的输出是()
A.3,4
B.4,3
C.3,3
D.4,4
【解析】在调用格式输出函数的语句中,其中每个格式符对应一个输出项,格式符d要求输出项内容以十进制整数形式输出。
第一个输出项(a,b)是一个逗号表达式,该表达式的值是b的值,输出4。
接着输出字符逗号。
第二个输出项(b,a)的值是a的值,输出3。
所以语句执行将输出4,3。
【参考答案】C
12.使用“Scanf("X=%f,y=%f",&x,&y)”,要使X,y均为1.25,正确的输入是()
A.1.25,1.25
B.1.251.25
C.x=1.25,y=1.25
D.X=1.25y=1.25
【解析】格式输入函数的格式字符串中的字符可以分成三类:
空格类字符、其它普通字符和格式转换说明。
其中空格类字符用来跳过一个空格类字符序列,直至下一个非空格类字符。
普通字符要求输入字符与其完全相同。
格式转换说明对输入字符列按格式转换说明进行转换,得到内部值存储到对应输入项所指定的存储位置中。
函数调用scanf(“x=%f,y=%f,&x,&y)以普通字符X=开头,输入时也要先输入X=。
接着是一个浮点数输入格式,所有能构成一个浮点数1.25的字符序列都能满足要求。
接着是普通字符列“,y=”,在输入的浮点数之后也要有字符列“,y=”。
最后又是浮点数输入格式,同样所有能构成一个浮点数1.25的字符序列都能满足要求。
问题给出的供选择答案中只有x=1.25,y=1.25是能满足上述要求的。
所以正确选择是C。
【参考答案】C
13.设有inti=010,j=10;则执行“printf("%d,%d\n",++i,j--);”的输出是()
A.ll,10
B.9,10
C.010,9
D.10,9
【解析】变量i和j的初值分别为八进制数010和十进制数10,函数调用Printf(“%d,%d\n”,++i,j--)中,++i的值是变量i增1后的值,原来值是八进制数010,等于十进制数8,输出9。
j--的值是变量j减1之前的值,输出10。
格式字符申中的逗号是普通字符照原样输出。
所以问题给出的格式输出函数调用将输出9,10。
正确的解答是B。
【参考答案】B
14.设a,b为字符型变量,执行"scanf("a=%c,b=%c",&a,&b)"后使a为'A',b为'B',从键盘上的正确输入是()
A.’A”B’
B.’A’,’B’
C.A=A,B=B
D.a=Ab=B
【解析】函数调用scanf("c=%c,b=%c",&c,&b)中,普通字符必须按格式字符串要求照原样输入,c格式对紧接的任何字符都输入。
所以实现问题的要求,输入字符列应为“a=A,b=B”。
另外要特别指出,在程序中,为表示字符常量,字符前后需加单引号。
但用字符格式输入字符时,在要输入字符前后不必另键人单引号。
若键人单引号,则这个单引号也将作为字符被输入。
正确的解答是D。
【参考答案】D
15.设X、y、Z、t均为int型变量,则执行以下语句后,t的值为()
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。
【参考答案】C
16.设x、y、z均为int型变量,则执行以下语句后,x、y,z的值为()
X=1;y=0;Z=2;y++&&++Z||++X;
A.2、l、3
B.2、0、3
C.2、l、3
D.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。
确解答为D。
【参考答案】D
17.假定所有变量均已正确定义,下列程序段运行后X的值是()
a=b=c=0;x=35;
if(!
a)x--;elseif(b);if(c)x=3;elsex=4;
A.34
B.4
C.35
D.3
【解析】以变量a,b,c的值均为0,变量x的值为35,语句:
if(!
a)x--;elseif(b);if(c)x=3;elsex=4;
由两个证语句组成。
首先执行前一个if语句“if(!
a)x--;elseif(b);”,因变量a的值为0,条件!
a成立,执行x--使x的值变为34。
接着执行后继的if语句“if(c)x=3;elseX=4;”,因变量c的值为0,条件不成立而执行X=4,最终使变量X的值为4。
正确解答是B。
注意前一个if语句的else部分的成分语句只有“if(b);”,这是一个单分支if语句,且其成分语句为空语句。
【参考答案】B
18.下面的程序段所表示的数学函数关系是()
y=-l;
if(x!
=0)if(x>0)y=l;elsey=0;
1(x<0)
A.y={0(x=0)
B.y={-l(X=0)
1(X>0)0(X>0)
o(X<0)-l(X<0)
C.y={-1(x=0)
D.y={1(X=0)
1(X>0)0(X>0)
【解析】程序段首先置变量y的值为一l,接着按变量x值的不同情况重置变量y的值。
重置的首要条件是x!
=0,若变量x的值为0,则不再重置变量y的值,所以在X值为0情况下,y的值是-l。
在变量X的值不等于0的条件下,若X的值大于0,重置变量y的值为1;若变量X的值小于0,重置变量y的值为0。
所以程序段实现当变量x的值为0时,变量y的值为-1;当变量X的值大于0时,置变量y的值为1;当变量X的值小于0时,置变量y的值为0。
正确解答为C。
【参考答案】C
19.下列语句中,句法错误的是(不考虑语义)()
A.while(x=y)5;
B.dox++while(x==10);
C.while(0);
D.do2;while(a==b);
【解析】while语句的一般形式是:
while(表达式)语句
这里的表达式可以是任何合理的表达式,语句可以是任何语句,包括空语句,或表达式语句。
可能书写的while语句没有任何意义,如供选择的A.while(x=y)5;和C.while(0);,但这两个语句的句法没有任何错误。
do-While语句的一般形式是:
do语句while(表达式);
其中的成分语句也可以是任何语句,但供选择答案B.dox++while(x==10);中的代码x++是一个表达式,不是语句,所以是错误的。
正确解答是B。
【参考答案】B
20.若i、j已定义为int类型,则以下程序段中的内循环体的执行次数是()
for(i=5;i;i--)
for(j=0;j<4;j++){……}
A.20
B.24
C.25
D.30
【解析】问题所给的程序段的外循环是一个阶循环语句,它的初始化部分置变量i的初值为5,循环条件简写成i,即i!
=0,每次循环后变量i的值减1。
所以外循环共控制5次循环。
内循环也是一个for循环语句,它的初始化部分置变量j的初值为0,循环条件是j<4,每次循环后变量j的值增1。
所以内循环共控制4次循环。
这样,如内循环的体内未曾对变量i和j有修改,在内、外循环一起控制下,内循环的体共被重复执行20次。
正确解答是A。
【参考答案】A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序员 考前 模拟 练习 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)