程序设计部内部习题与答案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
程序设计部内部习题与答案

程序设计部内部习题 一、填空题 若有如下说明,且int类型占两个字节,则正确的叙述为( A) struct st { int a; int b[2]; }a; 结构体变量a与结构体成员a同名,定义是合法的 程序只在执行到该结构体时才为结构体st分配存储空间 程序运行时为结构体st分配8字节存储单元 类型名struct可以通过extern关键字提前引用 【解析】本题主要考查结构体的用法:①结构体变量a与结构体成员a同名,定义合法:②在程序编译的时候结构的定义并不会使系统为该结构分配内存空间,只有在说明结构变量时才分配内存空间;③int a占2个字节.int b[2]占4个字节。共6 个;④类型名shmct st不可以通过extem关键字提前引用。 2、语句“printf(”a\bhow\’are\’y\\\bou\n”);”的输出结果是( C )。 A. a\bhow\are\y\\bou B. a\bhow\’are\’y\bou C. howareyou D. ahowarey\bou 【解析】“\b”格式符表示退格,功能是将它后面的字母把它前面的字母覆盖,导致“\b”格式符前面的字母不能输出; “\”格式符表示输出单引号字符;“\\”格式符表示输出反斜线字符。 字符串%%\ABCDEF\\\的长度是( B ) A.11 B.10 C.5 D.3 【解析】本题涉及字符串最基本的2个概念:①字符串的长度是指字符串中字符的个数,但不包括字符串结束符:②以反斜杆’v开头的特殊字符序列,意思是把反斜杆后面的字符序列转换成特定的含义,而不是原来的含义,不包含在字符串长度之内,\连同后面的字符为一个长度;而%’也是如此。 4、有以下程序 #includestdio.h void main() { char a[30],b[30]; scanf(%s,a); gets(b); printf(%s\n%s\n,a,b); } 输入how are you? I am fine,程序的运行结果是( C) A. how are you? B. how I am fine are you? I am fine C. how are you ? I am fine D. how are you? I ok 【知识点】考查数组 5、有以下程序 #includestdio.h main() { int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=0; for(i=0;i3;i++) for(j=2;j=i;j--) t+=b[i][j]; printf(%d\n,t); } 程序运行后的结果是( C ) A.4 B.3 C.8 D.9 【知识点】循环结构 【解析】这道题主要考查的是二维数组的有关知识。在两层for循环语句中,累加上三角元素,所以程序执行的过程为t=b[0][0]+b[O][1]+b[0][2]+b[1][1]+b[1][2]+b[2][2]=8。 有以下程序 #includestdio.h main() { int x=1,y=0,a=0,b=0; switch(x) {case 1: switch(y) {case 0:a++;break; case 1:b++;break; } case 2:a++;b++;break; case 3:a++;b++; } printf(a=%d,b=%d\n,a,b); } 程序执行的结果是( D ) A.a=1,b=0 B. a=2,b=2 C. a=1,b=1 D. a=2,b=1 【知识点】选择结构 【解析】本题考查了 switch结构的内容。在C语言中程序执行完一个case标号的内容后如果没有break语句控制结构会转移到下一个case继续执行因为case 常量表达式只是起语句标号作用并不是在该处进行条件判断。本题程序在执行完内部switch结构后继续执行了外部switch结构的 case 2分支。最后a和b的值分别为2和1 7、若有定义int a[5],*p=a ;则正确引用数组元素的是( D ) *a[5] *a+2 *(p+5) *(a+2) 【知识点】指针 【解析】本题考查通过指针引用数组元素。用指针引用数组有以3种形式:①(p+n)与(a+n)表示数组元素a[n]的地址,②*(p+n)与*(a+n)表示数组元素a[n];③p[n]=*(p+n),都表示数组元素a[n]。选项A)、B)没有这种引用形式;选项C),*(p+5)是引用数组的第6个元素,而数组一共有5个元素,出现越界;选项D),*(a+2)引用数组的第3个元素。 设有以下说明,则不正确的叙述式( ) union un { int a

您可能关注的文档

文档评论(0)

hhuiws1482 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档