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

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

1、二级 C 语言-1-2 及答案解析(总分:81.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.以下程序的输出结果是_。int f() static int i=0;int s=1;s+=i; i+;return s;main() int i, a=0;for(i=0; i5; i+)a+=f();printf(“% d/n“, a); A. 20 B. 24 C. 25 D. 15(分数:2.00)A.B.C.D.2.下列程序段的输出结果为U /U。#includestdio.hmain() static char a=“language“;char *p;

2、p=a;for(p=a;pa+8;p+=2)putchar(*p); A. language B. lnug C. 有语法错误 D. lang(分数:2.00)A.B.C.D.3.下列选项中不属于结构化程序设计方法的是U /U。 A. 自顶向下 B. 逐步求精 C. 模块化 D. 可复用(分数:2.00)A.B.C.D.4.以下选项中能表示合法常量的是U /U。 A. 整数:1,200 B. 实数:1.5E2.0 C. 字符斜杠:/ D. 字符串:“/007“(分数:1.00)A.B.C.D.5.有以下程序main()int m=12,n=34;printf(“%d%d“,m+,+n);pri

3、ntf(“%d%d/n“,n+,+m);程序运行后的输出结果是 A. 12353514 B. 12353513 C. 12343514 D. 12343513(分数:1.00)A.B.C.D.6.执行下面的语句后,表达式+xb?x:b-+x?+b:x 的值为_。int x=5,b=5; A.6 B.7 C.8 D.9(分数:2.00)A.B.C.D.7.树是结点的集合,它的根结点的数目是U /U。 A. 有且只有 1 个 B. 1 或多于 1 C. 0 或 1 D. 至少有 2 个(分数:2.00)A.B.C.D.8.以下叙述中正确的是_。 A.当对文件的读(写)操作完成之后,必须将它关闭,否

4、则可能导致数据丢失 B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖 C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据 D.C 语言中的文件是流式文件,凶此只能顺序存取数据(分数:1.00)A.B.C.D.9.为了避免嵌套的 if-else 的二义性,C 语言规定:else 与_配对。 A. 缩排位置相同的 if B. 其之前最近的 if C. 其之后最近的 if D. 同一行上的 if(分数:1.00)A.B.C.D.10.有如下程序main() float x=2.0,y;if(x0.0)y=0.0;else if(x10.

5、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.11.有以下程序:main() int x=102,y=012;printf(“%2d,%2d/n“,x,y);执行后输出结果是U /U。 A.10,01 B.02,12 C.102,10 D.02,10(分数:1.00)A.B.C.D.12.有以下程序:#includestdio.hvoid funl(char * p)char * q;q=p;while(*q!=/0)

6、(*q)+;q+;main()char a=“Program“,*p;p=a3;fun1(p);printf(“%s/n“,a);程序执行后的输出结果是_。 A.Prphsbn B.Prohsbn C.Progsbn D.Program(分数:1.00)A.B.C.D.13.以下语句或语句组中,能正确进行字符串赋值的是( )。 A. char *sp; *sp=“right!“; B. char s10; s=“right!“; C. char s10; *s=“right!“; D. char *sp=“right!“;(分数:1.00)A.B.C.D.14.以下叙述正确的是U /U。 A.

7、 在 C 语言程序中,main 函数必须位于程序的最前面 B. C 语言程序的每行中只能写一条语句 C. C 语言本身没有输入输出语句 D. 在对一个 C 语言程序进行编译的过程,可发现注释中的拼写错误(分数:1.00)A.B.C.D.15.在结构化方法中,用数据流程图(DFD) 作为描述工具的软件开发阶段是( )。 A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码(分数:1.00)A.B.C.D.16.以下程序的输出结果是U /U。main()int a,i;a=0;for(i=1; i5:i+) switch(i) case 0:case 3:a+=2;case 1:cas

8、e 2:a+=3;default:a+=5;prinf(“%d/n“,a; A. 31 B. 13 C. 10 D. 20(分数:1.00)A.B.C.D.17.若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这一关系的表达式为 U /U A. a0 B. !a C. a=0 D. a(分数:1.00)A.B.C.D.18.算法中的每一个步骤都必须是有明确意义的,不允许有模棱两可的解释,也不允许有多义性,这个性质称为 A. 可行性 B. 有穷性 C. 正确性 D. 确定性(分数:1.00)A.B.C.D.19.有以下程序#includestdio.hstruct Sin

9、t a,b;data2=10,100,20,200;main() struct S p=data1;printf(“%d/n“,+(p.a);程序运行后的输出结果是_。 A.21 B.11 C.20 D.10(分数:2.00)A.B.C.D.20.C 语言提供的合法的数据类型关键字是_。 A. Double B. float C. integer D. Char (分数:1.00)A.B.C.D.21.有以下程序:#include stdio.hmain() int x=102,y=012;printf(“%2d,%2d/n“,x,y);执行后的输出结果是U /U。 A. 10,01 B. 0

10、2,12 C. 102,10 D. 02,10(分数:1.00)A.B.C.D.22.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是 A. n=0; while( ch=getchar()!=/n) n+; B. n=0; while( getchar()! =/n) n+; C. for( n=0; getehar()!=/n; n+); D. n=0; for( ch=getchar(); ch!=/n; n+);(分数:2.00)A.B.C.D.23.在 printf 的格式字符中,e 格式字符的作用是U /U。 A. 以十六进制无符号形式输出整数 B. 以

11、带符号的十进制形式输出整数 C. 以指数形式输出实数 D. 以字符形式输出,且只输出一个字符(分数:2.00)A.B.C.D.24.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率。与程序的效率相比,人们更重视程序的 A. 安全性 B. 一致性 C. 可理解性 D. 合理性(分数:1.00)A.B.C.D.25.有以下程序main() int i=1, j=l,k=2;if( (j+|k+)执行后输出的结果是 A. 1,1,2 B. 2,2,1 C. 2,2,2 D. 2,2,3(分数:1.00)A.B.C.D.26.有以下程序struct Sint n;int a20;void f

12、(int *a,int n ) int i;for(i=0;iN-1;i+)NBSP;AI+=I;main() int i;struct S s10,2,3,1,6,8,7,5,4,10,9;f(s.a,s.n);for(i=0;iS.N;i+)NBSP;PRINTF(“%D“,S.AI);程序运行后的输出结果是_。 A. 2,4,3,9,12,12,11,11,18,9, B. 3,4,2,7,9,8,6,5,11,10, C. 2,3,1,6,8,7,5,4,10,9, D. 1,2,3,6,8,7,5,4,10,9,(分数:2.00)A.B.C.D.27.下面的关键字中,不能够从循环体中

13、跳到循环体外的是_。 A. goto B. break C. return D. continue(分数:1.00)A.B.C.D.28.数据库设计中反映用户对数据要求的模式是_。 A.内模式 B.概念模式 C.外模式 D.设计模式(分数:2.00)A.B.C.D.29.若有定义:int a410;,则以下选项中对数组元素 aii引用错误的是_。(0=i4,0=i10) A. *(a00十 10*i+j) B. *(a+i)+j C. *(a+i)+j) D. *(ai+j)(分数:2.00)A.B.C.D.30.下列程序的输出结果是_。#include stdio.hmain ()int i

14、=1,j=3;printf(“%d,“,i+);int i=0;i+=j*2;printf(“%d,%d,“,i,j);printf(“%d,%d/n“,i,j); A.1,6,3,1,3 B.1,6,3,2,3 C.1,6,3,6,3 D.1,7,3,2,3(分数:2.00)A.B.C.D.31.有以下程序#includestdio.hmain()FILE *fp;int i=20,j=30,k,n;fp=fopen(“d1.dat“,“w“);fprintf(fp,“%d/n“,i;fprintf(fp,“%d/n“,j);fclose(fp);fp=fopen(“d1.dat“,“r“)

15、;fscanf(fp,“%d%d“, for(p=str; pstr+7; p+=2)putchar(*p); printf(“/n“); A. tomeetme B. tmem C. oete D. tome(分数:2.00)A.B.C.D.34.在表示 C 语言的整型变量时,表示“无符号整型”的符号是 U /U A. unsigned int B. unsigned short C. long int D. unsigned long(分数:1.00)A.B.C.D.35.数字字符 0 的 ASC值为 48,若有以下程序:main() char a=1,b=2;printf(“%c,“,b

16、+);printf(“%d/n“,b-a);程序运行后的输出结果是_。 A. 3,2 B. 50,2 C. 2,2 D. 2,50(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:30.00)36.下面程序的运行结果是_。 typedef union student char name10; long sno; char sex; float score4; STU; main() STU a5; printf(“%d/n“,sizeof(A) ); (分数:4.00)填空项 1:_37.设文件 test. txt 中原已写入字符串 Begin,执行以下程序后,文件中的内

17、容为_。#includemain() FILE *fp;fp=fopen(“test.txt“,“w+“);fputs(“test“,fp);fcloset(p);(分数:2.00)填空项 1:_38.有以下程序: #inciudestdio.h int *f(int *P,int *q); main() int m=1,n=2,*r=m; r=f(r,n);printf(“%d/n“,*r); int *f(int*p,int*q) return(*p*q)?p:q; 程序运行后的输出结果是_(分数:2.00)填空项 1:_39.下列程序的循环次数是_。 x=2; do x=x*x; whi

18、le(!x);(分数:2.00)填空项 1:_40.在一个容量为 32 的循环队列中,若头指针 front=3,尾指针 rear=2,则该循环队列中共有 1 个元素。(分数:2.00)填空项 1:_41.若给 fun 函数的形参 s 传送字符串:“abc-6354abc“,则函数的返回值是_。(字符串中包括空格) long fun(char S) long n;int sign; for(;isspace(*s)|islower(*s);s+); sign=(*s=-)?-1:1; if(*s=+|*s=-)s+; for(n=0;isdigit(*s);s+) n=10*n+(*S-0);

19、return sign*n; (分数:2.00)填空项 1:_42.判定表和判定树是以图文形式描述数据流图的U U /U/U(分数:1.00)填空项 1:_43.已有文本文件 test.txt,其中的内容为:Hello,everyone!。以下程序中,文件 test.txt 已正确为“读”而打开,由此文件指针 fr 指向文件,则程序的输出结果是 【20】 。 #include stdio.h main( ) FILE *fr; char str40; fgets(str,5,fr);printf(“%s/n“,str); fclose(fr); (分数:1.00)填空项 1:_44.以下程序运

20、行后的输出结果是_。 struct NODE int hum; struct NODE *next; ; main ( ) struct NODE s3=1, /0 ,2, /0 ,3, /0 ,*p,*q,*r; int sum=0: s0.next=s+1; s1.next=s+2; s2.next=s: p=s; q=p-next; r=q-next; sum+=q-nexs-num; sum+=r next-next-num: prlntf(“%d/n“,sum ; (分数:3.00)填空项 1:_45.以下程序运行后的输出结果是_。 main() int a,b,c; a = 25;

21、 b = 025; c = 0x25; printf(“%d %d %d/n“,a,b,C) ; (分数:2.00)填空项 1:_46.以下程序的运行结果是_。 #define MAX(a,b)(ab?a:b)+1 main () int i=6,j=8,k; printf(“%d/n“,MAX(i,j); (分数:2.00)填空项 1:_47.函数 sub 的功能是根据下面近似分式求 的值。 (*)/6=1+1/(2*2)+1/(3*3)+1/(n*n) 现在请在下面的函数中填空,完成求 值的功能。 #include“math.h“ double sub(long m) double sum

22、=0.0,t;long n; for(n=1;n=m;n+) sum+=U U /U /U; t=sqrt(6*sum); return(t); (分数:1.00)填空项 1:_48.以下程序的输出结果是U U /U /U。 #include stdioh main() int i; for(i=a;if;i+,i+)printf(“%c“,i-a+A); printf(“/n“); (分数:2.00)填空项 1:_49.若 a 的值为 1,则表达式!a+a 的值是 1。(分数:2.00)填空项 1:_50.以下程序运行后的输出结果是U U /U /U。 #include stdio.h ma

23、in( ) int x=1,y=0,a=0,b=0; switch ( x ) case 1:switch(y) case 0:a +; break; case 1 :b +; break; case 2:a + ;b +*; break; printf(“%d %d/n“,a,b); (分数:2.00)填空项 1:_二级 C 语言-1-2 答案解析(总分:81.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.以下程序的输出结果是_。int f() static int i=0;int s=1;s+=i; i+;return s;main() int i, a

24、=0;for(i=0; i5; i+)a+=f();printf(“% d/n“, a); A. 20 B. 24 C. 25 D. 15(分数:2.00)A.B.C.D. 解析:解析 函数 f 中变量 i 为静态变量,函数 f 调用结束后变量 i 所占据的存储单元不会释放,而在主函数中 f 被调用 5 次,具体过程如下: 第 1 次调用 f:s=s+i=1+0=1,i=i+1=1,主函数中 a=a+f()=0+1=1 第 2 次调用 f:s=s+i=1+1=2,i=i+1=2,主函数中 a=a+f()=1+2=3 第 3 次调用f:s=s+i=1+2=3,i=i+1=3,主函数中 a=a+f

25、()=3+3=6 第 4 次调用 f:s=s+i=1+3=4,i=i+1=4,主函数中a=a+f()=6+4=10 第 5 次调用 f:s=s+i=1+4=5,i=i+4=5,主函数中 a=a+f()=10+5=15 所以 printf 语句的输出结果为 15。2.下列程序段的输出结果为U /U。#includestdio.hmain() static char a=“language“;char *p;p=a;for(p=a;pa+8;p+=2)putchar(*p); A. language B. lnug C. 有语法错误 D. lang(分数:2.00)A.B. C.D.解析:解析 本

26、程序首先定义了静态字符数组 a,然后将指针 p 指向数组 a 的首地址。第 1 次 for 循环,p=a,p 指向数组的第 1 个元素,*p 是取指针 p 所指地址的内容,输出 1;第 2 次 for循环,p=p+2,则 p 指向数组的第 3 个元素,*p 是取指针 p 所指地址的内容,输出 n;第 3 次 for 循环,p=p+2,则 p 指向数组的第 5 个元素,*p 是取指针 p 所指地址的内容,输出 u;第 4 次 for 循环,p=p+2,则 p 指向数组的第 7 个元素,*p 是取指针 p 所指地址的内容,输出 g,结束循环。3.下列选项中不属于结构化程序设计方法的是U /U。 A

27、. 自顶向下 B. 逐步求精 C. 模块化 D. 可复用(分数:2.00)A.B.C.D. 解析:解析 结构化程序设计的主要原则概括为自顶向下、逐步求精和限制使用 GOTO 语句。4.以下选项中能表示合法常量的是U /U。 A. 整数:1,200 B. 实数:1.5E2.0 C. 字符斜杠:/ D. 字符串:“/007“(分数:1.00)A.B.C.D. 解析:解析 选项 A),1200 中间不能有逗号,否则编译时会认为是 1 或出错。选项 B),2.0 错误,必须为整数。选项 C),要表示字符斜杠常量/,应该在反斜杠的前面再加上一个反斜杠。选项 D),字符串常量是用一对双引号括起来的一串字符

28、。5.有以下程序main()int m=12,n=34;printf(“%d%d“,m+,+n);printf(“%d%d/n“,n+,+m);程序运行后的输出结果是 A. 12353514 B. 12353513 C. 12343514 D. 12343513(分数:1.00)A. B.C.D.解析:解析 自增运算符“+”,放在变量之前表示在使用变量之前,先使变量的值加 1;放在变量之后表示在使用变量之后,再使变量的值加 1。第一条输出语句,先输出 m=12,m 再自加 1,变成 13,n 先自加 1 再输出,输出 n=35;第二条输出语句,先输出 n=35,n 再自加 1,变成 36,m

29、先自加 1 再输出,输出 m=14。6.执行下面的语句后,表达式+xb?x:b-+x?+b:x 的值为_。int x=5,b=5; A.6 B.7 C.8 D.9(分数:2.00)A. B.C.D.解析:7.树是结点的集合,它的根结点的数目是U /U。 A. 有且只有 1 个 B. 1 或多于 1 C. 0 或 1 D. 至少有 2 个(分数:2.00)A.B.C. D.解析:解析 树具有明显的层次关系,即树是一种层次结构。在树结构中,根结点在第一层上。当树为非空时,树中有且只有一个根结点,当树为空时,树中根结点的数目为 0。8.以下叙述中正确的是_。 A.当对文件的读(写)操作完成之后,必须

30、将它关闭,否则可能导致数据丢失 B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖 C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据 D.C 语言中的文件是流式文件,凶此只能顺序存取数据(分数:1.00)A. B.C.D.解析:解析 B 选项中打开一个已存在的文件并进行了写操作后,原有文件中的全部数据不一定被覆盖,也可以对源文件进行追加操作等。C 选项中在一个程序中当对文件进行了写操作后,不用先关闭该文件然后再打开,才能读到第 1 个数据,可以用 fseek()函数进行重新定位即可。D 选项中,C 语言中的文件可以进行随机读写。故

31、本题答案为 A。9.为了避免嵌套的 if-else 的二义性,C 语言规定:else 与_配对。 A. 缩排位置相同的 if B. 其之前最近的 if C. 其之后最近的 if D. 同一行上的 if(分数:1.00)A.B. C.D.解析:解析 在 if 语句中又包含个或多个 if 语句称为 if 语句的嵌套。应当注意 if 与 else 的配对关系,在 C 语言中,从最内层开始,else 总是与它上面最近的(未曾配对的)if 配对。10.有如下程序main() float x=2.0,y;if(x0.0)y=0.0;else if(x10.0)y=1.0/x;else y=1.0;prin

32、tf(“%f/n“,y);该程序的输出结果是 A. 0.000000 B. 0.250000 C. 0.500000 D. 1.000000(分数:1.00)A.B.C. D.解析:解析 该题目测验考生对 ifelse if 结构的理解,比较简单。x 的值满足 x10.0 的关系,所以程序将执行 y=1.0/x;语句,y 的值应该等于 0.5。最后,用 printf 函数输出时,%f 的输出格式为小数点后保留 6 位。11.有以下程序:main() int x=102,y=012;printf(“%2d,%2d/n“,x,y);执行后输出结果是U /U。 A.10,01 B.02,12 C.1

33、02,10 D.02,10(分数:1.00)A.B.C. D.解析:解析 x 的值为十进制数 102,而 y 的值为八进制数 012,根据题意将 y 用十进制表示为10%md,m 为指定输出数据的宽度,若位数小于 m 则左端补以空格,若位数大于 m 则按实际输出。所以答案是 C。12.有以下程序:#includestdio.hvoid funl(char * p)char * q;q=p;while(*q!=/0)(*q)+;q+;main()char a=“Program“,*p;p=a3;fun1(p);printf(“%s/n“,a);程序执行后的输出结果是_。 A.Prphsbn B.

34、Prohsbn C.Progsbn D.Program(分数:1.00)A.B. C.D.解析:解析 (*q)+是 q 所指的字符加 1,q+就是指针移到下一个字符,因此 B 选项正确。13.以下语句或语句组中,能正确进行字符串赋值的是( )。 A. char *sp; *sp=“right!“; B. char s10; s=“right!“; C. char s10; *s=“right!“; D. char *sp=“right!“;(分数:1.00)A.B.C.D. 解析:在选项 A 中,首先定义了一个字符指针 sp,然后将个字符串赋给甲所指的地址,这是错误的。因为 sp 是一个未经初

35、始化的野指针,不知其指向哪儿,往一个不确定的地址中写数据很容易让程序出错。选项 B 首先定义了一个字符数组,然后将一个字符串赋给数组名,这是错误的。因为数组名是一个指针常量,不可以被改变。选项 C 首先定义了个字符数组,然后将个字符串赋给数组的第一个元素,这也是错误的。因为字符串在表达式中相当于一个常字符指针,将一个指针值赋给一个字符型变量是行不通的。选项 D 是定义一个字符指针 sp,同时使其指向一个字符串常量,即将个常字符型指针赋给 sp。这是可行的。所以,4 个选项中选项 D 符合题意。14.以下叙述正确的是U /U。 A. 在 C 语言程序中,main 函数必须位于程序的最前面 B.

36、C 语言程序的每行中只能写一条语句 C. C 语言本身没有输入输出语句 D. 在对一个 C 语言程序进行编译的过程,可发现注释中的拼写错误(分数:1.00)A.B.C. D.解析:解析 考查 C 语言的几个基本概念。 解题要点 选项 A)中,main 函数可以放在程序的任何位置,不一定要放在程序的最前面,不论 main 函数放在什么位置,程序的执行却总是从 main 函数开始的;选项B)中,因为 C 语言的语法限制不严格,所以可以多条语句放在同一行上;选项 C)是正确的,C 语言中没有专门的输入输出语句,输入输出是通过使用输入输出库函数来实现的;选项 D)是错误的,因为 C 语言中的注释是不会

