1、计算机二级(C)46 及答案解析(总分:3040.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:3000.00)1.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(分数:60.00)A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参2.下列条件语句中,功能与其他语句不同的是( )。(分数:60.00)A.if(a)printf(“%d/n“,x); else printf(“%d/n“,y);B.if(a=0)printf(“%d/n“,y)
2、; else printf(“%d/n“,x);C.if (a!=0)printf(“%d/n“,x); else printf(“%d/n“,y);D.if(a=0)printf(“%d/n“,x); else printf(“%d/n“,y);3.有以下程序 main() int i,j; for(i=1;iA.1*1=11*2=21*3=3B.1*1=1 1* 2=2 1*3=3 2*1=2 2*2=4 2*2 =4 2* 3=6 3*1=3 3*3=9C.1*1=1D.1*1=1 1*2=2 2*2=4 2*1=2 2*2=4 1*3=3 2*3=6.3*3=9 3*1=3 3*2=6
3、 3*3=94.有以下程序(提示:程序中 fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件尾向前移 2*sizeof(int)字节) #include stdio.h main( ) FILE *fp; int i,a4=1,2,3,4,b; fp=fopen(“data.dat“,“wb“); for(i=0;iA.2B.1C.4D.35.有以下程序 main() union char ch2; int d; S; S.d=0x4321; printf(“x,xn“,S.ch0,S.ch1); 在 16 位编译系统上,程序执行后的输出结果是【
4、 】。 (分数:60.00)A.21,43B.43,21C.43D.21,006.有以下程序 main( ) int a 3=1,2,3,4,5,0,(*pa)3,i; pa=a; for(i=0;iA.7B.6C.8D.无确定值7.有以下程序 maln() int a=0,b=0,C=0,d=0; . if(a=1)b=1;c:2; else d=3; printf(“d,d,d,dn“,a,b,C,d); 程序输出【 】。 (分数:60.00)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错8.有以下程序: main( ) char a,b,c,d; scanf(“%c,
5、%c,%d,%d“, printf(“c,%c,%c,%c/n“,a,b,c,d); 若运行时从键盘上输入:6,5,65,66。则输出结果是( )。(分数:60.00)A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,69.在 Windows 环境下,当一个应用程序窗口被最小化后,该应用程序( )。(分数:60.00)A.继续在后台运行B.继续在前台运行C.终止运行D.暂停运行10.已知 i,j,k 为 int 型变量,若从键盘输入:1,2,3,使 i 的值为 1,j 的值为 2,k 的值为 3,以下选项中正确的输入语句是( )。(分数:60.00)A.scanf (“
6、%2d%2d%2d“,i,j,k);B.scanf (“%d %d %d“,i,j,k);C.scanf (“%d,%d,%d“,i,j,k);D.scanf (“i=%d,j=%d,k=%d“,i,j,k);11.有以下程序 main() int c=35;printf(“%d/n“,c e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; pintf(“%d,%d,%d/n“,e,f,g); 程序运行后的输出结果是【 】。(分数:60.00)A.4,3,7B.3,4,7C.52,7D.2,5,714.以下选项中不能正确把 c1
7、定义成结构体变量的是( )。(分数:60.00)A.typedef 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;15.有以下程序 void change(int k)k0=k5; main() int x10=l,2,3,4,5,6,7,8,9,10,n=0;
8、while(nb?(bc?1:0):0;功能等价的是( )。(分数:60.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;46.有以下程序: int f(int n) if(n =1)return 1; else return f(n-1)+1; main( ) int i,j=0; for(i=1;i3;i+) j+=f(i); printf(“%d/n“,j); 程序运行后的输出结果是( )。 (分数:60.00)A.4B.3C.2D.147.C 语言中用于结构化
9、程序设计的三种基本结构是( )。(分数:60.00)A.顺序结构、选择结构、循环结构B.if、switch、breakC.for、while、do-whileD.if、for、continue48.下列叙述中正确的是【 】。(分数:60.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试D.程序经调试改错后不必进行再测试49.设有如下说明 typedef struct int n; char c; double x;STD; 则以下选项中 ,能正确定义结构体数组并赋初值的语句是( )。 (分数:60.00)A.STD tt2=1,A,62,2,
10、B,75;B.STD tt2=1,“A“,62,2,“,75;C.struct tt2=1,A,2,B;D.struct tt2=1,“A“,62.5,2,“B“,75.0;50.有以下程序: main( ) int m=0256,n=256; printf(“%o %o/n“,mn,n); 程序运行后的输出结果是( )。 (分数:60.00)A.0256 0400B.0256 256C.256 400D.400 400二、填空题(每空 2 分,共 40 分)(总题数:20,分数:40.00)51.有以下程序 main( ) int n=0,m=1,x=2; if(!n) x-=1; if(m
11、) x-=2; if(x) x-=3; printf(“%d/n”,x); 执行后输出结果是 1。 (分数:2.00)填空项 1:_52.以下程序中给指针 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”,p0,p1,p2); (分数:2.00)填空项 1:_53.以下程序中函数 huiwen 的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串 yes!,否则函数返回字
12、符串 no!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。#includestring.h char*huiwen (char*str) char*p1,*p2;int i,t=0; p1=str;p2= 1。 for(i=0;istrlen(str)/2;i+) if(*p1+!=*p2-)t=1;break; if( 2)return(“yes“!); else return(“no!“); main3 char str50; printf(“Input:“);scanf(“%s“,str); printf(“%s/n“, 4); (分数:2.00)填空项
13、 1:_54.现有两个 C 程序文件 T18.C 和 myfun.C 同在 TC 系统目录(文件夹)下,其中 T18.C 文件如下: #include #include“myfun.c“ main1 fun2;printf(“n“); myfun.C 文件如下: void fun3 char S80,C;int n=0; while(C=getchar4)!=n)Sn+=c; n-; while(n=0)prinff(“C“,sn-); 当编译连接通过后,运行程序 T18 时,输入 Thank!则输出结果是: 5。 (分数:2.00)填空项 1:_55.以下函数 rotate 的功能是:将 a
14、 所指 N 行 N 列的二维数组中的最后一行放到 b 所指二维数组的第 0 列中,把 a 所指二维数组中的第 0 行放到 b 所指二维数组的最后一列中,b 所指二维数组中的其他数据不变。 #define N 4 void rotate(int aN,int bN int i,j; for(i=0;iN;i+) biN-1= 1; 2=aN-1i; (分数:2.00)填空项 1:_填空项 1:_56.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_57.按“先进后出“原则组织数据的数据结构是 1。(分数:2.00)填空项 1:_58.E-mail 地址由用户名和域名两部分
15、组成,这两部分的分隔符为 1。(分数:2.00)填空项 1:_59.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中 1 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_60.计算机软件分为系统软件和应用软件,操作系统属于 1。(分数:2.00)填空项 1:_61.若有语句 int i=-19,j=i%4; printf(“%d/n“,j); 则输出的结果是 1。 (分数:2.00)填空项 1:_62.有以下程序,其功能是:以二进制“写“方式打开文件 d1.dat,写入 l-100 这 100 个整数
16、后关闭文件。再以二进制“读“方式打开文件 d1.dat,将这 100 个整数读入到另一个数组 b 中,并打印输出。请填空。 #include main1 FILE *fp; int i,a100,b100; fp=fopen(“d1.dat“,“wb“); for(i=O;i2); fread(b ,sizeof(int),100,fp); fclose(fp); for(i=0;i填空项 1:_63.函数 fun 的功能是计算 Xn double fun(double x,int n) int i; double y=1; for(i=1;i=n;i+) y=y*x; return y; 主
17、函数中已经正确定义 m,a,b 变量并赋值,并调用fun 函数计算:m=a4+b4-(a+b)3。实现这一计算的函数调用语句为 1。 (分数:2.00)填空项 1:_64.以下程序运行后的输出结果是 1。 void fun(int x,int y) x=x+y;y=x-y;x=x-y; printf(“%d,%d,“,x,y); main( ) int x=2,y=3; fun(x,y); printf(“%d,%d/n“,x,y); (分数:2.00)填空项 1:_65.有以下程序,若运行时从键盘输入:18,11,则程序的输出结果是 1。 main2 int a,b; printf(“Ent
18、er a,b:“);scanf(“d,d“, for(i=1; i=n; i+) m+=i*f; f= 1; return m; main( ) printf(“m=%d/n“, 2); (分数:2.00)填空项 1:_68.有以下程序 main( ) int t=1,i=5; for(;i=0;i-) t*=i; printf(“%d/n”,t); 执行后输出结果是 1。 (分数:2.00)填空项 1:_69.下面程序的运行结果是: 1。 #include int f(int a,int n) if(n1) return a0+f(a+1,n 一 1);else return a0; mai
19、n2 int aa10=1,2,3,4,5,6,7,8,9,10,S; S=f(aa+2,4);printf(“dn“,S); (分数:2.00)填空项 1:_70.下面程序的运行结果是: 1 int f( int a , int n) if(n1) return a0+f( else return a0; main ( ) int aa3=1,2,3,s; s=f( ; printf(“%d/n”,s); (分数:2.00)填空项 1:_计算机二级(C)46 答案解析(总分:3040.00,做题时间:120 分钟)一、选择题(1-10 题每题 2 分,11-50 题(总题数:50,分数:30
20、00.00)1.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(分数:60.00)A.函数调用可以作为独立的语句存在B.函数调用可以作为一个函数的实参C.函数调用可以出现在表达式中D.函数调用可以作为一个函数的形参 解析:2.下列条件语句中,功能与其他语句不同的是( )。(分数:60.00)A.if(a)printf(“%d/n“,x); else printf(“%d/n“,y);B.if(a=0)printf(“%d/n“,y); else printf(“%d/n“,x);C.if (a!=0)printf(“%d/n“,x); else printf(“%d/n“,y);
21、D.if(a=0)printf(“%d/n“,x); else printf(“%d/n“,y); 解析:3.有以下程序 main() int i,j; for(i=1;iA.1*1=11*2=21*3=3B.1*1=1 1* 2=2 1*3=3 2*1=2 2*2=4 2*2 =4 2* 3=6 3*1=3 3*3=9 C.1*1=1D.1*1=1 1*2=2 2*2=4 2*1=2 2*2=4 1*3=3 2*3=6.3*3=9 3*1=3 3*2=6 3*3=9解析:本题主要考查了 for 循环的嵌套。外层 for 循环的自变量 i 从 1 开始,每次循环后增 l,至到 i 等于3 结束
22、。内层循环的自变量 j 每次从 i 开始,每次循环后增 1,至到 j 等于 3 结束。在每次外循环开始后,内层循环在一行上先打印“i*j=两个乘数的积“,然后换行,下次循环从下一行开始打印。4.有以下程序(提示:程序中 fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件尾向前移 2*sizeof(int)字节) #include stdio.h main( ) FILE *fp; int i,a4=1,2,3,4,b; fp=fopen(“data.dat“,“wb“); for(i=0;iA.2B.1C.4D.3 解析:5.有以下程序 main
23、() union char ch2; int d; S; S.d=0x4321; printf(“x,xn“,S.ch0,S.ch1); 在 16 位编译系统上,程序执行后的输出结果是【 】。 (分数:60.00)A.21,43 B.43,21C.43D.21,00解析:因为联合的两个变量共用一段内存,ch0占用低字节,ch1占用高字节,所以在读它们的时候还是原来的数据,没发生改变。6.有以下程序 main( ) int a 3=1,2,3,4,5,0,(*pa)3,i; pa=a; for(i=0;iA.7 B.6C.8D.无确定值解析:7.有以下程序 maln() int a=0,b=0,
24、C=0,d=0; . if(a=1)b=1;c:2; else d=3; printf(“d,d,d,dn“,a,b,C,d); 程序输出【 】。 (分数:60.00)A.0,1,2,0B.0,0,0,3C.1,1,2,0D.编译有错 解析:else 子句不能作为语句单独使用,在题中 if 与 else 语句被“c=2;“语句分隔开了。8.有以下程序: main( ) char a,b,c,d; scanf(“%c,%c,%d,%d“, printf(“c,%c,%c,%c/n“,a,b,c,d); 若运行时从键盘上输入:6,5,65,66。则输出结果是( )。(分数:60.00)A.6,5,
25、A,B B.6,5,65,66C.6,5,6,5D.6,5,6,6解析:9.在 Windows 环境下,当一个应用程序窗口被最小化后,该应用程序( )。(分数:60.00)A.继续在后台运行 B.继续在前台运行C.终止运行D.暂停运行解析:10.已知 i,j,k 为 int 型变量,若从键盘输入:1,2,3,使 i 的值为 1,j 的值为 2,k 的值为 3,以下选项中正确的输入语句是( )。(分数:60.00)A.scanf (“%2d%2d%2d“,i,j,k);B.scanf (“%d %d %d“,i,j,k);C.scanf (“%d,%d,%d“,i,j,k); D.scanf (
26、“i=%d,j=%d,k=%d“,i,j,k);解析:11.有以下程序 main() int c=35;printf(“%d/n“,c e=f2(f1(a,b),f1(c,d);f=f1(f2(a,b),f2(c,d); g=a+b+c+d-e-f; pintf(“%d,%d,%d/n“,e,f,g); 程序运行后的输出结果是【 】。(分数:60.00)A.4,3,7 B.3,4,7C.52,7D.2,5,7解析:函数 f1 的功能是返回两个数中比较的值,f2 的功能是返回两个数中比较小的值。 14.以下选项中不能正确把 c1 定义成结构体变量的是( )。(分数:60.00)A.typedef
27、 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;解析:15.有以下程序 void change(int k)k0=k5; main() int x10=l,2,3,4,5,6,7,8,9,10,n=0; while(nb?(bc?1:0):0;功能等价的是( )。
28、(分数:60.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;解析:46.有以下程序: int f(int n) if(n =1)return 1; else return f(n-1)+1; main( ) int i,j=0; for(i=1;i3;i+) j+=f(i); printf(“%d/n“,j); 程序运行后的输出结果是( )。 (分数:60.00)A.4B.3 C.2D.1解析:第一次调用 f( )函数,返回值为 1,第二次调用 f( )函数,牵涉
29、到函数的递归调用,返回值为 2。47.C 语言中用于结构化程序设计的三种基本结构是( )。(分数:60.00)A.顺序结构、选择结构、循环结构 B.if、switch、breakC.for、while、do-whileD.if、for、continue解析:48.下列叙述中正确的是【 】。(分数:60.00)A.程序设计就是编制程序B.程序的测试必须由程序员自己去完成C.程序经调试改错后还应进行再测试 D.程序经调试改错后不必进行再测试解析:程序调试的任务是诊断和改正程序中的错误,改正以后还需要再测试。 49.设有如下说明 typedef struct int n; char c; doubl
30、e x;STD; 则以下选项中 ,能正确定义结构体数组并赋初值的语句是( )。 (分数:60.00)A.STD tt2=1,A,62,2,B,75; B.STD tt2=1,“A“,62,2,“,75;C.struct tt2=1,A,2,B;D.struct tt2=1,“A“,62.5,2,“B“,75.0;解析:50.有以下程序: main( ) int m=0256,n=256; printf(“%o %o/n“,mn,n); 程序运行后的输出结果是( )。 (分数:60.00)A.0256 0400B.0256 256C.256 400 D.400 400解析:二、填空题(每空 2
31、分,共 40 分)(总题数:20,分数:40.00)51.有以下程序 main( ) int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3; printf(“%d/n”,x); 执行后输出结果是 1。 (分数:2.00)填空项 1:_ (正确答案:-4)解析:52.以下程序中给指针 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”,p
32、0,p1,p2); (分数:2.00)填空项 1:_ (正确答案:sizeof(double)*3)解析:53.以下程序中函数 huiwen 的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串 yes!,否则函数返回字符串 no!,并在主函数中输出,所谓回文即正向与反向的拼写都一样,例如:adgda。请填空。#includestring.h char*huiwen (char*str) char*p1,*p2;int i,t=0; p1=str;p2= 1。 for(i=0;istrlen(str)/2;i+) if(*p1+!=*p2-)t=1;break; if( 2)re
33、turn(“yes“!); else return(“no!“); main3 char str50; printf(“Input:“);scanf(“%s“,str); printf(“%s/n“, 4); (分数:2.00)填空项 1:_ (正确答案:p1+(strlen(str)-1)或 str+(strlen(str)-1) , t=0 或!(t!=0)或 t!=1 或!t , huiWen(str))解析: 本题的要求是判断从键盘输入的字符串是否是回文,但在主函数中并没有完成此功能的代码,故第20 空应该填调用函数 huiwen 代码,即 huiwen(str)。 由于回文字符串是指
34、正向与反向拼写都一样,所以对于一个字符串,如果正向顺序与反向顺序对应位置上的字符一样,则此字符串即为回文。在函数 huiwen 中,已用“p1=str“使得 p1 指向字符串 str 的第一个字符的地址,则第 18 空语句的功能应该是使得 p2 指向字符串 str 的最后一个字符串的地址,故填 p1+(strlen(str)-1),由于 p1 与 str 指向的是同一个地址,所以,第18 空也可以填 str+(strlen(str)-1)。 在进行 for 循环时,如果 p1 所指向的字符与 p2 指向的字符不相同,则说明,字符串 str 不是回文,贝佣 t=1 标记,并退出循环,执行下面的
35、if 语句,由于题中要求如果是回文,则返回“yes!“,否则,返回“no!“。故当 t=0 的时候,说明字符串 str 为回文,所以第 19 应填 t=0 或!(t!=0)或 t!=1 或!t。 54.现有两个 C 程序文件 T18.C 和 myfun.C 同在 TC 系统目录(文件夹)下,其中 T18.C 文件如下: #include #include“myfun.c“ main1 fun2;printf(“n“); myfun.C 文件如下: void fun3 char S80,C;int n=0; while(C=getchar4)!=n)Sn+=c; n-; while(n=0)pr
36、inff(“C“,sn-); 当编译连接通过后,运行程序 T18 时,输入 Thank!则输出结果是: 5。 (分数:2.00)填空项 1:_ (正确答案:!knahT)解析:此程序是一道次序颠倒题,即输入“Thank!“,则输出“!knahT“。55.以下函数 rotate 的功能是:将 a 所指 N 行 N 列的二维数组中的最后一行放到 b 所指二维数组的第 0 列中,把 a 所指二维数组中的第 0 行放到 b 所指二维数组的最后一列中,b 所指二维数组中的其他数据不变。 #define N 4 void rotate(int aN,int bN int i,j; for(i=0;iN;i
37、+) biN-1= 1; 2=aN-1i; (分数:2.00)填空项 1:_ (正确答案:a0i)填空项 1:_ (正确答案:bi0)解析:根据题意,语句“biN-1= -|_|-;“的作用是把 a 所指二维数组中的第 0 行放到b 所指二维数组的最后一列中,在 a 数组中,第 0 行用 a0来表示,所以第 19 空填对 a0i;语句“ -|_|-=aN-1i;“的作用是将 a 所指二维数组中的最后一行放到 b 所指二维数组的第 0 列中,b 数组中第 0 列用 b0来表示,所以,第 20 空填 bi0。 56.诊断和改正程序中错误的工作通常称为 1。(分数:2.00)填空项 1:_ (正确答
38、案:程序调试)解析:程序调试的任务是诊断和改正程序中的错误。它与软件测试不同,软件测试是尽可能多地发现软件中的错误。先要发现软件的错误,然后借助于一定的调试工具去找出软件错误的具体位置。软件测试贯穿整个软件生命期,调试主要再开发阶段。 57.按“先进后出“原则组织数据的数据结构是 1。(分数:2.00)填空项 1:_ (正确答案:栈)解析:栈是限定只在一端进行插入和删除操作的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。栈按照“先进后出“或“后进先出“的原则组织数据。58.E-mail 地址由用户名和域名两部分组成,这两部分的分隔符为 1。(分数:2.00)填空项 1:_ (正确答案:
39、)解析:59.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中 1 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_ (正确答案:驱动模块)解析:在进行测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块):其中,驱动模块相当于被测试模块的主程序,它接收测试数据,并传给被测试模块,输出实际测试结果。承接模块通常用于代替被测试模块调用的其他模块,其作用仅做少量的数据操作,是一个模拟子程序,不必将子模块的所有功能带入。 60.计算机软件分为系统软件和应用软件,操作系统属于 1。(分数:
40、2.00)填空项 1:_ (正确答案:系统软件)解析:计算机软件可分为系统软件和应用软件,操作系统属于系统软件。61.若有语句 int i=-19,j=i%4; printf(“%d/n“,j); 则输出的结果是 1。 (分数:2.00)填空项 1:_ (正确答案:-3)解析:62.有以下程序,其功能是:以二进制“写“方式打开文件 d1.dat,写入 l-100 这 100 个整数后关闭文件。再以二进制“读“方式打开文件 d1.dat,将这 100 个整数读入到另一个数组 b 中,并打印输出。请填空。 #include main1 FILE *fp; int i,a100,b100; fp=f
41、open(“d1.dat“,“wb“); for(i=O;i2); fread(b ,sizeof(int),100,fp); fclose(fp); for(i=0;i填空项 1:_ (正确答案:“rb“)解析:“rb“表示只读方式打开一个二进制文件。赋给 p,这样循环,节点可以依次向后取值。63.函数 fun 的功能是计算 Xn double fun(double x,int n) int i; double y=1; for(i=1;i=n;i+) y=y*x; return y; 主函数中已经正确定义 m,a,b 变量并赋值,并调用fun 函数计算:m=a4+b4-(a+b)3。实现这
42、一计算的函数调用语句为 1。 (分数:2.00)填空项 1:_ (正确答案:m=fun(a,4)+fun(b,4)-fun(a+b,3);)解析:64.以下程序运行后的输出结果是 1。 void fun(int x,int y) x=x+y;y=x-y;x=x-y; printf(“%d,%d,“,x,y); main( ) int x=2,y=3; fun(x,y); printf(“%d,%d/n“,x,y); (分数:2.00)填空项 1:_ (正确答案:3,2,2,3)解析:本题考点是局部变量的作用范围。65.有以下程序,若运行时从键盘输入:18,11,则程序的输出结果是 1。 mai
43、n2 int a,b; printf(“Enter a,b:“);scanf(“d,d“, for(i=1; i=n; i+) m+=i*f; f= 1; return m; main( ) printf(“m=%d/n“, 2); (分数:2.00)填空项 1:_ (正确答案:-f)解析:68.有以下程序 main( ) int t=1,i=5; for(;i=0;i-) t*=i; printf(“%d/n”,t); 执行后输出结果是 1。 (分数:2.00)填空项 1:_ (正确答案:0)解析:69.下面程序的运行结果是: 1。 #include int f(int a,int n) i
44、f(n1) return a0+f(a+1,n 一 1);else return a0; main2 int aa10=1,2,3,4,5,6,7,8,9,10,S; S=f(aa+2,4);printf(“dn“,S); (分数:2.00)填空项 1:_ (正确答案:18)解析:表达式 f(aa+2,4)递归调用 4 次,从 aa3开始,aa3,aa4,aa5,aa6相加和等于 22。70.下面程序的运行结果是: 1 int f( int a , int n) if(n1) return a0+f( else return a0; main ( ) int aa3=1,2,3,s; s=f( ; printf(“%d/n”,s); (分数:2.00)填空项 1:_ (正确答案:6)解析: