【计算机类职业资格】二级C语言笔试-353及答案解析.doc

上传人:orderah291 文档编号:1326158 上传时间:2019-10-17 格式:DOC 页数:37 大小:106KB
下载 相关 举报
【计算机类职业资格】二级C语言笔试-353及答案解析.doc_第1页
第1页 / 共37页
【计算机类职业资格】二级C语言笔试-353及答案解析.doc_第2页
第2页 / 共37页
【计算机类职业资格】二级C语言笔试-353及答案解析.doc_第3页
第3页 / 共37页
【计算机类职业资格】二级C语言笔试-353及答案解析.doc_第4页
第4页 / 共37页
【计算机类职业资格】二级C语言笔试-353及答案解析.doc_第5页
第5页 / 共37页
点击查看更多>>
资源描述

1、二级 C语言笔试-353 及答案解析(总分:115.00,做题时间:90 分钟)一、选择题(总题数:50,分数:70.00)1.有以下字符串,说明表达式 strlen(s)值的是( )。char s10=a,/n,a,b,/t,c;A) 10 B) 1 C) 6 D) 7(分数:2.00)A.B.C.D.2.以下选项中可作为 C语言合法常量的是( )。A) -80 B) -080 C) -8e1.0 D) -80.0e(分数:1.00)A.B.C.D.3.C语言中 ( )A) 不能使用 do-while语句构成的循环B) do-while语句构成的循环必须用 break语句才能退出C) do-

2、while语句构成的循环,当 while语句中的表达式值为非零时结束循环D) do-while语句构成的循环,当 while语句中的表达式值为零时结束循环(分数:1.00)A.B.C.D.4.有以下程序void change(int k)k0=k5;main()int x10=1,2,3,4,5,6,7,8,9,10,n=0;while(n=4)change( n;for(n=0;n5;n) printf(“%d“,xn);printf(“/n“);程序运行后输出的结果是_。A) 678910 B) 13579 C) 12345 D) 62345(分数:1.00)A.B.C.D.5.下列 4个

3、关于 C语言的结论中错误的是( )。A) 可以用 dowhile语句实现的循环一定可以用 while语句实现B) 可以用 for语句实现的循环一定可以用 while语句实现C) 可以用 while语句实现的循环一定可以用 for语句实现D) dowhile语句与 while语句的区别仅是关键字“while”出现的位置不同(分数:1.00)A.B.C.D.6.以下叙述正确的是_。A) 可以把 define和 if定义为用户标识符B) 可以把 define定义为用户标识符,但不能把 if定义为用户标识符C) 可以把 if定义为用户标识符,但不能把 define定义为用户标识符D) define和

4、if都不能定义为用户标识符(分数:2.00)A.B.C.D.7.有如下程序#includeint func(int a,int b)return(a+b);void main()int x=2,y=5,z=8,r;r=func(func(x,y),z);coutr;该程序的输出的结果是A) 12B) 13C) 14D) 15(分数:2.00)A.B.C.D.8.有以下程序int fun(int x,int n)static int sum=0,i;for(i=0;iN;i+)NBSP;NBSP;SUM+=XI;return sum;main()int a=1,2,3,4,5,b=6,7,8,9

5、,s=0;s=fun(a,5)+fun(b,4);printf(“%d/n“,s);程序执行后的输出结果是_。(A) 45(B) 50(C) 60(D) 55(分数:2.00)A.B.C.D.9.有如下程序:#include stdio.hmain() int n=9; while(n6) n-; printf(“%d“,n); 该程序的输出结果是( )。A) 987 B) 876 C) 8765 D) 9876(分数:1.00)A.B.C.D.10.若变量已正确说明为 float型,要通过语句 scanf(“%f%f%f“,k=N(M(a,b),c);printf(“%d/n“,k);A)3

6、 B)5 C)6 D)8(分数:2.00)A.B.C.D.15.有以下程序main()int c=35; printf(“%d/n“,cwhile (k0)switch (k)default : break;case 1 : n+=k;case 2 :case 3 : n+=k;k-;printf (“%d/n“,n);程序运行后的输出结果是A) 0 B) 4 C) 6 D) 7(分数:1.00)A.B.C.D.19.有以下程序段:main()int a=5, *b, *c;c= b=程序在执行了 c= b= 语句后,表达式*c 的值是_。A) 变量 a的地址 B) 变量 b中的值 C) 变量

