【计算机类职业资格】二级C语言-278 (1)及答案解析.doc
《【计算机类职业资格】二级C语言-278 (1)及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-278 (1)及答案解析.doc(18页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-278 (1)及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.设计软件结构是软件生命周期的_。(分数:2.50)A.软件定义期B.软件开发期C.软件维护期D.以上 3 个都不是2.下列关于栈的描述中错误的是_。(分数:2.50)A.栈是先进先出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入删除操作中,不需要改变栈底指针3.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为_。(分数:2.50)A.125B.n/2CnD.n+14.以下选项中不合法的用户标识符是_。(分数:2.50)A.abc.cB
2、.fileC.MainD.PRINTF5.下列叙述中错误的是_。(分数:2.50)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的6.下列工具中为需求分析常用工具的是_。(分数:2.50)A.PADB.BFDC.N-SD.DFD7.下列叙述中不正确的是_。(分数:2.50)A.在 C 语言中调用函数时,只能把实参的值传送给彤参,形参的值不能传送给实参B.在 C 的函数中,最好使用全局变量C.外部变量可以在函数之间传递数据D.自动变量实质上是一个函数内部的局部变量8.下列选
3、项不符合良好程序设计风格的是_。(分数:2.50)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块设计原则是高耦合、高内聚9.设有如下关系表: R A B C 1 1 2 2 2 3 S A B C 3 1 3 T A B C 1 1 2 2 2 3 3 1 3 则下列操作中正确的是_。(分数:2.50)A.T=RSB.T=RSC.T=RSD.T=R/S10.下列叙述中错误的是_。(分数:2.50)A.列表框和组合框都有 List 属性B.列表框有 Selected 属性,而组合框没有C.列表框和组合框都有 Style 属性D.组合框有 Text 属性,而列表框
4、没有11.有下列程序: main() int x=5; do printf(“%d“, x-=4); while(!(-x); 程序的输出结果是_。(分数:2.50)A.1B.2 0C.1-4D.死循环12.若有下列定义,则_是对 a 数组元素地址的正确引用。 int a5, *p=a;(分数:2.50)A.p+5B.*a+1C.,则变量 a_。(分数:2.50)A.包含 1 个字符B.包含 2 个字符C.包含 3 个字符D.定义不合法14.定义下列结构体(联合)数组: struct St char name15; int age; a10=“ZHAO“, 14, “WANG“, 15, “L
5、IU“, 16, “ZHANG“, 17; 执行语句 printf(“%d, %c“, a2.age, *(a3.name+2)的输出结果为_。(分数:2.50)A.15,AB.16,HC.16,AD.17,H15.若已定义: int a43=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, (*prt)3=a, *p=a0; 则能够正确表示数组元素 a12的表达式是_。(分数:2.50)A.*(*prt+1)2)B.*(*(p+5)C.(*prt+1)+2D.*(*(a+1)+2)16.下列程序的输出结果是_。 char *point(char *pt); mai
6、n() char b4=“a“, “c“, “s“, “f“, *pt=b; pt=point(pt); printf(“%c/n“, *pt); point(char*p) p+=3; return p; (分数:2.50)AsBcCfDa17.下列选项中不会引起二义性的宏定义是_。(分数:2.50)A.#define S(x) x*xB.#define S(x) (x)*(x)C.#define S(x). (x*x)D.#define S(x) (x)*(x)18.交换两个变量的值,不允许用临时变量,应该使用下列_位运算符。(分数:2.50)A.C.a=58, b=58D.-1;20.有
7、下列程序: #includestdio.h main() int a=6, b=7, m=1; switch(a%2) case 0: m+; break; case 1: m+; switch(b%2) default: m+; case 0: m+; break; printf(“%d/n“, m); 程序的运行结果是_。(分数:2.50)A.3B.2C.4D.121.有以下程序: #includestrintg.h main() char p20=“a“, “b“, “c“, “d“, q=“abc“, r=“abcde“; strcpy(p+strlen(q), r); strcat(
8、p, q); printf(“%d%d/n“, sizeof(p), strlen(p); 程序运行后的输出结果是_。(分数:2.50)A.20 9B.9 9C.20 11D.11 1122.若变量 a、b、x、i 都已正确定义并赋值,则以下符合 C 语言语法的表达式是_。(分数:2.50)A.a+=a-=(b=4)*(a=3)B.x%(-3);C.a=a*3=2D.y=float(i)23.设有定义:“int a; float b;”,执行“scanf(“%2d%f“, ”语句时,若从键盘输入876543.0回车,a 和 b 的值分别是_。(分数:2.50)A.876 和 543.00000
9、0B.87 和 6.000000C.87 和 543.000000D.76 和 543.00000024.若有定义:int c45, (*cp)5;和语句 cp=c;,则能正确引用 c 数组元素的是_。(分数:2.50)A.cp+1B.*(cp+3)C.*(cp+1)+3D.*(*cp+2)25.有以下程序: main() int k=5; while(-k)printf(“%d“, k-=3)j; printf(“/n“); 执行后的输出结果是_。(分数:2.50)A.1B.2C.4D.死循环26.当执行以下程序段时,_。 x=-1; dox=x*x; while(!x);(分数:2.50)
10、A.循环体将执行一次B.循环体将执行两次C.循环体将执行无限次D.系统将提示有语法错误27.若有定义:“int *p, x=0, *p, p=”,则语句“printf(“%d/n“, *p);”的输出结果是_。(分数:2.50)A.随机值B.0C.x 的地址D.p 的地址28.执行语句“for(i=1; i+4; );”后,变量 i 的值是_。(分数:2.50)A.3B.4C.5D.不定29.下列程序的运行结果是_。 main() int x=1, y=3, a=0; while(x+!=(y-=1) a+=1; if(yx) break; printf(“%d, %d, %d/n“, x,
11、y, a); (分数:2.50)A.2,3,2B.2,3,1C.1,3,3D.3,1,230.若有以下程序: #includestdio.h void sub(double x, double *y, double *z) *Y=*y-1.0; *z=*z+x; main() (double a=2.5, b=9.0, *pa, *pb; pa= pb= sub(b-a, pa, pa); printf(“%f/n“, a); 程序的输出结果是_。(分数:2.50)A.9.000000B.1.500000C.8.000000D.10.50000031.有以下程序: #includestdio.
12、h main() int x=4, y; do y=x; if(! y)printf(“x“); else printf(“y“); x-; while(x); 程序的输出结果是_。(分数:2.50)A.xyyxB.yyyyC.yyxxD.yxyx32.有以下程序: #includestdio.h main() int i=0, a=0; while(i20) for(;) if(i%10)=0) break; else i-; i+=11; a+=i; printf(“%d/n“, a); 程序的输出结果是_。(分数:2.50)A.62B.63C.33D.3233.下面程序的运行结果是_。
13、#includestdio.h void del(char*s) int i, j; char*a; a=s; for(i=0, j=0; ai!=“/0“; i+) if(ai=“0“ j+; sj=“/0“; main() char*s=“aa89gggh“; del(s); printf(“/n%s“, s); (分数:2.50)A.1B.2C.3D.434.当输入为“hello?“时,下面程序的执行结果是_。 #includestdio.h main() char c; c=getchar(); while(c!=“?“) putchar(c); break; (分数:2.50)A.R
14、vfsuBhC.?D.hello35.有以下程序,其中函数 f 的功能是将多个字符串按字典顺序排序_。 #includestring.h void f(char *p, int n) char*t; int i, j; for(i=0; in-1; i+) for(j=i+1; jn; j+) if(strcmp(pi, pj0)t=pi; pi=pj; pj=t; main() char *p5=“abc“, “aabdfg“, “abbd“, “dcdbe“, “cd“; f(p, 5); printf(“%d/n“, strlen(p1); 程序运行后的输出结果是_。(分数:2.50)A
15、.2B.3C.6D.436.在下列语句中,其含义为“q 是一个函数指针,该指针指向整型数据”的定义语句是_。(分数:2.50)A.int*q;B.int(*q)();C.int*q;D.int*q();37.若有以下程序段: int c1=1, c2=2, c3; c3=c1/c2; printf(“%d/n“, c3); 执行后的输出结果是_。(分数:2.50)A.0B.1/2C.0.5D.138.下述程序用来输出两个字符串前 7 个字符中对应相等的字符及其位置号,则程序横线处应该填写的是_。 #includestdio.h main() char s1=“chinese“, s2=“jap
16、anese“; int i; for(i=0; s1i!=“/0“ i+) if(s1i=s2i (分数:2.50)A.putchar(s2i); putchar(i)B.puts(s1i, i)C.printf(“%c%d/n“, s2i, i)D.printf(“%c“, s1i); printf(“%d/n“, i)39.若有以下程序: int a=1, b=2; a=ab; b=ba; 则执行以上语句后 a 和 b 的值分别是_。(分数:2.50)A.a=1,b=2B.a=3,b=1C.a=3,b=2D.a=2,b=140.利用 fseek()函数可实现的操作是_。(分数:2.50)A
17、.实现文件的顺序读写B.改变文件的位置指针C.实现文件的随机渎写D.以上答案均正确二级 C 语言-278 (1)答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:100.00)1.设计软件结构是软件生命周期的_。(分数:2.50)A.软件定义期B.软件开发期 C.软件维护期D.以上 3 个都不是解析:解析 本题是对软件设计结构的考查。设计软件结构是软件概要设计阶段进行的,而概要设计属于软件开发期。2.下列关于栈的描述中错误的是_。(分数:2.50)A.栈是先进先出的线性表B.栈只能顺序存储 C.栈具有记忆作用D.对栈的插入删除操作中,不需要改变栈底指针解析:解
18、析 栈是线性表的一种,它的特点是先进后出,并且只能在表的一端进行插入和删除操作的线性表,入栈和出栈都在栈顶进行,因此具有记忆作用。栈可以采用顺序存储,也可以采用链式存储。3.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为_。(分数:2.50)A.125B.n/2Cn D.n+1解析:解析 对长度为 n 的线性表进行顺序查找时,从表中的第一个元素开始,给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找完成。在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素中的所有元素进行比较,因此比较次数为 n。4.以下选项中不合法的用户标识符是_。(分
19、数:2.50)A.abc.c B.fileC.MainD.PRINTF解析:解析 C 语言规定标识符只能由字母、数字、下划线组成,并且只能由字母或下划线开头。A 中包含点符号,因此 A 选项不合法。5.下列叙述中错误的是_。(分数:2.50)A.一种数据的逻辑结构可以有多种存储结构B.数据的存储结构与数据的处理效率无关 C.数据的存储结构与数据的处理效率密切相关D.数据的存储结构在计算机中所占的空间不一定是连续的解析:解析 数据的存储结构分顺序存储结构和链式存储结构,一个数据的逻辑结构可以有多种存储结构。顺序结构中数据元素所占的存储空间是连续的,而链式存储结构中,数据元素通过指针就联系在一起了
20、,所以所占的存储空间不一定是连续的。6.下列工具中为需求分析常用工具的是_。(分数:2.50)A.PADB.BFDC.N-SD.DFD 解析:解析 需求分析常用的工具有 4 种:数据流图(DFD)、数据字典(DD)、判断树和判定表。PAD(问题分析图)、PFD(程序流程图)、N-S(盒式图)都是详细设计的常用工具,不是需求分析的工具。7.下列叙述中不正确的是_。(分数:2.50)A.在 C 语言中调用函数时,只能把实参的值传送给彤参,形参的值不能传送给实参B.在 C 的函数中,最好使用全局变量 C.外部变量可以在函数之间传递数据D.自动变量实质上是一个函数内部的局部变量解析:解析 在程序运行中
21、局部变量所在的函数被调用时,编译系统根据需要临时分配内存,调用结束空间解放;全局变量一经定义,编译系统为其分配固定的内存单元,在程序运行的自始至终都占用固定的单元。在考虑内存未知的情况下,最好不要使用全局变量。8.下列选项不符合良好程序设计风格的是_。(分数:2.50)A.源程序要文档化B.数据说明的次序要规范化C.避免滥用 goto 语句D.模块设计原则是高耦合、高内聚 解析:解析 在程序设计中,对于软件设计中的模块设计要保证高内聚和低耦合,源程序要有文档说明,同时对程序中数据的说明要规范化。而 goto 语句破坏程序的结构,要尽量避免使用。所以选项 D 不正确。9.设有如下关系表: R A
22、 B C 1 1 2 2 2 3 S A B C 3 1 3 T A B C 1 1 2 2 2 3 3 1 3 则下列操作中正确的是_。(分数:2.50)A.T=RSB.T=RS C.T=RSD.T=R/S解析:解析 关系代数中的集合运算分 4 种:并、差、交和笛卡尔。并();差(-),R 和 S 的差是由属于 R 但不属于 S 的元组构成的集合;交():由既属于 R 又属于 S 的元组构成的集合;笛卡尔积():对两个关系 R 和 S 进行合并操作,产生的关系中元组个数为两个关系中元组个数之积。根据关系 T中的元组可知,T 关系是关系 R 和关系 S 进行合并操作所得到的。10.下列叙述中错
23、误的是_。(分数:2.50)A.列表框和组合框都有 List 属性B.列表框有 Selected 属性,而组合框没有 C.列表框和组合框都有 Style 属性D.组合框有 Text 属性,而列表框没有解析:解析 组合框和列表框都没有 Selected 属性。11.有下列程序: main() int x=5; do printf(“%d“, x-=4); while(!(-x); 程序的输出结果是_。(分数:2.50)A.1B.2 0C.1-4 D.死循环解析:解析 本题考查 do-while 循环。先执行 do 的内容,也就是 printf 语句,x=x-4=1,输出 1,判断 while 循
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 2781 答案 解析 DOC
