选择结构程序设计习题
C语言-第4章 选择结构程序设计

第4章选择结构程序设计注:选择结构的考点,最重要的有两个,一个是逻辑表达式的值,另一个是分支界限。
弄明白这两个知识点,就能够以不变应万变了。
一、单项选择题1. 在C语言中,能代表逻辑值"真"的是。
A) true B)大于0的数C)非0整数D)非0的数2. 表示关系x<=y<=z的c语言表达式为。
A) (x<=y)&&(y<=z) B) (x<=y)AND(y<=z) C) (x<=y<=z) D) (x<=y)&(y<=z)3. 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是。
A) a>=10 or a<=0 B) a>=0|a<=10 C) a>=10 &&a<=0 D) a>=10‖a<=04、判断char型变量c1是否为大写字母的表达式为。
A)’A’<=c1<=’Z’ B)(c1>=’A’) & (c1<=’Z’)C)(’A’<=c1)AND (‘Z’>=c1) D)(c1>=’A’)&& (c1<=’’Z’)5. 有定义char c; c=getchar(); 判断字符变量c为大写字母的正确表达式为。
A) ‘A’=<c<=’Z’ B)c>=‘A’&& c<=’Z C)A=<c<=Z D) c>=A && c<=Z6. 设有语句“int a=4;b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是。
A)1B)0 C)-1 D)出错7. 设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是。
选择结构程序设计练习题

选择结构程序设计练习题1.逻辑运算符两侧运算对象的数据类型( )A.只能是0和1B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据2.下列运算符中优先级最高的是( )A.<B.+C.&&D.!=3.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( )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)4.表示图中坐标轴上阴影部分的正确表达式是( )A.(x<=a)&&(x>=b)&&(x<=c)B.(x<=a)||(b<=x<=c)C.(x<=a)||(x>=b)&&(x<=c)D.(x<=a)&&(b<=x<=c5.判断char型量ch是否为大写字母的正确表达式是()A.‘A’<=ch<=‘Z’B.(ch>=‘A’)&(ch<=‘Z’)C.(ch>=‘A’)&&(ch<=‘Z’)D.(‘A’<=ch)AND(‘Z’>=ch)6.设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是()A.‘x’&&‘y’B.x<=yC.x||y+z&&!yD.!(x<y)&&!z||1)7.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是()A.0B.语法错误C.1D.“假”8.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是()A.A%2==1B.!(A%2==0)C.!(A%2)D.A%29.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为()A.1B.2C.3D.410.下列运算符中优先级最低的是( )优先级最高的是( )A.?B.&&C.+D.!=11.以下程序的运行结果是( )#include<stdio.h>main(){int a,b,d=241;a=d/100%9; b=(-1)&&(-1);printf(“%d,%d”,a,b);}A.6,1B.2,1C.6,0D.2,012.执行以下语句后a的值为( )int a,b,c;a=b=c=1; ++a||++b&&++c;A.错误B.0C.2D.1A.1B.2C.错误D.013.执行以下语句后的值为(),b的值()int a=5,b=6,w=1,x=2,y=3,z=4;(a=w>x)&&(b=y>z);A.5B.0C.2D.1 A.6 B.0 C.1 D.414.以下不正确的if语句形式是()A.if(x>y&&x!=y);B.if(x==y)x+=y;C.if(x!=y)scanf(“%d“,&x) else scanf(“%d”,&y);D.if(x<y){x++;y++;}15.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( )if(x>y) z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=2016.以下语句语法正确的是:( )A.if(x>0) printf(“%f”,x)else printf(“%f”,-x);B.if(x>0){x=x+y;printf(“%f”,x);}else printf(“%f”,-x)C.if(x>0){x=xy; pri ntf(“%f”,x);};else printf(“%f”,-x);D.if(x>0){x=x+y;printf(“%f”,x)}else printf(“%f”,-x);17.请阅读以下程序,该程序( )main(){int a=5,b=0,c=0;if(a+b+c) printf(“***\n”); else printf(“$$$\n”);}A.有语法错误不能通过编译B.可以通过编译但不能通过连接C.输出***D.输出$$$18.以下程序的运行结果是( )main(){int m=5;if(m++>5) printf(“%d\n”,m);else printf(“%d\n”,m--);} A.4 B.5 C.6 D719.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x 的值是( )if(a<b)if(c<d) x=1;else if(a<c)if(b<d)x=2;else x=3;else x=6;else x=7;A.1B.2C.3D.620.有一函数关系如下:x-1(x<0)y={ x(x=0)x+1 (x>0)则下面程序段中能正确表示上面关系的是( )A.y=x+1; if(x>=0) if(x==0) y=x; else y=x-1;B.y=x-1 if(x!=0) if(x>0) y=x+1; else y=x;C.if(x<=0) if(x<0) y=x-1; else y=x; else y=x+1;D.y=x; if(x<=0) if(x<0) y=x-1; else y=x+1;21.以下程序的输出结果是( )main(){int a=100,x=10,y=20,ok1=5,ok2=0;if(x<y)if(y!=10)if(!ok1)a=1;else if(ok2) a=10;a=-1; printf(“%d\n”,a);}A.1B.0C.-1D.值不确定22.以下程序的输出结果是( )main(){int x=2,y=-1,z=2;if(x<y)if(y<0) z=0;else z+=1;printf(“%d\n”,z);}A.3B.2C.1D.023.为了避免在嵌套的条件语句if--else中产生二义性,C语言规定:else子句总是与( )配对。
选择结构程序设计,循环结构程序设计习题

case 2: case 4;n+ =2;k--;break;
}
printf("%d",n);
}while(k>0 && n<5);
}
程序的运行结果是【】。
5. #include<stdio.h>
main()
{int a,b,d=241;a=d/100%9; b=(-1)&&(-1);
B)if((a>b)||(b>c) k=1;
else k=0;
C)if(a<=b) k=0;
else if(b<=c) k=1;
D)if(a>b) k=1;
else if(b>c) k=1;
else k=0;
6.以下是if语句的基本形式:
if(表达式)
语句
其中“表达式”
A)必须是逻辑表达式
B)必须是关系表达式
A)n=0;while((ch=getchar())!=’\n’)n++;
B) n=0;while(getchar()!=’\n’)n++;
C)for(n=0; getchar()!=’\n’;n++);
D)n=0;for(ch=getchar();ch!=’\n’;n++);
4.有以下程序
# include <stdio.h>
case 2: printf(" $ "); break;
}
default: printf("&");
}
printf("\n");
VB程序设计 习题及答案第4章 选择结构程序设计

第4章选择结构程序设计4.1 写出数学式|x|<2.5×10-2对应的Visual Basic表达式。
【答案】x<2.5e-2 and x>-2.5e-24.2 逻辑运算符And、Or和Not的优先级最高的是哪一个。
【答案】Not4.3 已知 W=10 X=9 Y=8 Z=7 ,求下列表达式的结果。
(1) W>X And Y<=Z OR X>Y(2) X>Z Or W=Y AND Y<X(3) Not (W>Y And X=Z)(4) Not (Y<>X Or W*3>Z)【答案】(1) True(2) True(3) True(4) False4.4 写出下列十进制整数逻辑运算的结果:(1) X = 23 And 14(2) X = 23 Or 14(3) X = -1 And 19(4) X = -1 Or 10(5) X = Not -1【答案】(1) 6(2) 31(3) 19(4) -1(5) 04.5 已知变量X和Y的值分别为5、6,编写程序,交换变量X和Y的值。
【参考答案】程序代码设计Private Sub Form_Click()x = 5: y = 6t = x: x = y: y = tForm1.Print "x="; x, "y="; yEnd SubPrivate Sub Form_Load()Form1.AutoRedraw = TrueForm1.Print "x = 5", "y = 6"Form1.Print "单击窗体交换x,y的值"图4-1 程序运行结果End Sub程序运行结果如图4-1所示:4.6 从键盘输入一个学生的三科成绩,计算总分,并找出最高分。
【参考答案】(1)用户界面设计(2)控件属性设置(略)(3)程序代码设计Private Sub Command1_Click()g1 = Val(Text1.Text)g2 = Val(Text2.Text)g3 = Val(Text3.Text)Var = (g1 + g2 + g3) / 3g = g1If g < g2 Then g = g2If g < g3 Then g = g3Text4.Text = VarText5.Text = gEnd Sub图4-2 程序运行结果程序运行结果如图4-2所示。
C程序设计(第五版)-第4章选择结构程序设计课后习题答案

