C语言》选择结构 练习
一、选择题
1. 判断char型变量ch是否位数字的表达式的是:(   
a) ‘0’ < = ch <= ’9’              b) (ch > ‘0’)&&( ch <’9’)
c)  (ch >= ‘0’)&&( ch <= ’9’)      d) (ch >= ‘0’)||( ch <= ’9’)
2. 能正确表示ab不同时为0的逻辑表达式的是:(   
a) a*b==0                        b) (a==0)||( b==0) 
c) (a==0&&b!=0)&&( b==0&&a!=0)    d)(a! = 0)||( b != 0)
运算符优先级按从高到低排列3. 能表示a不能被2整除且ab不相等,但ab的和等于0C语言逻辑表达式是:(   
a) a==-b && a%2==0                b) a!=b && a+b==0 && a%2
c) !(a%2)&&a==-b                  d) a%2==0 a+b==0
4. 有以下程序:
  #include<stdio.h>       
  void    main
    {  int  x=2y=3z
        char ch=a;
        z=(x||!y)&&(ch>’A’);
        }
    程序运行后z的值是(   
    a)true          b)false          c)0          d)1
5. 关于if后面一对圆括号中的表达式,叙述正确的是(   
a) 只能用关系表达式                b) 只能用逻辑表达式
c) 只能用关系表达式或逻辑表达式    d) 可以使用任意合法的表达式
6. switch后面一对圆括号中的表达式,叙述正确的是(   
a) 只能用数字                      b) 可以是浮点数 
c) 只能用整型数据或字符型数据      d)以上叙述都不对
7. 以下不正确的if语句是(   
a) if (a<b) t=a;                  b) if (a!=b && b);
c) if (a=b) printf(“equal”);        d)if (a>b)&&(b>c) printf(“max=%d” a);
8. 有以下程序:
      #include<stdio.h>       
      void main()
{  int m=-2;
    if(m=0)  printf(“@@@”);
      else  printf(“%%%”); }
程序运行后的输出结果是:(   
a@@@            b)%%%          c)%%        d)@@@%%%
9. 有以下程序:
    #include<stdio.h>       
    void main()
{  int a=12,b=20,t=18;
    if(a>b)  t=a;a=b;b=t;
    printf(“a=%d,b=%d,t=%d”,a,b,t); }
程序运行后的输出结果是:(     
aa=12,b=20,t=18            b)a=20,b=18,t=18
c) a=20,b=12,t=12            d)a=20,b=18,t=12
10. 有以下程序:
      #include<stdio.h>       
      void main()
{  int t=65;
    if(t>45) printf(“%d”,t);
      else printf(“%d”,t);
    if(t>35) printf(“%d”,t);
      else printf(“%d”,t);
    if(t>25) printf(“%d”,t); }
程序运行后的输出结果是:(     
a65          b)6565        c) 656565      d)不确定的值
11. 有以下程序:
      #include<stdio.h>       
      void main()
{  int t=8;
    if(t-->=8) printf(“%d\n”,t--);
      else printf(“%d\n”,t++); }
程序运行后的输出结果是:(   
a9        b)8          c) 7          d)6
12. 有以下程序:
      #include<stdio.h>       
      void main()
{  int a=2,b=5,c=3,d=2,x;
    if(a%3>b)
      if(c>d)
          if(b<d)  x=++b ;
              else x=++d;
          else x=--c ;
      else  x=++b ;    }
程序运行后的x的值是:(   
a6          b)3        c) 2          d)7
13. 以下关于switchbreak语句的说法中正确的是(   
a) break语句只能用在switch语句中;
b) switch语句中,可以根据需要决定是否使用break语句;
c) switch语句中必须使用break语句;
d) 以上选项都不正确;
14. 有以下程序:
      #include<stdio.h>
      void main()
{  int c;
  c=getchar();
  switch(c-‘2’)
    {  case 0:
        case 1:  putchar(c+4);   
        case 2:  putchar(c+4);break;   
        case 3:  putchar(c+3);   
        case 4:  putchar(c+2);break;}   
}
程序运行后,输入2<回车>,输出结果是:(   
a66            b)6        c6654          d)没有输出内容
二、填空题
1. 关系运算符、逻辑运算符、算术运算符和赋值运算符的运算优先级顺序由高到低的排列顺序是                                                    
2. 满足|y|<9C语言表达式是                         
3. 设字符变量ch的值是大写英文字母,将它转换为相应的小写英文字母的C语言表达式是                         
4. 判断字符变量ch的值是英文字母的C语言表达式是                         
5. 通过函数y=4+|x|计算函数值的if语句是                                   
6. 以下程序的功能是输入3个整型变量num1num2num3的值,然后对这3个变量按从小到大的顺序排序。请填空。
      #include<stdio.h>       
  void  main( ){
        int num1,num2,num3,temp;
        printf(“please input three numbers:”);   
        scanf(“%d%d%d”,&num1,&num2,&num3);
        if(                ){ temp=num1;num1= num2; num2=temp; }
        if(                ){ temp=num1;num1= num3; num3=temp; }
        if(                ){ temp=num2;num2= num3; num3=temp; }
}
7. 以下程序的功能是输入3个整型变量num1num2num3的值,求它们中的最大值。请填空。
      #include<stdio.h>       
  void  main( ){
        int num1,num2,num3,temp;
        printf(“please input three numbers:”);   
        scanf(“%d%d%d”,&num1,&num2,&num3);
        if(num1>num2) max=num1;
        else                        ;   
          if(                        ) max= num3;
        printf(“The largest number is : %d.\n”, max);
}
8. 以下程序的功能是从键盘输入一个年份year的值(4位十进制数),判断其是否闰年。闰年的条件是:能被4整除,但不能被100整除;或者能被400整除。请填空。
      #include<stdio.h>       
  void  main(){
        int year,leap=0;
        printf(“please input the year:”);   
        scanf(“%d”,&year);
        if(year%400==0) leap=1;
          else if(                          )    leap=1;
            else (                        )
        if(                          )  printf(“ %d is a leap year.\n”, year);
            else printf(“ %d is not a leap year.\n”, year);       
}
9. 有以下程序,若从键盘输入5  5<回车>,则程序的输出结果是:             
      #include<stdio.h>       

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。