1、计算机二级(C)44 及答案解析(总分:3040.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:3000.00)1.下列叙述中正确的是【 】。(分数:60.00)A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对2.以下选项中不能正确把 c1 定义成结构体变量的是( )。(分数:60.00)A.typedef struct int red; int green; int blue; COLOR; COLOR cl;B.s
2、truct color cl int red; int green; int blue; C.struct color int red; int green; int blue; cl;D.struct int red; int green; int blue; cl;3.有以下程序: main( ) char *p10=“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”; printf(“%d/n”,strlen(p4); 执行后输出结果是( )。 (分数:60.00)A.2B.3C.4D.54.以下叙述中正确的是【 】。(分数:60.00)A.C 语言中的文件是流式文件,
3、因此只能顺序存取数据B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失5.设有定义 int a=2,b=3,c=4;,则以下选项中值为 0 的表达式是【 】。(分数:60.00)A.(!a=1 printf(“%d/n“,(x,y); 则以下叙述中正确的是( )。 (分数:60.00)A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出B.运行时产生出错信息C.输出值为 2002D.输出值为 20037.有
4、以下程序 #include main(int argc,char *argv) int i=1,n=0; while(iA.3B.5C.7D.118.以下程序企图把从终端输入的字符输出到名为 abc.txt 的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。 #include stdio.h main( ) FILE *fout; char ch; fout=fopen(abc.txt,w); ch=fgetc(stdin); while(ch!=#) fputc(ch,fout); ch =fgetc(stdin); fclose(fout); 出错的原因是( )。 (分数:
5、60.00)A.函数 fopen 调用形式有误B.输入文件没有关闭C.函数 fgetc 调用形式有误D.文件指针 stdin 没有定义9.已定义以下函数 int fun(int*P) return*p;) fun 函数返回值是【 】。 (分数:60.00)A.不确定的值B.一个整数C.形参 P 中存放的值D.形参 P 的地址值10.以下程序中函数 f( )的功能是将 n 个字符串按由大到小的顺序进行排序。 #includestring.h void f(char p 10,int n) char t20; int i,j; for(i =O;i n-1 ;i + ) for(j =i + 1
6、;j n;j + ) if(strcmp(p i ,pj ) 0) strcpy(t,pi);strcpy(pi ,pj );strcpy(pj ,t); main ( ) char p 10 = “abc“,“aabdfg“,“abbd“,“dcdbe“, “cd“ ; int i; f(p,5); printf(“%d/n“,strlen(pO ) ); 程序运行后的输出结果是( )。 (分数:60.00)A.6B.4C.3D.511.在一个 C 语言程序中( )。(分数:60.00)A.main( )函数必须出现在所有函数之前B.main( )函数可以在任何地方出现C.main( )函数
7、必须出现在所有函数之后D.main( )函数必须出现在固定位置12.算法具有五个特性,以下选项中不属于算法特性的是【 】。(分数:60.00)A.有穷性B.简洁性C.可行性D.确定性13.能将高级语言编写的源程序转换成目标程序的是( )。(分数:60.00)A.编辑程序B.编译程序C.解释程序D.链接程序14.有以下程序段 int a10=1,2,3,4,5,6,7,8,9,10,*p= b=p5; b 中的值是( )。 (分数:60.00)A.5B.6C.8D.915.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10 void arrin(int xN)
8、 int i=0; while(iN) scanf(“%d“,_); 在下划线处应填入的是( )。 (分数:60.00)A.x+iB. printf(“%d %d/n”,sizeof(a),sizeof(b); 执行后输出结果是( )。 (分数:60.00)A.7 7B.8 8C.8 10D.10 1033.能将高级语言编写的源程序转换为目标程序的是( )。(分数:60.00)A.链接程序B.解释程序C.编译程序D.编辑程序34.以下选项中不能作为合法常量的是【 】。(分数:60.00)A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e035.以下不合法的字符常量是
9、【 】。(分数:60.00)A.018B.C.D.xcc36.有以下程序: struc STU char name10; int 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( printf(“%d %d/n”,a.num,b.num); 执行后的输出结果是( )。 (分数:6
10、0.00)A.2041 2044B.2041 2043C.2042 2044D.2042 204337.在计算机系统中,存储一个汉字的国标码所需要的字节数为( )。(分数:60.00)A.1B.2C.3D.438.已有定义:int i,a10,*p;,则合法的赋值语句是( )。(分数:60.00)A.p=100;B.p=a5;C.p=a2+2;D.p=a+2;39.在软件设计中,不属于过程设计工具的是【 】。(分数:60.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图D.DFD 图40.在 Windows 环境下,若要将当前活动窗口存入剪贴板,则可以按( )。(分数:60.00)
11、A.Ctrl+PrintScreen 键B.Alt+PrintScreen 键C.Shift+PrintScreen 键D.PrintScreen 键41.C 语言中用于结构化程序设计的三种基本结构是( )。(分数:60.00)A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、for、continue42.以下选项中,值为 1 的表达式是【 】。(分数:60.00)A.1-0B.1-0C.1-0D.0-043.在 DOS 环境下,为了得到 TYPE 命令的帮助信息,正确的 DOS 命令为( )。(分数:60.00)A.TYPEB
12、.TYPE/HC.TYPE/*D.TYPE/?44.有以下程序段: int n=0,p; do scanf(“%d“,p);n + +;while(p!=12345 nA.p 的值不等于 12345 并且 n 的值小于 3B.p 的值等于 12345 并且 n 的值大于等于 3C.p 的值不等于 12345 或者 n 的值小于 3D.p 的值等于 12345 或者 n 的值大于等于 345.下列关于 C 语言数据文件的叙述中正确的是( )。 (分数:60.00)A.文件由 ASCII 码字符序列组成,C 语言只能读写文本文件B.文件由二进制数据序列组成,C 语言只能读写二进制文件C.文件由记录
13、序列组成,可按数据的存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件46.在结构化程序设计中,模块划分的原则是【 】。(分数:60.00)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度47.有以下程序: main() int a3,3*p,i; p= while(i7 i+; printf(“%d/n“,k); 执行后输出的结果是( )。 (分数:60.00)A.58B.56C.45D.24二、填空题(每空 2 分,共 40 分)(总题数:20,分数:40.00)5
14、1.有以下程序,若运行时从键盘输入:18,11,则程序的输出结果是 1。 main2 int a,b; printf(“Enter a,b:“);scanf(“d,d“, a=25; b=025; c=0x25; printf(“%d %d %d/n“,a,b,c); (分数:2.00)填空项 1:_54.一个关系表的行称为 1。(分数:2.00)填空项 1:_55.在数据库系统中,实现各种数据管理功能的核心软件称为 1。(分数:2.00)填空项 1:_56.已知字符 A 的 ACSII 码值为 65,以下语句的输出结果是 1。 char ch=B; printf(“%c %d/n”,ch,c
15、h); (分数:2.00)填空项 1:_57.已定义 charch=$;inti=1,j;,执行 j!=ch for(i=1; i5; i+) for(j=2; j=i; j+) putchar(#); (分数:2.00)填空项 1:_59.有以下程序: #includestdio.h main( ) char c; while( (c=getchar1 )!=?) putchar(- - c); 程序运行时,如果从键盘输入 Y? N?回车,则输出结果为 2。 (分数:2.00)填空项 1:_60.以下程序运行后的输出结果是 1。 main ( ) char a=“Language“,b=“P
16、rograme“; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k=7;k+) if(*p1+k)=*(p2+k) printf(“%c“,*(p1+k); (分数:2.00)填空项 1:_61.以下程序运行后的输出结果是 1。 struct NODE int num;struct NODE *next; ; main2 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-ne
17、xt-num; sum+=r-next-next-num; printf(“%d/n“,sum); (分数:2.00)填空项 1:_62.Windows 窗口一般由标题栏、菜单栏、控制按钮等部分组成。为了移动窗口,则要用鼠标拖动 1。(分数:2.00)填空项 1:_63.有以下程序 main( ) int t=1,i=5; for(;i=0;i-) t*=i; printf(“%d/n”,t); 执行后输出结果是 1。 (分数:2.00)填空项 1:_64.以下程序运行后的输出结果是 1。 main2 char c1,c2; for(c1=O,c2=9;c1c2;c1+,c2-) printf
18、(“%c%c“,c1,c2); printf(“/n“); (分数:2.00)填空项 1:_65.以下程序的输出结果是 1。 int fun(int *x,int n) if(n=0) return x0; else return x0+fun(x+1,n-1); main2 int a=1,2,3,4,5,6,7;printf(“dn“,fun(a,3); (分数:2.00)填空项 1:_66.下列程序的运行结果是: 1 #include string.h char *ss(char *s) return s+strlen(s)/2; main( ) char *p,*str=”abcdef
19、gh”; p=ss(str); printf(“%s/n”,p); (分数:2.00)填空项 1:_67.下面程序和运行运行结果是 1。 typedef union student char name 10; long sno; char sex; float score 4; STU; main ( ) STU a5; prinff( “% d/n“, sizeof(a) ); (分数:2.00)填空项 1:_68.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_69.以下程序运行后的输出结果 1。 struct NODE int k; struct NODE *li
20、nk; ; main2 structNODEm5,*p=m,*q=m+4; int i=0; while(p!=q) p-k=+i;p+; q-k=i+;q-; q-k=i; for(i=0;i5;i+)printf(“%d“,mi.k); printf(“/n“); (分数:2.00)填空项 1:_70.执行以下程序后的输出结果是 1。 main2 int a=10; a=(3*5,a+4);printf(“a=dn“,a); (分数:2.00)填空项 1:_计算机二级(C)44 答案解析(总分:3040.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总
21、题数:50,分数:3000.00)1.下列叙述中正确的是【 】。(分数:60.00)A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.上述三种说法都不对 解析:算法的复杂度主要包括时间复杂度和空间复杂度。算法的时间复杂度是指执行算法所需要的计算工作量,可以用执行算法的过程中所需基本运算的执行次数来度量;算法的空间复杂度是指执行这个算法所需要的内存空间。根据各自的定义可知,算法的时间复杂度与空间复杂度并不相关。2.以下选项中不能正确把 c1 定义成结构体变量的是( )。(分数:60.00)A.ty
22、pedef struct int red; int green; int blue; COLOR; COLOR cl;B.struct color cl int red; int green; int blue; C.struct color int red; int green; int blue; cl;D.struct int red; int green; int blue; cl;解析:3.有以下程序: main( ) char *p10=“abc”,”aabdfg”,”dcdbe”,”abbd”,”cd”; printf(“%d/n”,strlen(p4); 执行后输出结果是( )
23、。 (分数:60.00)A.2 B.3C.4D.5解析:4.以下叙述中正确的是【 】。(分数:60.00)A.C 语言中的文件是流式文件,因此只能顺序存取数据B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第 1 个数据D.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失 解析:如果以写方式打开一个已经存在的文件,则在打开时将该文件删除,然后重新建立一个同名的新文件。5.设有定义 int a=2,b=3,c=4;,则以下选项中值为 0 的表达式是【 】。(分数:60.00)A.
24、(!a=1 printf(“%d/n“,(x,y); 则以下叙述中正确的是( )。 (分数:60.00)A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出B.运行时产生出错信息C.输出值为 2002D.输出值为 2003 解析:7.有以下程序 #include main(int argc,char *argv) int i=1,n=0; while(iA.3B.5C.7 D.11解析:在“proc 1234567“输入命令行中带有 4 个参数,所以 argc 等于 4,主函数中的循环语句执行 3 次。第一次 argv1的长度为 3,第二次 argv2的长度为 2,第二 argv2的长
25、度为 2。所以最后变量 n 的长度等于 7。8.以下程序企图把从终端输入的字符输出到名为 abc.txt 的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。 #include stdio.h main( ) FILE *fout; char ch; fout=fopen(abc.txt,w); ch=fgetc(stdin); while(ch!=#) fputc(ch,fout); ch =fgetc(stdin); fclose(fout); 出错的原因是( )。 (分数:60.00)A.函数 fopen 调用形式有误 B.输入文件没有关闭C.函数 fgetc 调用形式有误
26、D.文件指针 stdin 没有定义解析:9.已定义以下函数 int fun(int*P) return*p;) fun 函数返回值是【 】。 (分数:60.00)A.不确定的值B.一个整数 C.形参 P 中存放的值D.形参 P 的地址值解析:返回值为指针变量指向的数据,该数据已被定义为整型。10.以下程序中函数 f( )的功能是将 n 个字符串按由大到小的顺序进行排序。 #includestring.h void f(char p 10,int n) char t20; int i,j; for(i =O;i n-1 ;i + ) for(j =i + 1 ;j n;j + ) if(strc
27、mp(p i ,pj ) 0) strcpy(t,pi);strcpy(pi ,pj );strcpy(pj ,t); main ( ) char p 10 = “abc“,“aabdfg“,“abbd“,“dcdbe“, “cd“ ; int i; f(p,5); printf(“%d/n“,strlen(pO ) ); 程序运行后的输出结果是( )。 (分数:60.00)A.6B.4C.3 D.5解析:对字符串比较的方法是依次对两字符串对应位置上的字符两两比较,当出现第一对不相同的字符 时,即由这两个字符(ASCII 码值)决定所在串的大小。11.在一个 C 语言程序中( )。(分数:60
28、.00)A.main( )函数必须出现在所有函数之前B.main( )函数可以在任何地方出现 C.main( )函数必须出现在所有函数之后D.main( )函数必须出现在固定位置解析:12.算法具有五个特性,以下选项中不属于算法特性的是【 】。(分数:60.00)A.有穷性B.简洁性 C.可行性D.确定性解析:有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性是算法的基本特性。 13.能将高级语言编写的源程序转换成目标程序的是( )。(分数:60.00)A.编辑程序B.编译程序 C.解释程序D.链接程序解析:由高级语言编写的程序称为“源程序”,由二进制代码表示的程序称为“目标程序”,而
29、把源程序 转换成机器能够识别的目标程序是由“编译程序”完成的。14.有以下程序段 int a10=1,2,3,4,5,6,7,8,9,10,*p= b=p5; b 中的值是( )。 (分数:60.00)A.5B.6C.8D.9 解析:15.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #define N 10 void arrin(int xN) int i=0; while(iN) scanf(“%d“,_); 在下划线处应填入的是( )。 (分数:60.00)A.x+iB. printf(“%d %d/n”,sizeof(a),sizeof(b); 执行后输出结果是( )。
30、 (分数:60.00)A.7 7B.8 8C.8 10 D.10 10解析:33.能将高级语言编写的源程序转换为目标程序的是( )。(分数:60.00)A.链接程序B.解释程序C.编译程序 D.编辑程序解析:34.以下选项中不能作为合法常量的是【 】。(分数:60.00)A.1.234e04B.1.234e0.4 C.1.234e+4D.1.234e0解析:指数形式的实型常量要求字母 e(或 E)之前必需有数字,且 e 后面的指数必须为整数,所以本题中选项 B 非法。 35.以下不合法的字符常量是【 】。(分数:60.00)A.018 B.C.D.xcc解析:字符常量是括在一对单引号内的字符。
31、选项 A)018是八进制字符串格式,所以里面的数不能大于 8。选项 B、C、D 都是转义字符。36.有以下程序: struc STU char name10; int 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( printf(“%d %d/n”,a.num,b.num);
32、执行后的输出结果是( )。 (分数:60.00)A.2041 2044 B.2041 2043C.2042 2044D.2042 2043解析:37.在计算机系统中,存储一个汉字的国标码所需要的字节数为( )。(分数:60.00)A.1B.2 C.3D.4解析:38.已有定义:int i,a10,*p;,则合法的赋值语句是( )。(分数:60.00)A.p=100;B.p=a5;C.p=a2+2;D.p=a+2; 解析:39.在软件设计中,不属于过程设计工具的是【 】。(分数:60.00)A.PDL(过程设计语言)B.PAD 图C.N-S 图D.DFD 图 解析:软件设计工具包括:程序流程图、
33、N-S、PAD、H1PO,判定表,PDL(伪码)。而 DFD(数据流图)属于结构化分析工具。 40.在 Windows 环境下,若要将当前活动窗口存入剪贴板,则可以按( )。(分数:60.00)A.Ctrl+PrintScreen 键B.Alt+PrintScreen 键 C.Shift+PrintScreen 键D.PrintScreen 键解析:在 Windows 环境下,按 PrintScreen 键可将整个屏幕存入剪贴板,当它与 Alt 键结合使用时,可将 当前窗口存入剪贴板。 41.C 语言中用于结构化程序设计的三种基本结构是( )。(分数:60.00)A.顺序结构、选择结构、循环结
34、构 B.if、switch、breakC.for、while、do-whileD.if、for、continue解析:42.以下选项中,值为 1 的表达式是【 】。(分数:60.00)A.1-0B.1-0 C.1-0D.0-0解析:本题主要考查了字符参与的数学运算,首先要将字符转换为对应的 ASCII 码值。我们知道,字符1所对应的 ASCII 码值不是 1,字符0所对应的 ASCII 码值也不是 0,字符0是字符串结束标识符,其对应的 ASCII 码值是 0。43.在 DOS 环境下,为了得到 TYPE 命令的帮助信息,正确的 DOS 命令为( )。(分数:60.00)A.TYPEB.TYP
35、E/HC.TYPE/*D.TYPE/? 解析:44.有以下程序段: int n=0,p; do scanf(“%d“,p);n + +;while(p!=12345 nA.p 的值不等于 12345 并且 n 的值小于 3B.p 的值等于 12345 并且 n 的值大于等于 3C.p 的值不等于 12345 或者 n 的值小于 3D.p 的值等于 12345 或者 n 的值大于等于 3 解析:45.下列关于 C 语言数据文件的叙述中正确的是( )。 (分数:60.00)A.文件由 ASCII 码字符序列组成,C 语言只能读写文本文件B.文件由二进制数据序列组成,C 语言只能读写二进制文件C.文
36、件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 解析:46.在结构化程序设计中,模块划分的原则是【 】。(分数:60.00)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度 解析:在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,这也是模块划分的原则。47.有以下程序: main() int a3,3*p,i; p= while(i7 i+; printf(“%d/n“,k); 执行后输出的结
37、果是( )。 (分数:60.00)A.58B.56C.45D.24 解析:二、填空题(每空 2 分,共 40 分)(总题数:20,分数:40.00)51.有以下程序,若运行时从键盘输入:18,11,则程序的输出结果是 1。 main2 int a,b; printf(“Enter a,b:“);scanf(“d,d“, a=25; b=025; c=0x25; printf(“%d %d %d/n“,a,b,c); (分数:2.00)填空项 1:_ (正确答案:25 21 37)解析:54.一个关系表的行称为 1。(分数:2.00)填空项 1:_ (正确答案:元组)解析:在关系中,水平方向的行
38、称为元组,垂直方向的列称为属性,每一列有一个属性名。55.在数据库系统中,实现各种数据管理功能的核心软件称为 1。(分数:2.00)填空项 1:_ (正确答案:数据库管理系统(DBMS))解析:数据库管理系统(Database Management System)简称 DBMS,对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。它是数据库系统的核心软件。56.已知字符 A 的 ACSII 码值为 65,以下语句的输出结果是 1。 char ch=B; printf(“%c %d/n”,ch,ch); (分数:2.00)填空项 1:_ (正确答案:B 66)解析:57.已定义 char
39、ch=$;inti=1,j;,执行 j!=ch for(i=1; i5; i+) for(j=2; j=i; j+) putchar(#); (分数:2.00)填空项 1:_ (正确答案:6)解析:59.有以下程序: #includestdio.h main( ) char c; while( (c=getchar1 )!=?) putchar(- - c); 程序运行时,如果从键盘输入 Y? N?回车,则输出结果为 2。 (分数:2.00)填空项 1:_ (正确答案:X)解析:60.以下程序运行后的输出结果是 1。 main ( ) char a=“Language“,b=“Programe
40、“; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k=7;k+) if(*p1+k)=*(p2+k) printf(“%c“,*(p1+k); (分数:2.00)填空项 1:_ (正确答案:gae)解析:61.以下程序运行后的输出结果是 1。 struct NODE int num;struct NODE *next; ; main2 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; su
41、m+=q-next-num; sum+=r-next-next-num; printf(“%d/n“,sum); (分数:2.00)填空项 1:_ (正确答案:5)解析:程序通过语句“s0.next=s+1;s1.next=s+2;s2.next=s;“将结构体变量 s 中各结点链接成了一个循环链表,即最后一个结点的指针域指向了头结点(s2.next=s;),整个链表形成一个环,并通过语句“p=s;q=p-next;r=q-next;“将结构体指针变量 p、q、r 指向了各结点,具体结构如下图:故本题输出的 sum=3+2=5。 62.Windows 窗口一般由标题栏、菜单栏、控制按钮等部分组
42、成。为了移动窗口,则要用鼠标拖动 1。(分数:2.00)填空项 1:_ (正确答案:标题栏)解析:63.有以下程序 main( ) int t=1,i=5; for(;i=0;i-) t*=i; printf(“%d/n”,t); 执行后输出结果是 1。 (分数:2.00)填空项 1:_ (正确答案:0)解析:64.以下程序运行后的输出结果是 1。 main2 char c1,c2; for(c1=O,c2=9;c1c2;c1+,c2-) printf(“%c%c“,c1,c2); printf(“/n“); (分数:2.00)填空项 1:_ (正确答案:0918273645)解析:本题程序的
43、作用是通过 for 循环将 0-9 这 10 个数字从前向后,同时也从后向前依次输出。 65.以下程序的输出结果是 1。 int fun(int *x,int n) if(n=0) return x0; else return x0+fun(x+1,n-1); main2 int a=1,2,3,4,5,6,7;printf(“dn“,fun(a,3); (分数:2.00)填空项 1:_ (正确答案:10)解析:本题考查的是函数的递归调用。在调用一个函数的过程中又直接或间接的调用该函数本身。第一次调用时,指针 x 指向的是 a0,n 的值为 3,每调用一次 n 自减 1,x 加 1,指向数组
44、a 中的下一个元素,当 n为 0 时函数开始返回,最后的返回值等于 a0+a1+a2+a3=10。66.下列程序的运行结果是: 1 #include string.h char *ss(char *s) return s+strlen(s)/2; main( ) char *p,*str=”abcdefgh”; p=ss(str); printf(“%s/n”,p); (分数:2.00)填空项 1:_ (正确答案:efgh)解析:67.下面程序和运行运行结果是 1。 typedef union student char name 10; long sno; char sex; float score 4; STU; main ( ) STU a5; prinff( “% d/n“, sizeof(a) ); (分数:2.00)填空项 1:_ (正确答案:80)解析:68.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_ (正确答案:程序调试)解析:程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。先要发