7、 a中的值 D) 变量 b的地址(分数:2.00)A.B.C.D.20.有以下程序:main()int a=1,b=2,m=0,n=0,k;k=(n=ba)|(m=ab);printf(“%d,%d/n“,k,m);程序运行后的输出结果是( )。A) 0,0 B) 0,1 C) 1,0 D) 1,1(分数:1.00)A.B.C.D.21.在 C程序中,可将整型数以二进制形式存放到文件中的函数是_。Afprint 函数 Bfread 函数 Cfwrite 函数 Dfputc 函数(分数:2.00)A.B.C.D.22.完整的计算机存储器应包括_。A) 软盘、硬盘 B) 磁盘、磁带、光盘C) 内存

8、储器、外存储器 D) RAM、ROM(分数:2.00)A.B.C.D.23.下列不属于软件工程 3个要素的是( )。 A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D.24.下列叙述中正确的是_。A) 有一个以上根结点的数据结构不一定是非线性结构B) 只有一个根结点的数据结构不一定是线性结构C) 循环链表是非线性结构D) 双向链表是非线性结构(分数:2.00)A.B.C.D.25.下列叙述中正确的是( )。A一个逻辑数据结构只能有一种存储结构B逻辑结构属于线性结构,存储结构属于非线性结构C一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率D一个

9、逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(分数:1.00)A.B.C.D.26.若已定义 x和 y为 double类型,则表达式 x=1,y=x+3/2的值是_。A) 1 B) 2 C) 2.0 D) 2.5(分数:1.00)A.B.C.D.27.有以下程序:main()int a=0,b=0,C=0,d=0;if(a=1)b=1;c=2;else d=3;printf(“%d,%d,%d,%d/n“,a,b,c,d);程序输出_。A) 0,1,2,0 B) 0,0,0,3 C) 1,1,2,0 D) 编译有错(分数:2.00)A.B.C.D.28.下列选项中,不能用做

10、标识符的是_。A) _1234_ B) _1_2 C) int_2_ D) 2_int_(分数:1.00)A.B.C.D.29.有以下程序段: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.30.C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构 B) if,switch、breakC) for、while、do-while D) if,for、c

11、ontinue(分数:1.00)A.B.C.D.31.有如下函数调用语句:func(rec1, rec2+rec3, (rec4, rec5);该函数调用语句中,含有的实参个数是_。A) 3 B) 4 C) 5 D) 有语法错(分数:2.00)A.B.C.D.32.以下有 4组用户标识符,其中合法的一组是( )。A) for -sub case B) 4dDOSizeC) f2_G3IFabcD) WORDvoiddefine(分数:1.00)A.B.C.D.33.有以下程序:int add(int a,int b)return(a+b);main()int k,(*f)(),a=5,b=10

12、;f=add;则以下函数调用语句错误的是_。A) k=(*f)(a,b); B) k=add(a,b); C) k=*f(a,b); D) k=f(a,b);(分数:2.00)A.B.C.D.34.若已包括头文件string.h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串 “ABCDE“赋给 s1,下列语句错误的是( )A) strcpy(s1,s2)B) strcpy(s1,“ABCDE“);C) s1=“ABCDE“;D) for(i=0;i6;i+)s1i=s2i;(分数:1.00)A.B.C.D.35.以下数据结构中不属于线性数据结构的是( )。A)

13、 队列 B) 线性表 C) 二叉树 D) 栈(分数:1.00)A.B.C.D.36.以下程序运行后的输出结果是#includestdio.hint f(int t, int n);main()int a4=1, 2, 3, 4, s;s=f(a, 4); printf(“%d/n“, s);int f(int t, int n)if(n0) return tn-1+f(t, n-1);else return 0;A) 4 B) 10 C) 14 D) 6(分数:2.00)A.B.C.D.37.以下关于 long、int 和 short类型数据占用内存大小的叙述中正确的是( )。A) 均占 4个

