【计算机类职业资格】二级C语言笔试-400及答案解析.doc
《【计算机类职业资格】二级C语言笔试-400及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-400及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-400 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.算法是指A) 计算机程序 B) 解决问题的计算方法C) 排序算法 D) 解决问题的有限运算序列(分数:1.00)A.B.C.D.2.下列叙述中正确的是A) 循环链表是非线性结构 B) 双向链表是非线性结构C) 只有一个根结点的数据结构不一定是线性结构D) 有一个以上根结点的数据结构不一定是非线性结构(分数:1.00)A.B.C.D.3.下列对于线性链表的描述中正确的是A) 存储空间不一定连续,且各元素的存储顺序是任意的B) 存储空间不一定连续,且前件元素一定存储在后
2、件元素的前面C) 存储空间必须连续,且前件元素一定存储在后件元素的前面D) 存储空间必须连续,且各元素的存储顺序是任意的(分数:1.00)A.B.C.D.4.面向对象方法中,不属于对象基本特点的是A) 标识唯一性 B) 分类性 C) 封装性 D) 一致性(分数:1.00)A.B.C.D.5.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是A) 概要设计 B) 详细设计 C) 可行性分析 D) 需求分析(分数:1.00)A.B.C.D.6.数据流图中方框表示的是A) 数据流 B) 存储文件 C) 控制流 D) 源,潭(分数:1.00)A.B.C.D.7.下列对于软件测试
3、的描述中正确的是A) 软件测试的主要目的是发现程序中的错误B) 软件测试的目的是证明程序是否正确C) 软件测试的目的是使程序运行结果正确D) 软件测试是为了证明软件中没有错误(分数:1.00)A.B.C.D.8.数据库、数据库系统和数据库管理系统之间的关系是A) 数据库包括数据库系统和数据库管理系统B) 数据库系统包括数据库和数据库管理系统C) 数据库管理系统包括数据库和数据库系统D) 三者没有明显的包含关系(分数:1.00)A.B.C.D.9.设有图书(图书编号,书名,第一作者,出版社)、读者(借书证号,姓名,单位,职称)和借阅(借书证号,图书编号,借书日期,还书日期)三张表,则表借阅的关键
4、字(键或码)为A) 借书证号,图书编号 B) 图书编号,借书日期C) 借书日期,还书日期 D) 借书证号,借书日期(分数:1.00)A.B.C.D.10.有三个关系 R、S 和 T 如下:(分数:1.00)A.B.C.D.11.下列叙述中正确的是A) 每个 C 语言程序文件中都必须要有一个 main()函数B) 在 C 语言程序中 main()函数的位置是固定的C) C 语言程序中所有函数之间都可以相互调用,与函数所在位置无关D) 在 C 语言程序的函数中不能定义另一个函数(分数:1.00)A.B.C.D.12.以下合法的十六进制数是A) 0x B) 0x4de C) 0x1h D) oX77
5、(分数:1.00)A.B.C.D.13.已知大写字母 A 的 ASC码的值是 65,小写字母 a 的 ASC码的值是 97,以下不能将变量 c 中的大写字母转换为对应小写字母的语句是A) c=(c-A)%26+a B) c=c+32C) c=c-A+a D) c=(A+c)%26-a(分数:1.00)A.B.C.D.14.若变量已正确定义并赋值,以下符合 C 语言语法的表达式是A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b(分数:1.00)A.B.C.D.15.设变量 a 是 int 型,f 是 float 型,i 是 double 型,则表达式
6、 10+a+i*f 值的数据类型为A) int B) float C) double D) 不确定(分数:1.00)A.B.C.D.16.有以下程序:#include stdio.hmain()char c1=1,c2 =2;c1=getchar();c2=getchar();putchar(c1); putchar(c2);当运行时输入:a回车后,以下叙述正确的是A) 变量 c1 被赋予字符 a,c2 被赋予回车符B) 程序将等待用户输入第 2 个字符C) 变量 c1 被赋予字符 a,c2 中仍是原有字符 2D) 变量 c1 被赋予字符 a,c2 中将无确定值(分数:1.00)A.B.C.D
7、.17.下列程序的输出结果是#include “stdio.h“main()int i,a=0,b=0;for(i=1;i10;i+)if(i%2=0)a+;continue;b+;printf(“a=%d,b=%d“,a,b);A) a=4,b=4 B) a=4,b=5C) a=5,b=4 D) a=5,b=5(分数:1.00)A.B.C.D.18.设变量 a、b、c、d 和 y 都已正确定义并赋值。若有以下 if 语句:if(ab)if(c=d) y=0;else y=1;该语句所表示的含义是(分数:1.00)A.B.C.D.19.若 a 是数值类型,则逻辑表达式(a=1)|(a!=1)的
8、值是A) 0 B) 1 C) 2 D) 不知道 a 的值,不能确定(分数:1.00)A.B.C.D.20.有以下程序:#include stdio.hmain()int s;scanf(“%d“,case 2:printf(“%d“,s+4);break;case 3:printf(“%d“,s+3);default:printf(“%d“,s+1);break;scanf(“%d“,int *p=b=p5;则 b 的值是A) 15 B) 16 C) 18 D) 19(分数:1.00)A.B.C.D.22.以下程序的输出结果是Fun(int x,int y)return(x+y);main()
9、int a=1,b=2,c=3,sum;sum=Fun(a+,b+,a+b),c+);printf(“%d“,sum);A) 9 B) 8 C) 7 D) 6(分数:1.00)A.B.C.D.23.有以下程序:#include stdio.hmain()int i=5;doif(i%3=1)if(i%5=2)printf(“*%d“,i);break;i+;while(i! =0);printf(“/n“);程序的运行结果是A) *7 B) *3*5 C) *5 D) *2*6(分数:1.00)A.B.C.D.24.以下函数按每行 8 个输出数组中的数据:void fun(int*w,int
10、n)int i;for(i=0;in;i+)printf(“%d“,wi);printf(“/n“);下划线处应填入的语句是A) if(i/8=0)printf(“/n“); B) if(i/8=0) continue;C) if(i%8=0)printf(“/n“); D) if(i%8=0)continue;(分数:1.00)A.B.C.D.25.以下数组定义中错误的是A) int x3=0;B) int x23=1,2,3,4,5,6;C) int x3=1,2,3,4,5,6;D) int x23=1,2,3,4,5,6;(分数:1.00)A.B.C.D.26.有以下程序:#inclu
11、de string.hmain()char p=a,b,c,q10=a,b,c;printf(“%d%d/n“,strlen(p),strlen(q);以下叙述中正确的是A) 在给 p 和 q 数组置初值时,系统会自动添加字符串结束符,故输出的长度都为 3B) 由于 p 数组中没有字符串结束符,长度不能确定;但 q 数组中字符长度为 3C) 由于 q 数组中没有字符串结束符,长度不能确定;但 p 数组中字符长度为 3D) 由于 p 和 q 数组中没有字符串结束符,故长度都不能确定(分数:1.00)A.B.C.D.27.若有以下程序:#include stdio.hint a=1,3,5,7;m
12、ain()int i;int *p=a;for(i=0;i4;i+)ai=*p;printf(“%d/n“,a2);上面程序的输出结果是A) 5 B) 7 C) 1 D) 3(分数:1.00)A.B.C.D.28.若有定义语句:int m=5,4,3,2,1,i=4;,则下面对 m 数组元素的引用中错误的是A) m-i B) m2*2 C) mm0 D) mmi(分数:1.00)A.B.C.D.29.设有以下说明语句:typedef structint n;char ch8;PER;则下面叙述中正确的是A) PER 是结构体变量名 B) PER 是结构体类型名C) typedef struct
13、 是结构体类型 D) struct 是结构体类型名(分数:1.00)A.B.C.D.30.有以下程序:int fun(int n)if(n=1) return 1;elsereturn(n+fun(n-1);main()int x;scanf(“%d“,x=fun(x);printf(“%d/n“,x)执行程序时,给变量 x 输入 10,程序的输出结果是A) 54 B) 55 C) 65 D) 45(分数:1.00)A.B.C.D.31.以下程序的输出结果是#include stdio.hsub(int*s,int y)static int t=3;y=st;t-;main()int a=1,
14、2,3,4,i,x=0;for(i=0;i4;i+)sub(a,x);printf(“%d“,x);printf(“/n“);A) 1234 B) 4321 C) 0000 D) 4444(分数:1.00)A.B.C.D.32.有以下程序:#include stdio.h#define F(x,y) (x)*(y)main()int a=3,b=4;printf(“%d/n“,F(a+,b+);程序运行后的输出结果是A) 12 B) 15 C) 16 D) 20(分数:1.00)A.B.C.D.33.以下程序运行时,若从键盘输入 10 20 30回车,输出的结果是main()int i=0,j
15、=0,k=0;scanf(“%d%*d%d“,A) 10200 B) 102030 C) 10300 D) 10030(分数:1.00)A.B.C.D.34.有以下程序:#include stdio.hmain()char *a=“abcd“,“ef“,“gh“,“ijk“; int i;for(i=0;i4;i+) printf(“%c“,*ai);程序运行后的输出结果是A) aegi B) dfhk C) abcd D) abcdefghijk(分数:1.00)A.B.C.D.35.以下程序执行后的输出结果是fun(int x,int y)static int m=0,1=2;i+=m+1
16、;m=i+x+y;return m;main()int j=1,m=1,k;k= fun(j,m);printf(“%d,“,k);k= fun(j,m);printf(“%d/n“,k);A) 5,5 B) 5,11 C) 11,11 D) 11,5(分数:1.00)A.B.C.D.36.阅读下面程序,则执行后的结果是#include “stdio.h“main()char str=“tomeetme“,*p;for(p=str;pstr+7;p+=2) putchar(*p);printf(“/n“);A) tomeetme B) tmem C) oete D) tome(分数:1.00)
17、A.B.C.D.37.有以下程序:main()char ch=“uvwxyz“,*pc;pc=ch; printf(“%c/n“,*(pc+5);程序运行后的输出结果是A) z B) 0C) 元素 ch5的地址 D) 字符 y 的地址(分数:1.00)A.B.C.D.38.设有定义:struct complexint real,unreal;data1=1,8,data2;则以下赋值语句中错误的是A) data2=data1; B) data2=(2,6);C) data2.real=data1.real; D) data2.real=data1.unreal;(分数:1.00)A.B.C.D
18、.39.有以下程序:#include stdio.hmain()FILE *fp; int k,n,a6=1,2,3,4,5,6;fp=fopen(“d2.dat“,“w“);fprintf(fp,“%d%d%d/n“,a0,a1,a2);fprintf(fp,“%d%d%d/n“,a3,a4,a5);fclose(fp);fp=fopen(“d2,dat“,“r“);fscanf(fp,“%d%d“,printf(“%d%d/n“,k,n);close(f);程序运行后的输出结果是A) 12 B) 14 C) 1234 D) 123456(分数:1.00)A.B.C.D.40.变量 a 中的
19、数据用二进制表示的形式是 01011101,变量 b 中的数据用二进制表示的形式是 111100000若要求将 a 的高 4 位取反,低 4 位不变,所要执行的运算是A) ab B) a|b C) aprintf(“%c%c/n“,c1,c2);若程序运行时从键盘输入 48回车,则输出结果为_。(分数:4.00)填空项 1:_47.设变量已正确定义为整型,则表达式 n=i=2,+i,i+的值为 1。(分数:4.00)填空项 1:_48.以下程序运行后的输出结果是_。#include stdio.hmain()int x=10,y=20,t=0;if(x=y)t=x;x=y;y=t;printf
20、(“%d%d/n“,x,y);(分数:4.00)填空项 1:_49.以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。#include stdio.hmain()int a10,*p,*s;for(p=a;p-a10;p+)scanf(“%d“,p);for(p=a,s=a;p-a10;p+) if(*p*s)s=p;printf(“max=%d/n“,_);(分数:4.00)填空项 1:_50.以下程序运行后的输出结果是_。main()int a=3,b=2,c=1;if(c=a)printf(“%d/n“,c);elsepri
21、ntf(“%d/n“,b);(分数:4.00)填空项 1:_51.有以下程序:int f1(int x,int y) return xy?x:y;int f2(int x,int y) returnxy?y:x;main()int a=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d);g=a+b+c+d-e-f;printf(“%d,%d,%d/n“,e,f,g);程序运行后的输出结果是_。(分数:4.00)填空项 1:_52.以下程序运行后的输出结果是_。#include string.hmain()char ch=“
22、abc“,x34;int i;for(i=0;13;i+)strcpy(xi,ch);for(i=0;i3;i+) printf(“%s“,printf(“/n“);(分数:4.00)填空项 1:_53.以下程序的功能是:通过函数 func 输入字符并统计输入字符的个数,输入时用字符作为输入结束标志。请填空。#include stdio.hlong _;/*函数说明语句*/main()long a;a=func();printf(“n=%ld/n“,a);long func()long b;for(b=0;getchar()! =;b+;);retum b;(分数:4.00)填空项 1:_54
23、.下列程序的输出结果是_。main()int i;for(i=1;i+1;i+)if(i4)printf(“%d/n“,i);break;printf(“%d/n“,i+);(分数:4.00)填空项 1:_55.fseek 函数的正确调用形式是 1。(分数:4.00)填空项 1:_二级 C 语言笔试-400 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.算法是指A) 计算机程序 B) 解决问题的计算方法C) 排序算法 D) 解决问题的有限运算序列(分数:1.00)A.B.C.D. 解析:解析 算法是指对解决方案准确而完整的描述。2.下列叙述
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 400 答案 解析 DOC
