首页考试吧论坛Exam8视线考试商城网络课程模拟考试考友录实用文档求职招聘论文下载
2013中考
法律硕士
2013高考
MBA考试
2013考研
MPA考试
在职研
中科院
考研培训 自学考试 成人高考
四 六 级
GRE考试
攻硕英语
零起点日语
职称英语
口译笔译
申硕英语
零起点韩语
商务英语
日语等级
GMAT考试
公共英语
职称日语
新概念英语
专四专八
博思考试
零起点英语
托福考试
托业考试
零起点法语
雅思考试
成人英语三级
零起点德语
等级考试
华为认证
水平考试
Java认证
职称计算机 微软认证 思科认证 Oracle认证 Linux认证
公 务 员
导游考试
物 流 师
出版资格
单 证 员
报 关 员
外 销 员
价格鉴证
网络编辑
驾 驶 员
报检员
法律顾问
管理咨询
企业培训
社会工作者
银行从业
教师资格
营养师
保险从业
普 通 话
证券从业
跟 单 员
秘书资格
电子商务
期货考试
国际商务
心理咨询
营 销 师
司法考试
国际货运代理人
人力资源管理师
广告师职业水平
卫生资格 执业医师 执业药师 执业护士
会计从业资格
基金从业资格
统计从业资格
经济师
精算师
统计师
会计职称
法律顾问
ACCA考试
注册会计师
资产评估师
审计师考试
高级会计师
注册税务师
国际内审师
理财规划师
美国注册会计师
一级建造师
安全工程师
设备监理师
公路监理师
公路造价师
二级建造师
招标师考试
物业管理师
电气工程师
建筑师考试
造价工程师
注册测绘师
质量工程师
岩土工程师
造价员考试
注册计量师
环保工程师
化工工程师
咨询工程师
结构工程师
城市规划师
材料员考试
监理工程师
房地产估价
土地估价师
安全评价师
房地产经纪人
投资项目管理师
环境影响评价师
土地登记代理人
缤纷校园 实用文档 英语学习 作文大全 求职招聘 论文下载 访谈|游戏
软件水平考试
软件水平考试资讯
软件水平考试试题
软件水平考试专项辅导
软件水平考试交流互动
软件水平考试交流互动
您现在的位置: 考试吧 > 软件水平考试 > 模拟试题 > 程序员 > 正文

2013年软考程序员考前模拟试题及答案解析(3)

来源:考试吧 2013-4-17 15:29:05 考试吧:中国教育培训第一门户 模拟考场

  31.设 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

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

  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。

  【参考答案】C

  33.设有int i=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

  34.设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=A b=B

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

  【参考答案】D

  35.设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

  36. 设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

  37.假定所有变量均已正确定义,下列程序段运行后X的值是( )

  a=b=c=0; x=35;

  if(!a)x--; else if(b);if(c)x=3;else x=4;

  A.34

  B. 4

  C. 35

  D. 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。正确解答是B。

  注意前一个if语句的else部分的成分语句只有“if(b);”,这是一个单分支if语句,且其成分语句为空语句。

  【参考答案】B

  38.下面的程序段所表示的数学函数关系是( )

  y=-l;

  if( x!= 0)if(x>0)y=l; else y=0 ;

  1(x<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

  39.下列语句中,句法错误的是(不考虑语义)( )

  A. while(x=y)5 ;

  B. do x++ while(x==10) ;

  C.while(0);

  D.do 2;while(a==b);

  【解析】 while语句的一般形式是:

  while(表达式) 语句

  这里的表达式可以是任何合理的表达式,语句可以是任何语句,包括空语句,或表达式语句。可能书写的while语句没有任何意义,如供选择的A.while(x=y)5;和C.while(0);,但这两个语句的句法没有任何错误。do-While语句的一般形式是:

  do语句while(表达式);

  其中的成分语句也可以是任何语句,但供选择答案B.do x++while(x==10) ;中的代码x++是一个表达式,不是语句,所以是错误的。正确解答是B。

  【参考答案】B

1 2 3 下一页
文章搜索
软件水平考试栏目导航
版权声明:如果软件水平考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本软件水平考试网内容,请注明出处。