14、字节 B) 根据数据的大小来决定所占内存的字节数C) 由用户自己定义 D) 由 C语言编译系统决定(分数:1.00)A.B.C.D.38.有下列程序:fun(int x, int y) return (x+y);main()int a =1,b=2,c=3,sum; sum=fun(a+,b+,a+b),c+);printf(“%d/n“, sum);执行后的输出结果是( )。A) 6 B) 7C) 8 D) 9(分数:2.00)A.B.C.D.39.若有如下程序:int sub()static int n1;int x=1;x*=n;n+;return x; main()int n,t1;f

15、or(n1;n6;n+)t*sub();printf(“%d/n“,t); 则程序运行后的输出结果是 ( )A) 15 B) 120 C) 34560 D) -30976(分数:1.00)A.B.C.D.40.若 a是数值类型,则逻辑表达式(a=1)|(a!=1)的值是A) 0 B) 1 C) 2 D) 不知道 a的值,不能确定(分数:1.00)A.B.C.D.41.有以下程序#includestdio.hmain()FILE*fp;int i,k=0,n=0;fp=fopen(“d1.dat“,“w“);for(i=1;14;i+) fprintf(fp,“%d“,i);fclose(fp)

16、;fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d%d“,则以下选项中,正确的赋值语句是A) p=1; B) *q=2; C) q=p; D) *p=5;(分数:1.00)A.B.C.D.45.sizeof(char)是( )。 A) 一种函数调用 B) 一个整型表达式 C) 一个字符型表达式 D) 一个不合法的表达式(分数:1.00)A.B.C.D.46.已有定义:char a=“xyz“,b=x,y,z);,以下叙述中正确的是A) 数组 a和 b的长度相同 B) n 数组长度小于 b数组长度C) a数组长度大于 b数组长度 D) 以述说法都不对(分数:1.00)A.

17、B.C.D.47.在 C+语言中,不合法的实型数据的是A) 0.123B) 123e3C) 2.1e3.5D) 123.0(分数:2.00)A.B.C.D.48.若有以下定义和语句:char s10=“abcd!“,*s2=“/n123/“;printf(“%d%d/n“,strlen(s1),strlen(s2);则输出结果是( )。A) 5 5 B) 10 5 C) 10 7 D) 5 8(分数:1.00)A.B.C.D.49.有以下程序:#includestdio.hint f(int n):main()int a=3,s;s=f(a);s=s+f(a);printf(“%d/n“,s)

18、;mt f(int n)static int a=1;n+=a+;return n;程序运行后的输出结果是( )。A) 7 B) 8 C) 9 D) 10(分数:1.00)A.B.C.D.50.若有定义:int x=0,*p=x;,则语句 printf(“%d/n“,*p);的输出结果是_。A) 随机值 B) 0 C) x 的地址 D) p 的地址(分数:2.00)A.B.C.D.二、填空题(总题数:20,分数:45.00)51.以下程序的运行结果是_。#include stdio.hmain()FILE *fp; int a10=1,2,3,0,0,i;fp=fopen(“d2.dat“,“

19、wb“);fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp=fopen(“d2.dat“,“rb“);fread(a,sizeof(int),10,fp);fclose(fp);for(i=0;i10;i+)printf(“%d“,ai);(分数:4.00)填空项 1:_52.以下程序的输出结果是_。#include string.hmain()printf“%d/n“, strlen(“IBM/n012/1/“);(分数:2.00)填空项 1:_53.在面向对象方法中,类之间共享属性和操作的机制称为 1。(

20、分数:2.00)填空项 1:_54.以下程序的输出是_。main()char str1=How do you do“,*p=strl;strcpy(str1+strlen(str1)/2“es she“);pfinff(“%s/n“,p1);(分数:2.00)填空项 1:_55.软件的可移植性是用来衡量软件 1 的重要尺度之一。(分数:4.00)填空项 1:_56.若有以下程序main()char a;a=H-A+0;printf(“%c/n“,a);执行后输出的结果是_。(分数:3.00)填空项 1:_57.下列程序的运行结果是_。#includestdio.hvoid main()int

