【计算机类职业资格】二级C语言笔试78及答案解析.doc

上传人:postpastor181 文档编号:1326408 上传时间:2019-10-17 格式:DOC 页数:17 大小:85KB
下载 相关 举报
【计算机类职业资格】二级C语言笔试78及答案解析.doc_第1页
第1页 / 共17页
【计算机类职业资格】二级C语言笔试78及答案解析.doc_第2页
第2页 / 共17页
【计算机类职业资格】二级C语言笔试78及答案解析.doc_第3页
第3页 / 共17页
【计算机类职业资格】二级C语言笔试78及答案解析.doc_第4页
第4页 / 共17页
【计算机类职业资格】二级C语言笔试78及答案解析.doc_第5页
第5页 / 共17页
点击查看更多>>
资源描述

1、二级 C 语言笔试 78 及答案解析(总分:78.00,做题时间:90 分钟)一、B选择题/B(总题数:50,分数:50.00)1.有以下程序 main() int x=10,y10;printf(“%d%d/n“,x-,-y); 程序运行后的输出结果是 ( )(分数:1.00)A.10 10B.9 9C.9 10D.10 92.有如下定义: struct person char name9;int age; struct person class10 “John“,17, “Paul“,19, “Mary“,18, “Adam“,16; 能输出字母 M 的是 ( )(分数:1.00)A.pr