37、被编译的。 考点链接 掌握算法的相关特性。15.在结构化方法中,用数据流程图(DFD) 作为描述工具的软件开发阶段是( )。 A. 可行性分析 B. 需求分析 C. 详细设计 D. 程序编码(分数:1.00)A.B. C.D.解析:解析 软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段。其中需求分析阶段常用的工具是数据流图和数据字典。本题答案为 B)。16.以下程序的输出结果是U /U。main()int a,i;a=0;for(i=1; i5:i+) switch(i) case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;pr

38、inf(“%d/n“,a; A. 31 B. 13 C. 10 D. 20(分数:1.00)A. B.C.D.解析:解析 本题考查用于多分支选择的 switch 语句,其一般形式为: switch(表达式) case 常量表达式 1:语句 1; case 常量表达式 2:语句 2; case 常量表达式 n:语句 n; default:语句 n+1; 其语义是:计算表达式的值,并逐个与其后的常量表达式值进行比较,当表达式的值与某个常量表达式的值相等时,即执行其后的语句,然后不再进行判断,继续执行后面所有 case 后的语句;如表达式的值与所有 case 后的常量表达式均不相等时,则执行 def

39、ault 后的语句。17.若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这一关系的表达式为 U /U A. a0 B. !a C. a=0 D. a(分数:1.00)A.B.C.D. 解析:18.算法中的每一个步骤都必须是有明确意义的,不允许有模棱两可的解释,也不允许有多义性,这个性质称为 A. 可行性 B. 有穷性 C. 正确性 D. 确定性(分数:1.00)A.B.C.D. 解析:解析 算法中的每一个步骤都必须是有明确意义的,不允许有多义性。算法的这个性质即为算法的确定性。19.有以下程序#includestdio.hstruct Sint a,b;data2=1

40、0,100,20,200;main() struct S p=data1;printf(“%d/n“,+(p.a);程序运行后的输出结果是_。 A.21 B.11 C.20 D.10(分数:2.00)A. B.C.D.解析:解析 声明 data 是结构体型 S 的数组。初始化时 data0.a=10; data0.b=100;data1.a=20;data1.b=200。主函数中 p=data1 ; 即 p.a=data1.a;p.b=data1.b;执行语句printf(“%dn“,+(p.a); 打印输出时 p.a 先增 1 再打印。即 p.a = data1.a=20,先增 1 等于 2

41、1,因此程序运行结果是 21。20.C 语言提供的合法的数据类型关键字是_。 A. Double B. float C. integer D. Char (分数:1.00)A.B. C.D.解析:解析 选项 A 和 D 中第个字母大写,不正确;选项 C 是 PASCAL 中的整型关键字,不是 C 语言中的关键字。21.有以下程序:#include stdio.hmain() int x=102,y=012;printf(“%2d,%2d/n“,x,y);执行后的输出结果是U /U。 A. 10,01 B. 02,12 C. 102,10 D. 02,10(分数:1.00)A.B.C. D.解析

42、:解析 y=012 是将八进制数 12 赋给变量 y。格式符%d,用于输出十进制整数;%md,m 为指定的输出值的宽度,如果数据的位数小于 m,则左端补以空格,若大于 m,则按实际位数输出。本题是将八进制数 12 也按十进制数输出,八进制数 12 转换为十进制数为 10,输出结果为 102,10。22.设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是 A. n=0; while( ch=getchar()!=/n) n+; B. n=0; while( getchar()! =/n) n+; C. for( n=0; getehar()!=/n; n+); D. n

43、=0; for( ch=getchar(); ch!=/n; n+);(分数:2.00)A.B.C.D. 解析:解析 选项 D 中 ch=getchar()的操作,在 for 语句中所处的位置决定了此操作仅做一次,即只能从键盘上接收一个字符。如果该字符是回车符,则只循环一次就退出;如果输入一个非回车字符,则程序进入无限循环。23.在 printf 的格式字符中,e 格式字符的作用是U /U。 A. 以十六进制无符号形式输出整数 B. 以带符号的十进制形式输出整数 C. 以指数形式输出实数 D. 以字符形式输出,且只输出一个字符(分数:2.00)A.B.C. D.解析:解析 本题考查 print

44、f。函数的格式。格式字符“e”或者“E”都表示以指数形式输出单精度或双精度数。24.在结构化程序设计思想提出之前,在程序设计中曾强调程序的效率。与程序的效率相比,人们更重视程序的 A. 安全性 B. 一致性 C. 可理解性 D. 合理性(分数:1.00)A.B.C. D.解析:解析 结构化程序设计方法设计出的程序具有明显的优点。其一,程序易于理解、使用和维护;其二,提交了编程工作的效率,降低了软件开发成本。其中,人们更重视前者。25.有以下程序main() int i=1, j=l,k=2;if( (j+|k+)执行后输出的结果是 A. 1,1,2 B. 2,2,1 C. 2,2,2 D. 2,2,3(分数:1.00)A.B.C. D.解析:解析 本题考核的知识点是 if 语句的应用。首先计算 if 语句后面的表达式值,先计算运算符int a20;void f(int *a,int n ) int i;for(i=0;iN-1;i+)NBSP;AI+=I;main() int i;s

展开阅读全文
相关资源
猜你喜欢
相关搜索

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

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