【计算机类职业资格】二级C语言笔试-409及答案解析.doc
《【计算机类职业资格】二级C语言笔试-409及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-409及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-409 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:68.00)1.程序流程图中带有箭头的线段表示的是A) 图元关系 B) 数据流 C) 控制流 D) 调用关系(分数:2.00)A.B.C.D.2.算法的空间复杂度是指( )A) 算法程序的长度 B) 算法程序中的指令条数C) 算法程序所占的存储空间 D) 算法执行过程中所需要的存储空间(分数:2.00)A.B.C.D.3.按照“先进后出”原则组织数据的数据结构是( )。A) 队列 B) 栈 C) 双向链表 D) 二叉树(分数:2.00)A.B.C.D.4.面向对象的设计方法与传统的
2、面向过程的方法有本质不同,它的基本原理是( )。A) 模拟现实世界中不同事物之间的联系B) 强调模拟现实世界中的算法而不强调概念C) 使用现实世界的概念抽象地思考问题,从而自然地解决问题D) 鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考(分数:1.00)A.B.C.D.5.在一个 C 程序中_。A) 用户标识符中可以出现下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头(分数:2.00)A.B.C.D.6.下列选项中不属于结构化
3、程序设计原则的是( )。A可封装 B自顶向下C模块化 D逐步求精(分数:1.00)A.B.C.D.7.数据库技术的根本目标是要解决数据的( )A) 存储问题 B) 共享问题 C) 安全问题 D) 保护问题(分数:2.00)A.B.C.D.8.下列叙述中错误的是A) 软件测试的目的是发现错误并改正错误B) 对被调试的程序进行“错误定位”是程序调试的必要步骤C) 程序调试通常也称为 DebugD) 软件测试应严格执行测试计划,排除测试的随意性(分数:2.00)A.B.C.D.9.设有如下三个关系表:(分数:2.00)A.B.C.D.10.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。A
4、一对一 B一对多C多对一 D多对多(分数:1.00)A.B.C.D.11.下列叙述中错误的是A) 在数据库系统中,数据的物理结构必须与逻辑结构一致B) 数据库技术的根本目标是要解决数据的共享问题C) 数据库设计是指在已有数据库管理系统的基础上建立数据库D) 数据库系统需要操作系统的支持(分数:2.00)A.B.C.D.12.视图设计一般有 3 种设计次序,下列不属于视图设计的是_。A) 自顶向下 B) 由外向内 C) 由内向外 D) 自底向上(分数:2.00)A.B.C.D.13.在一个 C 语言程序中,main( )函数A) 必须出现在所有函数之前 B) 可以在任何地方出现C) 必须出现在所
5、有函数之后 D) 必须出现在固定位置(分数:1.00)A.B.C.D.14.以下关于结构化程序设计的叙述中正确的是( )。 A) 一个结构化程序必须同时由顺序、分支、循环三种结构组成 B) 结构化程序使用 goto 语句会很便捷 C) 在 C 语言中,程序的模块化是利用函数实现的 D) 由三种基本结构构成的程序只能解决小规模的问题(分数:1.00)A.B.C.D.15.以下叙述中错误的是_。A) C 语言的可执行程序是由一系列机器指令构成的B) 用 C 语言编写的源程序不能直接在计算机上运行C) 通过编译得到的二进制目标程序需要连接才可以运行D) 在没有安装 C 语言集成开发环境的机器上不能运
6、行 C 源程序生成的.exe 文件(分数:1.00)A.B.C.D.16.下列程序的输出结果是( )。main()int a=1,b=2;printf(“%d,%d/n“,-a,+B) ;A) 1,2 B) 1,3 C) 0,2 D) 0,3(分数:2.00)A.B.C.D.17.已知 i、j、k 为 iht 型变量,若从键盘输入:1,2,3回车,使 i 的值为 1、j 的值为 2、k 的值为3,以下选项中正确的输入语句是 _。A) scanf(“%d %d %d“,int b;B=(34 else return(n+fun(n-1);main()int x;scanf(“%d“,x); x=
7、fun(x);printf(“%d/n“,x);执行程序时,给变量 X 输入 10,程序的输出结果是_。(A) 55(B) 54(C) 65(D) 45(分数:2.00)A.B.C.D.23.有以下程序main()int i=0,s=0;for(;)if(i=3 | i=5)continue;if(i=6)break;i+;s+=i;printf(“%d/n“,s);程序运行后的输出结果是_。A) 10 B) 13 C) 21 D) 程序进入死循环(分数:1.00)A.B.C.D.24.有以下程序fun(int x,int y)return(x+y);main()int a=1,b=2,c=3
8、,sum;sum=fun(a+,b+,a+b),c+);printf(“%d“,sum);执行后的输出结果是_。(A) 6(B) 7(C) 8(D) 9(分数:2.00)A.B.C.D.25.在嵌套使用 if 语句时,C 语言规定 else 总是( )。A) 和之前与其具有相同缩进位置的 if 配对B) 和之前与其最近的 if 配对C) 和之前与其最近的且不带 else 的 if 配对D) 和之前的第一个 if 配对(分数:2.00)A.B.C.D.26.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是( )。A) 函数调用可以作为独立的语句存在 B) 函数调用可以作为一个函数的实
9、参C) 函数调用可以出现在表达式中 D) 函数调用可以作为一个函数的形参(分数:1.00)A.B.C.D.27.设有定义:int A,*pA=,以下 scanf 语句中能正确为变量 A 读入的数据是 _。A) scanf (“%d“,pA) ; B) scanf (“%d“,A) ;C) scanf (“%d“, D) scanf (“%d“,*pA) ;(分数:2.00)A.B.C.D.28.有以下程序:struct STUchar name10; int num; float TotalScore; ;void f(struct STU *p)struct STU s2=“SunDan“,
10、 20044, 550, “Penghua“, 20045, 537, *q=s;+p; +q; *p=*q;main()struct STU s3=“YangSan“, 20041, 703, “LiSiGuo“, 20042, 580;f(s);printf(“ % s % d % 3.0f/n“, s1. name, s1. num, s1. TotalScore);程序运行后的输出结果是_。A) SunDan 20044 580 B) Penghua 20045 537C) LiSiGUO 20042 580 D) SunDan 20041 703(分数:2.00)A.B.C.D.29
11、.下面程序的输出是_。mare()int x=3 y=6,a=0;while(x+!=(y=1)a+=1;if(yx)break;printf(“x=%d,y=%d,a=%d/n“,x,y,a);A) x=4,y=4,a=1 B) x=5,y=5,a=1C) x=5,y=4,a=3 D) x=5,y=4,a=1(分数:2.00)A.B.C.D.30.有以下程序: #includestdio.h #define N 8 void fun(int*x,int i) *x=*(x+i)+1; main() int aN=1,2,3,4,5,6,7,8,i; fun(a,2); for(i=0;iN/
12、2;i+) printf(“%d“,ai); printf(“/n“); 程序运行后的输出结果是( )。 A) 1 3 1 3 B) 3 2 3 4 C) 4 2 3 4 D) 1 2 3 4(分数:2.00)A.B.C.D.31.在以下程序中,判断 ij 共执行的次数是main( )int i=0, j=10,k=2,s=0;for(;)i+=k:if(ij)printf(“%d“,s);break;s+=i:A) 4 B) 7 C) 5 D) 6(分数:2.00)A.B.C.D.32.设中为指向某二进制文件的指针,且已读到此文件末尾,则函数 feof(fp)的返回值为 ( )。A) EOF
13、 B) 非 0 值 C) 0 D) NULL(分数:2.00)A.B.C.D.33.有以下程序#include stdio.hintf(int x)int y;if(x=0|x=1) return(3);y=x*x-f(x-2);return y;main()int z;z=f(3); printf(“%d/n“,z);程序的运行结果是A) 0 B) 9 C) 6 D) 8(分数:2.00)A.B.C.D.34.有以下程序#includestdio.hintt b=2;int fun(int*k)b=*k+b;return(b);main()int a10=1,2,3,4,5,6,7,8,i;
14、for(i=2;i4;i+) b=fun( printf(“%d“,b);print(“/n“);程序运行后的输出结果是_。A) 10 12 B) 8 10 C) 10 28 D) 10 16(分数:2.00)A.B.C.D.35.有以下程序fun(int x)int p;if(x=0|x=1)return(3);p=x-fun(x-2);return p;main()printf(“%d/n“,fun(7);程序执行后的输出结果是( )。A7 B3 C2 D0(分数:1.00)A.B.C.D.36.下列说法错误的是( )。A) 下列结构体定义时,占据了 5 个字节的空间struct stud
15、entint num;int age;char sex;B) 结构体的成员名可以与程序中的变量名相同C) 对结构体中的成员可以单独使用,它的作用相当于普通变量D) 结构体可以嵌套定义(分数:2.00)A.B.C.D.37.若以“a+”方式打开一个已存在的文件,则下列叙述正确的是( )A) 文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可以进行添加或读操作B) 文件打开时,原有文件内容不被删除,只能进行读操作C) 文件打开时,原有文件内容被删除,只能进行写操作D) 以上三种说法都不正确(分数:1.00)A.B.C.D.38.有以下程序:#include stdio.hstruct ST
16、Uchar name10;int num;void f1(struct STU c)struct STU b=“LiSiGuo“,2042;c=b;void f2(struct STU *c)struct STU b=“SanDan“,2044;*c=b;main()struct STU a=“YangSan“,2041, b=“WangYin“,2043;f1(a); f2(printf(“%d%d/n“,a.num,b.hum);执行后的输出结果是( )。A) 2041 2044 B) 2041 2043 C) 2042 2044 D) 2042 2043(分数:1.00)A.B.C.D.
17、39.若以“叶”方式打开一个己存在的文件,则下列叙述正确的是( )。A) 文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可以进行添加或读操作B) 文件打开时,原有文件内容不被删除,只能进行读操作C) 文件打开时,原有文件内容被删除,只能进行写操作D) 以上 3 种说法都不正确(分数:2.00)A.B.C.D.40.若有下面的说明和定义:struct testint m1;char m2;float m3;union uu char ul5; int u22; ua;myaa;则 sizeof(struct test)的值是( )。A) 12 B) 16 C) 14 D) 9(分数:2
18、.00)A.B.C.D.二、填空题(总题数:15,分数:32.00)41.按照软件测试的一般步骤,集成测试应在U /U测试之后进行。(分数:2.00)填空项 1:_42.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 1 和选择排序。(分数:4.00)填空项 1:_43.对软件设计的最小单位(模块或程序单元)进行的测试通常称为_测试。(分数:2.00)填空项 1:_44.在数据库系统中,实现各种数据管理功能的核心软件称为 1。(分数:2.00)填空项 1:_45.函数 fun 的返回值是U /U。fun(char *a,char *b)int num=0,n=0;while(
19、*(a+num)!=/0)num+;while(bn) *(a+num)=bn;num+;n+;return num;(分数:2.00)填空项 1:_46.以下程序运行后的输出结果是U /U。#include stdio.hmain()char m;m=B+32;printf(“%c/n“,m);(分数:2.00)填空项 1:_47.下列程序的运行结果是_。main()int x=1,y=2,z=3;printf(“%d,“,xy?y:x);printf(“%d,“,zy?x+:y+);printf(“%d,%d“,x,y);(分数:2.00)填空项 1:_48.以下程序的输出结果是_。mai
20、n()char*p=“BOOL“,“OPK“,“H“,“SP:,;for(i=3;i0;i-,i-)printf(“%c“,*pi);printf(“/n“);(分数:2.00)填空项 1:_49.以下程序的输出结果是_。#includestdio.hmain()int n=12345,d;while(n!=0)d=n %10;printf(“%d“,d);n/=10;(分数:2.00)填空项 1:_50.以下程序的功能是:求出数组 x 中各相邻两个元素的和,依次存放到 a 数组中,然后输出请填空。main()int x10,a9,I;for(i=0;i10;i+)scanf(“%d“,x(i
21、);for(i=1;i10;i+)ai-1=xi+_;for(i=0;i9;i+)printf(“%d“,ai);printf(“/n“);(分数:2.00)填空项 1:_51.下列程序的功能:对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。#includestdio.h#includectype.hmain()char c;int a,s=0;while(_)if(isdigit(c)a=c-0;s+=a;printf(“s=%d“,s);(分数:2.00)填空项 1:_52.下列程序的功能是对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。#includest
22、dio.h#includectype.hmain()char c;int a,s=0;while(_)if(isdigit(C) )a=c-0;s+=a;printf(“s=%d“,s);(分数:2.00)填空项 1:_53.下列程序的运行结果是_。main()int s=0,i=1;while(s=10)s=s+i*i;i+;printf(“%d“,-i);(分数:2.00)填空项 1:_54.以下程序运行后的输出结果是_。#includestring.hvoid fun(char*s,int p,int k)int i;for(i=P;ik-1;i+)si=si+2;main()char
23、s=“abcdefg“;fun(s,3,strlen(s);puts(s);(分数:2.00)填空项 1:_55.以下程序运行后的输出结果是U /U。main()char a=“Language“, b=“Programe“;char * p1, * p2;int k;p1=a; p2=b;for(k=0; k=7; k+)if(*(p1+k)=*(p2+k)printf(“%c“, *(p1+k);(分数:2.00)填空项 1:_二级 C 语言笔试-409 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:40,分数:68.00)1.程序流程图中带有箭头的线段表示的是A
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 409 答案 解析 DOC
