【计算机类职业资格】二级C语言-5-1及答案解析.doc
《【计算机类职业资格】二级C语言-5-1及答案解析.doc》由会员分享,可在线阅读,更多相关《【计算机类职业资格】二级C语言-5-1及答案解析.doc(29页珍藏版)》请在麦多课文档分享上搜索。
1、二级 C 语言-5-1 及答案解析(总分:79.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:45.00)1.有下列程序:main() int x=5;doprintf(“%d“,x-=4);while(!(-x);程序的输出结果是( )。 A. 1 B. 20 C. 1 4 D. 死循环(分数:1.00)A.B.C.D.2.设有如下关系表:(分数:1.00)A.B.C.D.3.有以下程序:#include stdio.hmain() char a=a, b; printf(“%c,“, +a); printf(1%c/n“, b=a+); 程序运行后的输出结果是( )。
2、A. b,b B. b,c C. a,b D. a,c(分数:1.00)A.B.C.D.4.以下程序的输出结果是#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.5.有以下程序;main() int y3,x3,z=1;printf(“%d %d/n“,(+x,y+)
3、,z+2);执行后的输出结果是 U /U A. 3 4 B. 4 2 C. 4 3 D. 3 3(分数:1.00)A.B.C.D.6.在 C 语言中,变量的隐含存储类别是 A. auto B. static C. extem D. 无存储类别(分数:2.00)A.B.C.D.7.以下选项中,非法的字符常量是_。 A. t/ B. /17 C. “/n“ D. /xaa(分数:2.00)A.B.C.D.8.设有以下语句:char str1 =“string“mstr2 8,*str3,*str4=“string“;则 _不是对库函数的正确调用。 A. strcpy(str1,“HELLO1“);
4、 B. strcpy(str2,“HELLO2“); C. strcpy(str3,“HELLO3“); D. strcpy(str 4,“HELLO4“);(分数:2.00)A.B.C.D.9.以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是U /U。 A. char s10=“abcdefg“; B. char t=“abcdefg“,*s=t; C. char s10;s=“abcdefg“; D. char s10;strcpy(s,“abcdefg“);(分数:2.00)A.B.C.D.10.函数调用 strcat(strcpy(str1,str2),str3)的功能是U
5、/U。 A. 将字符串 str1 复制到字符串 str2 中后再连接到字符串 str3 之后 B. 将字符串 str1 连接到字符串 str2 之后再复制到字符串 str3 之后 C. 将字符串 str2 复制到字符串 sir1 中后再将字符串 str3 连接到字符串 str1 之后 D. 将字符串 str2 连接到字符串 str1 之后再将字符串 str1 复制到字符串 str3 中(分数:2.00)A.B.C.D.11.以下程序执行后 x 的值是U /U。#include stdio.hmain() int x,y=252,i=386,*m=x=(z= =m);printf(“%d“,x)
6、; A. 252 B. 1 C. 0 D. 运行时出错,x 无定值(分数:1.00)A.B.C.D.12.sizeof(float)是U /U。 A. 一个双精度型表达式 B. 一个整型表达式 C. 一种函数调用 D. 一个不合法的表达式(分数:1.00)A.B.C.D.13.下面程序的输出结果是( )。main()struct m1int a;int b;en2=1,3,2,7);printf(“%d/n“,en0.b/en0.a*en1.a); A. 6 B. 0 C. 1 D. 3(分数:1.00)A.B.C.D.14.有以下程序:#include stdio.hstruct ord i
7、nt x,y; dt2=11,12,13,14;main()struct ord *p=dt;printf(“%d,“,+(p-x);printf(“%d/n“,+(p-y);程序运行后的输出结果是 A. 11,12 B. 12,13 C. 13,14 D. 14,11(分数:1.00)A.B.C.D.15.有以下程序:#includestdio.h#define f(x)x*x*xmain()int a =3,s,t;s=f(a+1);t=f(a+1);printf(“%d,%d/n“,s,t);程序运行后的输出结果是_。 A.10,64 B.10,10 C.64,10 D.64,64(分数
8、:1.00)A.B.C.D.16.下列关于二叉树的叙述中,正确的是U /U。 A.叶子结点总是比度为 2 的结点少一个 B.叶子结点总是比度为 2 的结点多一个 C.叶子结点数是度为 2 的结点数的两倍 D.度为 2 的结点数是度为 1 的结点数的两倍(分数:2.00)A.B.C.D.17.设有以下说明语句:typedef struct int n;char ch8; PER;则下面叙述中正确的是 A. PER 是结构体变量名 B. PER 是结构体类型名 C. typedef struct 是结构体类型 D. struct 是结构体类型名(分数:1.00)A.B.C.D.18.有以下程序in
9、t b=2;int func(int*A) b+*a;return(B) ; main() int a2,res2;res+=rune( B. flo at a=b=10.0; C. int a=10,*b= D. float *a,b=(分数:1.00)A.B.C.D.22.以下程序的输出结果是_。main () int x=5,n=3,s,j;for(j=0;j2;j+) s=fun(x,n);printf(“%d“,s);fun(int a,int b) static int n=0,i=2;i=n+1;n=i+a-b;return(n); A. 3 7 B. 3 5 C. 3 6 D.
10、 3 3(分数:1.00)A.B.C.D.23.以下叙述中正确的是 _。 A.用 C 程序实现的算法必须要有输入和输出操作 B.用 C 程序实现的算法可以没有输出但必须要输入 C.用 C 程序实现的算法可以没有输入但必须要有输出 D.用 C 程序实现的算法可以既没有输入也没有输出 (分数:1.00)A.B.C.D.24.设 a、b、c、d、mn 均为血型变量,且 a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=ab)(n=cd)运算后,n 的值为_。 A. 0 B. 1 C. 2 D. 3(分数:2.00)A.B.C.D.25.若 a 为 int 类型,且其值为 3,则执行完
11、表达式 a+=a-=a*a 后,a 的值是 _ 。 A. -3 B. 9 C. -12 D. 6 (分数:1.00)A.B.C.D.26.有三个关系 R、S 和 T 如下:RABCa12b21c31SABCa12b21TABCc31则由关系 R 和 S 得到关系 T 的操作是_。 A.自然连接 B.差 C.交 D.并(分数:1.00)A.B.C.D.27.设有如下的程序段:char str=“Hello“;char *ptr;ptr=str;执行完上面的程序段后,*(ptr+5)的值为U /U。 A. o B. /0 C. 不确定的值 D. o的地址(分数:1.00)A.B.C.D.28.有以
12、下程序:#includestdio.hint fun(int x, int n) static int sum=0, i; for(i=0; in; i+) sum+=xi; return sum; main() int a=1, 2, 3, 4, 5, b=6, 7, 8, 9, s=0; s=fun(a, 5)+fun(b, 4); printf(“%d/n“, s); 程序执行后的输出结果是( )。 A. 45 B. 50 C. 60 D. 55(分数:1.00)A.B.C.D.29.下列能正确定义且赋初值的语句是U /U。 A. int n1=n2=10; B. char c=32;
13、C. float f=f+1.1; D. double x=12.3E2.5;(分数:2.00)A.B.C.D.30.有以下函数定义:void fun(int n, double x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun 的正确调用语句是U /U。 A. fun(int y,double m); B. k=fun(10,12.5); C. fun(x,n); D. void fun(n,x);(分数:1.00)A.B.C.D.31.以下程序的运行结果是#include“stdio.h“main() struct date int year,month,day;today;p
14、rintf(“%d/n“,sizeof(struct date); A. 6 B. 8 C. 10 D. 12(分数:1.00)A.B.C.D.32.下列叙述中正确的是( )。 A. 线性链表中的各元素在存储空间中的位置必须是连续的 B. 线性链表中的表头元素一定存储在其他元素的前面 C. 线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面 D. 线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的(分数:1.00)A.B.C.D.33.当变量 c 的值不为 2、4、6 时,值也为“真”的表达式是( )。 A. (c=2)(c=4
15、)(c=6) B. (c=2if(ij)t=ai;ai=aj;aj=t;i+; j-;fun(a,i,j);main() int x=2,6,1,8,i;fun(x,0,3);for(i=0;i4;i+) printf(“%2d“,xi);printf(“/n“);程序运行后的输出结果是 A. 1 2 6 8 B. 8 6 2 1 C. 8 1 6 2 D. 8 6 1 2(分数:1.00)A.B.C.D.35.当执行下面的程序时,如果输入 ABC,则输出结果是_。#include “stdio.h“#include “string.h“main() char ss10=“12345“;get
16、s(ss);strcat(ss,“6789“);printf(“%s/n“,ss); A. ABC6789 B. ABC67 C. 12345ABC6 D. ABC456789(分数:1.00)A.B.C.D.二、B填空题/B(总题数:15,分数:34.00)36.有序线性表能进行二分查找的前提是该线性表必须是 1 存储的。(分数:2.00)填空项 1:_37.以下程序的输出结果是_。 int fun(int *x,int n) if(n=0) return x0; else return x0+fun(x+1,n-1); main() int a=1,2,3,4,5,6,7; printf(
17、“%d/n“,fun(a,3);(分数:2.00)填空项 1:_38.以下程序的运行结果是_。 int x; main() int a=5,b=8; swap(a,b) ; printf(“a=%d,b=%d,x=%d/n“,a,b,x); swap(int a,int b) int temp; temp=a;a=b; b=temp;x=a/b; printf(“x=%d/n“,x); (分数:1.00)填空项 1:_39.以下程序中,for 循环体执行的次数是_。 # define N 2 # define M N+1 # define K M+1*M/2 main() int i; for
18、(i=1; iK; i+) . . (分数:2.00)填空项 1:_40.下列程序段中循环体的执行次数是_。 a=15; b=0; dob+=2;a-=2+b;while(a=0);(分数:2.00)填空项 1:_41.以下程序运行后输出结果是U U /U /U。 #include stdio, h main( ) int a,b,c; a=10; b:20; c=(a%b1) (a/b1); printf(“%d %d %d/n“,a,b,c); (分数:2.00)填空项 1:_42.以下程序运行后的输出结果是_。 #include stdio.h main() int i,m=0,n=0,
19、k=0; for(i=9;i=11;i+) switch(i/10) case 0: m+;n+;break; case 10: n+;break; default: k+;n+; printf(“%d%d%d/n“,m,n,k); (分数:2.00)填空项 1:_43.以下程序的输出结果是U U /U /U。 main() int x=0; sub( int,num=O,word=O; for(i=0;stri!=U U /U /U;i+) if(U U /U /U“)wprd=0 else if(wordO) word=1: U U /U /U; return(num); (分数:6.00
20、)填空项 1:_50.下列程序的运行结果是_。 #define POW(r)(r)*(r) main() int x=3,y=2,t; t=POW(x+y); printf(“%d/n“,t); (分数:2.00)填空项 1:_二级 C 语言-5-1 答案解析(总分:79.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:45.00)1.有下列程序:main() int x=5;doprintf(“%d“,x-=4);while(!(-x);程序的输出结果是( )。 A. 1 B. 20 C. 1 4 D. 死循环(分数:1.00)A.B.C. D.解析:解析 本题考查 dow
21、hile 循环。执行 printf 语句,x=x-4 1,输出 1,判断 while 循环的控制条件,-x=0,则(!(-x)非零,循环条件成立,执行下一次循环;执行 printf 语句,x=x-4=-4,输出-4,判断 while 循环的控制条件,-x=-5,则(!(-x)为零,循环条件不成立,结束循环。2.设有如下关系表:(分数:1.00)A.B. C.D.解析:解析 选项 A、B、C 分别进行交运算、并运算,笛卡尔积运算,选项 D 不是关系运算。T 由属于关系 R 以及关系 S 的元组组成,简单来说,就是 s 和 R 的元组之和,是并运算,选项 B 正确。3.有以下程序:#include
22、 stdio.hmain() char a=a, b; printf(“%c,“, +a); printf(1%c/n“, b=a+); 程序运行后的输出结果是( )。 A. b,b B. b,c C. a,b D. a,c(分数:1.00)A. B.C.D.解析:解析 本题考核的知识点是运算符+的用法。程序中的第一个输出语句输出表达式+a 的值,该+a 是在使用 a 之前,先使 a 的值加 1,即 a 加 1 为字符 b,此时 a 的值为 b,所以第一个输出语句输出的值为 b,第二个输出语句中输出的 b 的值,这时 b 的值为表达式 a+的值,a+是在使用 a 之后(此时 a 的值为 b,所
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
5000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 职业资格 二级 语言 51 答案 解析 DOC