2、intf(“%c/n“,class3.nam;B.printf(“%c/n“,class3.name1);C.printf(“%c/n“,class2.name1);D.printf(“%c/n“,class2.name0);3.sizeof(double)是 ( )(分数:1.00)A.一种函数调用B.一个双精度型表达式C.一个整型表达式D.一个不合法的表达式4.以下叙述中错误的是 ( )(分数:1.00)A.在 C 程序中,APH 和 aph 是两个不同的变量B.C 程序中的变量,代表内存中的一个存储单元,它的值可以根据需要随时修改C.在 C 程序中,无论是整数还是实数,都能准确无误地表示

3、D.在 C 程序中,一个正整数可以用十进制、八进制和十六进制的形式来表示5.在计算机中,算法是指 ( )(分数:1.00)A.加工方法B.解题方案的准确而完整的描述C.排序方法D.查询方法6.有以下程序 并 includestdioh #includestringh fun(char * w,int n) char t,*s1,*s2; s1=w; s2w+n-1; while(s1s2) t*s1+; * s1*s2-; * s2=t; main() char p“1234567“; fun(p,strlen(p); puts(p); 程序运行后的输出结果是 ( )(分数:1.00)A.12

4、34567B.7654321C.1711717D.71771717.下面各被调用函数首部书写正确的是 ( )(分数:1.00)A.void sub(float x;float ;B.void sub(float x,C.void sub(float x,floatD.void sub(float x,float ;8.以下程序的输出结果是 ( ) void fun(float *p1,float *p2,float *s) s(float *)calloc(1,sizeof(float); *s*p1+*p2+; main() float s21.1,2.2,b210.0,20.0,*s=a;

5、 fun(a,b,s); printf(“%5.2f/n“,* s); (分数:1.00)A.11.10B.12.00C.21.10D.1.109.“年龄在 1825 之间”这种约束是属于数据库当中的 ( )(分数:1.00)A.原子性措施B.一致性措施C.完整性措施D.安全性措施10.对下述程序,正确的判断是 ( ) main() int a,b, seanf(“%d,%d“, gets(s;B.char sp5 gets(s;C.char *sp=“12345“; gets(s;D.charsp5“/0“ gets(s19.若有如下程序: sub(int n) int t; if(n=1)

6、 return t=5; else t=sub(n-1)+3; return t; main() printf(“%d/n“,sub(5); 则程序运行后的输出结果是 ( )(分数:1.00)A.17B.18C.19D.2020.下面叙述正确的是 ( )(分数:1.00)A.define 和 auto 都不能定义为用户标识符B.可以把 define 和 auto 定义为用户标识符C.可以把 define 定义为用户标识符,但 auto 是 C 语言的关键字D.可以把 auto 定义为用户标识符,但 define 是 C 语言的关键字21.为了合理组织数据,应遵循的设计原则是 ( )(分数:1.

7、00)A.“一事一地”的原则,即一个表描述一个实体或实体之间的一种联系B.用外部关键字保证有关联的表之间的联系C.表中的字段必须是原始数据和基本数据元素,并避免在表之间出现重复字段D.以上各原则都包括22.以下选项中的表达式调用库函数依次求-4.5 的绝对值、-4.0 的平方根值、30角的正弦值和 2 的 3 次方值。正确的调用是 ( )(分数:1.00)A.abs(-4.5)B.sqrt(-4.0)C.sin(3.14166.0)D.paw(2.0,3.0)23.设有定义:int a,*p case 1:printf(“1111“); case 2:printf(“3333“); print

8、f(“%f“,A) ; (分数:1.00)A.1.900000B.111133331.900000C.33331.900000D.00001111233331.90000031.C 语言程序的基本单位是 ( )(分数:1.00)A.函数B.过程C.字符D.语句32.设有如下程序: #include “stringh“ main() static char s120,s220; scanf(“%s“,s1);scanf(“%s“,s2); if(strcmp(s1,s2) printf(“); else printf(“$“); printf(“%d/n“,strlen(strcat(s1,s2

9、); 如果从键盘上输入 name回车name1回车,则程序运行后的输出结果是 ( )(分数:1.00)A.$8B.10C.$9D.933.有以下程序 #includestdioh main() int *p,j; pNULL pfun(); for(j0;j4;j+)printf(“%d“,*p);p+; int*fun() int a4,k; for(k=0;k4;k+)akk; return(A) ; 程序运行后的输出结果是 ( )(分数:1.00)A.程序有错不能运行B.输出 4 个 NULLC.输出 0 1 2 3D.输出 1 1 1 134.若有如下程序: #include“stdi

10、oh“ void main() FILE *fp; fpfopen(“test“,“wb“) fprintf(fp,“%d%.1f,%c%c“,5,238.41,B,h); fclose(fp); 则程序运行后向文件输出的结果是 ( )(分数:1.00)A.5 238.41 B hB.5238.4,BhC.5,238.4,B,hD.5238.41Bh35.下述语句中,_中的 if 语句语法是错误的。 ( )(分数:1.00)A.if(x;B.if(xx+y;C.if(x!seanf(“%d“,正确的说明语句形式为U 【8】 /U。(分数:2.00)填空项 1:_59.下面程序是计算 100 以

11、内能被 4 整除且个位数为 4 的所有整数,请填空。 main() int m,n; for(m0;U 【9】 /U;m+) nm*10+4; If(U 【10】 /U)continue; printf(“%d/n“,n); (分数:2.00)填空项 1:_60.以下程序从终端输入一行字符放在 s 数组中,输入以回车符作为结束,函数 fun 统计存放在 s 数组中每个数字字符的个数。形参 ch 指向 s 数组,形参 n 给出了 s 数组中字符的个数。在 acc 数组中用下标为0 的元素统计字符“0”的个数,下标为 1 的元素统计字符“1”的个数,。请填空。 #include stdioh vo

12、id fun(int *,char*,int); main() char s80,c; int acc10,i0; printf(“Enter characters:/n“); while(cgetchar()!/n)sU 【11】 /Uc; fun(U 【12】 /U); for(i=0;i10;i+)printf(“%c:%d/n“,0+i,acci); printf(“/n/n“); void fun(int *a,char *ch,int n) int i,d; for(i=0;i10;i+)ai=U 【13】 /U; for(i=0;in;i+) dU 【14】 /U; ad+; (

13、分数:2.00)填空项 1:_61.下面程序的输出结果是U 【15】 /U。 #define MAX 3 int aMAX; main() fun1();un2(A) ;printf(“/n“); funl() int k,t0; for(k0;kMAX;k+,t+)akt+t; fun2(int b) int k; for(k0;kMAX;k+)printf(“%d“,*(b+k); (分数:2.00)填空项 1:_62.以下函数把 b 字符串连接到 a 字符串的后面,并返回 a 中新字符串的长度。请填空。 strcen(char a,char b) int num0,n0; while(*

14、(a+num)!=U 【16】 /U)num+; while(bn)*(a+num)bn;num+;U 【17】 /U; return(num); (分数:2.00)填空项 1:_63.执行以下程序时,若输入 end回车,则输出结果是U 【18】 /U。 main() char ch10“Begin“; gets( gets(s; B.char sp5 gets(s;C.char *sp=“12345“; gets(s;D.charsp5“/0“ gets(s解析:19.若有如下程序: sub(int n) int t; if(n=1) return t=5; else t=sub(n-1)+

15、3; return t; main() printf(“%d/n“,sub(5); 则程序运行后的输出结果是 ( )(分数:1.00)A.17 B.18C.19D.20解析:20.下面叙述正确的是 ( )(分数:1.00)A.define 和 auto 都不能定义为用户标识符B.可以把 define 和 auto 定义为用户标识符C.可以把 define 定义为用户标识符,但 auto 是 C 语言的关键字 D.可以把 auto 定义为用户标识符,但 define 是 C 语言的关键字解析:21.为了合理组织数据,应遵循的设计原则是 ( )(分数:1.00)A.“一事一地”的原则,即一个表描述

16、一个实体或实体之间的一种联系B.用外部关键字保证有关联的表之间的联系C.表中的字段必须是原始数据和基本数据元素,并避免在表之间出现重复字段D.以上各原则都包括 解析:22.以下选项中的表达式调用库函数依次求-4.5 的绝对值、-4.0 的平方根值、30角的正弦值和 2 的 3 次方值。正确的调用是 ( )(分数:1.00)A.abs(-4.5)B.sqrt(-4.0)C.sin(3.14166.0) D.paw(2.0,3.0)解析:23.设有定义:int a,*p case 1:printf(“1111“); case 2:printf(“3333“); printf(“%f“,A) ; (

17、分数:1.00)A.1.900000B.111133331.900000 C.33331.900000D.00001111233331.900000解析:31.C 语言程序的基本单位是 ( )(分数:1.00)A.函数 B.过程C.字符D.语句解析:32.设有如下程序: #include “stringh“ main() static char s120,s220; scanf(“%s“,s1);scanf(“%s“,s2); if(strcmp(s1,s2) printf(“); else printf(“$“); printf(“%d/n“,strlen(strcat(s1,s2); 如果

18、从键盘上输入 name回车name1回车,则程序运行后的输出结果是 ( )(分数:1.00)A.$8B.10C.$9D.9 解析:33.有以下程序 #includestdioh main() int *p,j; pNULL pfun(); for(j0;j4;j+)printf(“%d“,*p);p+; int*fun() int a4,k; for(k=0;k4;k+)akk; return(A) ; 程序运行后的输出结果是 ( )(分数:1.00)A.程序有错不能运行 B.输出 4 个 NULLC.输出 0 1 2 3D.输出 1 1 1 1解析:34.若有如下程序: #include“s

19、tdioh“ void main() FILE *fp; fpfopen(“test“,“wb“) fprintf(fp,“%d%.1f,%c%c“,5,238.41,B,h); fclose(fp); 则程序运行后向文件输出的结果是 ( )(分数:1.00)A.5 238.41 B hB.5238.4,Bh C.5,238.4,B,hD.5238.41Bh解析:35.下述语句中,_中的 if 语句语法是错误的。 ( )(分数:1.00)A.if(x;B.if(xx+y;C.if(x!seanf(“%d“,正确的说明语句形式为U 【8】 /U。(分数:2.00)填空项 1:_ (正确答案:ty

20、pedef int ArrInt410;)解析:59.下面程序是计算 100 以内能被 4 整除且个位数为 4 的所有整数,请填空。 main() int m,n; for(m0;U 【9】 /U;m+) nm*10+4; If(U 【10】 /U)continue; printf(“%d/n“,n); (分数:2.00)填空项 1:_ (正确答案:9m10)解析:10n%4!060.以下程序从终端输入一行字符放在 s 数组中,输入以回车符作为结束,函数 fun 统计存放在 s 数组中每个数字字符的个数。形参 ch 指向 s 数组,形参 n 给出了 s 数组中字符的个数。在 acc 数组中用下

21、标为0 的元素统计字符“0”的个数,下标为 1 的元素统计字符“1”的个数,。请填空。 #include stdioh void fun(int *,char*,int); main() char s80,c; int acc10,i0; printf(“Enter characters:/n“); while(cgetchar()!/n)sU 【11】 /Uc; fun(U 【12】 /U); for(i=0;i10;i+)printf(“%c:%d/n“,0+i,acci); printf(“/n/n“); void fun(int *a,char *ch,int n) int i,d;

22、for(i=0;i10;i+)ai=U 【13】 /U; for(i=0;in;i+) dU 【14】 /U; ad+; (分数:2.00)填空项 1:_ (正确答案:11i+)解析:12acc,s,i 130 14chi-061.下面程序的输出结果是U 【15】 /U。 #define MAX 3 int aMAX; main() fun1();un2(A) ;printf(“/n“); funl() int k,t0; for(k0;kMAX;k+,t+)akt+t; fun2(int b) int k; for(k0;kMAX;k+)printf(“%d“,*(b+k); (分数:2.0

23、0)填空项 1:_ (正确答案:024)解析:62.以下函数把 b 字符串连接到 a 字符串的后面,并返回 a 中新字符串的长度。请填空。 strcen(char a,char b) int num0,n0; while(*(a+num)!=U 【16】 /U)num+; while(bn)*(a+num)bn;num+;U 【17】 /U; return(num); (分数:2.00)填空项 1:_ (正确答案:160或 0 或 NULL)解析:17n+或+n 或 nn+1 或 n+163.执行以下程序时,若输入 end回车,则输出结果是U 【18】 /U。 main() char ch10“Begin“; gets(&ch1); puts(ch); (分数:2.00)填空项 1:_ (正确答案:Bend)解析:64.下面函数用来求两个单精度数之和,并通过形参将结果传回,请填空。 Void sub(float x,noat y,U 【19】 /Uz) U 【20】 /Ux+y;(分数:2.00)填空项 1:_ (正确答案:19float)解析:20* z

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1