C语言易错题

本文汇总了C语言常见的易错题目,包括选择题、判断题和函数题,覆盖了变量赋值、条件判断、指针操作、数组处理、文件读写等多个方面,旨在帮助读者加深对C语言的理解,提高编程能力。
摘要由CSDN通过智能技术生成

C语言易错题集合

1. 选择题

1,执行下列语句后a和b的值分别为( C )。

int a, b, c;
a=b=c=1;
++a|| ++b && ++c;

A: 错误 1
B: 2 2
C: 2 1
D: 1 1

2,若希望当A的值为奇数时,表达式的值为”真”,A的值为偶数时,表达式的值为”假”,则以下不能满足要求的表达式是( C )。

A: A%2==1 
B: !(A%2==0)
C: !(A%2)
D: A%2

3,已知 int x=10, y=20, z=30; 以下语句执行后x, y, z的值是( B )。

 if(x>y)
  z=x;x=y;y=z;

A: x=10,y=20,z=30 
B: x=20,y=30,z=30
C: x=20,y=30,z=10 
D: x=20,y=30,z=20

4,判断char型变量cl是否为小写字母的正确表达式是( D )。

A: 'a'<=cl<='z'
B: (cl>=a)&&(cl<=z)
C: ('a'>=cl)||('z''<=cl)
D: (cl>='a')&&(cl<='z')

5,下述程序的输出结果是( C)

main()
{
   
 int a=0,b=0,c=0;
 if(++a>0||++b>0)  ++c;
 printf("%d,%d,%d",a,b,c);
}

A: 0,0,0
B: 1,1,1
C: 1,0,1
D: 0,1,1,

6,语句:printf(“%d”,(a=2)&&(b= -2));的输出结果是(D)。

A: 无输出
B: 结果不确定
C: -1
D: 1

7, 若有定义:int a=3,b=2,c=1;并有表达式:①a%b,a>b>c,b&&c+1.则表达式值相等的是(C)

A: ①和②
B: ②和③
C: ①和③
D: ③和④

8,请阅读以下程序:

main()
{
   
   int a=5,b=0,c=0;
   if(a=b+c) printf(***\n”);
   else      printf(“$$$\n”);
}

以上程序(D)。

A: 有语法错不能通过编译
B: 可以通过编译但不能通过连接
C: 输出***
D: 输出$$$

9,
w=1,x=2,y=3,z=4,则条件表达式w<x? w:y<z? y:z的值是( D)

A: 4
B: 3
C: 2
D: 1

10,以下程序的输出结果是(B)。

main()
{
   int x=2,y=-1,z=2;
 if(x<y)
   if(y<0) z=0;
   else    z+=1;
 printf(%d\n”,z);
}

A: 3
B: 2
C: 1
D: 0

11,
对下述程序,正确的判断是( B)

main()
{
   
 int x,y;
 scanf("%d,%d",&x,&y);
 if(x>y)
  x=y;y=x;
 else
  x++;y++;
 printf("%d,%d",x,y);
}

A: 有语法错误,不能通过编译
B: 若输入3和4,则输出4和5
C: 若输入4和3,则输出3和4
D: 若输入4和3,则输出4和5

12,设int x,a,b;则下面if语句中错误的是(B )

A: if(a=b) x++;
B: if(a=
C: if(a-b) x++;
D: if(x) x++;

13,以下程序输出结果是(B)

main( )
{
   
 int x=1,y=0,a=0,b=0;
 switch(x)
 {
   
    case 1:switch(y)
     {
   
       case 0 :a++;break;
    case 1 :b++;break;
     }
    case 2:a++;b++;break;
    case 3:a++;b++;
 }
 printf("a=%d,b=%d",a,b);
}

A: a=1,b=0
B: a=2,b=1
C: a=1,b=1
D: a=2,b=2

14,
int a=0,b=5;执行表达式++a||++b,a+b后,a,b和表达式的值分别是(C)

A: 1,5,7
B: 1,6,7
C: 1,5,6
D: 0,5,7

15 能正确标识“当x的取值在[1,10]或[200,210]范围内当真,否则为假”的表达是(C)

A: (x>=1)&&(x<=10)&&(x>200)&&(x<=210)
B: (x>=1)||(x<=10)||(x>=200)||(x<210)
C: (x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D: (x>=1)||(x<=10)&&(x>200)||(x<=210)

16有如下程序段

int a
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值