【计算机类职业资格】二级C语言-7-1及答案解析.doc
《【计算机类职业资格】二级C语言-7-1及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-7-1及答案解析.doc(22页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-7-1 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是_。(分数:1.00)A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关2.栈和队列的共同点是_。(分数:1.00)A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点3.下列关于队列的叙述中正确的是_。(分数:1.00)A.在队列中只能插入数据B.在队列中只能删除数据C.队列是先进先出的线性
2、表D.队列是先进后出的线性表4.下面概念中,不属于面向对象方法的是_。(分数:1.00)A.对象B.继承C类D.过程调用5.软件是指_。(分数:1.00)A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整集合6.信息隐蔽的概念与下述哪一种概念直接相关_。(分数:1.00)A.软件结构定义B.模块独立性C.模块类型划分D.模块耦合度7.下列选项中,不属于模块间耦合的是_。(分数:1.00)A.数据耦合B.标记耦合C.异构耦合D.公共耦合8.对于现实世界中事物的特征,在实体联系模型中使用_。(分数:1.00)A.属性描述B.关键字描述C.二维表格描述D.实体描述9.下列数据模型
3、中,具有坚实理论基础的是_。(分数:1.00)A.层次模型B.网状模型C.关系模型D.以上三个都是10.关系表中的每一横行称为一个_。(分数:1.00)A.元组B.字段C.属性D码11.下列叙述中错误的是_。(分数:1.00)A.一个 C 语言程序只能实现一种算法B.C 程序可以由多个程序文件组成C.C 程序可以由一个或多个函数组成D.一个 C 函数可以单独作为一个 C 程序文件存在12.C 语言源程序名的后缀是_。(分数:1.00)ACBexeCobjDcp13.以下选项中不能用作 C 程序合法常量的是_。(分数:1.00)A.1,234B.“/123“C.123D.“/x7D“14.表达式
4、 a+=a-=a=9 的值是_。(分数:1.00)A.0B.-9C.18D.915.若有定义语句: int x=12,y=8,z; 在其后执行语句 z=0.9+x/y; 则 z 的值为_。(分数:1.00)A.1B.1.9C.2D.2.416.阅读以下程序 #include stdio.h main() int case; float printF; printf(“请输入 2 个数:“); scanf(“%d%f“, printf(“%d%f/n“,case,printF); 该程序在编译时产生错误,其出错原因是_。(分数:1.00)A.定义语句出错,case 是关键字,不能用作用户自定义标
5、识符B.定义语句出错,pfintF 不能用作用户自定义标识符C.定义语句无错,scanf 不能作为输入函数使用D.定义语句无错,printf 不能输出 case 的值17.有以下程序 #include stdio.h main() char c1,c2,c3,c4,c5,c6; scanf(“%c%c%c%c“, c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf(“%c%c/n“,c5,c6); 程序运行后,若从键盘输入(从第 1 列开始) 123回车 45678回车 则输出结果是_。(分数:1.00)A.1245B.12
6、56C.1278D.126718.以下选项中,当 x 为大于 1 的奇数时,值为 0 的表达式是_。(分数:1.00)A.x%2=0B.x/2C.x%2!=0D.x%2=119.以下选项中与 if(a=1) a=b; else a+; 语句功能不同的 switch 语句是_。(分数:1.00)A.switch(a=1)case 0:a=b;break;case 1:a+;B.switch(a)case 1:a=b;break;default:a+;C.switch(a)defauh:a+;break;case 1:a=b;D.switch(a=1)case 1:a=b;break;case 0
7、:a+;20.若变量已正确定义,有以下程序段 i=0; do printf(“%d,“,i); while(i+); printf(“%d/n“,i); 其输出结果是_。(分数:1.00)A.0,1B.0,0C.1,1D.程序进入无限循环21.有以下程序 #include stdio.h main() int a=1,b=2,c=3,d=0; if (a=1 else printf(“%d,%d,%d/n“,a,b,c); else printf(“%d,%d,%d/n“,a,b,c); 程序运行后的输出结果是_。(分数:1.00)A.1,3,3B.1,3,2C.1,2,3D.3,2,122.
8、有以下程序段 int i,n; for(i=0;i8;i+) n=rand()%5; switch(n) case 1: case 3: printf(“%d/n“,n);break; case 2: case 4: printf(“%d/n“,n); continue; case 0: exit(0); printf(“%d/n“,n); 以下关于程序段执行情况的叙述,正确的是_。(分数:1.00)A.当产生的随机数 n 为 0 时结束程序运行B.当产生的随机数 n 为 4 时结束循环操作C.当产生的随机数 n 为 1 和 2 时不做任何操作D.for 循环语句固定执行 8 次23.以下叙述
9、中错误的是_。(分数:1.00)A.用户定义的函数中可以有多个 return 语句,以便可以调用一次返回多个函数值B.用户定义的函数中可以没有 return 语句C.用户定义的函数中若没有 return 语句,则应当定义函数为 void 类型D.函数的 return 语句中可以没有表达式24.有以下程序 #include stdio.h void fun(char *c,int d) *c=*c+1; d=d+1; printf(“%c,%c,“,*c,d); main() char b=“a“,a=“A“; fun( printf(“%c,%c/n“,b,a); 程序运行后的输出结果是_。(
10、分数:1.00)A.b,B,b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B25.下列选项中,能正确定义数组的语句是_。(分数:1.00)A.#define N 2008int numN;B.int num;C.int N=2008;int numN;D.int num02008;26.以下函数实现按每行 8 个输出 w 所指数组中的数据 #include stdio.h void fun(int *w,int n) int i; for(i=0;in;i+) _ printf(“%d“,wi); printf(“/n“); 在横线处应填入的语句是_。(分数:1.00)A.if(i
11、%8=0) printf(“/n“);B.if(i/8=0) continue;C.if(i/8=0) printf(“/n“);D.if(i%8=0) continue;27.有以下程序 #include stdio.h void fun(char *c) while(*c) if(*c=“a“ c+; main() char s81; gets(s); fun(s); puts(s); 当执行程序时从键盘上输入 Hello Beijing回车,则程序的输出结果是_。(分数:1.00)A.HELLO BEIJINGB.Hello BeijingC.hello beijingD.hELLO B
12、eijing28.有以下程序 #inclnde stdio.h main() int a44=1,4,3,2, 8,6,5,7, 3,7,2,5, 4,8,6,1; int i,j,k,t; for(i=0;i4;i+) for(j=0;j3;j+) for(k=j+1;k4;k+) if(ajiaki) t=aji; aji=aki; aki=t; /*按列排序*/ for(i=0;i4;i+) printf(“%d,“,aii); 程序运行后的输出结果是_。(分数:1.00)A.1,6,5,7,B.8,7,3,1,C.4,7,5,2,D.1,6,2,1,29.若要求从键盘读入含有空格字符的
13、字符串,应使用函数_。(分数:1.00)A.gets()B.getc()C.getchar()D.scanf()30.设有如下程序段 #include stdio.h char s20=“Beijing“,*p; p=s; 则执行“p=s;”语句后,以下叙述正确的是_。(分数:1.00)A.可以用*p 表示 s0B.s 数组中元素的个数和 p 所指字符串长度相等C.s 和 p 都是指针变量D.数组 s 中的内容和指针变量 p 中的内容相同31.有以下程序 #include stdio.h main() char s=“abcde“; s+=2; printf(“%d/n“,s0); 执行后的结
14、果是_。(分数:1.00)A.程序出错B.输出字符 c 的 ASCII 码C.输出字符 cD.输出字符 a 的 ASCII 码32.有以下程序 #include stdio.h #include string.h void fun(char *s,int n) char *t; int i,j; for(j=0;in-1;i+) for(j=i+1;jn;j+) if(strlen(si)strlen(sj) t=si;si=sj;sj=t; main() char *ss=“bcc“,“bbcc“,“xy“,“aaaacc“,“aabcc“; fun(ss,5); printf(“%s,%s
15、/n“,ss0,ss4); 程序的运行结果是_。(分数:1.00)A.xy,aaaaccB.aaaacc,xyC.bcc,aabccD.aabcc,bcc33.有以下程序 #include stdio.h int a=4; int f(int n) int t=0; static int a=5; if(n%2) int a=6; t+=a+; else int a=7; t+=a+; return t+a+; main() int s=a,i=0; for(;i2;i+) s+=f(i); printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:1.00)A.28B.24C.3
16、2D.3634.有以下程序 #include stdio.h int f(int n) int t=0, a=5; if(n/2) int a=6; t+=a+; else int a=7; t+=a+; return t+a+; main() int s=0,i=0; for(;i2;i+) s+=f(i); printf(“%d/n“,s); 程序运行后的输出结果是_。(分数:1.00)A.24B.28C.32D.3635.有以下定义和语句 struct workers int num;char name20;char c; struct int day;int month;int yea
17、r; s; ; struct workers w,*pw; pw= 能给 w 中 year 成员赋值为 1980 的语句是_。(分数:1.00)A.s.year=1980;B.year=1980;C.pw-year=1980;D.*pw.year=1980;36.以下叙述中错误的是_。(分数:1.00)A.可以通过 typedef 增加新的类型B.可以用 typedef 将已存在的类型用一个新的名字来代表C.用 typedef 定义新的类型名后,原有类型名仍有效D.用 typedef 可以为各种类型起别名,但不能为变量起别名37.有以下程序 #include stdio.h struct tt
18、 int x;struct tt *y; *p; struct tt a4=20,a+1,15,a+2,30,a+3,17,a; main() int i; p=a; for(i=1;i=2;i+) printf(“%d,“,p-x); p=p-y; 程序的运行结果是_。(分数:1.00)A.20,15,B.30,17,C.15,30,D.20,30,38.有以下程序 #include stdio.h main() struct STU char name9;char sex;double score2; struct STU a=“Zhao“,“m“,85.0,90.0,b=“Qian“,“
19、f“,95.0,92.0; b=a; printf(“%s,%c,%2.0f,%2.0f/n“,b.name,b.sex,b.score0,b.score1); 程序的运行结果是_。(分数:1.00)A.Zhao,m,85,90B.Qian,m,85,90C.Zhao,f,95,92D.Qian,f,95,9239.以下叙述中错误的是_。(分数:1.00)A.C 程序对预处理命令行的处理是在程序执行的过程中进行的B.预处理命令行的最后不能以分号表示结束C.#define MAX 是合法的宏定义命令行D.在程序中凡是以“#”开始的语句行都是预处理命令行40.有以下程序 #include stdi
20、o.h main() FILE *f; f=fopen(“filea.txt“,“w“); fprintf(f,“abc“); fclose(f); 若文本文件“filea.txt”中原有内容为“hello”,则运行以上程序后,文件“filea.txt”中的内容为_。(分数:1.00)A.abcB.abcloC.helloabcD.abchello二、程序填空题(总题数:1,分数:20.00)41.给定程序中,函数 fun 的功能是计算下式 直到 (分数:20.00)三、程序改错题(总题数:1,分数:20.00)42.给定程序 MODI1.C 中函数 fun 的功能是:将 s 所指字符串的正序
21、和反序进行连接,形成一个新串放在t 所指的数组中。 例如,当 s 所指字符串为:“ABCD”时,则 t 所指字符串中的内容应为:“ABCDDCBA”。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构! 给定源程序: #include stdio.h #include string.h /*found*/ void fun(char s,char t) int i,d; d=strlen(s); for(i=0;id;i+) ti=si; for(i=0;id;i+) td+i=sd-1-i; /*found*/ t2*d-1=“
22、/0“; main() char s100,t100; printf(“/nPlease enter string s:“); scanf(“%s“,s); fun(s,t); printf(“/nThe result is:%s/n“,t); (分数:20.00)_四、程序设计题(总题数:1,分数:20.00)43.函数 fun 的功能是:将 s 所指字符串中除了下标为奇数、同时 ASCII 值也为奇数的字符之外,其余的所有字符都删除,串中剩余字符所形成的一个新串放在 t 所指的数组中。 例如,若 s 所指字符串中的内容为“ABCDE FG12345”,其中字符 A 的 ASCII 码值虽为
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 71 答案 解析 DOC
