当前位置:首页 > 四川计算机二级c语言31次笔试真题
fun(t);
printf(\}
30 (A) 10,computer (B) 1,minicomputer
(C) 1,computer (D) 10,minicomputer
5. 下列程序编译连接后生成可执行文件CAD.EXE,输入以下命令行:
CAD FILE1 FILE2
void main(int argc,char *argv[]) {
int i;
printf(\ for(i=0;i<=argc-1;i++) printf(\ printf(\ }
31 (A) 2 (B) 3
cadfile1file2 cadfile1file2
(C) 2 (D) 3
CAD.EXEFILE1FILE2 CAD.EXEFILE1FILE2
6. 有下列程序:(考点:for循环嵌套、continue语句、break语句)
# include \void main() {
int i,j,x=0;
for(i=0;i<2;i++) {
x++;
for(j=0;j<=3;j++) {
if(j%2) continue; x++; } x++; }
printf(\}
(1)该程序的运行结果是( 32 ) 32 (A) 6 (B) 4 (C) 8 (D) 2 (2)若将程序中的continue 改为break,则输出结果为( 33 ) 33 (A) 6 (B) 4 (C) 8 (D) 2
7. 有如下程序:(考点:文件打开方式、文件操作函数、函数调用)
# include \# include \
四川省计算机二级考试第三十一次C与C++语言笔试试卷 第 5 页 共 10 页
void fun(char *fname,char *st) {
FILE *myf; int i;
myf=fopen(fname,\ for(i=0;i void main() { fun(\ fun(\} (1) 运行该程序后,文件text中的内容为( 34 )。 34 (A) world (B) worldhello (C) hello (D) helloworld (2) 若将文件打开方式\改为\,则运行程序后,文件text中的内容为( 35 )。 35 (A) world (B) worldhello (C) hello (D) helloworld 8. 有如下程序:(考点:递归函数 ) # include \int fun(int n) { int y; if(n==1) y=1; else if(n==2) y=2; else y=n+fun(n-2); return y; } void main() { int x; scanf(\ printf(\} 若输入x的值为8,则程序的输出结果为( 36 )。 36 (A) 16 (B) 36 (C) 30 (D) 20 与函数fun等价的非递归程序为( 37 )。 37 (A) int fun(int n) (B) int fun(int n) { int i,s=0; { int i,s=0; for(i=n;i>=1;i=i-2) for(i=1;i<=n;i=i+2) s=s+i; s=s+i; return s; return s; } } 四川省计算机二级考试第三十一次C与C++语言笔试试卷 第 6 页 共 10 页 (C) int fun(int n) (D) int fun(int n) { int i,s=0; { int i,s=0; for(i=1;i<=n;i++) for(i=n;i>=1;i--) s=s+i; s=s+i; return s; return s; } } 9. 有如下程序:(考点:数组、函数、静态存储类型) # include static int s=0,i; for(i=0;i void main() { int x[5]={1,2,3,4,5},y[4]={6,7,8,9},s; s=fun(x,5)+fun(y,4); printf(\} (1) 程序的运行结果为( 38 )。 38 (A) 15 (B) 30 (C) 45 (D) 60 (2) 若将fun函数中的static去掉,则程序的运行结果为( 39 )。 39 (A) 15 (B) 30 (C) 45 (D) 60 10. 有如下程序:(考点:循环、switch语句) # include char ch; while((ch=getchar())!='\\n') { switch(ch) { case '1': case '2': putchar(ch+2); case '3': case '4': putchar(ch+2); break; default: putchar(ch+2); } } } 若输入135<回车>,程序的运行结果为( 40 )。 40 (A) 135 (B) 357 (C) 3357 (D) 3333557 注意:① 请把下面“程序填空”中各小题答案写在主观题答题纸上 ② 每一个空只填一个语句或一个语句所缺的部分内容 四川省计算机二级考试第三十一次C与C++语言笔试试卷 第 7 页 共 10 页 三、程序填空 ( 每空2分,共30分 ) 1. 函数fun的功能是:将n×n(1 1 2 3 若m=2,则处理后的方阵为: 2 2 3 4 5 6 8 10 6 7 8 9 14 16 18 在main函数中调用fun函数,并分行输出处理后的方阵。请填空。(考点:矩阵处理算法) # include void fun(int a[][10],int n,int m) { int i,j; for(i=0;i for(j=0;j<=① ;j++) a[i][j]=a[i][j]*m; } void main() { int w[10][10]={{1,2,3},{4,5,6},{7,8,9}},m,i,j; scanf(\ fun(② ,3,m); for(i=0;i<3;i++) { for(j=0;j<3;j++) printf(\ printf(③ ); } } 2. 下面程序的功能是输出所有的5位4倍反序数。请填空。 说明:当一个5位整数的4倍刚好是其反序数,则称其为5位4倍反序数。例如21978的反序数是87912,而87912=4*21978,所以21978就是一个5位4倍反序数。输出结果为:21978 87912 (考点:循环、逆置整数算法) # include long n,k,t,m,j=0; for(n=10000;n<=99999;n++) { m=0; t=n; for(k=1;k<= ① ;k++) { ② ; ③ ; } if(m==4*n) { 四川省计算机二级考试第三十一次C与C++语言笔试试卷 第 8 页 共 10 页
共分享92篇相关文档