C程序设计(第五版)-第4章选择结构程序设计课后习题答案1. 什么是算术运算?什么是关系运算?什么是逻辑运算?【答案解析】算熟运算:算术运算即“四则运算”,是加法、减法、乘法、除法、乘⽅、开⽅等⼏种运算的统称。
其中加减为⼀级运算,乘除为⼆级运算,乘⽅、开⽅为三级运算。
在⼀道算式中,如果有多级运算存在,则应先进⾏⾼级运算,再进⾏低⼀级的运算。
C语⾔中的算熟运算符包括:+、-、*、/、++、--、%等种类。
如果只存在同级运算;则从左⾄右的顺序进⾏;如果算式中有括号,则应先算括号⾥边,再按上述规则进⾏计算。
⽰例:$ (1 + 1)^{2} * 4+5 * 3$解析:1. 先进⾏括号内运算1+1,然后进⾏乘⽅运算得到结果4.2. 接下来与4相乘,得到结果163. 因为乘法优先级⼤于加法,因此先进⾏5*3,得到结果154. 最终相加得到结果31结果:31关系运算:关系的基本运算有两类:⼀类是传统的集合运算(并、差、交等),另⼀类是专门的关系运算(选择、投影、连接、除法、外连接等),⽽在C语⾔中,关系运算通常被认为是⽐较运算,将两个数值进⾏⽐较,判断⽐较结果是否符合给定的条件。
常见的关系运算符包括:<、<=、>、>=、==、!=等种类。
其中,前4种关系运算符(<、<=、>、>= )的优先级别相同,后2种(==、!=)也相同。
⽽前4种⾼于后2种。
例如, >优先于==。
⽽>与<优先级相同。
并且,关系运算符的优先级低于算术运算符,关系运算符的优先级⾼于赋值运算符(=)。
逻辑运算:在逻辑代数中,有与、或、⾮三种基本逻辑运算。
表⽰逻辑运算的⽅法有多种,如语句描述、逻辑代数式、真值表、卡诺图等。
⽽在C语⾔中,逻辑运算通常⽤于使⽤逻辑运算符将关系表达式或其它逻辑量连接起来组成逻辑表达式⽤来测试真假值。
常见的逻辑运算符包括:&&、||、!等种类&&:与是双⽬运算符,要求有两个运算对象,表⽰两个运算对象都成⽴,则结果为真,否则结果为假。
选择结构程序设计练习题