21、s=0,k;for(k=7;k4;k-)switch(k)case 1:case 4:case 7:s+;break;case 2:case 3:case 6:break;case 0:case 5:s+=2;break;printf(“s=d“ ,s);(分数:1.00)填空项 1:_58.以下程序运行后的输出结果是_。main()int i,m=0,n=0,k=0;for(i=9;i=11;i+)switch (i/10)case 0:m+;n+;break;case 1:n+;break;default:k+;n+;printf(“%d %d %d/n“,m,n,k);(分数:1.00)

22、填空项 1:_59.下列程序的输出结果是_。#includestdio.hfun()static int a0;a+3;printf(“%d“,a) ;main()int cc;for(CC1;cc5;CC+)fun();printf(“/n);(分数:2.00)填空项 1:_60.下列程序的运行结果是_。main()int x=1,y=2,z=3;printf(“%d,“,xy?y:x);primf(“%d,“,zy?x+:y+);primf(“%d,%d“,x,y);(分数:2.00)填空项 1:_61.一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的 1。(分数

23、:1.00)填空项 1:_62.下列的 for语句的循环次数为_。for(x=1,y=0;(y!=19)x+);(分数:2.00)填空项 1:_63.以下程序运行后的输出结果是_。main()int a=1,b=2,c=3;if(c=a)printf(“%d/n“,c);else printf(“%d/n“,b);(分数:2.00)填空项 1:_64.一个模块直接调用的其他模块的模块个数称为 1。(分数:2.00)填空项 1:_65.以下程序的输出结果是_。#include stdio.h#include string.hchar* fun( char *t)char *p=t;return(

24、p+strlen(t)/2);main()char *str=“abcdefgh“;str=fun(str);puts(str);(分数:4.00)填空项 1:_66.以下程序的运行结果为_。#include stdio.hmain()static int b23=1,2,3,4,5,6;static int *pb=b0,b1;int i,j;i=0;for (j=0;j3;j+)printf(“b%d%d=%d “,i,j,*(pbi+j);printf(“/n“);(分数:4.00)填空项 1:_67.当所有结点的权值都相等时,用这些结点构造的二叉排序树是 1。(分数:2.00)填空项

25、1:_68.执行以下程序的输出结果是_。#includestdio.h#define M 5#define N M+Mmain()int k;k=N*N*5;printf(“%d/n“,k);(分数:2.00)填空项 1:_69.对下列二叉树进行中序遍历的结果为_。(分数:2.00)填空项 1:_70. 1是数据库设计的核心。(分数:1.00)填空项 1:_二级 C语言笔试-353 答案解析(总分:115.00,做题时间:90 分钟)一、选择题(总题数:50,分数:70.00)1.有以下字符串,说明表达式 strlen(s)值的是( )。char s10=a,/n,a,b,/t,c;A) 10

26、 B) 1 C) 6 D) 7(分数:2.00)A.B.C. D.解析:解析 strlen(s)返回 s字符串中字符的个数,若 s是一个数组,则返回数组元素的个数。2.以下选项中可作为 C语言合法常量的是( )。A) -80 B) -080 C) -8e1.0 D) -80.0e(分数:1.00)A. B.C.D.解析:解析 C 语言的常量分为整型常量、实型常量和字符型常量。本题中包含整型常量和实型常量。选项 B)以 0打头,应该属于八进制整数,而八进制整数只能用数字 07 表示,所以选项 B)不合法;选项C)和 D)从形式上看属于实型常量,但对于指数形式的实型常量,e(或 E)之前必须有数字

27、,且 e后面的指数必须为整数,所以选项 C)和 D)都不合法;选项 A)属于实型常量中正确的十进制小数形式。3.C语言中 ( )A) 不能使用 do-while语句构成的循环B) do-while语句构成的循环必须用 break语句才能退出C) do-while语句构成的循环,当 while语句中的表达式值为非零时结束循环D) do-while语句构成的循环,当 while语句中的表达式值为零时结束循环(分数:1.00)A.B.C.D. 解析:4.有以下程序void change(int k)k0=k5;main()int x10=1,2,3,4,5,6,7,8,9,10,n=0;while(

28、n=4)change( n;for(n=0;n5;n) printf(“%d“,xn);printf(“/n“);程序运行后输出的结果是_。A) 678910 B) 13579 C) 12345 D) 62345(分数:1.00)A. B.C.D.解析:评析:本题考点为数组名作函数参数,当 n=O时,把 x0的地址传绐被调函数 change,即将形参k与实参 x指向同一个存储单元 x0,执行被调函数后,k0=6,即 x0=6:当 n=1时,形参 k指向 x数组的第 1个数组元素所在单元,即 k0与 x1共用同一存储单元,执行被调函数后,k0=7,即 x1=7,依次类推得出 x0到 x4的值分别

