C语言基础知识考试练习题目下载四.docx
《C语言基础知识考试练习题目下载四.docx》由会员分享,可在线阅读,更多相关《C语言基础知识考试练习题目下载四.docx(9页珍藏版)》请在冰点文库上搜索。
C语言基础知识考试练习题目下载四
C语言基础练习四
1.下面程序的运行结果是()。
#include
main()
{inta[6],i;
for(i=1;i<6;i++)
{a[i]=9(i-2+4(i>3))%5;
printf("%2d",a[i]);
}
}
A)-40404
B)-40403
C)-40443
D)-40440
2.下面程序段中,for循环的执行次数是()。
chars="\ta\018bc";
for(;s!
='\0';s++)printf("");
A)9
B)5
C)6
D)7
3.若运行以下程序时,从键盘输入2473(表示回车),则下面程序的运行结果是()。
#include"stdio.h"
{intc;
while((c=getchar())!
='\n')
switch(c-'2')
{case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
default:
putchar(c+2);break;
}
printf("\n");}
A)668977
B)668966
C)66778777
D)6688766
4.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除。
请选择填空。
#include
main()
{inti=0,j,k;
do
{i++;k=316-13i;}while();
j=k/11;
printf("316=13%d+11%d",i,j);
}
A)k/11
B)k%11
C)k/11==0
D)k%11==0
5.若有说明:
inta[3][4];则对a数组元素的非法引用是()。
A)a[0][21]
B)a[1][3]
C)a[4-2][0]
D)a[0][4]
6.下面程序的运行结果是。
#include
main()
{charch[7]={"12ab56"};
inti,s=0;
for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)
s=10s+ch[i]-'0';
printf("%d\n",s);
}
A)1
B)1256
C)12ab56
D)1256
7.下面判断正确的是()。
A)chara="china";等价于chara;a="china";
B)charstr[10]={"china"};等价于charstr[10];str[]="china";
C)chars="china";等价于chars;s="china";
D)charc[6]="china",d[6]="china";等价于charc[6]=d[6]="china";
8.下面程序的运行结果是________。
#include"stdio.h"
#include"string.h"
main()
{chars1="AbDeG";
chars2="AbdEg";
s1+=2;s2+=2;
printf"%d\n",strcmp(s1,s2));
}
A)正数
B)负数
C)零
D)不确定的值
9.已知各变量的类型说明如下,则不符合C语言语法规定的表达式是()。
intk,a,b;
unsignedlongw=5;
doublex=1.42;
A)x%(-3)
B)w+=-2
C)k=(a=2,b=3,a+b)
D)a+=a-=(b=4)(a=3)
10.根据下面程序及数据的输入和输出形式,程序中输入语句的正确形式应该为()。
main()
{charch1,ch2,ch3;
输入语句
printf("%c%c%c",ch1,ch2,ch3);
}
输入形式:
A□B□C
输出形式:
A□B
A)scanf("%c%c%c",&ch1,&ch2,&ch3);
B)scanf("%c,%c,%c",&ch1,&ch2,&ch3);
C)scanf("%c%c%c",&ch1,&ch2,&ch3);
D)scanf("%c%c",&ch1,&ch2,&ch3);
11.若有代数式|x3+lgx|,则正确的C语言表达式是()。
A)fabs(x3+log10(x))
B)abs(pow(x,3)+log10(x))
C)abs(pow(x,3.0)+log10(x))
D)fabs(pow(x,3.0)+log10(x))
12.下面程序的运行结果是()。
#include
main()
{inty=10;
do{y--;}while(--y);
printf("%d\n",y--);
}
A)-1
B)1
C)8
D)0
13.若inta=3,b=2,c=1,f;表达式f=a>b>c的值是()。
14.有intx,y,z;且x=3,y=-4,z=5,则表达式!
((x>y)+y!
=z)||(x+y)&&(y-z)的值为()。
15.有intx,y,z;且x=3,y=-4,z=5,则表达式x++-y+(++z)的值为()。
16.以下程序的运行结果是()。
main()
{intx,y,z;
x=1;y=2;z=3;
x=y--<=x||x+y!
=z;
printf("%d,%d",x,y);
}
17.若inta=5,b=4,c=2;表达式a>b!
=c的值是()。
18.下面程序段的运行结果是()。
x=y=0;
while(x<15)
y++,x+=++y;
printf("%d,%d",y,x);
19.有intx,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为()。
20.下面程序段的运行结果是()。
a=1;b=2;c=2;
while(a
printf("%d,%d,%d",a,b,c);
21.下面程序的功能是将字符串s中所有的字符'c'删除。
#include"stdio.h"
main()
{chars[80];
inti,j;
gets(s);
for(i=j=0;s[i]!
='\0';i++)
if(s[i]!
='c')请填空;
s[j]='\0';
puts(s);}
22.以下程序的运行结果是()。
#include
main()
{inta=1,b=2,c;
c=max(a,b);
printf("%d\n",c);
}
max(intx,inty)
{intz;
z=(x>y)?
x:
y;
return(z);
}
23.若输入一个整数10,以下程序的运行结果是()。
intsub(inta)
{intc;
c=a%2;
returnc;
}
main()
{inta,e[10],c,i=0;
printf("Inputanumber:
");
scanf("%d",&a);
while(a!
=0)
{c=sub(a);
a=a/2;
e[i]=c;
i++;
}
for(;i>0;i--)printf("%d",e[i-1]);
}
24.以下程序的运行结果是()。
main()
{intx,y,z;
x=1;y=1;z=0;
x=x||y&&z;
printf("%d,%d",x,x&&!
y||z);
}
25.以下程序的运行结果是()。
main()
{inta[3][3]={1,3,5,7,9,11,13,15,17},sum;
sum=func(a);
printf("\nsum=%d\n",sum);
}
func(inta[][3])
{inti,j,sum=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
{a[i][j]=i+j;
if(i==j)sum=sum+a[i][j];
}
return(sum);
}
26.执行以下程序后的输出结果是()。
intw=3,z=7,x=10;
printf("%d",x>10?
x+100:
x-10);
printf("%d",w++||z++);
printf("%d",!
w>z);
printf("%d",w&&z);
27.请阅读以下程序:
#include
main()
{floata,b;
scanf("%f",&a);
if(a<0.0)b=0.0;
elseif((a<0.5)&&(a!
=2.0))b=1.0/(a+2.0);
elseif(a<10.0)b=1.0/a;
elseb=10.0;
printf("%f\n",b);
}
若运行时输入2.0,则上面程序的输出结果是()。