选择结构程序设计练习题选择结构程序设计练习题1.逻辑运算符两侧运算对象的数据类型( )A.只能是0和1B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据2.下列运算符中优先级最高的是( )A.<B.+C.&&D.!=3.能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假"的表达式是( )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)4.表示图中坐标轴上阴影部分的正确表达式是( )A.(x<=a)&&(x>=b)&&(x<=c)B.(x<=a)||(b<=x<=c)C.(x<=a)||(x>=b)&&(x<=c)D.(x<=a)&&(b<=x<=c5.判断char型量ch是否为大写字母的正确表达式是()A.…A?<=ch<=…Z?B.(ch>=…A?)&(ch<=…Z?)C.(ch>=…A?)&&(ch<=…Z?)D.(…A?<=ch)AND(…Z?>=ch)6.设x,y,z都是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是()A.…x?&&…y?B.x<=yC.x||y+z&&!yD.!(x<y)&&!z||1)< p="">7.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是()A.0B.语法错误C.1D.“假”8.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是()A.A%2==1B.!(A%2==0)C.!(A%2)D.A%29.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为()A.1B.2C.3D.410.下列运算符中优先级最低的是( )优先级最高的是( )A.?B.&&C.+D.!=11.以下程序的运行结果是( )#includemain(){int a,b,d=241;a=d/100%9; b=(-1)&&(-1);printf(“%d,%d”,a,b);}A.6,1B.2,1C.6,0D.2,012.执行以下语句后a的值为( )int a,b,c;a=b=c=1; ++a||++b&&++c;A.错误B.0C.2D.1A.1B.2C.错误D.013.执行以下语句后的值为(),b的值()int a=5,b=6,w=1,x=2,y=3,z=4;(a=w>x)&&(b=y>z);A.5B.0C.2D.1 A.6 B.0 C.1 D.414.以下不正确的if语句形式是()A.if(x>y&&x!=y);B.if(x==y)x+=y;C.if(x!=y)scanf(“%d“,&x) else scanf(“%d”,&y);D.if(x<y){x++;y++;}< p="">15.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( ) if(x>y) z=x;x=y;y=z;A.x=10,y=20,z=30B.x=20,y=30,z=30C.x=20,y=30,z=10D.x=20,y=30,z=2016.以下语句语法正确的是:( )A.if(x>0) printf(“%f”,x)else printf(“%f”,-x);B.if(x>0){x=x+y;printf(“%f”,x);}else printf(“%f”,-x)C.if(x>0){x=xy; pri ntf(“%f”,x);};else printf(“%f”,-x);D.if(x>0){x=x+y;printf(“%f”,x)}else printf(“%f”,-x);17.请阅读以下程序,该程序( )main(){int a=5,b=0,c=0;if(a+b+c) printf(“***\n”); else printf(“$$$\n”);}A.有语法错误不能通过编译B.可以通过编译但不能通过连接C.输出***D.输出$$$18.以下程序的运行结果是( )main(){int m=5;if(m++>5) printf(“%d\n”,m);else printf(“%d\n”,m--);} A.4B.5C.6 D719.当a=1,b=3,c=5,d=4时,执行完下面一段程序后x 的值是( )if(a<b)< p="">if(celse if(a<c)< p="">if(b< p="">else x=3;else x=6;else x=7;A.1B.2C.3D.620.有一函数关系如下:x-1(x<0)y={ x(x=0)x+1 (x>0)则下面程序段中能正确表示上面关系的是( )A.y=x+1; if(x>=0) if(x==0) y=x; else y=x-1;B.y=x-1 if(x!=0) if(x>0) y=x+1; else y=x;C.if(x<=0) if(x<0) y=x-1; else y=x; else y=x+1;D.y=x; if(x<=0) if(x<0) y=x-1; else y=x+1;21.以下程序的输出结果是( )main(){int a=100,x=10,y=20,ok1=5,ok2=0;if(x<y)< p="">if(y!=10)if(!ok1)a=1;else if(ok2) a=10;a=-1; printf(“%d\n”,a);}A.1B.0C.-1D.值不确定22.以下程序的输出结果是( )main(){int x=2,y=-1,z=2;if(x<y)< p="">if(y<0) z=0;else z+=1;printf(“%d\n”,z);}A.3B.2C.1D.023.为了避免在嵌套的条件语句if--else中产生二义性,C语言规定:else子句总是与( )配对。
C语言选择结构程序设计练习题

C语⾔选择结构程序设计练习题第四章选择结构程序设计⼀、填空1.在C语⾔中,表⽰逻辑“真”值⽤_________。
2.得到整型变量a的⼗位数字的表达式为_________。
3.表达式:(6>5>4)+(float)(3/2)的值是_________。
4.表达式:a=3,a-1‖--a,2*a的值是_________。
(a是整型变量)5.表达式:(a=2.5-2.0)+(int)2.0/3的值是_________。
(a是整型变量)6.C语⾔编译系统在给出逻辑运算结果时,以数值_________代表“真”,以_________代表“假”;但在判断⼀个量是否为“真”时,以_________代表“假”,以_________代表真。
7.当m=2,n=1,a=1,b=2,c=3时,执⾏完d=(m=a!=b)&&(n=b>c)后,n的值为_________,m的值为_________。
8.若有int x,y,z;且x=3,y=-4,z=5,则表达式:!(x>y)+(y!=z)||(x+y)&&(y-z)的值为_________。
⼆、编程:1.企业发放的奖⾦根据利润提成。
利润(i)低于或等于10万元时,奖⾦可提10%;利润⾼于10万元,低于20万元时,低于10万元的部分按10%提成,⾼于10万元的部分,可提成7.5%;20万到40万之间时,⾼于20万元的部分,可提成5%;40万到60万之间时⾼于40万元的部分,可提成3%;60万到100万之间时,⾼于60万元的部分,可提成1.5%,⾼于100万元时,超过100万元的部分按1%提成,从键盘输⼊当⽉利润i,求应发放奖⾦总数?2.输⼊三个整数x,y,z,请把这三个数由⼩到⼤输出。
3.输⼊某年某⽉某⽇,判断这⼀天是这⼀年的第⼏天?4.本程序演⽰从键盘输⼊x的值,计算并打印下列分段函数的值。
y=0(x<60)y=1(60<=x<70)y=2(70<=x<80)y=3(80<=x<90)y=4(x>=90)5.在显⽰器上显⽰⼀个菜单程序的模型。
选择结构程序设计习题1-文档资料

