C语言.docx
《C语言.docx》由会员分享,可在线阅读,更多相关《C语言.docx(37页珍藏版)》请在冰豆网上搜索。
![C语言.docx](https://file1.bdocx.com/fileroot1/2022-12/13/7e89f806-c06e-415a-861d-bdb4bdd26e26/7e89f806-c06e-415a-861d-bdb4bdd26e261.gif)
C语言
程序阅读题(选择题,共48道):
1.以下程序中,输入0,程序输出结果:
#include
voidmain()
{
chark;
inti;
for(i=1;i<3;i++)
{
scanf("%c",&k);
switch(k)
{
case'0':
printf("another\n");
case'1':
printf("number\n");
}
}
}
答案:
anothernumbernumber
2.以下程序中,当x等于6时的输出结果:
#include
voidmain()
{
intx;
scanf("%d",&x);
if(x--<5)
printf("%d\n",x);
else
printf("%d\n",x++);
}
答案:
5
3.以下程序中,a[1][2]的值:
#include
voidmain()
{
inta[3][3],*p,i;
p=&a[0][0];
for(i=1;i<9;i++)
p[i]=i+1;
printf("%d\n",a[1][2]);
}
答案:
6
4.以下程序中,a的值:
#include
voidmain()
{
inta,b;
for(a=1,b=1;a<100;a++)
{
if(b>=20)
break;
if(b%3==1)
{
b+=3;
continue;
}
b-=5;
}
printf("%d\n",a);
}
答案:
8
5.下列程序的运行结果是:
#include
voidss(char*s,chart)
{
while(*s)
{
if(*s==t)
*s=t-'a'+'A";
s++;
}
}
main()
charstr1[100]="abcadfefdbd";
{
ss=str1,c;
c='d';
printf("%s\n",str1);
}
答案:
str1=abcDDfefDbD
6.下列程序的运行结果是:
#include
voidmain()
{
chara[]={'a','b','c','d','e','f','g','\0'};
inti,j;
i=sizeof(a);
j=strlen(a);
printf("%d%d\n",i,j);
}
答案:
87
7.下列程序的运行结果是:
#include
intf();
{
staticinti=0;
ints=1;
s+=i;
i++;
returns;
}
voidmain()
{
inti,a=0;
for(i=0;i<5;i++)
printf("%d\n",a);
}
答案:
15
8.下列程序的运行结果是:
#include
voidmain()
{
inti,sum;
for(i=1;i<6;i++)
sum+=i;
printf("%d\n"'sum);
}
答案:
死循环
9.下列程序的运行结果是:
#include
voidmain()
{
inta=0,i;
for(i=0;i<5;i++)
{
switch(i)
{
case0:
case1:
case3:
a+=2;
case2:
a+=3;
default:
a=+=5;
}
}
printf("%d\n",a);
}
答案:
31
10.下列程序的运行结果是:
#include
voidmain()
{
inta=0,b=4,c=3,d=2;
if(a>b>c)
printf("%d\n",d);
else
if((c-1)>=d==1)
printf("%d\n",d+1);
else
printf("%d\n",d+1);
}
答案:
3
11.下列程序的运行结果是:
#include
#include
main()
{
chararr[2][4];
strcpy(arr[0],"you");
strcpy(arr[1],"me");
arr[0][3]='&';
printf("%s\n",arr);
}
答案:
you&me
12.下列程序的运行结果是:
#include
voidmain()
{
inti,sum;
for(i=0;i<=3;sum++)
sum+=i;
printf("%d\n",sum);
}
答案:
程序不执行
13.下列程序的运行结果是:
#include
voidmain()
{
inti,s=0;
for(i=1;i<10;i+=2)
s+=i+1;
printf("%d\n",s);
}
答案:
自然数1~10偶数之和.
14.下列程序的运行结果是:
#include
voidmain()
{
inta=15,b=21,m=0;
switch(a%3)
{
case0:
m++;
break;
case1:
m++;
switch(b%2)
{
default:
m++;
case0:
m++;
break;
}
}
printf("%d\n",m);
}
答案:
1
15.下列程序的运行结果是:
#include
inta,b;
voidfun()
{
a=100;b=200;
}
voidmain()
{
inta=5,b=7;
fun();
printf("%d%d\n",a,b);
}
答案:
57
16.下列程序的运行结果是:
#include
voidmain()
{
char*s[]={"abcd","ef","gh","ijk"};
inti;
for(i=1;i<4;i++)
printf("%c",*s[i]);
}
答案:
egi
17.下列程序的运行结果是:
#include
voidmain()
{
inti,j;
for(i=2;i>=0;i--)
{
for(j=1;j<=i;j++)
printf("*");
for(j=0;j<=2-i;j++)
printf("!
");
printf("\n");
}
}
答案:
**!
*!
!
!
!
!
18.下列程序的运行结果是:
#include
voidmain()
{
inti=0,a=0;
while(i<=0)
{
for(;;)
{
if((i%10)==0)
break;
else
i--;
}
i+=11;
a+=i;
}
printf("%d\n",a);
}
答案:
32
19.下列程序的运行结果是:
#include
voidmain()
{
inta=4,b=5,c=0,d;
d=!
a&&b||!
c;
printf("%d\n",d);
}
答案:
1
20.下列程序的运行结果是:
#include
intd=1;
fun(intp)
{
intd=5;
d+=p++;
printf("%d\n",d);
}
voidmain()
{
inta=3;
fun(a);
d+=a++;
printf("%d\n",d);
}
答案:
84
21.下列程序中,输入1298后的运行结果是:
#include
voidmain()
{
intn1,n2;
scanf("%d",&n2);
while(n2!
=0)
{
n1=n2%10;
n2=n1%10;
printf("%d",n1);
}
}
答案:
8921
22.下列程序的运行结果是:
#include
voidmain()
{
intn=9;
while(n>6)
{
n--;
printf("%d\n",n);
}
}
答案:
876
23.下列程序的运行结果是:
voidmain()
{
chars[]="\n123\\";
printf("%d,%d\n",strlen(s),sizeof(s));
}
答案:
5,6
24.下列程序的运行结果是:
#include
voidmain()
{
intx=10,y=20,t=0;
if(x==y)
t=x;
x=y;
y=t;
printf("%d%d\n",x,y);
}
答案:
200
25.下列程序的运行结果是:
#include
voidmain()
{
inti=0,s=0;
do
{
if(i%2)
{
i++;
continue;
}
i++;
s+=i;
}
while(i<7);
printf("%d\n",s);
}
答案:
16
26.下列程序的运行结果是:
#include
voidmain()
{
intk=4,n=0;
for(;n{
n++;
if(n%3!
=0)
continue;
k--;
}
printf("%d%d\n",k,n);
}
答案:
33
27.下列程序的运行结果是:
#include
voidmain()
{
inta=2,b=-1,c=2;
if(a
if(b<0)
c=0;
else
c++;
printf("%d\n",c);
}
答案:
2
28.下列程序的运行结果是:
#include
voidmain()
{
inta=5,b=4,c=3,d=2;
if(a>b>c)
printf("%d\n",d);
else
if((c-1>=d)==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2);
}
答案:
3
29.下列程序的运行结果是:
#include
voidmain()
{
inta=1,b=2,m=n=0,k;
k=(n=b>a)||(m=a
printf("%d%d\n",k,m);
}
答案:
1,0
30.下列程序的运行结果是:
#include
voidmain()
{
intnum=0;
while(num<=2)
{
num++;
printf("%d\n",num);
}
}
答案:
123
31.下列程序片断的运行结果是:
main()
{
chars[]="ABCD",*p;
for(p=s+1;p
printf("%d\n",p);
}
答案:
BCD
CD
D
32.下列程序的运行结果是:
#include
voidmain()
{
intx=9;
for(;x>0;)
{
if(x%3==0)
{
printf("%d",--);
continue;
}
}
x--;
}
答案:
852
33.下列程序的运行结果是:
#include
voidmain()
{
intx=1,a=0,b=0;
switch(x)
{
case0:
b++;
case1:
a++;
case2:
a++,b++;
}
printf("a=%d,b=%d\n",a,b);
}
答案:
a=2b=1
34.下列程序的运行结果是:
#include
voidmain()
{
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);
}
答案:
4
35.下列程序的运行结果是:
#include
voidmain()
{
intx=100,a=10,b=20,ok1=5,ok2=0;
if(a
if(b!
=15)
if(!
ok1)
x=1;
else
if(ok2)
x=10;
x=-1;
printf("%d\n",x);
}
答案:
-1
36.下列程序中的运行结果是:
#include
voidmain()
{
inta=5,b=4,c=1,d;
printf("%d\n",d:
a>c?
(a>c?
a:
c):
(b));
}
答案:
0
37.下列程序的运行结果是:
#include
voidmain()
{
inti,n;
for(i=2;i<5;i++)
{
do
{
if(i%3)
continue;
n++;
}
while(!
i);
n++;
}
printf("i=%d\n",n);
}
答案:
4
38.下列程序的运行结果是:
#include
voidmain()
{
inti,x=10;
for(i=1;i<=x;i++)
if(x%i==0)
printf("%d",i);
}
答案:
12510
39.下列程序的运行结果是:
#include
voidmain()
{
intx=3;
voidincre()
{
staticintx=1;
x*x+1;
}
voidmain()
{
inti;
for(i=1;iincre()
}
}
答案:
26
40.下列程序的运行结果是:
#include
#include
voidmain()
{
chara[]={'a','b','c','d','e','f','g','h'};
inti,j;
i=sizeof(a);
j=strlen(a);
printf("%d,%d\n",i,j);
}
答案:
811
41.下列程序的运行结果是:
#include
voidfunc1(inti);
voidfunc2(inti);
charst[]="hellofriend!
";
voidfun1(inti)
{
printf("%c",st[i]);
if(i<3)
{
i+=2;
func2(i);
}
}
voidfun2(inti)
{
printf("%c",st[i]);
if(i<3)
{
i+=2;
func1(i);
}
}
main()
{
inti=0,func1(i);
printf("\n");
}
答案:
hlo
42.下列程序的运行结果是:
#include
voidmain()
{
inti;
for(i=0;i<3;i++)
switch(i)
{
case1:
printf("%d",i);
case2:
printf("%d",i);
default:
printf("%d",i);
}
}
答案:
10122
43.下列程序的运行结果是:
#include
voidmain()
{
inta=2;
a%=a-1;
printf("%d\n",a);
a+=a*=a-=a*3;
printf("%d\n",a);
}
答案:
232
44.下列程序的运行结果是:
#include
voidmain()
{
inta=5,b=4,c=6,d;
printf("%d\n",d=a>c?
(a>c?
a:
c):
(b));
}
答案:
4
45.下列程序的运行结果是:
#include
voidmain()
{
inti=1,j=1,k=3;
if((j++||k++)&&i++)
printf("%d%d%d\n",i,j,k);
}
答案:
223
46.下列程序中,当键入Y时,输出结果:
#include
voidmain()
{
charc
while((c=getchar()!
='c');
putchar(--c);
}
答案:
X
47.下列程序的运行结果是:
#include
voidmain()
{
inti,j=0,a=0;
for(i=0;i<5;i++)
do
{
if(i%3)
break;
i++;
j++;
}
while(i<10);
printf("%d,%d\n",i,a);
}
答案:
50
48.下列程序执行后,第一行输入2473并回车,得到:
#include
voidmain()
{
intc;
while((c=getchar())!
='\n');
{
switch(c-'z')
case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
default:
putchar(c+2);break;
}
}
答案:
668977
注意!
做下列题目时,务必按照以下步骤操作:
1.程序填空题应先将【?
】删除后,再填写新的答案。
2.程序改错题应在/**********Found**********/的下一行开始找出错误的语句。
3.程序设计题应在/**********Program**********/和/************End************/之间编写程序,不得改动其他部分。
4.试题完成后,先编译,后执行。
如果编译的过程中出现错误,应先改正错误,再执行。
5.编好的程序经执行确认无误后,最后保存到所在文件夹中。
程序填空题(共10道):
1.输出100~1000之间各数字之和能被15整除的数,输出时每10个一行。
参考答案:
k=0;
n%10
while(n>0)
printf("\n");
2.求2个非负整数的最大公约数和最小公倍数。
参考答案:
r
r=m%n
n
n,lcm
3.分别求一批非负整数中偶数,奇数的平均值,并用0作为中止标记。
参考答案:
x
else或if(x%2)
scanf("%d",&x)
ave=s2/j
4.产生10个[30,90]区间上随机整数,对其用选择法由小到大排序。
参考答案:
intt
k=i
a[k]>a[j]
i=0;i<10;i++
5.打印以下图案:
*****
*****
*****
*****
*****
参考答案:
j=i+5
i=0
a[i][j]
printf("\n");
6.打印杨辉三角形前七行。
参考答案:
a[i][i]=1
i
a[i-1][j]+a[i-1][j-1]
j<=i
7.删除字符串中的指定字符。
参考答案:
str
str[i]!
=0
str[k]=str[i]
str[k]=0
8.用冒泡法对数组a由小到大排序。
参考答案:
j<=n-1
ia[i]>a[i+1]
fun(a,10)
9.输出一个二维数组中每行的最大值的和。
参考答案:
s=0
k=a[i][j]
c[i]=s
a[i][j]
10.计算并输出500以内最大的10个能被18或17整除的自然数之和。
参考答案:
intk
mc<10
k%17==0
returnm
程序改错题(共40道):
1.求:
的和。
参考答案:
inti,j;
for(i=2;i<=n;i=i+2)
returns;
2.用“起泡