您的位置: 首页 >> 新闻中心 >> 计算机 >> 软件开发
高级语言程序设计:第三章习题解答
■ 最新课程推荐更多课程>>
学校培训课程开课时间上课地点精英价报名
正辰培训 微软软件测试工程师电话预约西直门教学区¥4704
新 科 海 软件测试工程师就业班电话预约海淀长远天地¥6280
北师大IT 软件工程与测试实战班电话预约北京师范大学¥1800
北师大IT 高级网络工程师就业班电话预约北京师范大学¥13000
金 同 方 网络工程师就业周末班电话预约人大总部¥7000
   3.1  单项选择题

  1.设 a=3,b=4执厅‘printf(”%d,%d’,(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为'A',b为'B',从键盘上的正确输入是(  )
        ①’A”B’          ②’A’,’B’       ③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语句,且其成分语句为空语句。
       8.下面的程序段所表示的数学函数关系是(   )
      y=-l;
     if( x!= 0)if(x>0)y=l; else y=0 ;
     1(x<0) 1(x<0)
      ① y= { 0(x= 0)            ② y={-l(X=0)
      1(X>0) 0(X>0)
       o(X< 0) -l(X< 0)
      ③ y= {-1(x= 0)             ④ 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。正确解答为③。
    9.下列语句中,句法错误的是(不考虑语义)(    )
    ① while(x=y)5 ;               ② do x++ while(x==10) ;
    ③while(0);                            ④do 2;while(a==b);
    【解】 while语句的一般形式是:
        while(表达式) 语句
这里的表达式可以是任何合理的表达式,语句可以是任何语句,包括空语句,或表达式语句。可能书写的while语句没有任何意义,如供选择的①while(x=y)5;和③while(0);,但这两个语句的句法没有任何错误。do-While语句的一般形式是:
          do语句while(表达式);
其中的成分语句也可以是任何语句,但供选择答案②do x++while(x==10) ;中的代码x++是一个表达式,不是语句,所以是错误的。正确解答是②。
      10,循环语句“for(x=0, y=0;(y!=123)||( x<4);x++);”的循环执行(  )
             ①无限次       ②不确定次              ③4次                ④3次
    【解】for循环语句的初始化部分置变量x和y的初值为0,循环条件是(y!=123)||(x<4),每次循环后变量X的值增1。由于循环过程中变量y的值本被修改过,循环条件又是一个逻辑或,其左分量(y!=123)永远成立,也就是循环条件永远成立。所以该循环语句将循环执行无限次。正确解答是①。

本新闻共2页,当前在第1页  1  2

  影视动画培训   北大BEC培训官方报名网站   2008美国夏令营启航官方指定报名网站   2008留学第一站!  
  北师大 火星时代
共举影视动画培训之鼎
  北大BEC培训官方报名网站
现在报名独享95折!
  2008年国家职业资格考试
一次过关完全备考手册
  2008留学第一站
留学资讯尽在精英留学站!
 
上一篇:高级语言程序设计:第四章习题解答
下一篇:高级语言程序设计:第二章习题解答
 相关新闻
·如何快速有效学好C语言·浅议C语言中数组和指针的互操作
·Win2000升级至2003的10大理由·高效程序员应该养成的七个习惯
·面试系列1返回整数中为1的位数·面试系列2约瑟夫环问题-Josephus-
·面试系列3冒泡算法(优化)·面试系列4以单词为最小单位翻转字符串
·面试系列5以单词为最小单位翻转字符串-改进版-·面试系列6TCP协议建立连接初期的“三次握手”
·面试系列7用两个栈实现一个队列的功能·面试系列9怎样才能检测到链表中存在循环
·面试系列8返回整数中为1的位数(优化版)·面试系列10关于指针的加减操作的理解
·高级语言程序设计:第一章习题解答·高级语言程序设计:第二章习题解答
 
◇ 重点栏目导航
◇ 精英服务承诺
教育顾问:010-51660910
QQ交流:138660910
相关资料
·软件测试新手的修炼之路
·Smarty简体中文参考手册
·Struts中文手册
·Struts快速学习指南
·ultradev动态网页制作教程
·UML工具箱
·《设计模式》中文版
·学友Flash伴侣 1.11
·阿须图像水印(AssureMark)V2.0
·超级语霸
相关试题
·2008年云南公务员考试专业试卷之科技环保
·2008年云南公务员考试试卷之教育文化类专
·2008年云南公务员考试试卷参考答案之科技
·2008年云南公务员考试试卷参考答案之教育
·2008年公务员考试科教管理类专业试卷参考
·2008年公务员考试科教管理类专业试卷(云
·2007年全国CPA考试试卷及答案解析之《会
·2007年CPA试卷及答案解析之《财务成本管
·2008年注会考前模拟试题之《财务成本管理
·2007年全国CPA《税法》考试试卷及答案解
相关热贴
·如何改QQ IP地址!
·恰当选择软件测试自动化方案
·ADO.NET学习总结
·.net操纵xml文件类(c#)
·Log4net教程
·VPN技术详解
·高手必读 网络端口安全防护技巧放送
·访问XP共享出现的问题解决办法
·Web2.0时代,RSS你会用了吗?(技术实现总
·.NET下正则表达式应用的四个示例