C语言基础习题及答案4

第四章    选择结构程序设计

1、逻辑运算符两侧运算对象的数据类型______

A、能是01                 B、能是0或非0正数

C、能是整型或字符型数据       D、以是任何类型的数据

 

2、设a为整形变量,不能正确表达数学关系:10C语言表达式是_ ______

A10                        B a==11||a==12||a==13||a==14

C a>10&&a<15                   D !(a<10)&&!(a>=15)

3、在C语言中,逻辑值“真”用_______表示。

A true     B、大于0的数         C 0整数       D、非0的数

4、以下程序的输出结果是_____

   main()

   {

      int x=10,y=10;

      printf("%d%d\n",x--,--y);

    }

A 10   10       B  9    9       C 9    10       D 10   9

5、当a,b,c的值分别为345时,以下各语句执行后a,b,c的值为多少_______

If (a>c)

{a=b;b=c;c=a;}

Else

{a=c;c=b;b=a;}

Printf(“%d,%d,%d”,a,b,c);

A545      B554       C345       D534

6、当a,b,c的值分别为345时,以下各语句执行后a,b,c的值为多少_______

If(a

a=c;

else

a=b;c=b;b=a;

printf(“%d,%d,%d”,a,b,c);

A554        B545      C345        D534

7、若K1K2K3K4均为int型变量,为了将整数10赋给K1K3,将整数20赋给K2K4,则对应以下scanf()函数调用语句的正确输入方式是________(代表换行符,__代表空格).

Scanf(“%d%d”,&k1,&k2);

Scanf(“%d,%d”,&k3,&k4);

A1020     B10__20      C10,20    D10__20

1020         10__20         10,20        10,20

8、在C语言中,当While语句中的条件为_______时,结束该循环。

A0         B1       Ctrue      D、非0

9C语言对嵌套if语句的规定是:else总是与______

    A、其之前最近的if配对      B、第一个if配对

    C、缩进位置相同的if配对    D、其之前最近的且尚未配对的if配对

二、填空题

1、设a=3,b=4,c=5,写出下面各逻辑表达式的值。

表达式                  表达式运算后的值

a+b>c && b= =c             

!(a>b) && !c || 1

!(a+b) + c –1 && b + c/2

2、将条件“y能被4整除但不能被100整除,或y能被400整除写成逻辑表达式  ______________________                  

3、执行以下程序段后,a= _______,b= ________ ,c= ________ 

int x=10,y=9 ;

int a,b,c ;

a = (x--= =y++) ? x-- : y++ ;

b = x++ ;

c = y ;

三、看程序写结果

1、当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是

if (a

if (c

else

       if (a

        if (b

        else x=3;

       else x=6;

else x=7;

printf(“x=%d”,x);

2int i=0;执行下列程序后,变量i的正确结果是

switch (i) {

      case 9: i+=1 ;

      case 10: i+=1 ;

      case 11: i+=1 ;

      default : i+=1 ;

}

Printf(“i=%d”,i);

四、编程题

1、有三个整数a,b,c,由键盘输入,求三个数中的最大值。

2写一程序,从键盘上输入年份year4位十进制数),判断其是否闰年。闰年的条件是:能被4整除、但不能被100整除,或者能被400整除。

3给出一百分制成绩,要求输出成绩等级’A’,’B’,’C’,’D’,’E’90分以上为’A’8089分为’B’7079分为’C’6069分为’D’60分以下为’E’

 

参考答案

一、选择题

1A     2C     3D     4D      5B      6A      7D     8A

9D

二、填空题

10    1     1 

2、((y%4==0&&(y0!=0)||(y@0==0)

3a=10,b=9,c=11

三、看程序写结果

1x=2(画流程图可以看出结果)

2i=1

四、编程题

1main()

   {int a,b,c;

Scanf(“%d,%d,%d”,&a,&b,&c);

If(a

 If(b

 Printf(“max=%d\n”,c);

 Else

 Printf(“max=%d\n”,b);

Else if(a

  Printf(“max=%d\n”,c);

Else

 Printf(“max=%d\n”,a);

}

2 main()

{int year, leap;

 Scanf(“%d”,&year);

 {If((year%4= =0&&year0!=0)||(year@0= =0))leap=1;

 Else leap=0;}

 If(leap)

 Printf(“%d is a leap year ”,year);

Else(“%d is not a leap year ”,year);

}

1、  main()

{float score;

 Char grade;

 Scanf(“%f”,&score);

 While(score>100||score<0)

  {printf(“\n输入有误,请重输”)

   Scanf(“%f”,&score);

   }

 Switch(int)(score/10)

  {case 10:

    Case 9:grade=’A’;break;

    Case 8:grade=’B’;break

  Case 7:grade=’C’;break

  Case 6:grade=’D’;break

Case 5:

Case 4:

Case 3:

Case 2:

Case 1:

Case 0:grade=’E’;

}

Printf(“成绩是%5.1f,相应的等级是%c\n”,score,grade);

}

 

  

你可能感兴趣的:(《计算机科学与技术》)