【计算机类职业资格】二级C语言-74及答案解析.doc
《【计算机类职业资格】二级C语言-74及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-74及答案解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-74 及答案解析(总分:78.00,做题时间:90 分钟)一、选择题(总题数:35,分数:44.00)1.有以下程序: #includestdio.h int f(int n); main() int a=3,s; s=f(a);s=s+f(a); printf(“%d/n“,s); int f(int n) static int a=1; n+=a+; return n; 程序运行后的输出结果是_。(分数:1.00)A.9B.8C.7D.102.程序中头文件 type1.h 的内容是 #define N 5 #define M1 N*3 程序如下: #define “type
2、1.h“ #define M2 N*2 main () int i; i=M1+M2; printf(“%d/n“, i); ) 程序编译后运行的输出结果是( )。(分数:1.00)A.10B.20C.25D.303.以下程序的输出结果是 int f() static int i=0; int s=1; s+=i; i+; return s; main ( ) int i,a=0; for (i=0;i5; i+) a+=f(); printf ( “%d/n“ ,a); (分数:1.00)A.20B.24C.25D.154.数据库系统的核心是( )。(分数:1.00)A.数据库B.数据库管理
3、系统C.模拟模型D.软件工程5.数据结构作为计算机的一门学科,主要研究数据的逻辑结构、对各种数据结构进行的运算以及 _ 。(分数:1.00)A.数据的存储结构B.计算方法C.数据映象D.逻辑存储6.以下程序的输出结果是 _ 。 #finclude “stdlib.h“ fun(int*p,int a33) *p=a22; main() int a33=2,4,6,8,10,12,14,16,18,*p; p=(int*)mallocsizeof(int); fun( printf(“%d,%d,%d/n“,*p,*q,*r); 程序运行后输出结果是_。(分数:1.00)A.7,8,8B.7,8
4、,7C.8,7,7D.8,7,88.若有以下程序: #include stdio.h int a=1,3,5,7; main() int i; int *p=a; for(i=0;i4;i+)ai=*p; printf(“%d/n“,a2); 上面程序的输出结果是(分数:1.00)A.5B.7C.1D.39.设有变量说明 int(*p)m,其中的标识符 p 是 _ 。(分数:1.00)A.m 个指向整型变量的指针B.指向 m 个整型变量的指针C.一个指向具有 m 个整型元素的一维数组的指针D.具有 m 个指针元素的一维指针数组,每个元素都指向整型变量10.请选出以下程序的输出结果 _。 #in
5、clude stdio.h sub(x, y, z) int x, y,*z; *z=y-x: main() int a, b, c; sub 10,5,sub(7,a,sub(a, b, printf(“%d,% d,/%d/n“, a, b, c); (分数:2.00)A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,-2,-711.有以下程序: #includestdio.h #define f(x)x*x*x main() int a =3,s,t; s=f(a+1); t=f(a+1); printf(“%d,%d/n“,s,t); 程序运行后的输出结果是_。(分数
6、:1.00)A.10,64B.10,10C.64,10D.64,6412.以下程序的功能是:按顺序读入 10 名学生 4 门课程的成绩,计算出每位学生的平均分并输出,程序如下: main() int n,k; float score,sum,ave; sum=0.0; for(n=1;n10;n+) for(k=1;k4;k+) scanf(“%f”, while( ch=getchar()!=“/n“) n+;B.n=0; while( getchar()! =“/n“) n+;C.for( n=0; getehar()!=“/n“; n+);D.n=0; for( ch=getchar()
7、; ch!=“/n“; n+);16.下列叙述中正确的是_。(分数:2.00)A.程序的执行效率与数据的存储结构密切相关B.程序的执行效率只取决于程序的控制结构C.程序的执行效率只取决于所处理的数据量D.以上三种说法都不对17.请读程序: #includestdio.h main() int a;float b,c; scanf(“%2d%3f%4f“, 若运行时从键盘上输入 9876543210 (分数:1.00)A.a=98,b=765,c=4321B.a=10,b=432,c=8765C.a=98,b=765.000000,c=4321.000000D.a=98,b=765.0,c=43
8、21.018.下列程序执行后的输出结果是 _ 。 main() char x=0xFFFF;printf(“%d/n“,x-);(分数:1.00)A.-32767B.FFFEC.-1D.-3276819.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从职员到部门的联系类型是_。(分数:1.00)A.多对多B.一对一C.多对一D.一对多20.若运行以下程序时,从键盘输入 ADescriptorCR(CR表示回车),则下面程序的运行结果是 #include stdio.h main() char c; int v0=1,v1=0,v2=0; do switch(c=
9、getchar() case “a“:case “A“: case “e“:case “E“: case “i“:case “I“: case “o“:case “O“: case “u“:case “U“:v1+=1: default:v0+=1;v2+=1;while(c!=“/n“); printf(“v0=%d,v1=%d,v2=%d/n“,v0,v1,v2);(分数:1.00)A.v0=7,v1=4,v2=7B.v0=8,v1=4,v2=8C.v0=11,v1=4,v2=11D.v0=13,v1=4,v2=1221.下列程序中函数 sort()的功能是对数组 a 中的数据进行由大到小
10、的排序。 #include stdioh void sort(int a,int n) int i,j,t; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(aiaj) t=ai;ai=aj;aj=t; main() int a10=1,2;3,4,5,6,7,8,9,10,i; sort(continue; i+; s+=i; while(i7);. printf(“%d/n“,s); 执行后输出的结果是( )。(分数:1.00)A.16B.12C.28D.2123.以下选项中非法的 C 语言字符常量是_。(分数:1.00)A.“/09“B.“9“C.“/x09“D
11、.“/x9d“24.对于循环队列,下列叙述中正确的是(分数:2.00)A.队头指针是固定不变的B.队头指针一定大干队尾指针C.队头指针一定小于队尾指针D.队头指针可以大干队尾指针,也可以小于队尾指针25.有如下程序段: int a=14, b=15, x; char c=“A“; x=(a 执行该程序段后,x 的值为(分数:1.00)A.trueB.falseC.0D.126.函数 fseek(pf,OL,SEEK_END)中的 SEEK_END 代表的起始点是(分数:1.00)A.文件开始B.文件末尾C.文件当前位置D.以上都不对27.有以下函数定义: void fun(int n,doub
12、le x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun 正确调用语句是_。(分数:1.00)A.fun(int y,double m);B.k=fun(10,12.5);C.fun(x,n);D.void fun(n,x);28.请阅读以下程序: #includestdio.h main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0:a+;break; case 2: a+,b+;break; printf(“a=%d,b=%d/n“,a,b); 上面程序的输出结果是(分数:1.00)A.a=2,b=1B.a=1
13、,b=1C.a=1,b=0D.a=2,b=229.下面判断正确的是(分数:2.00)A.char*a=“china“;等价于 char*a;*a=“china“;B.char str5=“china“;等价于 char str=“china“;C.char *s=“china“;等价于 char *s;s=“china“;D.char c4=“abc“,d4=“abc“;等价于 char c4=d4=“abc“;30.有以下程序: main() int m,n,P; scanf(“m=%dn=%dp=%d“,m,n,p); printf(“%d%d%d/n“,m,n,p); 若想从键盘上输入数
14、据,使变量 m 中的值为 123,n 中的值为 456,p 中的值为 789,则王确的输入是_。(分数:2.00)A.m=123n=456p=789B.m=123 n=456 p=789C.m=123,n=456,P=789D.123 456 78931.以下叙述中正确的是(分数:1.00)A.C 程序中注释部分可以出现在程序中任意合适的地方B.花括号“”和“”只能作为函数体的定界符C.构成 C 程序的基本单位是函数,所有函数名都可以由用户命名D.分号是 C 语句之间的分隔符,不是语句的一部分32.设有以下程序段 int X=0,s=0; while(!X!=0)S+=+X; printf(“
15、%d“,s); 则(分数:2.00)A.运行程序段后输出 0B.运行程序段后输出 1C.程序段中的控制表达式是非法的D.程序段执行无限次33.下列程序执行输出的结果是 _ 。 #includestdio.h f(int a) int b=0; static c=3; a=C+;b+; return(a); main() int a=2,i,k; for(i=0;i2;i+) k=f(a+); printf(“%d/n“,k); (分数:2.00)A.3B.4C.5D.634.以下叙述中错误的是( )。(分数:1.00)A.对于 double 类型数组,不可以直接用数组名对数组进行整体输入或输出
16、B.数组名代表的是数组所占存储区的首地址,其值不可改变C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D.可以通过赋初值的方式确定数组元素的个数35.在下列字符序列中,不可用做 C 语言标识符的是 ( )(分数:1.00)A.student_numB.classC.#88D.month_12二、填空题(总题数:15,分数:34.00)36.对于一棵具有 n 个结点的树,则该树中所有结点的度之和为 _ 1_ 。 (分数:4.00)37.在进行软件结构设计时,应遵循的最主要原理是 _ 1_ 。 (分数:4.00)38.若有以下定义,则不移动指针 p,且通过指
17、针 p 引用值为 98 的数组元素的表达式是 _ 1_ 。 int w10=23,54,10,33,47,98,72,80,61, *p=w; (分数:1.00)39.有以下程序 main() int n=0,m+1,X=2; if(!n) X-=l; if(m) X-=2; if(X) X-=3; printf(“%d/n“,x); 执行后输出的结果是 _ 1_ 。 (分数:1.00)40.用复合的赋值运算符将变量 x 中的值增大 2 的赋值表达式是 _ 1_ 。 (分数:1.00)41.函数 my_cmp()的功能是比较字符串 s 和 t 的大小,当 s 等于 t 时返回 0,否则返回 s
18、 和 t 的第一个不同字符的 ASCII 码差值,即 st 时返回正值,当 st 时返回负值。请填空。 my_cmp(char *s,char*t) while(*s=*t) if(*s=“/0“)return 0; +s; +t; return 1; (分数:2.00)42.下列程序运行后的输出结果是 1。 #includestdio.h main() char s20; scanf(“%s“,s); printf(“%s“,s); 运行程序,输入 HOW ARE YOU。 (分数:2.00)43.下列程序运行后的输出的结果是 1。 #includestdio.h main() char s
19、20; scanf(“%s“,s); printf(“%s“,s); 运行程序,输入 HOW ARE YOU。 (分数:2.00)44.下面程序的功能是:计算 110 之间奇数和及偶数之和。 #include stdio.h main ( ) int a, b, c, i; a=c=O; for (i=O; i=10;i+=2) a+=i; _ 1_ ; c+=b; printf(“偶数之和=%d/n“,a); printf(“奇数之和=%d/n“,c-11); (分数:5.00)45.有以下程序: #includestdio.h main() int m,n; scanf(“%d%d“,p+
20、; q-k=i+;q-; q-k=i; for(i=0;i5;i+)printf(“%d“,mi.k); printf(“/n“); (分数:2.00)47.对软件是否能达到用户所期望的要求的测试称为 _ 1_ 。 (分数:1.00)48.在面向对象方法中, 1 描述的是具有相似属性与操作的一组对象。 (分数:2.00)49.以下函数用来在 w 数组中插入 x。n 所指向的存储单元中存放 w 数组中字符个数。数组 w 中的字符已按从小到大的顺序排列,插入后数组 w 中的字符仍有序。请填空。 void fun(char*w,char x,int*n) int i, p; p=0; w*n=x;
21、while(xwp)p+; for(i=*n;ip;i-)wi= _ 1_ ; wp=x; + *n; (分数:1.00)50.若有下列定义和语句: char*s1=“12345“,*s2=“1234“; printf(“%d/n“,strlen(strcpy(s1,s2); 则输出结果为 1。 (分数:2.00)二级 C 语言-74 答案解析(总分:78.00,做题时间:90 分钟)一、选择题(总题数:35,分数:44.00)1.有以下程序: #includestdio.h int f(int n); main() int a=3,s; s=f(a);s=s+f(a); printf(“%d
22、/n“,s); int f(int n) static int a=1; n+=a+; return n; 程序运行后的输出结果是_。(分数:1.00)A.9 B.8C.7D.10解析:解析 题目中静态局部变量 a,在静态存储区内分配存储单元,在程序整个运行期间都不释放。所以第一次调用函数执行 n+=a+;时 a 先与 n 相加在再进行自增。n 的值为 4,a 的值为 2,且 a 变量执行完后空间没有释放。再执行 s=s+f(a)时,s 的值为 4,调用 f(a)函数时 n 的返回值为 n=3+2=5,且此时a 的值为 3 了。所以 s 的值为 9。2.程序中头文件 type1.h 的内容是
23、#define N 5 #define M1 N*3 程序如下: #define “type1.h“ #define M2 N*2 main () int i; i=M1+M2; printf(“%d/n“, i); ) 程序编译后运行的输出结果是( )。(分数:1.00)A.10B.20C.25 D.30解析:解析 编译预处理时,用“type1.h”中的内容替代命令#include“type1.h”。表达式“i=M1+M2” 经过宏替换为“i=5*3+5*2”即 i=25,所以最后输出的 i 的值为 25。所以 4 个选项中 C 正确。3.以下程序的输出结果是 int f() static
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 74 答案 解析 DOC
