第三章 选择结构程序设计:择结构程序设计顺序结构程序设计按照自上而下的流程的顺序执行,但是在实际生活中,仅顺序结构是无法满足用户要求的,并不是所有的程序都是自上而下的顺序执行,而是根据条件有选择的执行。这就是我们将要学习的选择结构程序设计。3.1关系运算符和关系表达式:在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。C语言关系运算符有六个,优先级别有三个,结合性均为左结合。
3.2逻辑运算符和逻辑表达式:逻辑运算符有三个:逻辑与、逻辑或、逻辑非。在此要注意他们的预算条件和运算结果的表示方法,以及短路特性。
3.3if语句:if语句是指C语言中用来判定所给定的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。难点在于if和else的匹配问题,以及多个if语句和else if的区别。
3.4if语句的嵌套:采用嵌套结构实质上是为了进行多分支选择,实际上有三种选择,即:A>B、A
3.5条件运算符:条件运算符的运算优先级低于关系运算符和算术运算符,但高于赋值运算符。因此max=(a>b)?a:b;可改为max=a>b?a:b;条件运算符是一对运算符,不能分开单独使用。条件运算符的结合方向是自右向左。如:a>b?a:c>d?c:d应理解为a>b?a:(c>d?c:d)
3.6多分支选择语句:switch为典型的多分支选择语句,就是一个判别条件,根据判别条件有多种不同的做法。重点在于掌握break的使用方法。
[单选题]若要求表示a不等于0的关系,错误的表达式是(    )

选项:[a!=0, a<>0, a<0| |a>0, a]
[单选题]设a,b,w为整型变量,ch为字符型变量,用if语句改写以下的程序段:
  switch(ch)
    { case'+':w=a+b;break;
    case'-':w=a-b;break;
    case'*':w=a*b;break;
    case'/':w=a/b;break;}
  在下列写法中,错误的是(   )

选项:[if(ch= ='+') w=a+b;         
else if(ch= ='-') w=a-b;      
if(ch= ='*') w=a*b;           
else w=a/b;                  , if(ch= ='*') w=a*b;
else if(ch= ='/') w=a/b;
if(ch= ='+') w=a+b;
else if(ch= ='-') w=a-b;,  if(ch= ='+') w=a+b;        
 if(ch= ='-') w=a-b;           
 if(ch= ='*') w=a*b;          
 if(ch= ='/') w=a/b;
, if(ch= ='+')  w=a+b;
elseif(ch= ='-') w=a-b;
if(ch= ='*') w=a*b;
else if(ch= ='/') w=a/b;]
[单选题]有以下程序:
    #include<stdio.h>
    main()
       {int x,y; printf("Enter an integer(x):");
    scarf("%d",&x);
        if(x++<0) y=-1;
    else if(x==0) y=0;else y=1; printf("%d",y);}
现从键盘上输入-1,则程序的输出是(   )。

选项:[1, 0
, -1, 不确定的值]
[单选题]若执行下面的程序时从键盘上输入10,则输出是(     )
main()
    {int a;scanf("%d",&a);if(a++>10)
     printf("%dn",++a);
else printf("%dn",a--);  }

选项:[11
, 9, 10, 12
]
[单选题]已知a,b,c,w时int型变量,a,b均以赋值,且满足a<b,先有以下程序段:
scanf (“%d”,&c);
w=a;
if (w<=b) w=b;
if (w<=c) printf (“%d”,w);
else w=c;
为把c的值放入w中,则执行此程序段时,从键盘输入的c的值不应取的范围是(   )。

选项:[b>c, c>=b, c>a且c<b, c>a或c<b]
[单选题]以下程序的输出结果是(   ) #include<stdio.h>
    main()
      { int a=0,b=l,c=0,x=0,y=0;
      if(x<=y)
       if(y=l0)
         if(!b)  a=1;
         else if(c) a=10;
      a=-1;
      printf("%d",a);}

选项:[-1, 不确定的值, 1, 10]
[单选题]已知a,b,c的值分别是1,2,3,则执行下列语句后a,b,c的值分别是(    )
if (a++<b ){c=a; a=b; b=c; }
else a=b=c=0;

选项:[1,2,1
, 0,0,0
, 1,2,3 
, 2,2,2]
[单选题]若i是int型变量,且有下面的程序片段
    i=0;
    if(i<=0) printf("####")
    else printf("****");
 上面程序片段的输出结果是(    )

选项:[有语法错误,无输出结果, ####****, ****, ####
]
[单选题]以下if语句中格式正确的是(    )

选项:[if(a>b) {b++;printf ("%d",b);}
 else {a++;printf("%d",a);}, if(a>b)  b++  else a++;, if(a>b) {b++;printf("%d",b)}
 else{a++;printf("%d",a);}, if(a>b)b++;printf("%d",b);
else printf("%d",a);]
[单选题]下面程序的输出结果是(    )。
    #include<stdio.h>
    main()
      {int i=2,p;p=f(i,i+1);
       printf("%d",p);  }
int f(a,b)
   int a,b;
    {int c; c=a;
      if(a>b) c=1;
    else
        if(a==b)c=0;    else c=-1;
      return(c);  }

选项:[-1, 2, 1, 0]
[单选题]有以下程序:
   #include<stdio.h>    .
    main()
      {int al=0,a2=0,a3=0;
    char ch;
      while((ch=getchar())!='n')
         switch(ch)
    {case 'A':a1++;
    case 'B':a2++;
    default:a3++;    }
    printf("%d,%d,%d",a1,a2,a3);}
现从键盘上输入AAAAABBBC<回车>,则程序执行后的输出结果是(   )

选项:[5,8,9, 5,3,9, 5,8,1, 5,3,1]
[单选题]C语言中,逻辑真表示为(    )。

选项:[1, TRUE, 'y'或'Y', 非零值]
[单选题]程序的三种基本结构是(   )。

选项:[顺序结构,选择结构,递归结构, 顺序结构,循环结构,选择结构, 选择结构,循环结构,递归结构, 顺序结构,循环结构,递归结构]
[单选题]请读程序:
    #include<stdio.h>
    main()
    {int x=l,y=0,a=0,b=0;
      switch(x)
        {case l:
      switch(y)
              {case 0: a++; break;
    case 1:b++;break;}
    case 2:
    a++;b++; break;}  
      printf("a=%d, b=%dn",a,b);}上面程序的输出结果是(   )

选项:[a=l,b=l, a=l,b=0, a=2,b=l, a=2,b=2]

温馨提示支付 ¥1.00 元后可查看付费内容,请先翻页预览!
点赞(0) dxwkbang
返回
顶部