1、计算机二级(C)59 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:60,分数:60.00)1.程序中头文件 typel.h 的内容是: #define N 5 #define M1 N*3 程序如下: #include“typel.h“ #define M2 N *2 main( ) int i; i=M1+M2; printf(“%d/n“,i); 程序编译后运行的输出结果是( )。 (分数:1.00)A.10B.20C.25D.302.有以下程序 main( ) int a; char c=10; float f=10
2、0.0; double x; a=f/=c*=(x=6.5); printf(“%d %d %3.1f %3.1f/n“,a,c,f,x); 程序运行后的输出结果是( )。 (分数:1.00)A.1 65 1 6.5B.1 65 1.5 6.5C.1 65 1.0 6.5D.2 65 1.5 6.53.以下叙述中错误的是( )。(分数:1.00)A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以B.在程序结束时,应当用函数 fclose( )关闭已打开的文件C.在利用函数 fread( )从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D.不可以用 FILE 定义指向二进制文
3、件的文件指针4.以下选项中合法的用户标识符是( )。(分数:1.00)A.longB._2TestC.3DmaxD.A.dat5.有以下程序: void f(int*x,int*y) int t; t=*x;*x=*y;*y=t; main() int a 8=1, 2,3,4,5, 6, 7,8,i,*p,*q; p=a;q= while(pq) f(p,q);p+;q-; for(i=0;i8;i+)printf(“%d,“ai); 程序运行后的输出结果是【 】。(分数:1.00)A.823,4,5,6,7,1,B.5,6,7,8,12,3,4,C.1,2,3,4,5,6,7,8,D.8,
4、7,6,5,4,3,2,1,6.设变量 X 和 Y 均已正确定义并赋值。以下 if 语句中,在编译时将产生错误信息的是【 】。(分数:1.00)A.if(X+);B.if(Xy printf(“%d,%d/n“,strlen(s),sizeof(s); 执行后输出结果是( )。 (分数:1.00)A.赋初值的字符串有错B.6,7C.5,6D.6,611.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是( )。(分数:1.00)A.if(ab) else k=0;B.if(ab)|(bc) k=1 else k=0;C.if(ab) k=1; else if(bc) k=1; e
5、lse k=0;12.若有以下函数首部 int fun(double X10,int *n)则下面针对此函数的函数声明语句中正确的是【 】。(分数:1.00)A.int fun(double X,int *n);B.int fun(double ,int);C.int fun(double * X,int n);D.int fun(double *int*);13.下列描述中正确的是【 】。(分数:1.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软件是程序、数据与相关文档的集合14.有以下程序: main() char a1=M,a2=m; pr
6、intf(“%c/n“,(a1,a2); 以下叙述中正确的是【 】。 (分数:1.00)A.程序输出大写字母 MB.程序输出小写字母 mC.格式说明符不足,编译出错D.程序运行时产生出错信息15.以下叙述中错误的是【 】。(分数:1.00)A.C 语言是一种结构化程序设计语言B.结构化程序由顺序、分支、循环三种基本结构组成C.使用三种基本结构构成的程序只能解决简单问题D.结构化程序设计提倡模块化的设计方法16.C 语言中用于结构化程序设计的三种基本结构是( )。(分数:1.00)A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、
7、for、continue17.以下程序的功能是按顺序读入 10 名学生 4 门课程的成绩,计算出每位学生的平均分并输出,程序如下:main( ) int n,k; float score,sum,ave; sum=0.0; for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(“%f“,score);sum+=score; ave=sum/4.0; printf(“NO%d:%f/n“,n,ave); 上述程序运行后结果不正确,调试中发现有条语句出现在程序中的位置不正确。这条语句是( )。 (分数:1.00)A.sum=0.0;B.sum+=score;C.ave=su
8、m/4.0;D.printf(“NO%d:%f/n“,n,ave);18.有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x 的值不为 3 的是( )。(分数:1.00)A.if (ca) x=1; else if (ba) x=2; else x=3;B.if (a3) x=3; else if (ba) x=2; else x=1;C.if (aD.if (ab) x=b; if (bc) x=c; if (ca) x=a;19.有以下程序: struct s int x,y; data2=10,100,20,200; main( ) struct s *p=
9、data; printf(“%d/n“,+(p-x); 程序运行后的输出结果是( )。 (分数:1.00)A.10B.11C.20D.2120.有以下程序 #include main() FILE * fp;int k , n,a6=1,2,3,4, 5,6; fp=fopen(“d2.dat“,“W“); fprintf(fp,“dddn“,a0,a1,a2);fprintf(fp,“dddn“,a3,a4,aS); fclose(fp); fp=fopen(“d2.dat“,“r“); fscanf(fp,“dd“, s=x+3; printf(“%d/n“,s2); 执行后输出结果是(
10、)。 (分数:1.00)A.随机值B.0C.5D.636.有以下程序 int *f(int *x,int *y) if(*x*y) return x; else return y; main( ) int a=7,b=8,*p,*q,*r; p= q= r=f(p,q); printf(“%d,%d,%d/n“,*p,*q,*r); 执行后输出结果是( )。 (分数:1.00)A.7,8,8B.7,8,7C.8,7,7D.8,7,837.有以下程序 fun(int X,int Y)return(X+Y); main() int a=1,b=2,C=3,sum; sum=fun(a+,b+,a+
11、b),C+); printf(“dn“,sum); 执行后的输出结果是【 】。 (分数:1.00)A.6B.7C.8D.938.在 Internet 中,用于在计算机之间传输文件的协议是( )。(分数:1.00)A.TELNETB.BBSC.FTPD.WWW39.已定义以下函数: fun(char *p2, char *p1) while(*p2=*p1)!=/0) p1+;p2+; 此函数的功能是( )。 (分数:1.00)A.将 p1 所指字符串复制到 p2 所指内存空间B.将 p1 所指字符串的地址赋给指针 p2C.对 p1 和 p2 两个指针所指字符串进行比较D.检查 p1 和 p2
12、两个指针所指字符串中是否有/040.有以下程序: main( ) int a33,*p,i; p= for(i=0;iA.3B.6C.9D.241.以下语句中存在语法错误的是【 】。(分数:1.00)A.char SS620; SS1=“right?“;B.char SS20=“right?“;C.char * ss6;SS1=“right?“;D.char SS=“right?“;42.若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回个函数值,以下选项中错误的程序是【 】。(分数:1.00)A.main() X=fun(2,10); float fun(int a,
13、int b)B.float fun(int a,int b) main() X=fun(i,j);C.float fun(int,int); main() x=fun(2,10); float fun(int a,int b)43.能将高级语言编写的源程序转换成目标程序的是( )。(分数:1.00)A.编辑程序B.编译程序C.解释程序D.链接程序44.在 16 位编译系统上,若有定义 int a=10,20,30,*P= printf(“%o %o/n“,mn,n); 程序运行后的输出结果是( )。 (分数:1.00)A.0256 0400B.0256 256C.256 400D.400 40
14、050.数据库设计的根本目标是要解决(分数:1.00)A.数据共享问题B.数据安全问题C.大量数据存储问题D.简化数据维护51.有以下程序 main() int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i ,k,t; for(i=0;i1;n-) s=s+1/n; printf(“%6.4f/n“,s); 程序运行后输出结果错误,导致错误结果的程序行是( )。 (分数:1.00)A.s=1.0;B.for(n=10;n1;n-)C.s=s+1/n;D.printf(“%6.4f/n“,s);54.C 语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( )
15、。(分数:1.00)A.voidB.intC.floatD.double55.现有以下结构体说明和变量定义,如图所示,指针 P、q、r 分别指向一个链表中连续的三个结点。 (分数:1.00)A.q-next=r-next;p-next=r;r-next:q;B.P-next=r;q-next=r-next;r-next=q;C.q-next=r-next;r-next=q;P-next=r;D.r-next=q;p-next=r;q-next=r-next;56.有以下程序 #include main() char p20=a,b,c,d,q=“abc“,r:“abcde“; strcpy(P
16、+strlen(q),r);strcat(p,q); printf(“ddn“,sizeof(p),strlen(p); 程序运行后的输出结果是【 】。 (分数:1.00)A.209B.99C.2011D.111157.下列关于单目运算符+、-的叙述中正确的是( )。(分数:1.00)A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是 char 型变量和 int 型变量,但不能是 float 型变量C.它们的运算对象可以是 int 型变量,但不能是 double 型变量和 float 型变量D.它们的运算对象可以是 char 型变量、int 型变量和 float 型变量58.有以下
17、程序 typedef struct int b,p;A; void f(A C)* 注意:c 是结构变量名 * int j; c. b +=1;c.p+=2; main() int i; A a=1,2; f(a); printf(“d,dn“,a.b,ap); 程序运行后的输出结果是【 】。 (分数:1.00)A.2,3B.2,4C.1,4D.1,259.下列程序的输出结果是( )。 main( ) int i,s=0; for(i=1;i10;i+=2) s+=i+1; printf(“%d/n”,s); (分数:1.00)A.自然数 19 的累加和B.自然数 110 的累加和C.自然数
18、19 中的奇数之和D.自然数 110 中的偶数之和60.有以下程序 void swap(char*X,char,*y) char t; t=*X;*X=* Y;*Y=t; main() char*s1=“abc“,*s2=“123“; swap(s1,s2);printf(“S,sn“,s1,s2); 程序执行后的输出结果是【 】。 (分数:1.00)A.123,abcB.abc,123C.1bc,a23D.321,cba二、填空题(每空 2 分,共 40 分)(总题数:20,分数:40.00)61.某二叉树中度为 2 的结点有 18 个,则该二叉树中有 1 个叶子结点。(分数:2.00)填空
19、项 1:_62.下面程序和运行运行结果是 1。 void swap(int * a,int * b) int * t; t=a; a=b; b=t; main2 intx=3,y=5,* p=x,* q=y; swap(p,q); prinff(“%d %d/n“, *p, *q); (分数:2.00)填空项 1:_63.以下程序中给指针 p 分配三个 double 型动态内存单元,请填空。 # include stdlib.h main ( ) double *p; p=(double *) malloc( 1); p0=1.5;p1=2.5;p2=3.5; printf(“%f%f%f/n
20、”,p0,p1,p2); (分数:2.00)填空项 1:_64.假设在当前盘的当前目录下有两个文件 A.TXT 和 B.TXT,现要将文件 B.TXT 合并连接到文件 A.TXT 的后面。若使用 TYPE 命令,则完整的命令为 1。(分数:2.00)填空项 1:_65.以下程序运行后的输出结果是 1。 main2 char c1,c2; for(c1=O,c2=9;c1c2;c1+,c2-) printf(“%c%c“,c1,c2); printf(“/n“); (分数:2.00)填空项 1:_66.已有文本文件 test.txt,其中的内容为:Hello,everyone!。以下程序中,文件
21、 test.txt 已正确为“读”而打开,由此文件指针 fr 指向文件,则程序的输出结果是 1。 #include stdio.h main( ) FILE *fr; char str40; fgets(str,5,fr); printf(“%s/n“,str); fclose(fr); (分数:2.00)填空项 1:_67.以下程序的运行结果是 1 #include string.h typedef struct student char name10; long sno; float score; STU; main( ) STU a=“zhangsan”,2001,95,b=“Shang
22、xian”,2002,90, c=“Anhua”,2003,95,d,*p= d=a; if(strcmp(a.name,b.name)0) d=b; if(strcmp(c.name,d.name)0) d=c; printf(“%ld%s/n”,d.sno,p-name); (分数:2.00)填空项 1:_68.E-mail 地址由用户名和域名两部分组成,这两部分的分隔符为 1。(分数:2.00)填空项 1:_69.以下程序的运行结果是 1。 main2 int a=2,b=7,c=5; switch(aO) case 1:switch(b填空项 1:_70.以下程序运行后的输出结果是 1
23、。 main( ) int i,m=0,n=0,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:_71.若有以下程序 main( ) char a; a=H-A+0; printf(“%c/n“,a); 执行后输出结果是 1。 (分数:2.00)填空项 1:_72.以下 sum 函数的功能是计算下列级数之和。 (分数:2.00)填空项 1:_73.在数据库系统中,实现各种数
24、据管理功能的核心软件称为 1。(分数:2.00)填空项 1:_74.设函数 findbig( )已定义为求 3 个数中的最大值。以下程序将利用函数指针调用 findbig 函数。请填空。 main( ) int findbig(int,int,int); int (*f)( ),x,y,z,big; f= 1; scanf(“%d%d%d“, big=(*f)(x,y,z); printf(“big=%d/n“,big); (分数:2.00)填空项 1:_75.以下程序运行后的输出结果是 1。 main( ) char a =“123456789“,*p; int i=0; p=a; whil
25、e(*p) if(i%2=0) *p=*; p+;i+; puts(a); (分数:2.00)填空项 1:_76.以下程序运行后的输出结果是 1 main( ) int i,j,a 3=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 “,aij); printf(“/n“); (分数:2.00)填空项 1:_77.有以下程序 #include stdio.h main( ) char ch1,ch2; int n1,n2; ch1=getchar
26、( ); ch2=getchar( ); n1=ch1-0; n2=n1*10+(ch2-0); printf(“%d/n”,n2); 程序运行时输入:12,执行后输出结果是 1。 (分数:2.00)填空项 1:_78.以下程序的功能是调用函数 fun 计算:m=1-2+3-4+9-10,并输出结果。请填空。 int fun( int n) int m=0,f=1,i; for(i=1; i=n; i+) m+=i*f; f= 1; return m; main( ) printf(“m=%d/n“, 2); (分数:2.00)填空项 1:_79.计算机软件分为系统软件和应用软件,操作系统属于
27、 1。(分数:2.00)填空项 1:_80.以下程序运行后的输出结果是 1。 main2 int x=10,y=20,t=0; if(x= =y)t=x;x=y;y=t printf(“%d,%d/n“,x,y); (分数:2.00)填空项 1:_计算机二级(C)59 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:60,分数:60.00)1.程序中头文件 typel.h 的内容是: #define N 5 #define M1 N*3 程序如下: #include“typel.h“ #define M2 N *2 main(
28、) int i; i=M1+M2; printf(“%d/n“,i); 程序编译后运行的输出结果是( )。 (分数:1.00)A.10B.20C.25 D.30解析:2.有以下程序 main( ) int a; char c=10; float f=100.0; double x; a=f/=c*=(x=6.5); printf(“%d %d %3.1f %3.1f/n“,a,c,f,x); 程序运行后的输出结果是( )。 (分数:1.00)A.1 65 1 6.5B.1 65 1.5 6.5 C.1 65 1.0 6.5D.2 65 1.5 6.5解析:3.以下叙述中错误的是( )。(分数:
29、1.00)A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以B.在程序结束时,应当用函数 fclose( )关闭已打开的文件C.在利用函数 fread( )从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D.不可以用 FILE 定义指向二进制文件的文件指针 解析:4.以下选项中合法的用户标识符是( )。(分数:1.00)A.longB._2Test C.3DmaxD.A.dat解析:C 语言中合法的变量名由字母、数字和下划线组成,且第一个字符必须为字母或下划线。5.有以下程序: void f(int*x,int*y) int t; t=*x;*x=*y;*y=t; main(
30、) int a 8=1, 2,3,4,5, 6, 7,8,i,*p,*q; p=a;q= while(pq) f(p,q);p+;q-; for(i=0;i8;i+)printf(“%d,“ai); 程序运行后的输出结果是【 】。(分数:1.00)A.823,4,5,6,7,1,B.5,6,7,8,12,3,4,C.1,2,3,4,5,6,7,8,D.8,7,6,5,4,3,2,1, 解析:本程序中函数 f 的作用是交换指针变量 x 和 y 所指向的存储单元的值。 6.设变量 X 和 Y 均已正确定义并赋值。以下 if 语句中,在编译时将产生错误信息的是【 】。(分数:1.00)A.if(X+
31、);B.if(Xy printf(“%d,%d/n“,strlen(s),sizeof(s); 执行后输出结果是( )。 (分数:1.00)A.赋初值的字符串有错B.6,7C.5,6 D.6,6解析:11.以下程序段中与语句 k=ab?(bc?1:0):0;功能等价的是( )。(分数:1.00)A.if(ab) else k=0; B.if(ab)|(bc) k=1 else k=0;C.if(ab) k=1; else if(bc) k=1; else k=0;解析:12.若有以下函数首部 int fun(double X10,int *n)则下面针对此函数的函数声明语句中正确的是【 】。(
32、分数:1.00)A.int fun(double X,int *n);B.int fun(double ,int);C.int fun(double * X,int n); D.int fun(double *int*);解析:函数首部 int fun(double x10,int:n)表示这个函数的返回值是整型,其第一个形式参数是一个双精度型的一维数组,第二个参数是一个整型指针。在 C 语言中,一维数组的名字表示的是一维数组的地址,所以选项 D)是正确的。13.下列描述中正确的是【 】。(分数:1.00)A.程序就是软件B.软件开发不受计算机系统的限制C.软件既是逻辑实体,又是物理实体D.软
33、件是程序、数据与相关文档的集合 解析:计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据及相关文档的完整集合。14.有以下程序: main() char a1=M,a2=m; printf(“%c/n“,(a1,a2); 以下叙述中正确的是【 】。 (分数:1.00)A.程序输出大写字母 MB.程序输出小写字母 m C.格式说明符不足,编译出错D.程序运行时产生出错信息解析:在逗号表达式(表达式 1,表达式 2)中,其运算方法是先求表达式 1 的值,然后求表达式 2 的值,整个逗号表达式的值是表达式 2 的值。故本题输出的是 a2 的值 m。 15.以下叙述中错误的是【 】。(
34、分数:1.00)A.C 语言是一种结构化程序设计语言B.结构化程序由顺序、分支、循环三种基本结构组成C.使用三种基本结构构成的程序只能解决简单问题 D.结构化程序设计提倡模块化的设计方法解析:结构化程序设计是指在程序的构成上只使用顺序、选择(即分支)和循环 3 种结构组成的编程方式。它强调程序设计风格和程序结构的规范化,提倡清晰的结构。结构化程序设计方法的基本思路,是把一个复杂问题的求解过程分阶段进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。结构化程序设计提倡模块化的设计方法。16.C 语言中用于结构化程序设计的三种基本结构是( )。(分数:1.00)A.顺序结构、选择结构、循环
35、结构 B.if、switch、breakC.for、while、do-whileD.if、for、continue解析:17.以下程序的功能是按顺序读入 10 名学生 4 门课程的成绩,计算出每位学生的平均分并输出,程序如下:main( ) int n,k; float score,sum,ave; sum=0.0; for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(“%f“,score);sum+=score; ave=sum/4.0; printf(“NO%d:%f/n“,n,ave); 上述程序运行后结果不正确,调试中发现有条语句出现在程序中的位置不正确。这条
36、语句是( )。 (分数:1.00)A.sum=0.0; B.sum+=score;C.ave=sum/4.0;D.printf(“NO%d:%f/n“,n,ave);解析:本题中 sum 用来保存每位学生的总成绩,所以在计算不同学生的总成绩时,应将 sum 重新赋值 初值 0,即语句 sum=0.0;,它应在第二个 for 语句前执行。18.有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x 的值不为 3 的是( )。(分数:1.00)A.if (ca) x=1; else if (ba) x=2; else x=3;B.if (a3) x=3; else if
37、(ba) x=2; else x=1;C.if (aD.if (ab) x=b; if (bc) x=c; if (ca) x=a;解析:19.有以下程序: struct s int x,y; data2=10,100,20,200; main( ) struct s *p=data; printf(“%d/n“,+(p-x); 程序运行后的输出结果是( )。 (分数:1.00)A.10B.11 C.20D.21解析:20.有以下程序 #include main() FILE * fp;int k , n,a6=1,2,3,4, 5,6; fp=fopen(“d2.dat“,“W“); fpr
38、intf(fp,“dddn“,a0,a1,a2);fprintf(fp,“dddn“,a3,a4,aS); fclose(fp); fp=fopen(“d2.dat“,“r“); fscanf(fp,“dd“, s=x+3; printf(“%d/n“,s2); 执行后输出结果是( )。 (分数:1.00)A.随机值B.0 C.5D.6解析:36.有以下程序 int *f(int *x,int *y) if(*x*y) return x; else return y; main( ) int a=7,b=8,*p,*q,*r; p= q= r=f(p,q); printf(“%d,%d,%d/
39、n“,*p,*q,*r); 执行后输出结果是( )。 (分数:1.00)A.7,8,8B.7,8,7 C.8,7,7D.8,7,8解析:37.有以下程序 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(“dn“,sum); 执行后的输出结果是【 】。 (分数:1.00)A.6B.7C.8 D.9解析:变量 a.b,c 的初始值分别为 1,2,3。因此逗号表达式“a+,b+,a+b“的值等于 5,表达式 c+的值为 3,这样主函数 main()中调用子函数的表达式为“f
40、un(5,3);“,其返回值等 8。所以变量 sum 的值等于 8。38.在 Internet 中,用于在计算机之间传输文件的协议是( )。(分数:1.00)A.TELNETB.BBSC.FTP D.WWW解析:39.已定义以下函数: fun(char *p2, char *p1) while(*p2=*p1)!=/0) p1+;p2+; 此函数的功能是( )。 (分数:1.00)A.将 p1 所指字符串复制到 p2 所指内存空间 B.将 p1 所指字符串的地址赋给指针 p2C.对 p1 和 p2 两个指针所指字符串进行比较D.检查 p1 和 p2 两个指针所指字符串中是否有/0解析:40.有
41、以下程序: main( ) int a33,*p,i; p= for(i=0;iA.3B.6 C.9D.2解析:41.以下语句中存在语法错误的是【 】。(分数:1.00)A.char SS620; SS1=“right?“; B.char SS20=“right?“;C.char * ss6;SS1=“right?“;D.char SS=“right?“;解析:不能用赋值语句将一个字符串常量直接赋给一个字符串数组。42.若各选项中所用变量已正确定义,函数 fun 中通过 return 语句返回个函数值,以下选项中错误的程序是【 】。(分数:1.00)A.main() X=fun(2,10);
42、float fun(int a,int b) B.float fun(int a,int b) main() X=fun(i,j);C.float fun(int,int); main() x=fun(2,10); float fun(int a,int b)解析:在调用子函数时,应对其进行说明。选项 A)中,调用时,没有对子函数进行说明。选项 B)、C)中被调用函数在主调函数之前定义,不用说明;选项 D)中在主调函数中对被调用函数的返回值类型进行了说明。 43.能将高级语言编写的源程序转换成目标程序的是( )。(分数:1.00)A.编辑程序B.编译程序 C.解释程序D.链接程序解析:由高级语
43、言编写的程序称为“源程序”,由二进制代码表示的程序称为“目标程序”,而把源程序 转换成机器能够识别的目标程序是由“编译程序”完成的。44.在 16 位编译系统上,若有定义 int a=10,20,30,*P= printf(“%o %o/n“,mn,n); 程序运行后的输出结果是( )。 (分数:1.00)A.0256 0400B.0256 256C.256 400 D.400 400解析:50.数据库设计的根本目标是要解决(分数:1.00)A.数据共享问题 B.数据安全问题C.大量数据存储问题D.简化数据维护解析:由于数据的集成性使得数据可为多个应用所共享,特别是在网络发达的今天,数据库与网
44、络的结合扩大了数据关系的应用范围。数据的共享本身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。因此,数据库设计的根本目标是要解决数据共享问题。 51.有以下程序 main() int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i ,k,t; for(i=0;i1;n-) s=s+1/n; printf(“%6.4f/n“,s); 程序运行后输出结果错误,导致错误结果的程序行是( )。 (分数:1.00)A.s=1.0;B.for(n=10;n1;n-)C.s=s+1/n; D.printf(“%6.4f/n“,s);解析
45、:54.C 语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是( )。(分数:1.00)A.voidB.int C.floatD.double解析:55.现有以下结构体说明和变量定义,如图所示,指针 P、q、r 分别指向一个链表中连续的三个结点。 (分数:1.00)A.q-next=r-next;p-next=r;r-next:q;B.P-next=r;q-next=r-next;r-next=q;C.q-next=r-next;r-next=q;P-next=r;D.r-next=q;p-next=r;q-next=r-next; 解析:r-next=q,这时 r 指向的节点为 q;p-next=r,这时 p 指向的节点为 r;q-next=r-next,因为 r节点已经指向 q,所以执行这个语句后 q 又指向 q,所以不对。56.有以下程序 #include main() char p20=a,b