【计算机类职业资格】二级C语言笔试-407及答案解析.doc
《【计算机类职业资格】二级C语言笔试-407及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-407及答案解析.doc(35页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-407 及答案解析(总分:99.00,做题时间:90 分钟)一、选择题(总题数:40,分数:65.00)1.按照“先进后出”原则组织数据的结构是( )。A队列 B栈C双向链表 D二叉树(分数:1.00)A.B.C.D.2.下列叙述中正确的是_。A) 栈是“先进先出”的线性表B) 队列是“先进后出”的线性表C) 循环队列是非线性结构D) 有序线性表既可以采用顺序存储结构,也可以采用链式存储结构(分数:2.00)A.B.C.D.3.从工程管理角度,软件设计一般分为两步完成,它们是_。A) 概要设计与详细设计 B) 数据设计与接口设计C) 软件结构设计与数据设计 D) 过程设计与
2、数据设计(分数:2.00)A.B.C.D.4.下列叙述中正确的是_。A) 软件交付使用后还需要进行维护 B) 软件一旦交付使用就不需要再进行维护C) 软件交付使用后其生命周期就结束 D) 软件维护是指修复程序中被破坏的指令(分数:2.00)A.B.C.D.5.为了使模块尽可能独立,要求_。A) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(分数:2.00)A.B.C.D.6.下列叙述中正确的是( )。A数据的逻辑结
3、构与存储结构必定是一一对应的B由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C程序设计语言中的数组一般是顺序存储结构因此,利用数组只能处理线性结构D以上三种说法都不对(分数:1.00)A.B.C.D.7.在数据流图(DFD) 中,带有名字的箭头表示_。A) 控制程序的执行顺序 B) 模块之间的调用关系C) 数据的流向 D) 程序的组成成分(分数:2.00)A.B.C.D.8.以下程序的功能是:给 r 输入数据后计算半径为 r 的圆面积 s。程序在编译时出错。main()/* Beginning*/int r;float s;scanf(“%d“,s=*r*r*r;pr
4、intf(“s= %f/n“,s);出错的原因是 _。A) 注释语句书写位置错误 B) 存放圆半径的变量不应该定义为整型C) 输出语句中格式描述符非法 D) 计算圆面积的赋值语句中使用了非法变量(分数:2.00)A.B.C.D.9.为了提高软件模块的独立性,模块之间最好是( )。A) 控制耦合 B) 公共耦合 C) 内容耦合 D) 数据耦合(分数:2.00)A.B.C.D.10.有三个关系 R、S 和如下;(分数:2.00)A.B.C.D.11.以下叙述正确的是A) C 语言程序是由过程和函数组成的B) C 语言函数可以嵌套调用,例如:fun(fun(x)C) C 语言函数不可以单独编译D)
5、C 语言中除了 main 函数,其他函数不可作为单独文件形式存在(分数:1.00)A.B.C.D.12.下列程序的执行结果是( )#includestdio.hmain() int a,b,c;a=b=2;c=(a+) -1;printf(“%d,%d“,a,c);c+=-a+(+b);printf(“%d,%d“,a,c);A) 3,14,1 B) 3,14,2 C) 2,04,1 D) 2,14,1(分数:2.00)A.B.C.D.13.结构化程序有 3 种基本结构组成,3 种基本结构组成的算法_。A) 可以完成任何复杂的任务 B) 只能完成部分复杂的任务C) 只能完成符合结构化的任务 D
6、) 只能完成一些简单的任务(分数:1.00)A.B.C.D.14.以下选项中,合法的一组 C 语言数值常量是( )。A028.5e-3-0xfB12.0Xa234.5e0C.1774c1.50abcD0x8A10.0003.e5(分数:1.00)A.B.C.D.15.执行下列程序段后,变量 a,b,c 的值分别是( )。int x=5,y=4;int a,b,c;a=(-x=y+)?x:+y;b=+x;c=y;A) a=5,b=5,c=5 B) a=4,b=5,c=5C) a=5,b=6,c=5 D) a=1,b=5,c=6(分数:2.00)A.B.C.D.16.可以在 C 语言中用做用户标识
7、符的是_。A) voiddefine WORDB) as_b3_123IfC) for -abccasD) 2cDoSIG(分数:1.00)A.B.C.D.17.在嵌套使用 if 语句时,C 语言规定 else 总是_。A) 和之前与其具有相同缩进位置的 if 配对B) 和之前与其最近的 if 配对C) 和之前与其最近不带 else 的 if 配对D) 和之前的第一个 If 配对(分数:1.00)A.B.C.D.18.有下列程序:#includestdio.hmain()int a=6,b=7,m=1;switch(a%2)case0:m+;break;case 1=m+;switch(b%2
8、)defaut:m+;case0:m+;break;printf(“%d/n“,m);程序运行后的输出结果是( )。A) 1 B) 2 C) 3 D) 4(分数:2.00)A.B.C.D.19.运行下列程序时,若输入的数据为“1,2,3”,则输出结果是( )。main()float a,b,C,t;scanf(“%f,%f,%of“,if(aB) t=a;a=b;b=t;if(aC) t=a;a=c;c=t;if(bC) t=b;b=c;c=t;printf(“%f/n%f/n%f/n“,a,b,C) ;A) 1.002.003.00B) 1.003.002.00C) 132D) 3.0000
9、002.0000001.000000(分数:2.00)A.B.C.D.20.运行下列程序时,若输入的数据为“1,2,3”,则输出结果是( )。main()float a,b,c,t;scanf(“%f,%f,%f“,if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;)printf(“%f/n%f/n%f/n“,a,b,c);A) 1.00 B) 1.002.00 3.003.00 2.00C) 1 D) 3.0000003 2.0000002 1.000000(分数:1.00)A.B.C.D.21.以下程序的输出结果是_。#includ
10、estdio.hmain()int a=200;#define a 100printf(“%d“,a);#undef aprintf(“%d“,a);A) 200 100 B) 100 100 C) 100 200 D) 200 200(分数:2.00)A.B.C.D.22.有下列程序:#includestdio.hint f(int x,int y)return(y-x)*x);)main()int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf(“%d/n“,d);程序运行后的输出结果是( )。A10 B9 C8 D7(分数:1.00)A.B.C.D.23.C
11、 语言规定,函数返回值的类型是( )。 A) 由调用该函数时的主调函数类型所决定 B) 由 return 语句中的表达式类型所决定 C) 由调用该函数时系统临时决定 D) 由定义该函数时所指定的数值类型决定(分数:2.00)A.B.C.D.24.以下程序的输出结果是_。#includestdio.h#define FUDGE(y) 2.84+y#define PR(a) printf(“%d/n“,(int)(a)#define PRINT1(a) PR(a);putchar(/n)main()int x=2;PRINT1(FUDGE(5)*x);A) 11 B) 12 C) 13 D) 15
12、(分数:2.00)A.B.C.D.25.有以下程序int f(int n)if(n=1)return 1;else return f(n-1)+1;main()int i,j=0;for(i=1;i3;i+)j+=f(i);printf(“%d/n“,j);程序运行后的输出结果是A) 4 B) 3 C) 2 D) 1(分数:2.00)A.B.C.D.26.有下列程序:int fun1(double a)(return a*=a;)int fun2(double x,double y)double a=0,b=0;a=fun 1(x); b=fun 1(y);return(int)(a+b);m
13、ain()double w;w=fun2(1.1,2.0),程序执行后变量 w 中的值是( )。A5.21 B5 C5.0 D0.0(分数:1.00)A.B.C.D.27.下列叙述中正确的是A) 定义函数时,形参的类型说明可以放在函数体内B) return 后边的值不能为表达式C) 如果函数值的类型与返回值类型不一致,以函数值类型为准D) 如果形参与实参类型不一致,以实参类型为准(分数:2.00)A.B.C.D.28.下列叙述中错误的是( )。 A) 在 C 语言中,对二进制文件的访问速度比文本文件快 B) 在 C 语言中,随机文件以二进制代码形式存储数据 C) 语句 FILE fp;定义了一
14、个名为 fp 的文件指针 D) C 语言中的文本文件以 ASCII 码形式存储数据(分数:2.00)A.B.C.D.29.以下程序输出正确的是_。amovep(int *pint(*a) 3int n)int i,j;for(i=0;in;i+)for(j=0;jn;j+) *p=aij;p+;main()int *p,a33=1,3,5,2,4,6;p=(int*)malloc(100);amovep(p,a,3);printf(“%d%d/n“,p2p5;free(p);A) 56 B) 25 C) 34 D) 程序错误(分数:2.00)A.B.C.D.30.设有定义“char s8;in
15、t i=0;”,下列不能将一行(不超过 80 个字符)带有空格的字符串正确读入的语句或语句组是( )。Agets(s);Bwhile(si+=getchar()!=/n);si=/0;Cscanf(“%s“,s);Ddoscanf(“%c“, A) 1 2 3 4 B) 2 3 4 4 C) 4 3 3 2 D) 1 1 2 3(分数:2.00)A.B.C.D.32.设有如下的程序段: char str=“HelloWorld“; char*ptr; ptr=str; 执行上面的程序段后,*(ptr+10)的值为( )。 A) /0 B) 0 C) 不确定的值 D) 0的地址(分数:1.00)
16、A.B.C.D.33.设函数中有整型变量 n,为保证其在未赋值的情况下初值为 0,应选择的存储类别是A) auto B) register C) static D) auto 或 register(分数:2.00)A.B.C.D.34.有以下程序#includestdio.hint fun(char s)int n=0:while(*s=9double r2;float r3;union uuchar ul5long u22ua;mya;A) 30 B) 29 C) 24 D) 22(分数:2.00)A.B.C.D.36.下述程序的运行结果是( )。#includestdio.h#includ
17、estring.hmain()char*s1=“abDuj“; char*s2=“ABdUG“:int t;t=strcmp(s1,s2);printf(“%d“,t);A正数 B负数C零 D不确定的值(分数:1.00)A.B.C.D.37.有以下程序:#includestdio.h#includestring.hstruct Aint a;char b10;double c;void f(struct A t);main()struct A a=“1001“,“ZhangDa“,1098,0;f(a);printf(“%d,%s,%6.1f/n“,a.a,a.b,a.c);void f(st
18、ruct A t)(t.a=1002;strcpy(t.b,“ChangRong“);t.c=1202.0;)程序运行后的输出结果是( )。A1001,ZhangDa,1098.0 B1002,ChangRong,1202.0C1001,ChangRong,1098.0 D1002,ZhangDa,1202.0(分数:1.00)A.B.C.D.38.设有下列说明语句:strcut strint x;float y;char z;st;则下列的叙述中不正确的是( )。A) struct 是结构体类型的关键字B) st 是结构体类型名C) x、y、z 都是结构体成员名D) struct str 是
19、结构体类型名(分数:2.00)A.B.C.D.39.有以下程序:#includestdio.hmain()int a=1,b=2,c=3,x;x=(ab)c;printf(“%d/n“,x);程序的运行结果是_。A) 0 B) 1 C) 2 D) 3(分数:2.00)A.B.C.D.40.以下程序有错,错误原因是( )。main()int *p,i;char *q,ch;p=q=p=i9;i+)pi=i+1;printf(“%d/n“,a12);程序运行后的输出结果是U /U。(分数:2.00)填空项 1:_42.数据库设计分为以下 6 个设计阶段:需求分析阶段、_、逻辑设计阶段、物理设计阶段
20、、实施阶段、运行和维护阶段。(分数:2.00)填空项 1:_43.以下程序运行时,若从键盘输入:10 20 30 回车,输出的结果是U /U。#includestdio.hmain()int i=0,j=0,k=0;scanf(“% d%* d%d“, if(ab) t=a; a=b; b=t;if(ac) t=a; a=c; c=t;printf(“%d, %d, %d/n“, a, b, c);(分数:2.00)填空项 1:_46.有以下程序:#include stdio.hmain()int t=1,i=5;for(;i=0;i-) t*=i;printf(“%d/n“,t);执行后的输
21、出结果是U /U。(分数:2.00)填空项 1:_47.在对文件操作的过程中,若要求文件的位置指针回到文件的开始处,应当调用的函数是 1。(分数:2.00)填空项 1:_48.以下程序的功能是:输出 100 以内(不含 100)能被 3 整除且个位数为 6 的所有整数,请填空。main()( int i,j;for(i=0;i10;i+)j=i*10+6;if(_)continue;printf(“%d“,j);(分数:2.00)填空项 1:_49.下列程序段中循环体的执行次数是_。a=15;b=0dob+=2;a-=2+b;while(a=0);(分数:2.00)填空项 1:_50.函数 m
22、y_cmp()的功能是比较字符串 s 和 t 的大小,当 s 等于 t 时返回 0,否则返回 s 和 t 的第一个不同字符的 ASCII 码差值,即 st 时返回正值,当 st 时返回负值。请填空。my_cmp(char *s,char*t)while(*s=*t)if(*s=/0)return 0;+s; +t;return_;(分数:2.00)填空项 1:_51.以下程序的输出结果是_。void fun( )static int a=0; a+=2;printf(“%d“,a);main( )int cc; for(cc=1;cc4;cc+)fun( ); printf(“/n“);(分数
23、:2.00)填空项 1:_52.下列程序的运行结果是_。#includestdio.hlong func(int x)long p;if(x=Ox=1)return(1);p=x*func(x-1);return(p);main()printf(“%d/n“,func(4);(分数:2.00)填空项 1:_53.若有下列定义:int a=1,2,3,4,5,6,7,8,9,10,*p=a;,则值为 3 的表达式为: 1。(分数:2.00)填空项 1:_54.下面函数的功能是:找出一维数组元素中最大的值和它所在的下标,最大的值和它所在的下标通过形参传回。数组元素中的值已在主函数中赋予。主函数中
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 407 答案 解析 DOC