29、为 6、7、8、 9、10。5.下列 4个关于 C语言的结论中错误的是( )。A) 可以用 dowhile语句实现的循环一定可以用 while语句实现B) 可以用 for语句实现的循环一定可以用 while语句实现C) 可以用 while语句实现的循环一定可以用 for语句实现D) dowhile语句与 while语句的区别仅是关键字“while”出现的位置不同(分数:1.00)A.B.C.D. 解析:解析 本题考查几个循环语句的关系。dowhile 语句、while 语句、for 语句所实现的循环可以相互替代;dowhile 语句和 while 语句的区别是 dowhile语句至少执行一次。

30、6.以下叙述正确的是_。A) 可以把 define和 if定义为用户标识符B) 可以把 define定义为用户标识符,但不能把 if定义为用户标识符C) 可以把 if定义为用户标识符,但不能把 define定义为用户标识符D) define和 if都不能定义为用户标识符(分数:2.00)A.B. C.D.解析:解析 if 是 C语言中的保留字,所以不能作为用户标识符;define 是 C语言中的预编译命令,由于 C语言中的预编译命令都是以#开头,所以 define可以作为用户标识符。7.有如下程序#includeint func(int a,int b)return(a+b);void mai

31、n()int x=2,y=5,z=8,r;r=func(func(x,y),z);coutr;该程序的输出的结果是A) 12B) 13C) 14D) 15(分数:2.00)A.B.C.D. 解析:解析 语句 r=func(func(x,y),z);中,fun(x,y)是一次调用函数,它的值作为 func另一次调用的实参。注意本题调用两次函数。8.有以下程序int fun(int x,int n)static int sum=0,i;for(i=0;iN;i+)NBSP;NBSP;SUM+=XI;return sum;main()int a=1,2,3,4,5,b=6,7,8,9,s=0;s=f

32、un(a,5)+fun(b,4);printf(“%d/n“,s);程序执行后的输出结果是_。(A) 45(B) 50(C) 60(D) 55(分数:2.00)A.B.C. D.解析:9.有如下程序:#include stdio.hmain() int n=9; while(n6) n-; printf(“%d“,n); 该程序的输出结果是( )。A) 987 B) 876 C) 8765 D) 9876(分数:1.00)A.B. C.D.解析:解析 该题目应该根据循环体第一次和最后一次执行时的输出结果来决定哪一项是正确的。第一次进入循环时,n 的值是 9,循环体内,先经过 n-运算,n 的值

33、变为 8,所以第一次的输出值是 8,由此可以排除选项 A)和 D)。由循环条件 n6 可以知道,最后一次循环开始时,n 的值应该为 7,所以最后一次执行循环时,输出为 6,由此可以排除选项 C)。10.若变量已正确说明为 float型,要通过语句 scanf(“%f%f%f“,k=N(M(a,b),c);printf(“%d/n“,k);A)3 B)5 C)6 D)8(分数:2.00)A. B.C.D.解析:解析 带参数的宏定义命令行形式如下:#define 宏名(形参表) 替换文本。首先进行 M的宏替换,之后再进行 N的宏替换,替换后的表达式为(a)*(b)/(C)。15.有以下程序main

34、()int c=35; printf(“%d/n“,cwhile (k0)switch (k)default : break;case 1 : n+=k;case 2 :case 3 : n+=k;k-;printf (“%d/n“,n);程序运行后的输出结果是A) 0 B) 4 C) 6 D) 7(分数:1.00)A.B.C.D. 解析:解析 本题考查的是 switch语句。switch 语句中的 case或 default只是一种入口标号,它并不形成一种子句的概念。当满足其中某个标号的条件而进入 switch语句中时,如果没碰到 break 语句,将一直执行到 switch语句的结尾。题目

