C语言试题.docx
- 文档编号:4554965
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:22
- 大小:21.79KB
C语言试题.docx
《C语言试题.docx》由会员分享,可在线阅读,更多相关《C语言试题.docx(22页珍藏版)》请在冰点文库上搜索。
C语言试题
C语言程序设计复习题
一、单项选择题
1.设有定义:
inti=0,s=0;以下能实现1+2+3+4+…….+10的程序段是(D)
A)while(i++<=10)s+=i;B)for(;i<9;i++)s+=i++;
C)do{s+=i;}while(i<=10);D)for(i=1;i<=10;i++)s+=i;
2.有以下程序
#include
voidmain()
{inta=6,b=3;
if(a
elseprintf(“BBBB”);
}
程序执行后的输出结果是(A)
A)BBBBB)AAAAC)BBBBAAAAD)AAAABBBB
3.有以下程序:
voidmain()
{floatx=3.2567;
printf("x=%5.2f\n",x);
}
程序执行后的结果是(D)
A)3.2567B)x=3.2567C)x=3.25D)x=3.26
4.有以下程序:
#include
voidmain()
{inta=1,b=2,c=3;
if(a>b)
{if(b>c)c=5;
elsec-=a;
}
printf(“%d\n”,c);
}
执行后的输出结果是(C)
A)0B)2C)3D)5
5.有以下程序:
#include
voidmain()
{structdata{intx;floaty;}m={5,2.5};
printf("%f\n",m.x/m.y);
}
程序执行后的结果是(A)
A)2.0B)2.5C)5D)12.5
6.有以下程序
#include
voidmain()
{inty;
for(y=9;y>0;y--)
if(y%3==0)continue;
elseprintf(“%d”,y);
}
执行后的输出结果是(B)
A)987654321B)875421C)963D)852
7.有以下程序:
#include
intf(intb[],intn)
{inti,r=1;
for(i=0;i<=n;i++)r=r*b[i];
returnr;
}
voidmain()
{intx,a[]={1,2,3,4,5,6,7,8,9};
x=f(a,3);
printf("%d\n",x);
}
程序执行后的结果是(C)
A)720B)120C)24D)6
8.有以下程序:
#include
voidmain()
{inta=11,b=3;
printf(“%d\n”,a/b);
}
程序执行后的输出结果是(B)
A)1B)3C)11D)a=3.66666
9、有以下程序:
#include
voidmain()
{charstr[][10]={”ok!
”,“pen”,”book”,”desk”};
inti;
for(i=1;i<3;i++)
printf(“%s”,str[i]);
}
程序执行后的结果是(B)
A)ok!
penB)penbook
C)ok!
penbookD)ok!
penbookdesk
10.有以下程序:
#include
voidmain()
{structcmp{inta;intb;}x[2]={1,2,3,4};
printf(“%d\n”,x[0].b/x[0].a*x[1].b);
}
程序的运行结果是(D)
A)2B)4C)6D)8
11.有以下程序
#include
voidmain()
{inti,a[5]={1,2,3,4,5};
i=3;
switch(i-1)
{case1:
printf(“%d”,a[0]);
case2:
printf(“%d”,a[1]);
case3:
printf(“%d”,a[2]);break;
define:
printf(“%d”,a[3]);break;
}
printf(“\n”);
}
执行后的输出结果是(B)
A)12B)23C)234D)1234
12.设有定义:
inti=1,s=1;以下能实现求10!
的程序段是(D)
A)while(i++<=10)s*=i;B)for(;i<9;i++)s*=i++;
C)do{s=s*i;}while(i<=10);D)for(;i<=10;i++)s*=i;
13.有以下程序
#include
voidmain()
{inta=10,b=12;
if(a
elsea-=b;
printf(“%d\n”,a);
}
程序执行后的结果是(A)
A)22B)12C)10D)-2
14.有以下程序:
voidmain()
{floatx=2.345678;
printf("x=%5.3f\n",x);
}
程序执行后的结果是(C)
A)2.345678B)x=2.345C)x=2.346D)x=2.3456
15.有以下程序:
#include
voidmain()
{structdata{inta;floatb;charc}m={10,5.5,’A’};
printf("%f%c\n",m.a*m.b,m.c);
}
程序执行后的结果是(C)
A)5.5AB)10AC)55AD)10*5.5
16.有以下程序:
#include
intf(intn,inta[])
{inti,s;
for(i=0,s=0;i<=n;i++)s=s+a[i];
returns;
}
voidmain()
{intx,a[]={1,3,5,7,9,11};
x=f(3,a);
printf("%d\n",x);
}
程序执行后的结果是(B)
A)36B)16C)9D)3
二、阅读以下程序,写出运行结果。
1.#include
voidmain()
{inti,j,;
for(i=1;i<=5;i++)
{for(j=1;j<=i;j++)
printf(“%d”,j);
printf(“\n”);
}
}
运行结果:
1
12
123
1234
12345
2.#include
voidmain()
{charch=′A′;
ch=ch+32;
printf(“%c\n”,ch);
}
运行结果:
a
3.#include
voidmain()
{charch=′B′;
ch=ch+3;
printf(“%c\n”,ch);
}
运行结果:
E
4.#include
voidmain()
{inta=1,b=2;
switch(a)
{case0:
a++;
case1:
b++;
case2:
printf(“%d,%d\n”,a,b);break;
default:
printf(“%d\n”,b);break;
}
}
运行结果:
1,3
5.#include
#defineN8
voidmain()
{inta[N]={2,-3,4,-5,9,-10,5,-8},i,s=0;
for(i=0;i {if(a[i]>0)continue; elses=s+a[i]; } printf(“%d\n”,s); } 运行结果: -26 6.#include voidmain() {charstr[]=”program”; printf(“%s”,str+3); } 运行结果: gram 7.#include voidsub(intx,inty,int*z) {*z=x+y; return; } voidmain() {inta=12,b=6,c; sub(a,b,&c); printf(“%d,%d,%d\n”,a,b,c); } 运行结果: 12,6,18 8.#include voidmain() {inta=10,b=5,x; x=a>b? a++: b++; printf(“%d\n”,x); } 运行结果: 10 三.程序填空。 在以下各程序的______处填上适当的语句,完成各程序 1.下面的程序计算s=12+22+32+…+i2,直到累加到s的值大于100为止,输出s和i的值。 #include voidmain() {inti,s; __s=0___;i=1; while(s<=100) {s=s+i*i; __i++__; } printf("s=%di=%d\n",s,i); } 2.以下fun函数的功能是将一个字符串的内容颠倒过来,请填空. #include #include voidfun(charstr[]) {inti,j,k; for(i=0,j=___strlen(str)-1___;i {k=str[i];str[i]=str[j];str[j]=k;} } 3.计算s=1+2+3+4+……+i,直到s的值大于1000为止,输出s和i的值。 #include voidmain() {inti,s; ___S=0_____; for(i=1;;i++) {s=s+i; if(s>1000)___break_; } printf(“s=%di=%d\n”,s,i); } 4以下程序求 方阵的主对角线元素之和. #include voidmain() {inta[5][5],i,j,sum; printf(“输入a数组: ”); for(i=0;i<5;i++) for(j=0;j<5;j++) scanf(“%d”,&a[i][j]); sum=__0___; for(i=0;i<5;i++) sum=__sum+a[i][i]______; printf(“sum=%d\n”,sum); } 5.以下程序输入a数组,然后求a数组中第1行所有元素的乘积并输出. #include main() {inta[5][5],i,j,m; printf(“输入a数组的值: ”); for(i=0;i<5;i++) for(j=0;j<5;j++) scanf(“%d”,__&a[i][j]); m=1; for(i=0;i<5;i++) m=___m*_a[1][i]____; printf(“%d\n”,m); } 6.以下程序的功能是向f1.txt文件中写入大写26个英文字母。 #include #include intmain() {FILE*fp; charch=‘A’; if((fp=fopen(“f1.txt”,_”w”_))==NULL) {printf("can'topenfile! \n");exit(0);} while(ch<=’Z’) {fputc(_ch,fp__);ch++;} fclose(fp); return0; } 7.以下程序的功能是将f1.txt文件中所有字母拷贝到f2.txt文件中去。 #include #include main() {FILE*fin,*fout; charch; if(((fin=fopen(“f1.txt”,__”r”__))==NULL) ||((fout=fopen(“f2.txt”,“w”))==NULL)) {printf("can'topenfile! \n");exit(0);} while(! feof(fin)) {ch=fgetc(fin); if(ch>=’A’&&ch<=’Z’||ch>=’a’&&ch<=’z’) fputc(__ch,fout__); } fclose(fin); fclose(fout); } 8.以下程序将fx.txt文件中除数字以外的字符拷贝到fy.txt文件中。 #include #include voidmain() {FILE*f1,*f2; charch; if(((f1=fopen(“fx.txt”,_”r”__))==NULL) ||((f2=fopen(“fy.txt”,“w”))==NULL)) {printf("can'topenfile! \n");exit(0);} while(feof(f1)! =NULL) {ch=fgetc(f1); if(ch>=’0’&&ch<=’9’)continue; elsefputc(__ch__,f2); } fclose(f1); fclose(f2); } 9.以下程序输入a数组,求a数组中第0列元素的和并输出. #include voidmain() {inta[5][5],i,j,m; printf(“输入a数组的值: ”); for(i=0;i<5;i++) for(j=0;j<5;j++) scanf(“%d”,___&a[i][j]__); m=0; for(i=0;i<5;i++) m=__m+a[i][0]___; printf(“%d\n”,m); } 四.编写程序 1.以下fac()函数的功能是求n! ,main()调用fac()函数分别输出1---10的阶乘,完成fac()函数。 #include longfac(intn) {inti=1; longf=1; while(i<=n) f=f*i; returnf; } voidmain() {inti; for(i=1;i<=10;i++) printf(“%d%ld\n”,i,fac(i)); } 2.以下fun()函数的功能是求a数组中n个元素的平均值,main()调用fun()函数输出s数组中10个元素的平均值,完成fun()函数。 #include intfun(inta[],intn) {inti,s; i=0;s=0; while(i {s=s+a[i];i++;} returns/n; } voidmain() {ints[10],i; for(i=0;i<10;i++)scanf(“%d”,&s[i]); printf(“平均值=%d\n”,fun(s,10)); } 五、程序设计题 1.有一分段函数: 2x+5(x<=2) y=3x-4(2 7(x>5) 编程序,输入变量x的值,计算并输出y的值。 #include voidmain(void) { floatx,y;/*或intx,y*/ scanf(“%f”,&x); if(x<=2) y=2*x+5; elseif(x<=5) y=3*x-4; else y=7; printf(“y=%f”,y); } 2.由键盘任意输入10个同学的数学成绩,按从高分到低分的顺序排序,并输出排序后的成绩。 2. #include voidmain(void) { inta[10],i,j,t; for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(i=0;i<9;i++) for(j=i+1;j<10;j++)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题