1、二级 C 语言-6-1 及答案解析(总分:72.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:43.00)1.以下程序运行后的输出结果是#define F(X,Y)(X) * (Y)mainU /U int a=3,b=4;printf(“%d/n“,F(a+,b+); A. 12 B. 15 C. 16 D. 20(分数:2.00)A.B.C.D.2.有以下程序struc t STUchar name 10int num;void f1(struct STU c) struct STU b=“LiSiGuo“,2042;c=b;void f2(struct STU *c)
2、 struct STU b=“SunDan“,2044);*c=b;main ( ) struct STU a=“YangSan“,2041,b=“WangYin“,2043;f1 (a); f2 (printf ( “%d %d/n“ ,a.num,b.num);执行后输出结果是 A. 2041 2044 B. 2041 2043 C. 2042 2044 D. 2042 2043(分数:1.00)A.B.C.D.3.数据的存储结构是指U /U A. 数据所占的存储空间 B. 数据的逻辑结构在计算机中的存放形式 C. 数据在计算机中的顺序存储方式 D. 存储在计算机外存中的数据(分数:2.0
3、0)A.B.C.D.4.有下列程序:main() int x=5;doprintf(“%d“,x-=4);while(!(-x);程序的输出结果是( )。 A. 1 B. 20 C. 1 4 D. 死循环(分数:1.00)A.B.C.D.5.请读程序段:char str=“ABCD“,*p=str,printf(“%d/n“,*(p+4);程序段的输出结果是_。 A. 68 B. 0 C. 字符D的地址 D. 不确定的值(分数:1.00)A.B.C.D.6.已定义以下函数 fun(int *p) return *p; 该函数的返回值是 A)不确定的值 B)形参 p 中存放的值 C)形参 p 所
4、指存储单元中的值 D)形参 p 的地址值(分数:1.00)A.B.C.D.7.软件设计中模块划分应遵循的准则是 A. 低内聚低耦合 B. 高内聚低耦合 C. 低内聚高耦合 D. 高内聚高耦合(分数:2.00)A.B.C.D.8.关系表中的每一横行称为个_。 A. 元组 B. 字段 C. 属性 D. 码(分数:2.00)A.B.C.D.9.下面程序的功能是把 316 表示为两个加数的和,使两个加数分别能被 13 和 11 整除,请选择填空。#includestdiohmain() int i=0,j,k;doi+;k=316-13*iwhile(_);j=k/11; printf(“316=13
5、*%d+11,%d”,i,j); A. k/11 B. k%11 C. k/11=0 D. k%11=0(分数:1.00)A.B.C.D.10.C 语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是_。 A.关键字可用做用户标识符,但失去原有含义 B.预定义标识符可用做用户标识符,但失去原有含义 C.在标识符中大写字母和小写字母被认为是相同的字符 D.用户标识符可以由字母和数字任意顺序组成(分数:1.00)A.B.C.D.11.有以下程序#includestdlib.hstruct NODE int num;struct NODE*next;main() struct NOD
6、E*p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE);q=(struct NODE*)malloc(sizeof(struct NODE);r=(struct NODE*)malloc(sizeof(struct NODE);p-num=10;q-num=20;r-num=30;p-next=q;q-next=r;printf(“%d/n“,p-num+q-next-num);程序运行后的输出结果是 A. 10 B. 20 C. 30 D. 40(分数:1.00)A.B.C.D.12.下面程序的输出是_。main()char *s=“1213
7、4211“;int v1=0, v2=0,v3=0,v4=0,k;for(k=0;sk;k+)switch(sk) default,v4+;case1:v1+;case3:v3+;case2:v2+;printf(“vl=%d,v2=%d,v3=%d,v4=%d/n“,v1,v2,v3,v4); A. v1=4,v2=2,v3=1,v4=1 B. v1=4,v2=9,v3=3,v4=1 C. v1=5,v2=8,v3=6,v4=1 D. v1=8,v2=8,v3=8,v4=8(分数:2.00)A.B.C.D.13.设有语句:if(a=1)b=2;c=3;,以下语句中与之等价的是U /U。 A.
8、 if(a=1)b=2;c=3; B. if(a!=1);elseb=2;c=3; C. if(a=1)c=3;b=2; D. (a=1)?b=2:a:=a;c=3;(分数:2.00)A.B.C.D.14.利用 fseek 函数可实现的操作是U /U。 A. 实现文件的顺序读写 B. 改变文件的位置指针 C. 实现文件的随机读写 D. 以上答案均正确(分数:1.00)A.B.C.D.15.阅读下列程序,则运行结果为#include “stdio.h“fun()static int x=3;x+;return x;main()int i,x;for(i=0;i3;i+)x=fun();print
9、f(“%d/n“,x); A. 3 B. 4 C. 5 D. 6(分数:1.00)A.B.C.D.16.阅读以下函数:fun(char *s1,char *s2) int i=0;while(s1i=s2ireturn(s1i=/0此函数的功能是U /U。 A. 将 s2 所指字符串赋给 s1 B. 比较 s1 和 s2 所指字符串的大小,若 s1 比 s2 的大,函数值为 1,否则函数值为 0 C. 比较 s1 和 s2 所指字符串是否相等,若相等,函数值为 1,否则函数值为 0 D. 比较 s1 和 s2 所指字符串的长度,若 s1 比 s2 的长,函数值为 1,否则函数值为 0(分数:1
10、.00)A.B.C.D.17.有以下程序:#include int fun(int(*s)4,int n,int k)int m,i;m=s0k;for (i=l;in;i+)if (sikm)m=sik;return m;main()int a44=1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34;printf(“%d/n“,fun(a,4,0);程序的运行结果是U /U。 A. 4 B. 34 C. 31 D. 32(分数:2.00)A.B.C.D.18.下列关键字中,不属于 C 语言变量存储类别的是_。 A. register B. auto C.
11、extern D. public(分数:1.00)A.B.C.D.19.静态测试是一种重要的测试方式,可以发现 30到 70的逻辑设计和编码错误。下面( )不属于静态测试? A.白盒测试 B.代码检查 C.代码质量度量 D.静态分析 (分数:1.00)A.B.C.D.20.有如下程序_。long fib (int n) if(n2) returb(fib(n-1)+fib(n-2);else return(2);main()printf(“%d/n“,fib(3);该程序的输出结果是_。 A. 2 B. 4 C. 6 D. 8(分数:1.00)A.B.C.D.21.下面程序的输出结果是_。#d
12、efine a 121const b=12;enum ca1,a2;main()printf(“%d,%d,%d“,sizeof(a) ,sizeof(b) ,sizeof(enum c) ); A. 121,0,4 B. 2,2,2 C. 0,2,4 D. 0,2,2(分数:1.00)A.B.C.D.22.以下程序的输出结果是U /U。main() int a=666,b=888;prinf(%d/n“,(a,b); A. 错误信息 B. 666 C. 888 D. 666, 888(分数:1.00)A.B.C.D.23.在关系数据库中,用来表示实体之间联系的是 A. 树形结构 B. 网状结
13、构 C. 线性表 D. 二维表(分数:1.00)A.B.C.D.24.可在 C 程序中用作用户标识符的一组标识符是U /U。 A. and _2007 B. Date y-m-d C. Hi DrTom D. case Bigl(分数:1.00)A.B.C.D.25.以下定义语句中正确的是_。 A. char a=Ab=B; B. flo at a=b=10.0; C. int a=10,*b= D. float *a,b=(分数:1.00)A.B.C.D.26.假定当前盘符下有两个文本文件,如下文件名 a1.txt a2.txt内容 123# 321#则下面程序段执行后的结果为#includ
14、e“stdio.h“void fc(FILE*p) char c;while(c=fgetc(p)!=#)putchar(c);main() FILE *fp;fp=fopen(“a1.txt“,“r“);fc(fp);fclose(fp);fp=fopen(“a2.txt“,“r“);fc(fp);fclose(fp);putchar(/n/); A. 123321 B. 123 C. 321 D. 以上答案都不正确(分数:1.00)A.B.C.D.27.以下对 C 语言函数的有关描述中,正确的是 ( ) A.在 C 中,调用函数时,只能把实参的值传给形参,形参的值不能传送给实参 B.C 函
15、数既可以嵌套定义又可递归调用 C.函数必须有返回值,否则不能使用函数 D.C 程序中有调用关系的所有函数必须放在同一个源程序文件中 (分数:1.00)A.B.C.D.28.下列不合法的 main 函数命令行参数的表示形式是_。 A. main(int a,char *c); B. main(ac,av)int arc;char*av; C. main(c,v)int c;char*v; D. main(argc,argv)int argc;char argv;(分数:1.00)A.B.C.D.29.设有语句“char a=72;”则变量 a( )。 A. 包含一个字符 B. 包含二个字符 C.
16、 包含三个字符 D. 说明不合法(分数:1.00)A.B.C.D.30.以下程序的输出结果是 _。main() int a44=1,3,5,2,4,6,3,5,7;printf(“%d%d%d%d/n“,a03,a12,a21,30); A. 0650 B. 1470 C. 5430 D. 输出值不定 (分数:1.00)A.B.C.D.31.设有定义“int a=3,b,*p= scanf(“%d“,p); *s=100; C. int*s,k; D. int*s,k; char*p,c; char*p,e; s= p= *s=1; (分数:1.00)A.B.C.D.34.下列叙述中正确的是
17、A. 一个逻辑数据结构只能有一种存储结构 B. 数据的逻辑结构属于线性结构,存储结构属于非线性结构 C. 一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率 D. 一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率(分数:1.00)A.B.C.D.35.下述程序向文件输出的结果是 _。#includestdio.hvoid main() FILE*fp=fopen(“TEST“,“wb“);fprintf(fp,“%5.0f%c%d“,58,76273.0-,2278);fclose(fp); A. 58 76273-2278 B. 5876273.000
18、000-2278 C. 5876273-2278 D. 因文件为二进制文件而不可读(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:29.00)36.下列程序的字符串中各单词之间有一个空格,则程序的输出结果是_。 #include string.h main() char strl=“How do you do“, *p1=strl strcpy(strl+strlen(strl)/2,“es she“): printf(“%s/n“,p1): (分数:1.00)填空项 1:_37.以下程序的功能是根据输入的“y”(“Y”)与“n”(“N”),在屏幕上分别显示出“This
19、 is YES.”与“This is NO.”。空白处需要填入的内容是 #includestdio.h void YesNo(char ch) switch(ch) casey: caseY:printf(“/n This is YES./n“); casen: caseN:Printf(“/nThis is NO./n“); main() char ch; printf(“/nEnter a chary,Yorn,N:“); ch=_; printf(“ch;%c“,ch); YesNo(ch);(分数:2.00)填空项 1:_38.若有以下程序: main() char a; a=H-A+
20、0; printf(“%c/n“,a); 执行后的输出结果是U U /U /U。(分数:1.00)填空项 1:_39.以下程序段中,错误的行号是_。 #include stdio.h main() char str14;str=“I love China!“; printf(“%s“,str); (分数:2.00)填空项 1:_40.设有定义:int n, *k=以下语句将利用指针变量 k 读写变量 n 中的内容,请将语句补充完整。 scanf(“%d“,U U /U /U); printf(“%d/n“,U U /U /U);(分数:1.00)填空项 1:_41.问题处理方案的正确而完整的描
21、述称为 1。(分数:2.00)填空项 1:_42.strcat 函数的作用是U U /U /U。(分数:2.00)填空项 1:_43.以下程序运行后的输出结果是_。 #includestdio.h main() int x=20; printf(“%d“,0x20); printf(“%d/n“,0xscanf(“%d %d“, while(m!=n) while(mn) m=m-n;while(mn) n=n-m;printf(“%d/n“, m);(分数:2.00)填空项 1:_46.下列程序的输出结果是_。 #includestdio.h #define N 5 jnt fun(int*
22、s,int a,int n) int j; *s=a;j=n: while(a!=sj)j-; return j; main() int sN+1;int k; for(k=1;k=N;k+)sk=k+1; printf(“%d/n“,fun(s,4,N); (分数:4.00)填空项 1:_47.在面向对象方法中,类之间共享属性和操作的机制称为U U /U /U。(分数:2.00)填空项 1:_48.以下程序运行后的输出结果是U U /U /U。 #include stdio.h main() int a=1,b=3,c=5; if (c=a+b) printf(“yes/n“); else
23、printf(“no/n“); (分数:2.00)填空项 1:_49.以下程序运行后输入:3,abcde回车,则输出结果是_。 # 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=1;i=n;i+)move(s,z); printf(“s/n“,s); (分数:2.00)填空项 1:_50.下列程序的输出结果
24、是U U /U /U。 main() int i; for(i=1;i=1;i+) if(i4) printf(“%d/n“,i); break; printf(“%d/n“,i+);(分数:1.00)填空项 1:_二级 C 语言-6-1 答案解析(总分:72.00,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:43.00)1.以下程序运行后的输出结果是#define F(X,Y)(X) * (Y)mainU /U int a=3,b=4;printf(“%d/n“,F(a+,b+); A. 12 B. 15 C. 16 D. 20(分数:2.00)A. B.C.D.解析:解析
25、本题考查带参数的宏定义,参数只是简单的字符替换,而不是参数的传递。本题中用 a+替换 X,用 b+替换 Y,再计算(a+)*(b+)的值,即 3*4 的值,其结果为 12。2.有以下程序struc t STUchar name 10int num;void f1(struct STU c) struct STU b=“LiSiGuo“,2042;c=b;void f2(struct STU *c) struct STU b=“SunDan“,2044);*c=b;main ( ) struct STU a=“YangSan“,2041,b=“WangYin“,2043;f1 (a); f2 (
26、printf ( “%d %d/n“ ,a.num,b.num);执行后输出结果是 A. 2041 2044 B. 2041 2043 C. 2042 2044 D. 2042 2043(分数:1.00)A. B.C.D.解析:解析 本题考核的知识点是结构体类型的综合应用。本题中首先定义了一个结构体类型 STU,它由一个字符数组和一个整形变量 num 组成。然后定义两个函数 n 和 n。其中 n 是值传递的,n 是地址传递的。主函数中定义两个结构体变量 a 和 b 并分别赋初值,接着调用函数 f1(a),由于函数 f1 是值传递,故执行该函数后并没有改变 a 的值,在接着调用函数 f2(dop
27、rintf(“%d“,x-=4);while(!(-x);程序的输出结果是( )。 A. 1 B. 20 C. 1 4 D. 死循环(分数:1.00)A.B.C. D.解析:解析 本题考查 dowhile 循环。执行 printf 语句,x=x-4 1,输出 1,判断 while 循环的控制条件,-x=0,则(!(-x)非零,循环条件成立,执行下一次循环;执行 printf 语句,x=x-4=-4,输出-4,判断 while 循环的控制条件,-x=-5,则(!(-x)为零,循环条件不成立,结束循环。5.请读程序段:char str=“ABCD“,*p=str,printf(“%d/n“,*(p
28、+4);程序段的输出结果是_。 A. 68 B. 0 C. 字符D的地址 D. 不确定的值(分数:1.00)A.B. C.D.解析:解析 在对字符数组赋字符串值时,系统会自动在字符串的末尾加上一个字符串结束标志“/0”,故指向字符数组的指针 p 的*(p+4)的值为“/0”。由于“/0”的编码值就是 0,所以本题输出为 0。6.已定义以下函数 fun(int *p) return *p; 该函数的返回值是 A)不确定的值 B)形参 p 中存放的值 C)形参 p 所指存储单元中的值 D)形参 p 的地址值(分数:1.00)A.B.C. D.解析:解析 在表达式中出现*p,表示引用指针变量所指存储
29、单元的内容。7.软件设计中模块划分应遵循的准则是 A. 低内聚低耦合 B. 高内聚低耦合 C. 低内聚高耦合 D. 高内聚高耦合(分数:2.00)A.B. C.D.解析:解析 模块划分应遵循的准则包括模块之间的耦合和内聚。一般来说,要求模块之间的耦合尽可能地低,即模块尽可能独立;模块的内聚程度尽可能地高,即遵循高内聚、低耦合的原则。8.关系表中的每一横行称为个_。 A. 元组 B. 字段 C. 属性 D. 码(分数:2.00)A. B.C.D.解析:解析 在关系数据库中,关系模型采用二维表来表示,简称“表”。二维表是由表框架及表元组组成。在表框架中,按行可以存放数据,每行数据称为元组。9.下面
30、程序的功能是把 316 表示为两个加数的和,使两个加数分别能被 13 和 11 整除,请选择填空。#includestdiohmain() int i=0,j,k;doi+;k=316-13*iwhile(_);j=k/11; printf(“316=13*%d+11,%d”,i,j); A. k/11 B. k%11 C. k/11=0 D. k%11=0(分数:1.00)A.B. C.D.解析:解析 本题的关键是两个加数分别能被 13 和 11 整除。当 k%11 的值为 0 时,则退出循环,将执行j=k/11;语句,输出结果,所以该表达式合理的条件是 k%11。10.C 语言中的标识符分
31、为关键字、预定义标识符和用户标识符,以下叙述正确的是_。 A.关键字可用做用户标识符,但失去原有含义 B.预定义标识符可用做用户标识符,但失去原有含义 C.在标识符中大写字母和小写字母被认为是相同的字符 D.用户标识符可以由字母和数字任意顺序组成(分数:1.00)A.B. C.D.解析:解析 关键字不可用作 C 语言的标识符,所以 A 选项错误。在标识符中大写字母与小写字母作为不同字符处理,所以 C 选项错误。标识符由下画线、字母或数字组成,且必须以下画线和字母开始,所以D 错误。11.有以下程序#includestdlib.hstruct NODE int num;struct NODE*n
32、ext;main() struct NODE*p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE);q=(struct NODE*)malloc(sizeof(struct NODE);r=(struct NODE*)malloc(sizeof(struct NODE);p-num=10;q-num=20;r-num=30;p-next=q;q-next=r;printf(“%d/n“,p-num+q-next-num);程序运行后的输出结果是 A. 10 B. 20 C. 30 D. 40(分数:1.00)A.B.C.D. 解析:解析 该题中考
33、查的是简单的单链表,下图就是赋完值后的示意图:容易看到 p-num=10,而 q-next 就是 r,所以 q-next-num=30,故答案为 40。 *12.下面程序的输出是_。main()char *s=“12134211“;int v1=0, v2=0,v3=0,v4=0,k;for(k=0;sk;k+)switch(sk) default,v4+;case1:v1+;case3:v3+;case2:v2+;printf(“vl=%d,v2=%d,v3=%d,v4=%d/n“,v1,v2,v3,v4); A. v1=4,v2=2,v3=1,v4=1 B. v1=4,v2=9,v3=3,
34、v4=1 C. v1=5,v2=8,v3=6,v4=1 D. v1=8,v2=8,v3=8,v4=8(分数:2.00)A.B.C. D.解析:解析 当 switch 后面括弧内的表达式的值与某一个 case 后面的常量的表达式的值相等时,就执行此 case 后面的语句,若所有的 case 中的常量表达式的值都没有与表达式的值匹配的,就执行 default后面的语句。13.设有语句:if(a=1)b=2;c=3;,以下语句中与之等价的是U /U。 A. if(a=1)b=2;c=3; B. if(a!=1);elseb=2;c=3; C. if(a=1)c=3;b=2; D. (a=1)?b=2
35、:a:=a;c=3;(分数:2.00)A.B.C.D. 解析:解析 在 C 语言中,用分号表示一条语句的结束,用把几条语句放在一块表示一个语句块,其整体表示一个功能。因而在题目给出的四个选项中,选项 A)、B)、C)均与题中所给不同,而选项 D)相同。14.利用 fseek 函数可实现的操作是U /U。 A. 实现文件的顺序读写 B. 改变文件的位置指针 C. 实现文件的随机读写 D. 以上答案均正确(分数:1.00)A.B.C.D. 解析:解析 改变文件位置指针函数 fseek()的功能是:改变文件的位置指针;辅助实现文件的顺序读写;辅助实现文件的随机读写。15.阅读下列程序,则运行结果为#
36、include “stdio.h“fun()static int x=3;x+;return x;main()int i,x;for(i=0;i3;i+)x=fun();printf(“%d/n“,x); A. 3 B. 4 C. 5 D. 6(分数:1.00)A.B.C.D. 解析:解析 在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久的存储单元,即使退出函数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元,静态局部变量的初值是在编译的时候赋予的,在程序执行期间不再赋予初值。本题由于连续 3 次调用函数 fun(),3 次对静态变量 x进行操作,x 的值应依次为 4,
37、5,6。16.阅读以下函数:fun(char *s1,char *s2) int i=0;while(s1i=s2ireturn(s1i=/0此函数的功能是U /U。 A. 将 s2 所指字符串赋给 s1 B. 比较 s1 和 s2 所指字符串的大小,若 s1 比 s2 的大,函数值为 1,否则函数值为 0 C. 比较 s1 和 s2 所指字符串是否相等,若相等,函数值为 1,否则函数值为 0 D. 比较 s1 和 s2 所指字符串的长度,若 s1 比 s2 的长,函数值为 1,否则函数值为 0(分数:1.00)A.B.C. D.解析:解析 在函数 fun()中有两个字符型指针变量 s1 和
38、s2,在函数中程序执行 while 循环,该循环退出条件有两个:一个是 s1i!=s2i(两个字符串不相等):第二个是 s1i和 s2i相等均为“/0”(两个字符串相等)。循环退出后,执行 return 语句,即两个字符串相等则返回 1,不相等则返回 0。所以, C 选项为所选。17.有以下程序:#include int fun(int(*s)4,int n,int k)int m,i;m=s0k;for (i=l;in;i+)if (sikm)m=sik;return m;main()int a44=1,2,3,4,11,12,13,14,21,22,23,24,31,32,33,34;pr
39、intf(“%d/n“,fun(a,4,0);程序的运行结果是U /U。 A. 4 B. 34 C. 31 D. 32(分数:2.00)A.B.C. D.解析:解析 本题考查的是二维数组的定义、赋初值和对二维数组元素的引用。在 fun()函数中,首先将 s0k的值赋给 m,然后通过 for 循环,遍历 s1k-sn-1k之中的数,将遇到的比 m 大的数保存到 m 中。很显然,这是搜索最大值的算法,搜索的是 s0ksn-1k之间的最大值。所以,主函数中 fun (a,4,0)的功能就是搜索 a00-a30之间的最大值,这 4 个值分别是 1、11、21、31,所以最终输出结果是 31,应该选择
40、C)。18.下列关键字中,不属于 C 语言变量存储类别的是_。 A. register B. auto C. extern D. public(分数:1.00)A.B.C.D. 解析:解析 变量的存储类别具体包含四种:自动的(auto),静态的(static),寄存器的(register),外部的(extern)。19.静态测试是一种重要的测试方式,可以发现 30到 70的逻辑设计和编码错误。下面( )不属于静态测试? A.白盒测试 B.代码检查 C.代码质量度量 D.静态分析 (分数:1.00)A. B.C.D.解析:20.有如下程序_。long fib (int n) if(n2) ret
41、urb(fib(n-1)+fib(n-2);else return(2);main()printf(“%d/n“,fib(3);该程序的输出结果是_。 A. 2 B. 4 C. 6 D. 8(分数:1.00)A.B. C.D.解析:21.下面程序的输出结果是_。#define a 121const b=12;enum ca1,a2;main()printf(“%d,%d,%d“,sizeof(a) ,sizeof(b) ,sizeof(enum c) ); A. 121,0,4 B. 2,2,2 C. 0,2,4 D. 0,2,2(分数:1.00)A.B. C.D.解析:解析 sizeof 函
42、数是取变量所占的存储空间的字节数,标识 a 代表常量 121:const b=12;,其中数据类型可以缺省,默认为整型;enum ca1,a2;定义了一个枚举类型 enum c,a1,a2 为枚举元素,在 C 编译时,对枚举元素按常量处理,它们的值按定义顺序依次为 0,1。因此它们的字节数均为 2,2,2。22.以下程序的输出结果是U /U。main() int a=666,b=888;prinf(%d/n“,(a,b); A. 错误信息 B. 666 C. 888 D. 666, 888(分数:1.00)A.B.C. D.解析:解析 本题考查的知识点是:格式化输出的应用。 printf 函数
43、的调用形式:printf(格式控制,输出项 l,输出项 2,),该题的输出项为一个逗号表达式,该表达式的值为 b 的值,因此输出结果为888,故本题选 C) 。23.在关系数据库中,用来表示实体之间联系的是 A. 树形结构 B. 网状结构 C. 线性表 D. 二维表(分数:1.00)A.B.C.D. 解析:解析 数据库中的关系模型是采用二维表来表示实体与实体之间的联系。24.可在 C 程序中用作用户标识符的一组标识符是U /U。 A. and _2007 B. Date y-m-d C. Hi DrTom D. case Bigl(分数:1.00)A. B.C.D.解析:解析 选项 B 中,y
44、-m-d 用了“-”所以不是标识符;选项 C,Dr.Tom 用了“.”也不是标识符;选项 D 中,case 是 C 语言关键字,所以不能用作标识符。故本题应该选择 A。25.以下定义语句中正确的是_。 A. char a=Ab=B; B. flo at a=b=10.0; C. int a=10,*b= D. float *a,b=(分数:1.00)A.B.C. D.解析:解析 在 A 选项中,定义了两个 char 型的变量,但是在这两个变量之间应该加上逗号;在 B 选项中,没有对 b 进行定义,只是对 b 进行了赋值,因此是错误的;在 D 选项中,把一个指针赋值给了一个float 型的变量,因此是错误的。26.假定当前盘符下有两个文本文件,如下文件名 a1.txt a2.txt内容 123# 321#则下面程序段执行后的