C程序设计习题解答
- 格式:doc
- 大小:99.50 KB
- 文档页数:26
可编辑范本
一、选择题(蓝色加粗为正确选项)
在C语言中,合法的字符常量是( )。
A. '字' B. "A" C. "ABC" D. '\x41'
在C语言中,用户能使用的合法标识符是( )。
A. 姓名 B. _xyz C. 5i D. for
在C语言中,不合法的实型常量是( )。
A. -0.123 B. -.123 C. -1.23e-1 D. -123e-3.0
C语言的下列运算符中,优先级最高的运算符是( )。
A. ++ B. += C. || D. !=
设有说明语句 int k,i=5,j=10;,则表达式 k=(++i)*(j--)的值是( )。
A. 50 B. 60 C. 45 D. 55
设有说明语句 int i,j;,则表达式i>=j||i
A. 视i、j的具体值而定 B. FALSE
C. TRUE D. 1
已知'A'的ASCII码的十进制值为65,'0'的ASCII码的十进制值为48,则以下程序运行结果是( )。
main()
{ char ch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A. 67,D B. C,D C. C,68 D. 67,68
设有语句 int x=2,y=3;,则表达式x=(y==3)的值是( )。
A. 0 B. 1 C. 2 D. 3
以下程序的运行结果是( )。
main()
{ unsigned a = 0x3ef, b;
b = a << 2;
printf("%x,%x\n", a, b);
}
A. 3ef,fb B. 3ef,fbc C. fbc,3ef D. fbc,fbc
下列语句中,符合C语言语法的赋值语句是( )。
A. a=7+b+c=a+7; B. a=7+b++=a+7;
C. a=7+b,b++,a+7; D. a=7=b,c=a+7; 可编辑范本
为表示x≥y≥z,须用的C语言表达式为( )。
A. (x>=y)&&(y>=z) B. (x>=y)AND(y>=x)
C. x>=y>=z D. (x>=y)&(y>=z)
设int a,b;,用语句scanf('%d%d",&b); 输入a、b值时,不能作为输入数据分隔符的是( )。
A. 空格 B. , C. 回车 D. [Tab]
以下程序运行时,若从键盘输入5,则输出结果是( )。
main()
{ int a;
scanf("%d",&a);
if(a++>5) printf("%d\n", a);
else printf("%d\n",a--);
}
A. 7 B. 4 C. 5 D. 6
以下程序的运行结果是( )。
main()
{ int a, b, c;
a = b = c = 1;
if ( a++ || ++b ) c++;
printf("%d, %d, %d\n", a, b, c);
}
A. 2, 1, 2 B. 1, 2, 1
C. 2, 2, 2 D. 2, 2, 1
以下程序的运行结果是( )。
main()
{ int i=3,j=2,k;
k=i+j;
{
int k=8;
if(i==3) printf("%2d",k);
else printf("%2d",j);
}
printf("%2d%2d\n",i,k);
}
A. 8 3 5 B. 8 3 8
C. 3 8 3 D. 5 8 3
有以下程序:
main()
{ int c; 可编辑范本
while((c=getchar())!= '\n')
{ switch(c-'2')
{ case 0 :
case 1 : putchar(c+4);
case 2 : putchar(c+4); break;
case 3 : putchar(c+3);
default: putchar(c+2); break;
}
}
printf("\n");
}
当输入:247,程序的输出结果是( )。
A. 689 B. 6689 C. 66778 D. 66887
以下程序的运行结果是( )。
main()
{ int a=1,b=0;
switch(a)
{
case 1:
switch(b)
{
case 0: printf("0000\n");
case 1: printf("1111\n");break;
}
case 2:printf("2222\n");break;
}
}
A. 0000
1111
B. 0000
1111
2222
C. 0000
2222
D. 1111
2222
以下程序的运行结果是( )。
void main()
{ int a=1;
switch(a)
{
case 1: printf("aaaa\n"); 可编辑范本
case 2: printf("bbbb\n"); break;
default: printf("cccc\n");
}
}
A. aaaa
B. aaaa
bbbb
cccc
C. aaaa
bbbb
D. aaaa
cccc
以下程序运行后,a的值是( )。
main()
{ int a,b;
for(a=1,b=1;a<=100;a++)
{
if(b>=20) break;
if(b%3==1) { b+=3; continue; }
b-=5;
}
}
A. 101 B. 100 C. 8 D. 7
以下程序段的运行结果是( )。
main()
{ int i,j;
i=10;
j=20;
for(;j>=0;j-=20)
{
if(i=j) printf("Good! ");
else printf("Not good!");
}
}
A. Good!Good! B. Not good!
C. Good! D. Good! Not good!
以下程序的运行结果是( )。
main()
{ int a,b,c,n=13;
printf(" A B C\n"); 可编辑范本
for(a=1;a<=n;a++)
for(b=1;b<=n;b++)
for(c=b;c<=n;c++)
if(a*a==b*b+c*c)
printf("%3d%3d%3d\n",a,b,c);
}
A. A B C
5 3 4
10 6 8
13 5 12
B. A B C
3 5 4
6 10 8
5 13 12
C. A B C
4 5 3
8 10 6
12 13 5
D. A B C
5 4 3
10 8 6
13 12 5
以下程序段的运行结果是( )。
int x=3;
do{
printf("%3d, ", x-=2 );
}while(!(--x));
A. 1 B. 30
C. 死循环 D. 1, -2
设E为表达式,以下与do … while(E);不等价的语句是( )。
A. do … while(!E==0); B. do … while(E>0||E<0);
C. do … while(E==0); D. do … while(E!=0);
以下程序的运行结果是( )。
main()
{ int i,s;
i=0;
s=1;
do{
s/=s+1;
i++;
}while(i<=10); 可编辑范本
printf("%2d%2d\n",i,s);
}
A. 10 2 B. 11 2 C. 10 0 D. 11 0
下列程序段中,非死循环的是( )。
A. int i=100;
while(1)
{ i=i%100+1;
if(i>=100) break;
}
B. int k=0;
do{
++k;
}while(k>=0);
C. int s=10;
while(++s%2+s%2) s++;
D. for(;;)
循环语句循环体中执行continue语句,其作用是( )。
A. 立即终止程序运行
B. 继续执行continue语句之后的循环体各语句
C. 结束本次循环
D. 结束本次循环,跳出循环
下列do...while循环的循环次数是( )。
int i=5;
do{
printf("%d\n",i--);
i--;
}while(i!=0)
A. 0 B. 2 C. 5 D. 死循环
设已定义char s[]="\"Name\\Address\023\n";,则字符串中字符个数是( )。
A. 19 B. 15 C. 18 D. 14
已定义char x[8]; int i;,为了给该数组赋值,下列语句正确的是( )。
A. x[8]="Turbo C"; B. x="Turbo C";
C. x[]="Turbo C"; D. for(i=0;i<7;i++) x[i]=getchar();
设int a[][4]={0,0};,则下列描述错误的是( )。