《C语言》选择结构 练习
一、选择题
1. 判断char型变量ch是否位数字的表达式的是:( )
a) ‘0’ < = ch <= ’9’ b) (ch > ‘0’)&&( ch <’9’)
c) (ch >= ‘0’)&&( ch <= ’9’) d) (ch >= ‘0’)||( ch <= ’9’)
2. 能正确表示a和b不同时为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整除且a、b不相等,但a、b的和等于0的C语言逻辑表达式是:( )
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=2,y=3,z;
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); }
程序运行后的输出结果是:( )
a)a=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); }
程序运行后的输出结果是:( )
a)65 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++); }
程序运行后的输出结果是:( )
a)9 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的值是:( )
a)6 b)3 c) 2 d)7
13. 以下关于switch和break语句的说法中正确的是( )
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<回车>,输出结果是:( )
a)66 b)6 c)6654 d)没有输出内容
二、填空题
1. 关系运算符、逻辑运算符、算术运算符和赋值运算符的运算优先级顺序由高到低的排列顺序是 、 、 、 。
2. 满足|y|<9的C语言表达式是 。
3. 设字符变量ch的值是大写英文字母,将它转换为相应的小写英文字母的C语言表达式是 。
4. 判断字符变量ch的值是英文字母的C语言表达式是 。
5. 通过函数y=4+|x|计算函数值的if语句是 。
6. 以下程序的功能是输入3个整型变量num1、num2、num3的值,然后对这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个整型变量num1、num2、num3的值,求它们中的最大值。请填空。
#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小时内删除。
发表评论