35、中使用了一个 while循环使 k从 5递减到 1,当 k=5或 4的时候从default标号进入 switch,碰到 break;语句立即跳出,没有改变 n:当 k=3时,执行了一次 n+=k;k=2 时,也执行了一次 n+=k;k=1 时,执行了两次 n+=k;所以最终 n的值为 3+2+1+1=7。故应该选择 D。19.有以下程序段:main()int a=5, *b, *c;c= b=程序在执行了 c= b= 语句后,表达式*c 的值是_。A) 变量 a的地址 B) 变量 b中的值 C) 变量 a中的值 D) 变量 b的地址(分数:2.00)A.B.C. D.解析:解析 本题中 b是指

36、向 int型的指针变量,c 是指向指针的指针变量。执行完语句 c=k=(n=ba)|(m=ab);printf(“%d,%d/n“,k,m);程序运行后的输出结果是( )。A) 0,0 B) 0,1 C) 1,0 D) 1,1(分数:1.00)A.B.C. D.解析:解析 在“|”运算中当其左边的表达式为真,右边的表达式将不再执行。主函数中,“|”左边的表达式 k=(n=ba),“21”为真,所以 n被赋值为 1,接着 k被赋值 1,即“|”运算符左边表达式为真,此时不再计算“|”右边的表达式,因此 m的值没有被改变仍为 0,最后的输出结果 1,0。所以,4个选项中选项 C符合题意。21.在

37、C程序中,可将整型数以二进制形式存放到文件中的函数是_。Afprint 函数 Bfread 函数 Cfwrite 函数 Dfputc 函数(分数:2.00)A.B.C. D.解析:22.完整的计算机存储器应包括_。A) 软盘、硬盘 B) 磁盘、磁带、光盘C) 内存储器、外存储器 D) RAM、ROM(分数:2.00)A.B.C. D.解析:23.下列不属于软件工程 3个要素的是( )。 A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D. 解析:解析 软件工程包括 3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过

38、程支持软件开发的各个环节的控制、管理。24.下列叙述中正确的是_。A) 有一个以上根结点的数据结构不一定是非线性结构B) 只有一个根结点的数据结构不一定是线性结构C) 循环链表是非线性结构D) 双向链表是非线性结构(分数:2.00)A.B. C.D.解析:解析 本题考查的知识点是数据结构。线性表的链式存储结构称为线性链表,是线性结构,而循环链表和双向链表都是在线性链表的基础上演化而来的,因此,选项 C、D 错误。线性结构必须有且只有一个根结点,因此,选项 A错误。25.下列叙述中正确的是( )。A一个逻辑数据结构只能有一种存储结构B逻辑结构属于线性结构,存储结构属于非线性结构C一个逻辑数据结构

39、可以有多种存储结构,且各种存储结构不影响数据处理的效率D一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(分数:1.00)A.B.C.D. 解析:解析 数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形式,一种数据结构可以根据需要采用不同的存储结构,存储结构有顺序和链式结构。用不同的存储结构,其处理的效率是不同的。26.若已定义 x和 y为 double类型,则表达式 x=1,y=x+3/2的值是_。A) 1 B) 2 C) 2.0 D) 2.5(分数:1.00)A.B.C. D.解析:解析 这是一个逗号表达式,它的值应为表达式式 y=3/2的值,而前一个表达式已给

40、 x赋值 1,在没有进行类型转换的情况下,3/2 的值为 1,所以 x+3/2的值应为 2.0。27.有以下程序:main()int a=0,b=0,C=0,d=0;if(a=1)b=1;c=2;else d=3;printf(“%d,%d,%d,%d/n“,a,b,c,d);程序输出_。A) 0,1,2,0 B) 0,0,0,3 C) 1,1,2,0 D) 编译有错(分数:2.00)A.B.C.D. 解析:解析 C 语言规定最左边变量所得到的新值就是赋值表达式的值,故“if(a=1)”条件表达式为真,b=1;else 总是与上面最近的没有被使用的 if配对,导致不合法的 if-else结构,

