1、二级 C 语言笔试 317 及答案解析(总分:101.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:71.00)1.以下 4 组用户定义标识符中,全部合法的一组是 _。(分数:2.00)A._main enclude sinB.If -max turboC.txt REAL 3COMD.int k_2 _0012.有以下程序: main() char s=“ABCD“,*p; for (p=s+1;ps+4;p+ )printf(“%s/n“,p); 程序运行后的输出结果是 _。(分数:2.00)A.ABCD BCD CD DB.A B C DC.B C DD.BCD CD
2、 D3.设有定义:long x=123456L;,则以下能够正确输出变量 x 值的语句是 _。(分数:2.00)A.printf(“x=%d/n“,;B.printf(“x=%1d/n“,;C.printf(“x=%8dL/n“,;D.printf(“x=%LD/n“,;4.有以下程序: main() int x=1,3,5,7,2,4,6,0,i,j,k; for(i=0;i3;i+) for (j=2;j=i;j-) if (xj+1)xj)k=xj;xj;xj+1);xj+1=k; for (i=0;i3;i+) for (j=4;j7-i;j+) if (xjxj+1)k=xj;xj=
3、xj+1;xj+1)=k; for(i=0;i8;i+)printf(“%d“,xi); printf(“/n“); 程序运行后的输出结果是 _。(分数:2.00)A.75310246B.01234567C.76310462D.135702465.有以下程序: main() unsignedchar a,b; a= 4|3; b=4 printf(“%d%d/n“,a,b); 执行后输出结果是 _。(分数:2.00)A.7 0B.0 7C.1 1D.43 06.有以下程序: void sum(int a) a0=a-1)+a1; main() int a10=(1,2,3,4,5,6,7,8,
4、9,10;sum(else printf(“%d/n“,;B.if(a= =0) printf(“%d/n“,;else printf(“%d/n“,;C.if(a!=0)printf(“%d/n“,;else printf(“%d/n“,;D.if(a= =0)printf(“%d/n“,;else printf(“%d/n“,;8.在 C 语言中,函数的隐含存储类别是 _。(分数:2.00)A.autoB.staticC.externD.无存储类别9.有以下程序: void sum(int *a) a0= a1; main() int aa10=1,2,3,4,5,6,7,8,9,10,i
5、; for(i=2;i=0;i-)sum( 执行后的输出结果是 _。(分数:2.00)A.4B.3C.2D.110.有以下程序: main() int m=12,n=34; printf(“%d %d“,m+,+n);printf(“%d%d/n“,n+,+m); 程序运行后的输出结果是 _。(分数:2.00)A.12353514B.12353513C.12343514D.1234351311.以下不能正确定义二维数组的选项是 _。(分数:1.00)A.int a22=1,2;B.int a2=1,2,3,4;C.int a22=1,2,3;D.int a2=1,2,3,4;12.有以下程序:
6、 # includestring.h main() char str20=“Hello“,“Beijing“,*p=str; printf(“%d/n“,strlen(p+20); 程序运行后的输出结果是 _。(分数:1.00)A.0B.5C.7D.2013.已知 i、j、k 为 int 型变量,若从键盘输入:1,2,3回车,使 i 的值为 1、j 的值为 2、k 的值为3,以下选项中正确的输入语句是 _。(分数:1.00)A.sanf(“%2d %2d %2d“,B.scanf(“%d %d %d“,C.scanf(“%d,%d,%d“,D.scanf(“i=%d,j=%d,k=%d“,14
7、.设函数 fun 的定义形式为: void fun(char ch,float x) 则以下对函数 fun 的调用语句中,正确的是 _。(分数:1.00)A.fun(“abc“,3.0);B.t=fun(D,16.5);C.fun(65,2,8);D.fun(32,32);15.有以下程序: char fun(char x,char y if(xy)return x; return y; main() int a=9,b=8,c=7; printf(“%c/n“,fun(fun(a,b),fun(b,c) ); 程序的执行结果是 _。(分数:1.00)A.函数调用出错B.8C.9D.716.若
8、整型变量 a、b、c、d 中的值依次为:1、4、3、2,则条件表达式 ab?a:cd?c:d 的值是 _。(分数:1.00)A.1B.2C.3D.417.以下能正确定义一维数组的选项是 _。(分数:1.00)A.int num;B.#define N 100 int num;C.int num0100;D.int N=100; int num;18.有以下程序: main() int I; For (i=0;i3;i+) switch(i) case 0:printf(“%d“,i); case 2:printf(“%d“,i); default:printf(“%d“,i); 程序运行后的输
9、出结果是 _。(分数:1.00)A.022111B.021021C.000122D.01219._语言负责数据的模式定义与数据的物理存取构建。(分数:2.00)A.数据操纵语言(DMB.数据控制语言(DCC.结构化查询语言(SQD.数据定义语言(DD20.设有定义:int n1=0,n2,*p=,以下赋值语句中与 n2=n1;语句等价的是 _。(分数:1.00)A.*p=*q;B.p=q;C.*p=21.若 x 和 y 代表整型数,以下表达式中不能正确表示数学关系|x-y|10 的是 _。(分数:2.00)A.abs(x-10B.x-y-10,则能正确从键盘读入 3 个整数分别赋给变量 a、b
10、、c 的语句是 _。(分数:2.00)A.scanf(“%d %d %d“,B.scanf(“%d %d %d“,C.scanf(“%d %d %d“,a,b,;D.scanf(“% d% d%d“,a,b,*;23.以下程序段的输出结果是 _。 int a=1234; printf(“% 2d/n“,a);(分数:2.00)A.12B.34C.1234D.提示出错、无结果24.有以下程序: # includestdio.h main() char*p,*q; p=(char *)malloc(sizeof(char)* 20);q=p; scanf(“%s %s“,p,q);printf(“
11、%s %s/n“,p,q); 若从键盘输入;abc def回车,则输出结果是 _。(分数:2.00)A.def defB.abc defC.abe dD.d d25.有以下程序: main() int i=0,s=0; for(;) if(i=3|i=5)continue; if(i=6)break; i+; s+=i; ; printf(“%d/n“,s); 程序运行后的输出结果是 _。(分数:2.00)A.10B.13C.21D.程序进入死循环26.已定义 c 为字符型变量,则下列语句中正确是 _。(分数:2.00)A.c=97;B.c=“97“;C.c=97;D.c=“a“;27.执行下
12、列程序时输入:123空格456空格789回车,输出结果是 _。 main() char s100;int c,i; scanf(“%c“, scanf(“%d“, scanf(“%s“,s); printf(“%c,%d,%s/n“,c,i,s); (分数:2.00)A.123,456,789B.1,456,789C.1,23,456,789D.1,23,45628.下述关于数据库系统的叙述中正确的是 _。(分数:2.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据29.以下叙述中错误的是 _。(
13、分数:2.00)A.对于 double 类型数组,不可以直接用数组名对数组进行整体输入或输出B.数组名代表的是数组所占存储区的首地址,其值不可改变C.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D.可以通过赋初值的方式确定数组元素的个数30.以下数据库除 _外,均为严格意义上的 DBMS 系统。(分数:2.00)A.OracleB.AccessC.Sybase 的 PowerBuilderD.SQL Server31.x、y、z 被定义为 int 型变量,若从键盘给 x、y、z 输入数据,正确的输入语句是 _。(分数:2.00)A.INPUT x、y、z
14、;B.scanf(“%d%d%d“,C.scanf(“%d%d%d“,x,y,;D.read(“%d %d %d“,32.有以下程序: main() int a=5,b=4,c=3,d=2; if(abc) printf(“%d/n“,d); else if(c-1=d)=1) printf(“%d/n“,d+1); else printf(“%d/n“,d+2); 执行后输出结果是 _。(分数:2.00)A.2B.3C.4D.编译时有错,无结果33.以下程序的功能是:给 r 输入数据后计算半径为 r 的圆面积 s。程序在编译时出错。 main() /* Beginning*/ int r;f
15、loat s; scanf(“%d“, s=*r*r*r;printf(“s= %f/n“,s); 出错的原因是 _。(分数:2.00)A.注释语句书写位置错误B.存放圆半径的变量不应该定义为整型C.输出语句中格式描述符非法D.计算圆面积的赋值语句中使用了非法变量34.以下选项中可以作为 C 语言中合法整数的是 _。(分数:2.00)A.10110BB.0386C.0XffaD.x2a235.有以下程序: main() int p8=11,12,13,14,15,16,17,18,i=0,j=0; while(i+7)if(pi%2)j+=pi; printf(“%d/n“,j); 程序运行后
16、的输出结果是 _。(分数:2.00)A.42B.45C.56D.6036.已经定义 ch 为字符型变量,以下赋值语句中错误的是 _。(分数:2.00)A.ch=/;B.ch=62+3;C.ch=NULL;D.ch=/xaa;37.有以下程序,其中函数的功能是将多个字符串按字典顺序排序: # includestring.h void f(char*p,int n) char *t; int i,j; for(i=0;in-1;i+) for(j=i+1;jn;j+) if(strcmp(pi,pj)0)t=pi;pi=pjpj=t; main() char *p5=“abc“,“aabdfg“,
17、“abbd“,“dcdbe“,“cd“; f(p,5); printf(“%d/n“,strlen(p1); 程序运行后的输出结果是 _。(分数:2.00)A.2B.3C.6D.438.有以下程序: main() char s=“Yes/n/No“,*ps=s; puts(ps+4); *(ps+4)=0; puts(s); 程序运行后的输出结果是(选项 D 中的第一行是空行) _。(分数:2.00)A.n/No Yes /NoB./No Yes YesC.n/No /NoD.Yes /No39.设有以下定义: int a=0; double b=1.25; char c=A # define
18、 d2 则下面语句中错误的是 _。(分数:2.00)A.a+;B.b+;C.c+D.d+40.有以下程序: main() int a=1,b=2,m=0,n=0,k; k=(n=ba)|(m=ab); printf(“%d,%d/n“,k,m); 程序运行后的输出结果是 _。(分数:2.00)A.0,0B.0,1C.1,0D.1,1二、B填空题/B(总题数:15,分数:30.00)41.以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 main() int t=0,s=0,i; for(i=1;i=5;i+) t=i+U 【1】 /U;s=s+t; printf(“s
19、=%d/n“,s); (分数:2.00)填空项 1:_42.以下程序段的输出结果是U 【2】 /U。 int i=9; printf(“%o/n“,i);(分数:2.00)填空项 1:_43.已知字符 A 的 ASCII 码值为 65,以下语句的输出结果是U 【3】 /U。 char ch=B; printf(“%c%d/n“ch,ch);(分数:2.00)填空项 1:_44.已有定义:double*p;,请写出完整的语句,利用 malloc 函数使 p 指向一个双精度型的动态存储单元U 【4】 /U。(分数:2.00)填空项 1:_45.以下程序运行后的输出结果是U 【5】 /U。 int
20、a=5; fun(int b) static int a=10; a+=b+; printf(“%d“,a); main() int c=20; fun(c); a+=c+; printf(“%d/n“,a); (分数:2.00)填空项 1:_46.有以下程序: # includestdio.h main() char ch1,ch2; int n1,n2 ch1=getchar(); ch2=getchar(); n1=ch1-0; n2=n1*10+(ch2-0); printf(“%d/n“,n2); 程序运行时输入:12回车,执行后的输出结果是U 【6】 /U。(分数:2.00)填空项
21、 1:_47.以下程序运行后的输出结果是U 【7】 /U。 main() int x=1,y=0,a=0,b=0; switch (x) case1:switch (y) case0:a+;break; case1:b+;break; case2:a+;b+;break; printf(“% d%d/n“,a,b); (分数:2.00)填空项 1:_48.若有以下程序: main() int a=4,b=3,c=5,t=0; if(ab)t=a;a=b;b=t; if(ac)t=a; a=c; c=t; printf(“%d %d %d/n“,a,b,c); 执行后的输出结果是U 【8】 /U
22、。(分数:2.00)填空项 1:_49.以下程序运行后的输出结果是U 【9】 /U。 main() int a=1,b=3,c=5; if(c=a+b) printf(“yes/n“); else printf(“no/n“); (分数:2.00)填空项 1:_50.以下程序运行时若从键盘输入:10 20 30回车,输出结果是U 【10】 /U。 # includestdio.h main() int i=0,j=0,k=0; scanf(“%d% *d%d“,printf(“%d %d %d/n“,i,j,k); (分数:2.00)填空项 1:_51.以下程序运行后的输出结果是U 【11】
23、/U。 main() int i,n=0,0,0,0,0; for(i=1;i=4;i+) ni=ni-1*2+1; printf(“%“,ni); (分数:2.00)填空项 1:_52.以下程序的运行结果是U 【12】 /U。 # includestring.h typedef struct student char name10; long sno); float score STU; main() STU a=“zhangsan“,2001,95,b=“Shangxian“,2002,90 c=“Anhua“,2003,95,d,*p= d=a; if(strcmp(a.name,b.n
24、ame)0)d=b; if(strcmp(c.name,d.name)0)d=c; printf(“%1d%s/n“,d.sno,p-name); (分数:2.00)填空项 1:_53.以下程序运行后输入:3,abcde回车,则输出结果是U 【13】 /U。 # includestring.h move(char *str,int n) char temp int i; temp=strn-1); for(i=n-1;i0;i-)stri=stri-1; str0=temp main() char s50;iht n,i,z; scanf(“%d,%s“, z=strlen(s); for(i
25、=1;i=n;i+)move(s,z); printf(“s/n“,s); (分数:2.00)填空项 1:_54.以下程序运行后的输出结果是U 【14】 /U。 fun(iht x) if(x/20) fun(x/2); printf(“%d“,x); main() fun(6); (分数:2.00)填空项 1:_55.以下程序运行后的输出结果是U 【15】 /U。 main() int i,j,a3=1,2,3,4,5,6,7,8,9; for(i=0;i3;i+) for(j=i+1;j3;j+)aji=0; for(i=0;i3;i+) for(j=0;j3;j+)printf(“%d“
26、,aij); printf(“/n“); (分数:2.00)填空项 1:_二级 C 语言笔试 317 答案解析(总分:101.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:71.00)1.以下 4 组用户定义标识符中,全部合法的一组是 _。(分数:2.00)A._main enclude sin B.If -max turboC.txt REAL 3COMD.int k_2 _001解析:解析 选项 C 中有非法标示符-max,错误;选项 B 中有非法标示符 3COM;选项 D 中有非法标示符int。选项 A 正确。2.有以下程序: main() char s=“ABCD“
27、,*p; for (p=s+1;ps+4;p+ )printf(“%s/n“,p); 程序运行后的输出结果是 _。(分数:2.00)A.ABCD BCD CD DB.A B C DC.B C DD.BCD CD D 解析:解析 第一次执行 for 循环时,p 指向 s1=B,故输出 BCD;第二次执行 for 循环时,p 指向 s2=C,故输出 CD;第三次执行 for 循环时,p 指向 s3=D,故输出 D。正确答案为 D。3.设有定义:long x=123456L;,则以下能够正确输出变量 x 值的语句是 _。(分数:2.00)A.printf(“x=%d/n“,;B.printf(“x=
28、%1d/n“,; C.printf(“x=%8dL/n“,;D.printf(“x=%LD/n“,;解析:解析 x 是长整型变量,因此其输出格式字符应为“%1d”,所以正确答案为选项 B。4.有以下程序: main() int x=1,3,5,7,2,4,6,0,i,j,k; for(i=0;i3;i+) for (j=2;j=i;j-) if (xj+1)xj)k=xj;xj;xj+1);xj+1=k; for (i=0;i3;i+) for (j=4;j7-i;j+) if (xjxj+1)k=xj;xj=xj+1;xj+1)=k; for(i=0;i8;i+)printf(“%d“,xi
29、); printf(“/n“); 程序运行后的输出结果是 _。(分数:2.00)A.75310246 B.01234567C.76310462D.13570246解析:解析 本题中第一次执行 for 循环后,数组 x 中的前四个元素按由大到小的次序排序,即 x0=7、x1=5、x2=3、 x3=1、x4=2、x5=4、x6=6、x7=0;第二次执行 for 循环后,数组 x 中的后 4 个元素按由小到大的次序排序,即此时 x0=7、x1=5、x2=3、x3=1、x4=0、x5=2、x6=4、x7=6。故正确答案为 A。5.有以下程序: main() unsignedchar a,b; a= 4
30、|3; b=4 printf(“%d%d/n“,a,b); 执行后输出结果是 _。(分数:2.00)A.7 0 B.0 7C.1 1D.43 0解析:解析 a=43=00000100|00000011=00000111=7, b=4 main() int a10=(1,2,3,4,5,6,7,8,9,10;sum(else printf(“%d/n“,;B.if(a= =0) printf(“%d/n“,;else printf(“%d/n“,;C.if(a!=0)printf(“%d/n“,;else printf(“%d/n“,;D.if(a= =0)printf(“%d/n“,;else
31、 printf(“%d/n“,; 解析:解析 本题中选项 A、选项 B 和选项 C 中的 if 条件语句都是在 a=0 时输出 y,a!=0 时输出 x。8.在 C 语言中,函数的隐含存储类别是 _。(分数:2.00)A.autoB.staticC.extern D.无存储类别解析:解析 C 语言规定,只要在定义函数时不进行存储类型的显式说明,函数的存储类型就隐含为外部类型,即 extern 型,外部类型允许其他文件中的函数调用。9.有以下程序: void sum(int *a) a0= a1; main() int aa10=1,2,3,4,5,6,7,8,9,10,i; for(i=2;i
32、=0;i-)sum( 执行后的输出结果是 _。(分数:2.00)A.4 B.3C.2D.1解析:解析 分析函数调用即得。10.有以下程序: main() int m=12,n=34; printf(“%d %d“,m+,+n);printf(“%d%d/n“,n+,+m); 程序运行后的输出结果是 _。(分数:2.00)A.12353514 B.12353513C.12343514D.12343513解析:解析 m+表示先输出 m,再 m+1,+n 表示先 n+1,再输出 n,因此第一条输出语句出 1235,第二条语句输出 3514。11.以下不能正确定义二维数组的选项是 _。(分数:1.00
33、)A.int a22=1,2;B.int a2=1,2,3,4;C.int a22=1,2,3;D.int a2=1,2,3,4; 解析:解析 选项 D 在定义数组 a 时没有指定第二维的长度,错误。12.有以下程序: # includestring.h main() char str20=“Hello“,“Beijing“,*p=str; printf(“%d/n“,strlen(p+20); 程序运行后的输出结果是 _。(分数:1.00)A.0B.5C.7 D.20解析:解析 本题中定义了一个 220 的二维字符数组 str,并且初始化为 str0=“Hello“,str1=“Beijin
34、g“,p 是指向 char 型的指针变量,并指向 str 数组的首地址,strlen(p+20)=strlen(str1)=7。13.已知 i、j、k 为 int 型变量,若从键盘输入:1,2,3回车,使 i 的值为 1、j 的值为 2、k 的值为3,以下选项中正确的输入语句是 _。(分数:1.00)A.sanf(“%2d %2d %2d“,B.scanf(“%d %d %d“,C.scanf(“%d,%d,%d“, D.scanf(“i=%d,j=%d,k=%d“,解析:解析 scanf 函数的格式控制部分中的非格式字符按原样输入,本题指出键盘输入为:1,2,3回车,各个数据之间用“,”分隔
35、,所以 scanf 函数中应包含“,”,选项 D 中虽然包括“,”号,但是还包含非格式字符 i=、j=和 k=,正确答案为选项 C。14.设函数 fun 的定义形式为: void fun(char ch,float x) 则以下对函数 fun 的调用语句中,正确的是 _。(分数:1.00)A.fun(“abc“,3.0);B.t=fun(D,16.5);C.fun(65,2,8); D.fun(32,32);解析:解析 A 选项“abc“的表示字符串,与参数类型不一样。B 选项 fun 没有返回值,不能将其用来赋值。D 选项第一个 32 不是字符,与参数类型不一样。15.有以下程序: char
36、 fun(char x,char y if(xy)return x; return y; main() int a=9,b=8,c=7; printf(“%c/n“,fun(fun(a,b),fun(b,c) ); 程序的执行结果是 _。(分数:1.00)A.函数调用出错B.8C.9D.7 解析:解析 本题 a=9,b=8,c=7,函数调用 fun(a,B) 的返回值为8,fun(b,c)的返回值为7,所以 fun(fun(a,b),fun (b,c)=fun(8,7)=7。16.若整型变量 a、b、c、d 中的值依次为:1、4、3、2,则条件表达式 ab?a:cd?c:d 的值是 _。(分数
37、:1.00)A.1 B.2C.3D.4解析:解析 因为 ab 成立,此表达式的值就为 1。17.以下能正确定义一维数组的选项是 _。(分数:1.00)A.int num;B.#define N 100 int num; C.int num0100;D.int N=100; int num;解析:解析 C 语言不允许对数组进行动态定义,选项 D 错误;选项 A 没有指定数组元素的个数;选项C 中定义格式错误;正确答案为选项 B,其中 N 是符号常量。18.有以下程序: main() int I; For (i=0;i3;i+) switch(i) case 0:printf(“%d“,i); c
38、ase 2:printf(“%d“,i); default:printf(“%d“,i); 程序运行后的输出结果是 _。(分数:1.00)A.022111B.021021C.000122 D.012解析:解析 本题考查 switch 语句的执行过程。如果 case 语句中没有 break 语句,则顺序执行。因此第一次循环 i=0 被输出了 3 次,i=1 被输出一次,i=2 被输出两次。19._语言负责数据的模式定义与数据的物理存取构建。(分数:2.00)A.数据操纵语言(DMB.数据控制语言(DCC.结构化查询语言(SQD.数据定义语言(DD 解析:解析 数据库管理系统一般提供以下 3 种数
39、据语言(Data Language),来完成它的功能。 (1)数据定义语言(DDL,Data Definition Language)。该语言负责数据的模式定义与数据的物理存取构建。显然D 为正确答案。 (2)数据操纵语言(DML,Data Manipulation Language)。该语言负责数据的操纵,包括查询及增、删、改等操作。 (3)数据控制语言(DCL,Data Control Language)。该语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能,包括系统初启程序、文件读写与维护程序、存取路径管理程序、缓冲区管理程序、安全性控制程序、完整性检查程序、并发控制程序
40、、事务管理程序、运行日志管理程序、数据库恢复程序等。20.设有定义:int n1=0,n2,*p=,以下赋值语句中与 n2=n1;语句等价的是 _。(分数:1.00)A.*p=*q; B.p=q;C.*p=解析:解析 由定义*p=,则能正确从键盘读入 3 个整数分别赋给变量 a、b、c 的语句是 _。(分数:2.00)A.scanf(“%d %d %d“, B.scanf(“%d %d %d“,C.scanf(“%d %d %d“,a,b,;D.scanf(“% d% d%d“,a,b,*;解析:解析 scanf 函数中格式控制后面应为变量地址列表,因此选项 C 和选项 D 都错误,选项 B
41、中“ printf(“% 2d/n“,a);(分数:2.00)A.12B.34C.1234 D.提示出错、无结果解析:解析 本题考查 printf 函数中附加格式字符的用法。本题中的“2”是附加格式字符,其作用是指定变量 a 的输出宽度为两列,而本题中 a 的值为 1234,已经超过两列,所以按实际值输出,正确答案为选项 C。24.有以下程序: # includestdio.h main() char*p,*q; p=(char *)malloc(sizeof(char)* 20);q=p; scanf(“%s %s“,p,q);printf(“%s %s/n“,p,q); 若从键盘输入;ab
42、c def回车,则输出结果是 _。(分数:2.00)A.def def B.abc defC.abe dD.d d解析:解析 本题考查%s 控制符在 scanf 函数中的应用。scanf 函数中%s 控制符的作用是将键盘输入的字符串送到内存,输入的字符串从第一个非空格字符算起,遇到空格或回车就认为是输入结束。本题中执行语句 scanf(“%s%s“,p,q)时,从键盘输入 abc def回车后,指针变量 p 指向字符串“abc/0“,q 指向字符串“def/0“,但是由于 p 和 q 指向同一个存储单元,所以存储单元中存放的是“def/0“,printf 函数的输出结果为 def def。25
43、.有以下程序: main() int i=0,s=0; for(;) if(i=3|i=5)continue; if(i=6)break; i+; s+=i; ; printf(“%d/n“,s); 程序运行后的输出结果是 _。(分数:2.00)A.10B.13C.21D.程序进入死循环 解析:解析 本题考查 break 语句和 continue 语句的用法,continue 语句是结束本次循环,当 i=3 时,i+语句不再被执行,程序进入死循环。26.已定义 c 为字符型变量,则下列语句中正确是 _。(分数:2.00)A.c=97;B.c=“97“;C.c=97; D.c=“a“;解析:解析
44、 97不是字符变量,选项 A 错误;“97“是字符串,选项 B 错误;“a“是字符串,选项 D 错误;正确答案是选项 C。27.执行下列程序时输入:123空格456空格789回车,输出结果是 _。 main() char s100;int c,i; scanf(“%c“, scanf(“%d“, scanf(“%s“,s); printf(“%c,%d,%s/n“,c,i,s); (分数:2.00)A.123,456,789B.1,456,789C.1,23,456,789D.1,23,456 解析:解析 根据给定的数据输入格式:123空格456空格789回车,第一个 scanf 语句中,格式字符为“%c”,只能得到一个字符1,第二个 scanf 语句中格式字符为“%d”,变量 i 得到的数值为 23,第三个 scanf 语句中格式字符为“%s”,遇到空格就自动结束,因此字符数组 s 得到的是“456/0”。因而正确答案为选项 D。28.下述关于数据库系统的叙述中正确的是 _。(分数:2.00)A.数据库系统减少了数据冗余 B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型一致D.数据库系统比文件系统能管理更多的数据解析:解析 数据库系统的主要目的是尽量减少和避免