【计算机类职业资格】二级C语言笔试-438及答案解析.doc
《【计算机类职业资格】二级C语言笔试-438及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言笔试-438及答案解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言笔试-438 及答案解析(总分:101.00,做题时间:90 分钟)一、选择题(总题数:40,分数:71.00)1.下列选项中,不是一个算法的基本特征的是( )。A) 完整性 B) 可行性C) 有穷性 D) 拥有足够的情报(分数:1.00)A.B.C.D.2.一个栈的初始状态为空。现将元素 1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是A) 12345ABCDE B) EDCBA54321 C) ABCDE12345 D) 54321EDCBA(分数:2.00)A.B.C.D.3.从工程管理角度,软件设计一般分为两步完成,它们是A) 概要设计
2、与详细设计 B) 数据设计与接口设计C) 软件结构设计与数据设计 D) 过程设计与数据没计(分数:2.00)A.B.C.D.4.下列关于线性表的叙述中,不正确的是( )。 A) 线性表可以是空表 B) 线性表是一种线性结构 C) 线性表的所有结点有且仅有一个前件和后件 D) 线性表是由 n 个元素组成的一个有限序列(分数:2.00)A.B.C.D.5.数据库设计中,用 E-R 图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A) 需求分析阶段 B) 逻辑设计阶段C) 概念设计阶段 D) 物理设计阶段(分数:2.00)A.B.C.D.6.数据库技术的根本目标是要解决数据的_。A)
3、 存储问题 B) 共享问题C) 安全问题 D) 保护问题(分数:2.00)A.B.C.D.7.设有表示学生选课的 3 张表:学生 S(学号,姓名,性别,年龄,身份证号),课程 C(课号,课名),选课 SC(学号,课号,成绩),则表 SC 的关键字(键或码)为A) 课号,成绩 B) 学号,成绩 C) 学号,课号 D) 学号,姓名,成绩(分数:2.00)A.B.C.D.8.下列程序的输出结果是( )。#includestdio.hmain()int a=4;printf(“%d/n“,(a+=a-=a*A) );A) -8 B) 14 C) 0 D) -24(分数:2.00)A.B.C.D.9.若
4、有以下定义和语句:int a=010,b=010,c=10;printf(“%d,%d,%d/a“,a,b,c);则输出结果是( )。A) 8,10,10 B) 10,10,10 C) 8,8,10 D) 8,16,10(分数:1.00)A.B.C.D.10.下列叙述中正确的是A) 构成 c 程序的基本单位是函数B) 可以在一个函数中定义另一个函数C) main( )函数必须放在其他函数之前D) 所有被调用函数一定要在调用之前进行定义(分数:1.00)A.B.C.D.11.有以下程序段char ch; int kch=a; k=12;printf(“%c,%d,“,ch,ch,k); prin
5、tf(“k=%d/n“,k);已知字符 a 的 ASCII 码值为 97,则执行上述程序段后输出结果是A) 因变量类型与格式描述符的类型不匹配输出无定值B) 输出项与格式描述符个数不符,输出为零值或不定值C) a,97,12k=12D) a,97,k=12(分数:1.00)A.B.C.D.12.以下数组定义中错误的是( )。A) int x3=0; B) int x2 3=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.13.语句“printf(“a/bhow/are/y/bou/n“);”的
6、输出结果是( )。A) a/bhow/are/y/bou B) a/bhow/are/y/bouC) howareyou D) ahowarey/bou(分数:2.00)A.B.C.D.14.请阅读以下程序:#includestdio.hmain()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);上面程序的输出结果是A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2(分数:1.00)A.B.C.D
7、.15.删除 student 表的“平均成绩”字段的正确 SQL 命令是_。A) DELETE TABLE student DELETE COLUMN 平均成绩B) ALTER TABLE student DELETE COLUMN 平均成绩C) ALTER TABLE student DROP COLUMN 平均成绩D) DELETE TABLE student DROP COLUMN 平均成绩(分数:2.00)A.B.C.D.16.若有下列定义(设 int 类型变量占 2 个字节):int i=8,j=9;则下列语句:printf(“i=%u,j=%x/n“,i,j);输出的结果是( )。
8、A) i=8,j=9 B)8.9 C) 8 9 D) i=8,j=8(分数:1.00)A.B.C.D.17.下列程序的输出结果是( )main()int a,b,d=25;a=d/10%9;b=aprintf(“%d,%d/n“,a,b);A) 6,1 B) 2,1 C) 6,0 D) 2,0(分数:2.00)A.B.C.D.18.假定所有变量均已正确说明,下列程序段运行后 x 的值是( )。ab+c0;x12;if(!A) x-;elsex5;if(C) x3;elsex4;A) 11 B) 4 C) 12 D) 3(分数:1.00)A.B.C.D.19.在以下给出的表达式中,与 while
9、(E)中的(E)不等价的表达式是_。A) (!E=0) B) (E0|E0) C) (E=0) D) (E!=0)(分数:2.00)A.B.C.D.20.以下描述中正确的是A) 由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B) do-while 循环由 d。开始,用 while 结束,在 while(表达式)后面不能写分号C) 在 do-while 循环体中,是先执行一次循环,再进行判断D) do-while 循环中,根据情况可以省略 while(分数:2.00)A.B.C.D.21.有以下程序:#include stdio. hmain( )in
10、t a=1,2,3,4,5,6,7,8,9,10,11,12,*p=a+5,*q=NULL;*q=*(p+5);printf(“%d%d/n“,*p,*q);程序运行后的输出结果是( )。A) 运行后报错觉 B) 6 6 C) 6 11 D) 5 10(分数:1.00)A.B.C.D.22.以下叙述中错误的是_。(A) 改变函数形参的值,不会改变对应实参的值(B) 函数可以返回地址值(C) 可以给指针变量赋一个整数作为地址值(D) 当在函数的开头包括头文件 stdio.h 时,可以给指针变量赋 NULL(分数:2.00)A.B.C.D.23.下面判断正确的是A) char*a=“china“;
11、等价于 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“;(分数:2.00)A.B.C.D.现有以下结构体说明和变量定义,如图所示,指针 p、q、r 分别指定一个链表中连续的 3 个结点。(分数:2.00)A.B.C.D.A.B.C.D.24.已知字符A的 ASCII 码值是 65,字符变量 cl 的值是A,c2 的值是D。执行语句Printf(“%d
12、,%d“,c1,c2-2);后,输出结果是A) A,B B) A,68 C) 65,66 D) 65,68(分数:2.00)A.B.C.D.有下列程序: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);main()double w;w=fun2(1.1,2.0),程序执行后变量 w 中的值是( )。A5.21 B5 C5.0 D0.0(分数:2.00)A.B.C.D.A.B.C.D.25.若有定义语句:int a410
13、,*p,*q4;且 0i4,则错误的赋值是A) p=a B) qi=aiC) p=ai D) p=long num=0;for(i=0;i2;i+)j=0;while(pij!=/0)if(pij-0)%2)num=10*num+pij-0;j+=2;printf(“%d/n“,num);程序执行后的输出结果是_。A) 35 B) 37 C) 39 D) 3975(分数:2.00)A.B.C.D.27.对下述程序的判断中,正确的是#includestdio.hvoid main()char*p,s128;p=S;while(strcmp(s,“End“)printf(“Input a stri
14、ng:“);gets(s);while(*p)putchar(*p+);A) 此程序循环接收字符串并输出,直到接收字符串“End“为止B) 此程序循环接收字符串,接收到字符串“End“则输出,否则程序终止C) 此程序循环接收字符串并输出,直到接收字符串“End“为止,但因为代码有错误,程序不能正常工作D) 此程序循环接收字符串并将其连接在一起,直到接收字符串“End“为止,输出连接在一起的字符串(分数:2.00)A.B.C.D.28.以下不正确的定义语句是A) double x5=2.0,4.0,6.0,8.0,10.0; B) int y5=0,1,3,5,7,9;C) char c1=1,
15、2,3,4,5; D) char c2=/x10,/xa,/x8;(分数:2.00)A.B.C.D.29.下列程序段中,不能正确赋值的是( )。A) char*p,ch; p= scabf(“%c“,p);C) char*p; *p=getchar();D) char*p,ch; p= else return 0; 程序运行后的输出结果是( )。 A) 4 B) 7 C) 10 D) 6(分数:2.00)A.B.C.D.A.B.C.D.30.以下语句定义正确的是( )。 A) int a14=1,2,3,4,5; B) float a3=1,2,2,3,3,1; C) long a23=1,1
16、,2,1,2,3,0,0; D) double a3=8;(分数:2.00)A.B.C.D.31.有以下程序#includestdio.h#includestring.hmain()char a510=“china“,“beijing“,“you“,“tiananmen“,“welcome“);int i,j; char t10;for(i=0;i4;i+)for(j=i+1;j5;j+)if(strcmp(ai,aj)0)strcpy(t,ai);strcpy(ai,aj);strcpy(aj,t);puts(a3);程序运行后的输出结果是( )。A)Beijing B)china C)we
17、lcome D)tiananmen(分数:2.00)A.B.C.D.32.有以下程序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);执行后的输出结果是_。(A) 7(B) 3(C) 2(D) 0(分数:2.00)A.B.C.D.33.有下列函数:int fun(char*s)char*t=s;while(*t+);reurn(t-s);该函数的功能是( )。A) 比较两个字符串的大小 B) 计算 s 所指字符串占用内存字节的个数C) 计算 s 所指字符串的长度 D) 将
18、 s 所指字符串复制到字符串 t 中(分数:2.00)A.B.C.D.34.有以下程序:#define f(x)(x*x)main()int i1,i2;i1=f(8)/f(4);i2=f(4+4)/f(2+2);printf(“%d,%d/n“,i1,i2);程序运行后的输出结果是_。A) 64,28 B) 4,4 C) 4,3 D) 64,64(分数:2.00)A.B.C.D.35.函数 rewind(fp)的作用是( )。 A) 使 fp 指定的文件的位置指针重新定位到文件的开始位置 B) 将 fp 指定的文件的位置指针指向文件中所要求的特定位置 C) 使 fp 指定的文件的位置指针向文
19、件的末尾 D) 使 fp 指定的文件的位置指针自动移至下一个字符位置(分数:2.00)A.B.C.D.以下关于 typedef 的叙述错误的是( )。A用 typedef 可以增加新类型Btypedef 只是将已存在的类型用一个新的名字来代表C用 typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个新名D用 typedef 为类型说明一个新名,通常可以增加程序的可读性(分数:3.00)A.B.C.D.A.B.C.D.36.函数 rewind 的作用是( )。A) 使文件位置指针重新返回文件的开始位置B) 将文件位置指针指向文件中所要求的特定位置 C) 使文件位置指针指向文件的末
20、尾D) 使文件位置指针自动移至下一个字符位置(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:30.00)37.对于如图所示的软件系统结构图,其宽度为_。(分数:2.00)填空项 1:_38.一个关系表的行称为 1。(分数:2.00)填空项 1:_39.用树型结构表示实体类型及实体间联系的数据模型称为 1。(分数:2.00)填空项 1:_40.下列程序运行时输入 1234567CR,则输出结果是_。#includestdio.hmain()int a=1,b;scanf(“%2d%2d“,for(i=0;ii0;i+)j=i*10+6;if(_)continue;printf(
21、“%d“,j);(分数:2.00)填空项 1:_43.设 int a=5,b=6,表达式(+a=b-)?+a:-b 的值是 1。(分数:2.00)填空项 1:_44.下面程序有两个 printf 语句,如果第一个 printf 语句输出的是 194,则第二个 printf 语句的输出结果是U /U。main()int a10=1,2,3,4,5,6,7,8,9,0,*p;p=a;printf(“%x/n“,p);printf(“%x/“,p+9);(分数:2.00)填空项 1:_45.若有定义:int a441,2,3,4,0,4,6,8,10,1,3,5,7,则初始化后,a22得到的初值是
22、1。(分数:2.00)填空项 1:_46.在内存中,存储字符x要占用 1 个字节,存储字符串“X“要占用 1 个字节。(分数:2.00)填空项 1:_47.若有定义 doublea5;,则 a 数组元素下标的上限为 1。(分数:2.00)填空项 1:_48.下列程序的输出结果是_。#includestdio.hint t(int x,int y,int cp,int dp)cp=x*x+y*y;dp=x*x-y*y;main()int a=1,b=8,c=7,d=9;t(a,b,c,d);printf(“%d %d/n“,c,d);(分数:2.00)填空项 1:_49.下面程序运行后的输出结果
23、是_。#includestdio.hmain()int a=1,2,3,4,5,6,*k3,i=1;while(i4)ki-1=printf(“%d“,*ki-1);i+;(分数:2.00)填空项 1:_50.有下列程序:#include stdio.hmain()char C;while(c= getchar ()!=,) putchar(+c);程序运行时,如果从键盘输入:A,B,CR,则输出结果为_。(分数:2.00)填空项 1:_51.以下程序中函数 huiwen 的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串:yes!,否则函数返回字符串:no!,并在主函数中输出
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 笔试 438 答案 解析 DOC
