当前位置:首页 > C语言(30次)答案及分析
程序运行后,屏幕上的输出结果为( 30 )。 30 (A) 5 4 3 2 1 (B) 1 2 3 4 5
(C) 1 3 2 5 4 1 2 3 4 5 (D) 1 3 2 5 4 5 4 3 2 1 程序运行后,文件data.txt中的内容为( 31 )。 31 (A) 5 4 3 2 1 (B) 1 2 3 4 5
(C) 1 3 2 5 4 1 2 3 4 5 (D) 1 3 2 5 4 5 4 3 2 1
4. 有下列程序(考点:循环(continue))
# include
for(j=0;j<=3;j++)
{ if(j%2) continue; //结束本层本次循环 x++; }
printf(\ x++; }
printf(\}
(1)程序吉第一条printf语句输出的结果是( 32 ) 32 (A) 4 5 (B) 5 6 (C) 5 8 (D) 3 7 (2)程序吉第二条printf语句输出的结果是( 33 ) 33 (A) 4 (B) 8 (C) 6 (D) 12
5. 有下列程序:(考点:if~else嵌套)
# include
{ int x=100,a=10,b=20; int v1=5,v2=0; if(a
printf(\}
(1)程序的运行结果是( 34 ) 34 (A) 100 (B) 1 (C) 10 (D) -1 (2)if(v2)与下列选项相同的是( 35 ) 35 (A) if(v2==0) (B) if( v2!=0) (C) if(v2==1) (D) if(v2!=1)
6. 有下列程序:(考点:switch语句、自增、自减运算)
# include
四川省计算机二级考试第三十次C与C++语言笔试试卷 第 5 页 共 9 页
void main()
{ int x=10,y=5; switch(x) { case 1: x++;
default: x+=y; //x=15 case 2: y--; //y=4 case 3: x--; //x=14 }
printf(\}
执行下列程序后,输出结果为( 36 )。
36 (A) x=15, y=4 (B) x=14, y=4 (C) x=10, y=5 (D) x=15, y=5
7. 有以下程序:(考点:二维数组、循环(continue、嵌套)、自增运算 )
# include
{ int array[4][4]={{9,8,7,6},{5,4,3,2},{1,2,3,4},{5,6,7,8}}; int i=0,j=0,m=0,n=0; while(i++<3)
{ if(i==3||i==1) continue; j=0; do
{ n=array[i][j]; m+=n;j++; }while(j<4); }
printf(\}
(1)程序运行的结果是( 37 ) 37 (A) 10 (B) 9 (C) 8 (D) 不能运行 (2)对于本程序来说,不影响运行结果的是( 38 ) 38 (A) 将i++改为++i (B) 将i++<3改为i++<=3
(C) 去掉continue (D) 将continue改为break
8. 有以下程序:(考点:函数、全局变量、复合赋值运算、自增运算)
# include
d+=p++; //d=d+(p++)?d=5+3=8, p=4 printf(\ //输出局部变量d的值 }
void main() { int a=3; fun(a);
d+=a++; //d=d+(a++)?d=1+3=4, a=4
printf(\ //输出全局变量d的值
四川省计算机二级考试第二十八次C与C++语言笔试试卷 共9页 第6页
}
(1)fun函数中的输出结果为( 39 )。
39 (A) 6 (B) 7
(2)main函数中的输出结果为( 40 )。
40 (A) 12 (B) 13 (C) 8 (C) 4
(D) 9 (D) 5
注意:① 请把下面“程序填空”中各小题答案写在主观题答题纸上 ② 每一个空只填一个语句或一个语句所缺的部分内容
三、程序填空 ( 每空2分,共30分 )
1. 以下程序可以把从键盘上输入的十进制数以二或十六进制形式输出,变量n为待转换的十制制整数。变量base确定转换后的类型,若转换成二进制,则输入base的值为2;若转换成十六进制,则base的值为16。请填空。(考点:进位计数制转换算法)
# include
{ char a[16]={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; int c[64],d,i=0,base; long n;
printf(\ scanf(\
printf(\ scanf(\ do
{ c[i]=① nose ; //保留余数 i++;
n=n/base; //保留商 }while(n!=0);
printf(\ for(--i;② i>=0 ;--i) { d=c[i];
printf(\③ a[d] ); }
printf(\}
2. 下列程序能从一个词典dict中查找某个单词。如果查到时报告成功并输出该单词,否则报告失败。(考点:指针数组、二级指针、返回指针的函数、查找字符串算法)
# include
char *dict[]={\char *check(char *word) //返回指针值的函数 { char **d; //d为二级指针变量 int flag;
for(d=dict;d 四川省计算机二级考试第三十次C与C++语言笔试试卷 第 7 页 共 9 页 else if(flag==0) return ① *d ; } return NULL; } void main() { char word[80],*result; printf(\ scanf(\ //输入待查找单词 result=check(② word ); //调用函数 if(③ result !=NULL) { printf(\ printf(\ } else printf(\} 3. 以下C程序将磁盘中的一个文件复制到另一个文件中,两个文件名在命令行给出(假定文件名无误)。请填空。(考点:文件、命令行参数、文件复制算法) # include void main(int argc,char *argv[]) { FILE *fp1,*fp2; if(argc<① 3 ) { printf(\命令行参数错!\\n\ exit(0); } fp1=fopen(argv[1], ② “r” ); fp2=fopen(argv[2],\ while( !feof(fp1) ) // 检测fp1是否指向文件的末尾 fputc(③ fgetc(fp1) ,fp2); fclose(fp1); fclose(fp2); } 4. 下列程序实现输入输出100人的电话号码簿。(考点:结构体数组) # include char name[20]; char tel[15]; }; //定义结构体类型 ① struct p t[N] ; void main() { int i; for(i=0;i 四川省计算机二级考试第二十八次C与C++语言笔试试卷 共9页 第8页 scanf(\② & t[i].code ); //输入第一个成员的值 printf(\ scanf(\ //输入第二个成员的值 printf(\ scanf(\ //输入第三个成员的值 } for(i=0;i printf(\%9s,TEL:%s\\n\③ t[i].code ,t[i].name,t[i].tel); } 5. 用以下程序求出数组a中所有素数的和,函数fun的功能是判断形参n是否为素数,是素数返回1,不是返回0。(考点:函数、判素数算法) # include { for(i=2;i<=n/2;i++) if(① n%i ==0) return 0; ② return 1 ; } } void main() { int i,a[10],sum=0; for(i=0;i<10;i++) scanf(\ for(i=0;i<10;i++) if(③ fun( a[i] ) ==1) sum=sum+a[i]; printf(\} 四川省计算机二级考试第三十次C与C++语言笔试试卷 第 9 页 共 9 页
共分享92篇相关文档