41、if 语句后面的两条语句应用“)”括起来。28.下列选项中,不能用做标识符的是_。A) _1234_ B) _1_2 C) int_2_ D) 2_int_(分数:1.00)A.B.C.D. 解析:解析 合法标识符的命名规则是:标识符可以由字母、数字、下画线三种字符组成,并且第一个字符必须为字母或者是下画线,同时,标识符不可以与任意一个关键字同名。在选项 D中,以数字 2开头,不符合标识符的命名规则。29.有以下程序段:int j;float y;char name50;scanf(“%2d%f%s“,当执行上述程序段,从键盘上输入 55566 7777abc后,y 的值为A) 55566.0

42、 B) 566.O C) 7777.O D) 566777.0(分数:1.00)A.B. C.D.解析:解析 本题考查通过 scanf函数输入数据时的格式控制问题。变量 j的格式控制为“%2d”,即只接收输入数据的前两位,从第 3位开始直到空格之间的输入都会被保存到变量 y中,因为 y为浮点型数据,所以输出结果为选项 B)。30.C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构 B) if,switch、breakC) for、while、do-while D) if,for、continue(分数:1.00)A. B.C.D.解析:解析 结构化程序设计是由顺序结构

43、、选择结构和循环结构 3种基本结构组成。31.有如下函数调用语句:func(rec1, rec2+rec3, (rec4, rec5);该函数调用语句中,含有的实参个数是_。A) 3 B) 4 C) 5 D) 有语法错(分数:2.00)A. B.C.D.解析:解析 本题考查函数实参的概念。函数的调用形式为:函数名(实参 1,实参 2,)其中实参可以是常量、变量或表达式,题目中 ree2+rec3是算术表达式,(rec4,rec5)是逗号表达式。32.以下有 4组用户标识符,其中合法的一组是( )。A) for -sub case B) 4dDOSizeC) f2_G3IFabcD) WORDv

44、oiddefine(分数:1.00)A.B.C. D.解析:解析 选项 A中 for和 case为 C语言中的保留字,不能作为用户标志符,故 A错误。选项 B中的4d其开头的第一个为数字,而在 C语言中规定,第一个字符必须为字母或者下划线,故 B错误;选项 D中 void为 C语言中的保留字,不能作为用户标志符,故 D错误。所以,4 个选项中选项 C符合题意。33.有以下程序:int add(int a,int b)return(a+b);main()int k,(*f)(),a=5,b=10;f=add;则以下函数调用语句错误的是_。A) k=(*f)(a,b); B) k=add(a,b)

45、; C) k=*f(a,b); D) k=f(a,b);(分数:2.00)A.B.C. D.解析:解析 选项 C把 f(a,b)整体作为指针了,应该为(*f)(a,b)。34.若已包括头文件string.h且已有定义 char s118,s2=“ABCDE“和 int i,现要将字符串 “ABCDE“赋给 s1,下列语句错误的是( )A) strcpy(s1,s2)B) strcpy(s1,“ABCDE“);C) s1=“ABCDE“;D) for(i=0;i6;i+)s1i=s2i;(分数:1.00)A.B.C. D.解析:解析 数组名 s1是代表 s1数组首地址的地址常量,而不是变量,因为

46、“=”左边不能出现常量, 因此 sl=“ABCDE“的方法是错误的。35.以下数据结构中不属于线性数据结构的是( )。A) 队列 B) 线性表 C) 二叉树 D) 栈(分数:1.00)A.B.C. D.解析:解析 线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。栈是一种特殊的线性表,它只能在固定的一端进行插入和删除操作,又称后进先出表;队列是插入在一端进行,删除在另一端进行的线性表,又称先进先出表。36.以下程序运行后的输出结果是#includestdio.hint f(int t, int n);main()int a4=1, 2, 3, 4, s;s=f(a, 4); printf(“%d/n“, s);int f(int t, int n)if(n0) return tn-1+f(t, n-1);else return 0;A) 4 B) 10 C) 14 D) 6(分数:2.00)A.B. C.D.解析:解析 本题考查函数递归调用。被调函数 f中的 t数组与 main函数中的 a数组共用一组存储单元,根据函数递归调用流程可知:s=f(a, 4)=t3+f(t,3),f(t, 3)=t2+f(t, 2),f(t, 2)=t1+f(t, 1),f(t, 1)=t0+

展开阅读全文
相关资源
猜你喜欢
  • ITU-T T 417 AMD 1-1997 Information Technology - Open Document Architecture (ODA) and Interchange Format Raster Graphics Content Architectures - Series Terminals for Telematic Servi.pdf ITU-T T 417 AMD 1-1997 Information Technology - Open Document Architecture (ODA) and Interchange Format Raster Graphics Content Architectures - Series Terminals for Telematic Servi.pdf
  • ITU-T T 417 AMD 2 SPANISH-2000 Information technology - Open Document Architecture (ODA) and interchange format Raster graphics content architectures Amendment 2《信息技术 开放文档体系结构(ODA).pdf ITU-T T 417 AMD 2 SPANISH-2000 Information technology - Open Document Architecture (ODA) and interchange format Raster graphics content architectures Amendment 2《信息技术 开放文档体系结构(ODA).pdf
  • ITU-T T 417 AMD 2-2000 Information Technology - Open Document Architecture (ODA) and Interchange Format Raster Graphics Content Architectures Amendment 2 Series T Terminals for Tel.pdf ITU-T T 417 AMD 2-2000 Information Technology - Open Document Architecture (ODA) and Interchange Format Raster Graphics Content Architectures Amendment 2 Series T Terminals for Tel.pdf
  • ITU-T T 417 CORR 1 FRENCH-1997 Information technology - Open Document Architecture (ODA) and interchange format Raster graphics content architectures Technical Corrigendum 1《信息技术 开.pdf ITU-T T 417 CORR 1 FRENCH-1997 Information technology - Open Document Architecture (ODA) and interchange format Raster graphics content architectures Technical Corrigendum 1《信息技术 开.pdf
  • ITU-T T 417 CORR 1 SPANISH-1997 Information technology - Open Document Architecture (ODA) and interchange format Raster graphics content architectures Technical Corrigendum 1《信息技术 .pdf ITU-T T 417 CORR 1 SPANISH-1997 Information technology - Open Document Architecture (ODA) and interchange format Raster graphics content architectures Technical Corrigendum 1《信息技术 .pdf
  • ITU-T T 417 CORR 1-1997 Information Technology - Open Document Architecture (ODA) and Interchange Format Raster Graphics Content Architectures Technical Corrigendum 1 - Series T Te.pdf ITU-T T 417 CORR 1-1997 Information Technology - Open Document Architecture (ODA) and Interchange Format Raster Graphics Content Architectures Technical Corrigendum 1 - Series T Te.pdf
  • ITU-T T 417 FRENCH-1993 INFORMATION TECHNOLOGY - OPEN DOCUMENT ARCHITECTURE (ODA) AND INTERCHANGE FORMAT RASTER GRAPHICS CONTENT ARCHITECTURES《信息技术 开放文档体系结构(ODA)和交换格式 光栅图形内容架构 信息通讯.pdf ITU-T T 417 FRENCH-1993 INFORMATION TECHNOLOGY - OPEN DOCUMENT ARCHITECTURE (ODA) AND INTERCHANGE FORMAT RASTER GRAPHICS CONTENT ARCHITECTURES《信息技术 开放文档体系结构(ODA)和交换格式 光栅图形内容架构 信息通讯.pdf
  • ITU-T T 417 SPANISH-1993 INFORMATION TECHNOLOGY - OPEN DOCUMENT ARCHITECTURE (ODA) AND INTERCHANGE FORMAT RASTER GRAPHICS CONTENT ARCHITECTURES《信息技术 开放文档体系结构(ODA)和交换格式 光栅图形内容架构 信息通.pdf ITU-T T 417 SPANISH-1993 INFORMATION TECHNOLOGY - OPEN DOCUMENT ARCHITECTURE (ODA) AND INTERCHANGE FORMAT RASTER GRAPHICS CONTENT ARCHITECTURES《信息技术 开放文档体系结构(ODA)和交换格式 光栅图形内容架构 信息通.pdf
  • ITU-T T 417-1993 Information Technology - Open Document Architecture (ODA) and Interchange Format Raster Graphics Content Architectures - Telematic Services Terminal Equipments and.pdf ITU-T T 417-1993 Information Technology - Open Document Architecture (ODA) and Interchange Format Raster Graphics Content Architectures - Telematic Services Terminal Equipments and.pdf
  • 相关搜索

    当前位置:首页 > 考试资料 > 职业资格

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1