【计算机类职业资格】二级C语言笔试-403及答案解析.doc
《【计算机类职业资格】二级C语言笔试-403及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-403及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C语言笔试-403 及答案解析(总分: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.在 E-R图中,用来表示实体集的图形是A) 矩形 B) 椭圆形 C) 菱形 D) 三角形(分数:1.00)A.B.C.D.6.结构化分析可以使用的工具是A) N-S图 B) DFD 图 C) PAD 图 D) 程序流程图(分数:1.00)A.B.C.D.7.下面不属于软件设计原则的是A) 抽象 B) 模块
3、化C) 自底向上 D) 信息隐蔽(分数:1.00)A.B.C.D.8.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中,数据独立性最高的阶段是A) 数据库系统 B) 文件系统 C) 人工管理 D) 数据项管理(分数:1.00)A.B.C.D.9.数据库设计包含四个阶段,它们是需求分析、_、逻辑设计和物理设计。A) 编码设计 B) 测试阶段 C) 运行阶段 D) 概念设计(分数:1.00)A.B.C.D.10.有两个关系 R,S 如下图,由关系 R通过运算得到关系 S,则所使用的运算是(分数:1.00)A.B.C.D.11.C语言规定,在一个源程序中,main
4、函数的位置A) 必须在最开始 B) 必须在系统调用的库函数的后面C) 可以任意 D) 必须在最后(分数:1.00)A.B.C.D.12.下列可用于 C语言用户标识符的一组是A) void, define, WORD B) a3_3, _123, CarC) For, -abc, IF Case D) 2a, DO, sizeof(分数:1.00)A.B.C.D.13.以下符合 C语言语法的实型常量是A) 8E -2 B) 3.14.159E C) E14 D) 2.2E0.5(分数:1.00)A.B.C.D.14.若函数中有定义语句:int a;,则A) 系统将自动给 a赋初值为 0 B) 系
5、统将自动给 a赋初值-1C) 这时 a中的值无意义 D) 这时 a中无任何值(分数:1.00)A.B.C.D.15.以下不能正确表示代数式 4cd/ab的 C语言表达式是A) 4*c*d/a/b B) c*d/a/b*4 C) c/a/b*d*4 D) 4*c*d/a*b(分数:1.00)A.B.C.D.16.下列关于单目运算符+,-的叙述中正确的是A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是 char型变量和 int型变量,但不能是 float型变量C) 它们的运算对象可以是 int型变量,但不能是 double型变量和 float型变量D) 它们的运算对象可以是 ch
6、ar型变量、int 型变量和 float型变量(分数:1.00)A.B.C.D.17.有以下程序:#include stdio.hmain()int c;while(c=getchar()!=/n)switch(c-2)case 0:case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);case 4:putchar(c+3);break;printf(/n);从第一列开始输入以下数据(CR代表一个回车符):2743CR程序的输出结果是A) 66877 B) 668966 C) 6677877 D) 6688766(分
7、数:1.00)A.B.C.D.18.有以下程序段:int j;float y;char name50;scanf(“%2d%f%s“,当执行上述程序段,从键盘上输入 55566 7777abc后,y 的值为A) 55566.0 B) 566.O C) 7777.O D) 566777.0(分数:1.00)A.B.C.D.19.程序段:int x=12;double y=3.141593;printf(“%d%08.6f“,x,y);的输出结果是A) 123.141593 B) 12 3.141593 C) 12, 3.141593 D) 123.1415930(分数:1.00)A.B.C.D.
8、20.以下叙述中不正确的是A) 在 C程序中,逗号运算符的优先级最低B) 在 C程序中,APH 和 aph是两个不同的变量C) 若 a和 b类型相同,在计算赋值表达式 a=b后,b 中的值将放入 a中,而 b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(分数:1.00)A.B.C.D.21.有如下程序段:int a=14, b=15, x;char c=A;x=(a执行该程序段后,x 的值为A) true B) false C) 0 D) 1(分数:1.00)A.B.C.D.22.有如下程序:main()float x=2.0, y;if(x0
9、.0)y=0.0;else if(x10.0)y=1.0/x;else y=1.0;printf(“%f/n“,y);该程序的输出结果是A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000(分数:1.00)A.B.C.D.23.有以下程序:main()char a7=“a0/0a0/0“;int i, j;i=sizeof(a);j=strlen(a);printf(“%d%d/n“, i, j);程序运行后的输出结果是A) 2 2 B) 7 6 C) 7 2 D) 6 2(分数:1.00)A.B.C.D.24.以下描述中正确的是A) 由于 do-wh
10、ile循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B) do-while循环由 do开始,用 while结束,在 while(表达式)后面不能写分号C) 在 do-while循环体中,是先执行一次循环,再进行判断D) do-while循环中,根据情况可以省略 while(分数:1.00)A.B.C.D.25.以下能正确定义一维数组的选项是A) int a5=0,1,2,3,4,5; B) char a=0, 1, 2, 3, 4, 5,/0;C) char a=A,B,C; D) int a5=“0123“;(分数:1.00)A.B.C.D.26.下面的程序段运行后,输出
11、结果是int i, j, x =0;static int a88;for(i=0;i3;i+)for(j=0;j3;j+)aij=2*i+j;for(i=0;i8;i+)x+=aij;printf(“%d“, x);A) 9 B) 不确定值 C) 0 D) 18(分数:1.00)A.B.C.D.27.若有定义:char *st=“how are you“;,下列程序段中正确的是A) char a11,*p; strcpy(p=a+1,B) char a11; strcpy(+a, st);C) char a11; strcpy(a, st);D) char a,*p; strcpy(p=(分数
12、:1.00)A.B.C.D.28.以下程序的输出结果是void f(int b)int i;for(i=2; i6; i+) bi*=2;main()int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, , i;f(a);for(i=0; i10; i+) printf(“%d,”, ai);A) 1,2,3,4,5,6,7,8,9,10, B) 1,2,3,4,10,12,14,16,9,10,C) 1,2,6,8,10,12,7,8,9,10, D) 1,2,6,8,10,12,14,16,9,10,(分数:1.00)A.B.C.D.29.若函数调用时的实参为变量时
13、,以下关于函数形参和实参的叙述中正确的是A) 函数的实参和其对应的形参共占同一存储单元B) 形参只是形式上的存在,不占用具体存储单元C) 同名的实参和形参占同一存储单元D) 函数的形参和实参分别占用不同的存储单元(分数:1.00)A.B.C.D.30.以下程序运行后的输出结果是#include stdio.hint f(int x);main()int n=1, m;m=f(f(f(n);printf(“%d/n“, m);int f(int x)return x*2;A) 1 B) 2 C) 4 D) 8(分数:1.00)A.B.C.D.31.若变量均已正确定义并赋值,以下属于合法的 C语言
14、赋值语句的是A) x=y=5; B) x=n%2.5; C)x+n=i; D) x=5=4+1;(分数:1.00)A.B.C.D.32.有以下程序:main()int a33,*p,i;p= i9; i+) pi=i+1;printf(“%d/n“, a1 2);程序运行后的输出结果是A) 3 B) 6 C) 9 D) 2(分数:1.00)A.B.C.D.33.有以下程序:#include stdio.h#include stdlib.hint fun(int n)int *p;p=(int*)malloc(sizeof(int);*p=n; return *p;main()int a;a=f
15、un(10); printf(“%d/n“,a+fun(10);程序的运行结果是A) O B) 10 C) 20 D) 出错(分数:1.00)A.B.C.D.34.设有以下定义和语句:char str25=“Program“,*p;p=str;则以下叙述中正确的是A) str数组长度和 p所指向的字符串长度相等B) *p与 str0的值相等C) str与 p的类型完全相同D) 数组 str中存放的内容和指针变量 p中存放的内容相同(分数:1.00)A.B.C.D.35.设有如下定义:struct skint n;float x; data, *p;若要使 p指向 data中的 n域,正确的赋值
16、语句是A) p= B) *p=data.n;C) p=(struct sk*) D) p=(struct sk*)data.n;(分数:1.00)A.B.C.D.36.以下程序的输出结果是#include stdio.hmain()char ch25=“6937“, “8254“, *p2;int i, j, s=0;for(i=0; i2; i+) pi=chi;for(i=0;i2;i+)for(j=0; pij/0; j+=2)s=10*s+pij-0;A) 69825 B) 63825 C) 6385 D) 693825(分数:1.00)A.B.C.D.37.有以下程序:#includ
17、e stdio.hmain()FILE *fp; int i, a6=1,2,3 ,4,5,6;fp=fopen(“d3.dat“,“w +b“);fwrite(a,sizeof(int), 6, fp);fseek(fp, sizeof(int)*3, SEEK_SET);/*该语句使读文件的位置指针从文件头向后移动 3个 int型数据*fread(a, sizeof(int), 3, fp); fclose(fp);for(i=0; i6; i+) printf(“%d,“, ai);程序运行后的输出结果是A) 4,5,6,4,5,6, B) 1,2,3,4,5,6,C) 4,5,6,1,
18、2,3, D) 6,5,4,3,2,1,(分数:1.00)A.B.C.D.38.若有定义语句:int a410,*p,*q4;且 0i4,则错误的赋值是A) p=a B) qi=ai C) p=ai D) p=程序运行后的输出结果是A) 4 3 B) 7 3 C) 7 0 D) 4 0(分数:1.00)A.B.C.D.二、填空题(总题数:14,分数:60.00)41.一个栈的初始状态为空。首先将元素 1、2、3、4、5 依次入栈,然后退栈一次,再将元素 A、B、C、D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为 1。(分数:4.00)填空项 1:_42.已知二
19、叉树后序遍历序列是 dabec,中序遍历序列是 debac,它的前序遍历序列是 1。(分数:4.00)填空项 1:_43.一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体“项目主管”与实体“项目”的联系属于 1 的联系。(分数:4.00)填空项 1:_44.软件测试可分为白盒测试和黑盒测试。逻辑覆盖测试属于 1 测试。(分数:4.00)填空项 1:_45.在最坏情况下,简单插入排序需要 1 次比较。(分数:4.00)填空项 1:_46.下面程序的功能是:计算 110 之间的奇数之和与偶数之和。请填空。#include stdio.hmain()int a,b,c,i;a=c=0;f
20、or(i=0;1=10;i+=2)a+=i;_;c+=b;printf(“偶数之和=%d/n“,a);printf(“奇数之和=%d/n“,c-11);(分数:4.00)填空项 1:_47.以下程序的输出结果是_。fun (int x,int y,int z)z=x*x+y*y;main()int a=31;fun(6,3,a)printf(“%d”,a)(分数:4.00)填空项 1:_48.以下程序运行后的输出结果是_。fun (int a)int b=0;static int c=3;b+;c+;return(a+b+c);main()int i,a=5;for(i=0;i3;i+)pri
21、ntf(“%d%d“, i, fun(a);printf(“/n“);(分数:4.00)填空项 1:_以下函数用来求出数组的最大元素在数组中的下标并存放在 k所指的存储单元中。请填空。#include conio.h#include stdio.hint fun(int *s, int t, int *k)int i;*k=0;_if(s*ksi) *k=i;return _;main()int a10=876,675,896,101,301,401,980,431,451,777,k;fun(a,10,(分数:8.00)填空项 1:_填空项 1:_49.以下定义的结构体类型拟包含两个成员,其
22、中成员变量 info用来存入整型数据;成员变量 link是指向自身结构体的指针,请将定义补充完整。struct nodeint info;_ link; ;(分数:4.00)填空项 1:_50.若变量 a,b 已定义为 int类型并分别赋值 21和 55,要求用 printf函数以 a=21,b=55 的形式输出,请写出完整的输出语句 1。(分数:4.00)填空项 1:_51.以下程序的输出结果是_。main()char c=z;printf(“%c“,c-25);(分数:4.00)填空项 1:_52.有以下程序#define f(x) x*xmain()int i;i=f(6+6)/f(2+
23、2);printf(“%d/n“,i);执行后的输出结果是_。(分数:4.00)填空项 1:_53.设有定义:FILE *fw;,请将以下打开文件的语句补充完整,以便可以向文本文件“readme.txt”的最后续写内容。fw=fopen(“readme.txt“, _);(分数:4.00)填空项 1:_二级 C语言笔试-403 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:40.00)1.下列数据结构中,属于非线性结构的是A) 带链队列 B) 循环队列 C) 带链栈 D) 二叉树(分数:1.00)A.B.C.D. 解析:解析 根据数据结构中各数据元素之间前
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 403 答案 解析 DOC
