C语言程序设计练习题.docx
《C语言程序设计练习题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计练习题.docx(9页珍藏版)》请在冰豆网上搜索。
![C语言程序设计练习题.docx](https://file1.bdocx.com/fileroot1/2022-12/15/7d4ac2c1-cc38-4f67-a791-bcbfc0b146fc/7d4ac2c1-cc38-4f67-a791-bcbfc0b146fc1.gif)
C语言程序设计练习题
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)有如下说明
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为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];
B)intb[][3]={0,1,2,3};
C)intc[100][100]={0};
D)intd[3][]={{1,2},{1,2,3},{1,2,3,4}};
(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;ireturnz;
}
(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()
{inta[]={1,2,3,4,5,6,7,8,9,0,},*p;
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()
{inti,x[3][3]={1,2,3,4,5,6,7,8,9};
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;iif(___________)
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;is+=b[i];
returns;
}
main()
{intx,a[]={1,2,3,4,5,6,7,8,9};
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;ib[i]=b[i-1]+b[i+1];
returns;
}
main()
{intx,a[]={1,2,3,4,5,6,7,8,9};
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