【计算机类职业资格】二级C语言笔试38及答案解析.doc
《【计算机类职业资格】二级C语言笔试38及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试38及答案解析.doc(20页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试 38 及答案解析(总分:86.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.算法的空间复杂度是指(分数:1.00)A.算法程序的长度B.算法程序中的指令条数C.执行算法程序所占的存储空间D.算法执行过程中所需要的存储空间2.以下说法中,不正确的是(分数:1.00)A.C 程序中必须有一个 main()函数,从 main()函数的第一条语句开始执行B.非主函数都是在执行主函数时,通过函数调用或嵌套调用而执行C.C 程序中的 main()函数必须放在程序的开始位置D.C 程序中的 main()函数位置可以任意指定3.以下程序的输出结果是 ma
2、in() char ch35;“AAAA”,“BBB”,“CC”; printf(“/”%s“n”,ch1); (分数:1.00)A.“AAAA”B.“BBB”C.“BBBCC”D.“CC”4.若有下面的说明和定义: struct test int m1;Char m2;float m3; union uuchar u15;int u22;ua; myaa; 则 sizeof(struct test)的值是(分数:1.00)A.12B.16C.14D.95.下列哪个面向对象程序设计不同于其他语言的主要特点(分数:1.00)A.继承性B.消息传递C.多态性D.静态联编6.以下程序的输出结果是 i
3、nt x=3; main() int i; for(i=1;ix;i+)incre(); incre() static int x=1; x*=x+1; printf(“%d”,x); (分数:1.00)A.3 3B.2 2C.2 6D.2 57.不合法的 main 函数命令行参数表示形式是(分数:1.00)A.main(int a,char*c)B.main(int arc,char*arC.main(int argc,char *argD.main(int argv,char *argc)8.若有以下程序 #includestdioh void f(int n); main() void
4、f(int n); f(5); void f(int n) printf(“%d/n”,n); 则以下叙述中不正确的是(分数:1.00)A.若只在主函数中对函数 f 进行说明,则只能在主函数中正确调用函数 fB.若在主函数前对函数 f 进行说明,则在主函数和其后的其他的其他函数中都可以正确调用函数 fC.对于以上程序,编译时系统会提示出错信息;提示对 f 函数重复说明D.函数 f 无返回值,所以可用 void 将其类型定义为无值型9.若有定义:int aa8;则以下表达式中不能代表数组元素 aa1的地址是(分数:1.00)A.”语句。因continue 的作用是结束本次循环,即跳过本次循环体中
5、余下尚未执行的语句,接着再一次进行循环的条件判断,所以 i 的值未发生变化,循环条件仍然为真,if 语句也仍然成立,因此循环将无止境地进行下去。26.以下选项中不属于 C 语言的类型的是(分数:1.00)A.signed short intB.unsigned long intC.unsigned intD.long short 解析:解析在选项中很明显选项 A 为无符号短整型,选项 B 为无符号长整型,选项 C 为无符号整型,而选项 D 的类型在 C 语言中不存在。27.以下程序调用 findmax 函数返回数组中的最大值 findmax(int*a,int n) int * p,* s;
6、for(p=a,s=a;p-an;p+) if(_)s=p; return(*s); main() int x5=12,21,13,6,18; printf(“%d/n”,findmax(x,5); 在下划线处应填入的是(分数:1.00)A.psB.*p*s C.aaD.p-ap-s解析:解析在 main()函数中定义了一个具有 5 个元素的 x 数组并赋初值,然后调用 findmax()函数求数组中元素的最大值。调用时把数组元素 x 的首地址,传给了形参指针变量 a,把 5 传给形参 n。在函数findmax()中定义了两种指针变量 p 和 s,其中 s 用来记录最大元素的地址,p 作为循环
7、控制变量,表示每个元素的地址。求最大值的算法是先将第一个元素(用 s 记下它的地址)做为最大值,然后用最大值(*s)与后面的每个元素比较(*p),若后面的元素大,则用 s 记下它的地址,所以下划线应填“*8*p 或“*p*8”。28.数据库是()的集合,它具有统一的结构格式并存放于统一的存储介质,可被各个应用程序所共享(分数:1.00)A.视图B.消息C.数据 D.关系解析:解析数据库是数据的集合,其中的数据是按数据所提供的数据模式存放的,它能构造复杂的数据结构,以建立数据之间的内在联系与复杂的关系。29.下面可以作为 C 语言用户标识符的一组是(分数:1.00)A.void define W
8、ORDB.a3_b3_123 IF C.for -abc caseD.2a D0 sizeof解析:解析在 C 语言中,合法的标识符可以由字母、数字和下划线组成,其中关键字不能作为用户的标识符,且开头的第一个字符必须为字母或下划线。选项 A 中 void 为关键字;选项 C 中 for 和 case 为关键字;选项 D 中 sizeof 为关键字。30.编制一个好的程序,首先要保证它的正确性和可靠性,还应强调良好的编程风格,在书写功能性注释时应考虑(分数:1.00)A.仅为整个程序作注释B.仅为每个模块作注释C.为程序段作注释 D.为每个语句作注释解析:解析功能性注释是嵌在源程序体中的,用以描
9、述其后的语句或程序段是在做什么工作,或者执行了下面的语句会怎么样。所以它描述的是一段程序,是为程序段做注释,而不是每条语句。31.变量 a 已被定义为整型,下列表达式不正确的是(分数:1.00)A.a=A+20B.a-=aC.a=c+d D.a=c+d解析:解析在 C 语言中,字符变量可参与任何整数运算。本题中只有 C 有错,因为 C 选项中 c、d 如果是字符常量,应有单引号,如果是变量,应该提前定义。32.在 16 位 C 编译系统上,若定义 long a;,则能给 a 赋 40000 的正确语句是(分数:1.00)A.a=20000+20000;B.a=4000*10;C.a=30000
10、+10000;D.a=4000L*10L; 解析:解析由于 20000+20000、4000+10 及 30000+10000 都是整型表达式,故运算的结果仍然是整型,表达式运算的结果超出了整型数据的范围,不正确。而 D 是长整型运算,不会超出长整型的范周。33.以下程序的输出结果是 #includestdi0h main() int i=0,a=0; while(i20) for(;) if(i%10)=0)break; elsei-; i+=11;a+=i; printf(“%d/n”,A) ; (分数:1.00)A.21B.32 C.33D.11解析:解析break 语句只能在循环体和
11、switch 语句体内使用。本题程序为在 while 循环中嵌套 for 循环。先看内层 for 循环,该循环的 3 个表达式全部省略,循环条件始终为真,但循环体内的 break 语句为终止循环的条件。首先,由初始条件判断外层循环 while 括号内表达式的值,该值为真,执行本次 while循环,即执行循环体内的 if 语句,判断该表达式后面括号里表达式的值为真,执行 break 语句,跣出内层循环,执行下面的语句,此时 i 和 a 的值均变为 11;回到外层循环,判断表达式“i20”仍为真,执行内层循环语句,此时 if 条件不满足,执行 else 语句,i 的值为 10,继续内层循环,if
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 38 答案 解析 DOC
