C语言程序设计练习题3004444.docx
- 文档编号:6969894
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:13
- 大小:18.06KB
C语言程序设计练习题3004444.docx
《C语言程序设计练习题3004444.docx》由会员分享,可在线阅读,更多相关《C语言程序设计练习题3004444.docx(13页珍藏版)》请在冰点文库上搜索。
C语言程序设计练习题3004444
C语言程序设计练习题
(1)有如下程序
main()
{floatx=2.0,y;
if(x<0.0)y=0.0;
elseif(x<10.0)y=1.0/x;
elsey=1.0;
printf(“%f\n”,y);
}
该程序的输出结果是()
A)0.000000B)0.250000C)0.500000D)1.000000
(2)有如下程序
main()
{inti,sum;
for(i=1;i<=3;sum++)sum+=i;
printf(“%d\n”,sum);
}
该程序的执行结果是()
A)6B)3C)死循环D)0
(3)有如下程序
main()
{intx=23;
do
{printf(“%d”,x--);}
while(!
x);
}
该程序的执行结果是()
A)321B)23C)不输出任何内容D)陷入死循环
(4)有如下程序
intrunc(inta,intb)
{return(a+b);}
main()
{intx=2,y=5,z=8,r;
r=func(func(x,y),z);
printf(“%d\n”,r);
}
该程序的输出的结果是()
A)12B)13C)14D)15
(5)有如下程序段
int*p,a=10,b=1;
p=&a;a=*p+b;
执行该程序段后,a的值为()
A)12B)11C)10D)编译出错
(6)有如下程序
longfib(intn)
{if(n>2)return(fib(n-1)+fib(n-2));
elsereturn
(2);
}
main()
{printf(“%d\n”,fib(3));
该程序的输出结果是()
A2B4C6D8
(7)有如下程序段
inta=14,b=15,x;
charc=’A’;
x=(a&&b)&&(c<’B’);
执行该程序段后,x的值为()
A}tureB}falseC}0D}1
(8)有如下说明
则数值为9的表达式是()
A)*P+9B)*(P+8)C)*P+=9D)P+8
(9)若有以下的定义:
intt[3][2];能正确表示t数组元素首地址的表达式是()
A}&t[3][2]B}t[3]C}t[1]D}t[0]
(10)有如下定义
structperson
{charname[9];
intage;};
structpersonclass[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16};
根据上述定义,能输出字母M的语句是()
A)prinft(“%c\n”,class[3].mane);
B)printf(“%c\n”,class[3].name[0]);
C)prinft(“%c\n”,class[2].name[1]);
D)printf(“%c\n”,class[2].name[0]);
(11)以下函数值的类型是()
fun(floatx)
{floaty;
y=3*x-4;
returny;
}
A)intB)不确定C)voidD)float
(12)以下数组定义中不正确的是()
A)inta[2][3];
C)intc[100][100]={0};
(13)以下程序的输出结果是()
main()
{inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);
}
A}0650B}1470C}5430D}输出值不定
(14)以下程序的输出结果是()
main()
{charst[20]="hello\0\t\\\n";
printf(%d%d\n",strlen(st),sizeof(st));
}
A}99B}920C}1320D}2020
(15)以下程序的输出结果是()
main()
{inta,b;
for(a=1,b=1;a<=100;a++)
{if(b>=10)break;
if(b%3==1)
{b+=3;continue;}
}
printf("%d\n",a);
}
A}101B}3C}5D}4
(16)以下程序的输出结果是()
inta,b;
voidfun()
{a=100;b=200;}
main()
{inta=5,b=7;
fun();
printf("%d%d\n",a,b);
}
A}100200B}57C}200100D}75
(17)以下程序的输出结果是()
#defineM(x,y,z)x*y+z
main()
{inta=1,b=2,c=3;
printf("%d\n",M(a+b,b+c,c+a));
}
A}19B}17C}15D}12
(18)以下程序运行后的输出结果是()。
main()
{inti=5,j=0;
do
{j=j+i;i--;
while(i>2);
printf("%d\n",j);
}
(19)设有以下程序:
main()
{intn1,n2;
scanf("%d",&n2);
while(n2!
=0)
{n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298;则输出结果为()。
(20)以下程序输出的最后一个值是()。
intff(intn)
{staticintf=l;
f=f*n;
returnf;
}
main()
{inti;
for(i=1;i<=5;i++)printf("%d\n",ff(i));
}
(21)以下函数的功能是:
求x的y次方,请填空。
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;i returnz; } (22)设有以下程序: main() {inta,b,k=4,m=6,*p1=&k,*p2=&m; a=pl==&m; b=(*p1)/(*p2)+7; printf("a=%d\n",a); printf("b=%d\n",b);} (23)以下程序的输出结果是() A)0B)29C)31D)无定值 fun(intx,inty,intz) {z=x*x+y*y;} main() {inta=31; fun(5,2,a); printf("%d",a); } (24)下列程序段的输出结果是() A)2143B)1212 C)1234D)2112 voidfun(int*x,int*y) {printf("%d%d",*x,*y);*x=3;*y=4;} main() {intx=1,y=2; fun(&y,&x); printf("%d%d",x,y); } (25)下列程序的运行结果是() A)63B)36C)编译出错D)00 voidfun(int*a,int*b) {int*k; k=a;a=b;b=k; } main() {inta=3,b=6,*x=&a,*y=&b; fun(x,y); printf("%d%d",a,b); } (26)下面程序的输出结果是() A)0B)1C)10D)9 main() p=a; printf("%d\n",*p+9); } (27)以下程序的输出结果是() A)20B)21C)22D)23 main() {inti,k,a[10],p[3]; k=5; for(i=0;i<10;i++)a[i]=i; for(i=0;i<3;i++)p[i]=a[i*(i+1)]; for(i=0;i<3;i++)k+=p[i]*2; printf("%d\n",k); } (28)以下程序的输出结果是() A)1,5,9B)1,4,7C)3,5,7D)3,6,9 main() for(i=0;i<3;i++)printf("%d,",x[i][2-i]); } (29)以下程序的输出结果是() A)18B)19C)20D)21 main() {inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("%d\n",s); } (30)以下程序的输出结果是() A)1B)2C)3D)4 longfun(intn) {longs; if(n==1||n==2)s=2; elses=n-fun(n-1); returns; } main() {printf("%ld\n",fun(3));} (31)以下程序的输出结果是() A)16B)2C)9D)1 #defineSQR(X)X*X main() {inta=16,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); } (32)下面程序的功能是: 计算1到10(包括10)的奇数之和及偶数之和,请填空。 main() {inta,b,c,i; a=c=0; for(i=0;i<=10;i+=2) {a+=i; _______; c+=b; } printf("偶数之和=%d\n",a); printf("奇数之和=%d\n",c-11); } (33)下面程序的功能是: 输出100以内能被3整除且个位数为6的所有整数,请填空。 main() {inti,j; for(i=0;________;i++) {j=i*10+6; if(________)continue; printf("%d",j); } } (34)以下程序的功能是: 从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。 请填空。 main() {floatx[1000],sum=0.0,ave,a; intn=0,i; printf("Entermark: \n");scanf("%f",&a); while(a>=0.0&&n<1000) {sum+=_______; x[n]=a; n++;scanf("%f",&a); } ave=; printf("Output: \n"); printf("ave=%f\n",ave); for(i=0;i if(___________) printf("%4.2f\n",x[i]); } (35)下列程序的输出结果是() A)5B)6C)7D)8 structabc {inta,b,c;}; main() {structabcs[2]={{1,2,3},{4,5,6}};intt; t=s[0].a+s[1].b; printf("%d\n",t); } (36)以下程序的输出结果是() main() {inta=0,i; for(i=;i<5;i++) {switch(i) {case0: case3: a+=2; case1: case2: a+=3; default: a+=5; } } printf("%d\n",a); } A)31B)13C)10D)20 (37)以下程序的输出结果是() main() {inta=4,b=5,c=0,d; d=! a&&! b||! c; printf("%d\n",d); } A)1B)0C)非0的数D)-1 (38)以下程序的输出结果是() main() {inti=0,a=0; while(i<20) {for(;;) {if((i%10)==0)break; elsei--; } i+=11;a+=i; } printh("%d\n",a); } A)21B)32C)33D)11 (39)以下程序的输出结果是() intf() {staticinti=0; ints=1; s+=i;i++; returns; } main() {inti,a=0; for(i=0;i<5;i++)a+=f(); printf("%d\n",a); } A)20B)24C)5D)15 (40)以下程序段的输出结果是() chars[]="\\141\141abc\t"; printf("%d\n",strlen(s)); A)9B)12C)13D)14 (41)以下程序的输出结果是() main() {charch[3][5]={"AAAA","BBB","CC"}; printf("\"%s\"\n",ch[1]); } A)"AAAA"B)"BBB"C)"BBBCC"D)"CC" (42)以下程序的输出结果是() f(intb[],intm,intn) {inti,s=0; for(i=m;i s+=b[i]; returns; } main() x=f(a,3,7); printf("%d\n",x); } A}30B}18C}22D}15 (43)以下程序的输出结果是() f(intb[],intm,intn) {inti,s=0; for(i=m;i b[i]=b[i-1]+b[i+1]; returns; } main() x=f(a,3,7); printf("%d\n",a[5]); } A}6B}12C}21D}43 答案: (1)C (2)C(3)B(4)D(5)B (6)B(7)D(8)B(9)D(10)D (11)A(12)D(13)A(14)B(15)D (16)B(17)D (18)12(19)8921(20)120 (21)z=z*x;(22)07 (23)C(24)A(25)B(26)C(27)B (28)C(29)A(30)A(31)B (32)b=i+1 (33)i<10i%3! =0 (34)asum/nx[i] (35)B(36)A(37)A(38)B(39)D (40)A(41)B(42)C(43)C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 练习题 3004444
![提示](https://static.bingdoc.com/images/bang_tan.gif)