阅读下面程序,写出程序的运行结果
1. 以下程序的执行结果是 。 #include <stdio.h> void main( ) { int a,b,c; a=2;b=3;c=1; if (a>b) if (a>c) printf("%d\n",a); else printf("%d\n",b); printf("end\n"); } 程序的运行结果:
习题
一、选择题 1、要判断 char 型变量 m 是否是数字字符,可以使用表达式( ) 。 A.m>=0&&m<=9 B.m>=’0’ && m<=’9’ C.m>=”0” && m<=”9” D.m>=0 and m<=9 2、在 C 语言的 if 语句中,可以作为判断的表达式是( ) 。 A.关系表达式 B.任意表达式 C.逻辑表达式 D.算术表达式 3、为了避免嵌套的 if…else 语句的二义性,c 语言规定 else 总是与( )组成配对关系。 A.缩排位置相同的 if B.在其之前末配对的 if C.在其之前未配对的最近的 if D.同一行上的 if 4、假设有定义 int a=1,b=2,c=3,d=4,m=2,n=2。则执行表达式(m=a>b) && (n=c>d)后,n 的值为 ( ) 。 A.0 B.2 C.3 D.4
case 4: printf("%d\n",k++); break;
default: printf("Full!\n");
}
} (1)A、1 B、2 C、2 3 4 5 (竖排) D、1 2 3 4(竖排)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择结构程序设计练习
1.从键盘输入一个字符型数据,若输入一个数字字符('0'-'9'),则将其转换成相应的整数显示出来;若输入其它字符,则显示出错信息。
[提示]根据字符型数据的ASCII码值是否在‘0’字符与‘9’字符之间进行判断。
使用if…else…语句。
2.编写一个程序,其功能为:从键盘输入三个数x、y、z,判断x+y=z是否成立,若成立输出“x+y=z”的信息,否则输出“x+y!=z”的信息。
[提示] 条件判断表达式x+y==z
3.编写一个程序,其功能为:输入三个整数,输出最大数和最小数。
[提示] 设置最大值变量max和最小值变量min;首先比较a,b的大小,并把大数存入max,小数存入min;然后最大值变量max和最小值变量min 再与c比较,若c大于max,则max取值c,否则保持不变;如果c小于min,则min取值c,否则保持不变。
最后输出max和min的值。
使用if…else…语句、if语句以及复合语句。
4.某产品生产成本c=c1+mc2,其中c1为固定成本,c2为单位产品可变成本。
当生产数量m<10000时,c1=20000元,c2=10元;当生产数量m≥10000时,c1=40000元,c2=5元;编写一个程序,其功能为:分别计算出生产数量为6000以及25000时,总生产成本及单位生产成本。
5.分段函数的计算。
编写一个程序,计算下列函数:
y= x x<1
2x-1 1≤x<10 3x-11 x≥10
[提示]根据输入的x值的取值,计算y的值并输出。
使用if…else if语句以及复合语句。
6.编写程序,输入三角形三边a、b、c,判断a、b、c能否构成三角形,若不能则输出相应的信息,若能则判断组成的是等腰、等边、直角还是一般三角形。
[提示]利用三角形两边之和大于第三边判断是否能够构成三角形,能够成三角形时再以等腰、等边、直角三角形的条件进行判断。
7.某个电力公司对其用户的收费规定如下:用电数量收费标准
0~200 x*0.5元
201~400 100+(x-200)*0.65元
401~600 230+(x-400)*0.8元
601以上390+(x-600)*1.0元
编写程序,对于一个输入的用电数量,计算用户的缴费额。
[提示] 用if…else if语句实现。
注意输入负数时的处理。
操作数1 运算符op 操作数2
计算表达式的值,指定的运算符为加(+)、减(-)、乘(*)、除(/) 例如[输入]
[
输出]。