第二章 选择结构程序设计

第二章 选择结构程序设计
第二章 选择结构程序设计

第二章 选择结构程序设计

2.1 if 语句基础

『问题描述』如果明天天气不好,就留在家里看电视,否则出去购物。

从上面实例我们可以看出通过一个判断,演变出两个分支的情况,在编程中我们可以称为选择结构。在C++中用if 语句来实现选择结构。

2.2 if

语句

一.格式:if (<布尔表达式>)语句;

If (<布尔表达式>) 语句1 else 语句2;

注意事项:语句可以为复合语句,必须用{ … }包含。

[观察对比]

[想一想,做一做]

1.下列程序段运行后,变量value 的值为( )。

int value, x=20;

if ( x>=10)

value=5*x

else

value=4*x;

2.下列程序段运行后,变量max 的值为( )。

int a=5,b=10,max=a;

if (b>max ) max=b;

二.例题:输入两个整数,将较大的放在max 里,小的放在min 里。(bijiao )

输入:23 56 输出:

[实战演练]

★输入一个整数,判断它是奇数还是偶数。如果是奇数则输出“jishu ”,如果是偶数则输出“oushu ”。(jiou )

★节日期间,某超市购物优惠规定,所购物品不超过100元时,按九折付款;如果超过100元,超过部分按七折收费。编写程序完成超市自动计费的工作。从键盘输入购买物品的钱数,输出总收费。(market ) ★输入两个字符,若这两个字符的ASCII 码之差是奇数,打印这两个字符的后继字符,否则打印它们的前趋字符。(str )

★输入一个字母,如果这个字母是A 、B 、C 、D 或a 、b 、c 、d 中的一个,则将其相应转换成1、2、3、4;如果是其余的字母,则将其转换成5。输出转换后的数字。(change )

★★从键盘输入一个小于10000的正整数,若此数的各位数字之和能被7整除,则打印这个数,否则打印各位数字之和被7除后的余数。(divide )

★★输入一个年号,判断它是不是闰年,如果是输出‘yes ’,否则输出‘no ’。

[提示] 是闰年的条件:被4整除而不能被100整除,或者能被400整除。(leap )

★★★键盘输入三个数,将这三个数按照从小到大的顺序输出。(comp )

5.3 If 语句嵌套

1.格式

2.例题

输入三角形三个边长a,b,c ,求三角形面积。公式为:(area )

分析:判断输入的三条边是否合法:

1.每条边都要大于0;

2.任意两边之和大于第三边。

#include

#include

using namespace std;

int main()

{

float a,b,c,p,s;

cin>>a>>b>>c;

if(a>0 && b>0 && c>0)

if ((a+b>c) && (a+c>b) && (b+c>a)) {

p=(a+b+c)/2;

s=sqrt(p*(p-a)*(p-b)*(p-c));

cout<

}

else

cout<<"input error";

else

cout<<"input error";

system("pause");

return 0;

}

)

)()((2/)(c p b p a p p s c b a p ---=++=

[实战演练]

★计算下列函数,从键盘输入x ,输出y 的值。(sub )

★输入某同学的数学成绩,要求输出成绩等级A 、B 、C 、D 。规定90分以上(包括90)为A ,80-89分为B ,60-79分为C ,60分以下者为D 。 (score )

★★输入三个数,打印出最大者。使用两种方法求解:(max )

(1)不嵌套的if 语句; (2)嵌套的if 语句。

★★★输入三角形的三个边,判断它是何类型的三角形:如果是等边三角形则输出‘dengbian ’,如果是等腰三角形则输出‘dengyao ’,如果是一般三角形则输出‘yiban ’,如果不是三角形则输出‘no ’。(shape )

5.3 多分支语句

一.引入:输入1到7之间某个整数,输出其对应的星期的英语名。(seven )

cin>>n;

switch(n) {

case 1:{cout<<”Monday” ;break;}

case 2:{cout<<” Tuesday” ;break;}

case3:

{cout<<”Wedn es day”;break;}

case4:

{cout<<”Thursday”;break;}

case 5:

{cout<<” Friday ”;break;}

case 6:

{cout<<” Saturday ”;break;}

case 7:

{cout<<” Sunday ”;break;}

default:cout<<”wrong!”;

}

三、例题

『实例一』:在屏幕上输入两个变量和一个运算符(+ - * /),根据运算符算出结果。

『分析』利用switch语句功能根据输入的算术运算符分四种情况进行处理。

#include

using namespace std;

int main()

{

char ch;

int a,b,s;

cin>>ch;

cin>>a>>b;

switch (ch)

{

case '+':

{

s=a+b;

break;

}

case '-':

{

s=a-b;

break;

}

case '*':

{

s=a*b;

break;

}

case '/':

{

s=a/b;

break;

}

}

cout<

system("pause");

return 0;

}

『实例二』、输入年、月,输出该月的天数。(day.cpp)

程序如下:

#include

using namespace std;

int main()

{

int month,day,year;

cin>>year>>month;

switch (month)

{

case 1:

case 3:

case 5:

case 7:

case 8:

case 10:

case 12:

{

day=31;

break;

}

case 4:

case 6:

case 9:

case 11:

{

day=30;

break;

}

case 2:

{

if((year %4==0) && (year%100!=0) || (year % 400==0))

day=29;

else

day=28;

break;

}

default:

{

cout<<"输入错误!";

}

}

cout<

system("pause");

return 0;

}

c语言第五章 选择结构程序设计(习题册答案)

第五章选择结构程序设计 基础练习(A) 一、填空题 1、关系表达式的运算结果是逻辑值。C语言没有逻辑型数据,以1代表“真”,以0代表“假”。 2、逻辑运算符!是单目运算符,其结合性是由右结合性。 3、C语言提供的三种逻辑运算符是&&、|| 、!。其中优先级最高的为!,优先级最低的为| | 。 4、逻辑运算符两侧的运算对象不但可以是0和1,或者是0和非0的整数,也可以是任何类型的数据。系统最终以0 和非0 来判定它们属于“真”或“假”。 5、设y为int型变量,请写出描述“y是偶数”的表达式(y%2==0)。 6、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式x2&&x<3。 8、判断char型变量ch是否为大写字母的正确表达式是(ch>=‘A’)&&(ch<=‘Z’)。 9、当a=3,b=2,c=1时,表达式f=a>b>c的值是0。 10、当a=5,b=4,c=2时,表达式a>b!=c的值是1。 11、已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||AB的值是0。 12、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是1。 13、有int x,y,z;且x=3,y=-4,z=5,则表达式(x&&y)==(x||z)的值为1。 14、有int x,y,z;且x=3,y=-4,z=5,则以下表达式的值为1。 !(x>y)+(y!=z)||(x+y)&&(y-z) 15、有int a=3,b=4,c=5,x,y;,则以下表达式的值为0。 !(x=a)&&(y=b)&&0 16、if (!k) a=3;语句中的!k可以改写为k= =0,使其功能不变。 二、选择题 1、逻辑运算符两侧运算对象的数据类型(D)。 A)只能是0或1 B)只能是0或非0正数 C)只能是整型或字符型数据 D)可以是任何类型的数据 2、以下关于运算符优先顺序的描述中正确的是(C)。 A)关系运算符<算术运算符<赋值运算符<逻辑与运算符 B)逻辑与运算符<关系运算符<算术运算符<赋值运算符 C)赋值运算符<逻辑与运算符<关系运算符<算术运算符 D)算术运算符<关系运算符<赋值运算符<逻辑与运算符 3、下列运算符中优先级最高的是(B)。 A)< B)+ C)&& D)!= 4、为判断字符变量c的值不是数字也不是字母时,应采用下述表达式(D)。 A)c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122 B)!(c<=48||c>=57&&c<=65||c>=90&&c<=97||c>=122) C)c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122 D)!(c>=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122) 5、能正确表示“当x的取值在[1,100]和[200,300]范围内为真,否则为假”的表 达式是(C)。 A) (x>=1)&&(x<=100)&&(x>=200)&&(x<=300) B) (x>=1)||(x<=100)||(x>=200)||(x<=300) C) (x>=1)&&(x<=100)||(x>=200)&&(x<=300)

选择结构程序设计题

选择结构程序设计 一、实验目的 1.熟练掌握关系表达式和逻辑表达式的使用。 2.熟练掌握嵌套的if语句和switch语句实现多分支结构程序设计。 3.掌握选择结构程序设计的方法。 4.继续熟悉跟踪调试程序的方法和过程。 二、实验内容及步骤 1.分析程序并上机运行验证结果。 #include void main() { int a,b,t; printf("请输入a,b的值:"); scanf("%d,%d",&a,&b); if(a>3,2 3,2>>3,2 } 思考: 从输入数据和运行结果分析程序的功能。 将“{t=a;a=b;b=t;}”改为“t=a,a=b,b=t;”,程序的功能改变了吗?为什么?一样的 将“if(a void main() { int a,b; printf("请输入a,b的值:"); scanf("%d,%d",&a,&b); if (b) printf("a/b=%d \n",a/b); //在确保b非零的情况下执行a/b运算 else printf("ERROR:Cannot divide by zero!\n"); } 提示: 程序的功能是实现两个整数相除。程序设计时应避免被零除的错误,所以“if(b)printf("a/b=%d \n",a/b);”就是在确保b非零的情况下执行a/b运算。 if(b)也可以写作if(b!=0)。 3.阅读、分析程序,记录结果,并上机运行验证结果。 #include void main() {

matlab选择结构程序设计答案讲解学习

m a t l a b选择结构程序 设计答案

实验三选择结构程序设计 一、实验目的 1、掌握建立和执行M文件的方法。 2、掌握利用if语句实现选择结构的方法。 3、掌握利用switch语句实现多分支选择结构的方法。 4、掌握try语句的使用。 二、实验内容 1、求分段函数的值。用if语句实现,分别输出x=-5.0,3.0,1.0,2.0,2.5,3.0,5.0时 的y值。 ①x=input('please input the value of x'); if x<0&x~=-3 y=x*x+x-6; elseif x>=0&x<5&x~=2&x~=3 y=x*x-5*x+6; else y=x*x-x-1; end y ②please input the value of x-5.0 y = 14 >> aaaaa please input the value of x-3.0

y = 11 >> aaaaa please input the value of x1.0 y = 2 >> aaaaa please input the value of x2.0 y = 1 >> aaaaa please input the value of x2.5 y = -0.2500 >> aaaaa please input the value of x3.0 y =

5 >> aaaaa please input the value of x5.0 y = 19 2、输入一个百分制成绩,要求输出成绩等级A、B、C、D、E。其中90分 ~100分为A,80分~89分为B,70分~79分为C,60~69分为D,60分以下为E。要求: (1)分别用if语句和switch语句实现。 (2)输入百分制成绩后要判断该成绩的合理性,对不合理性的成绩应输出出错信息。 If语句 ①s=input('please input the score:'); if s>=90&s<=100 rank='A'; elseif s>=80&s<=89 rank='B'; elseif s>=70&s<=79 rank='C'; elseif s>=60&s<=69 rank='D'; elseif s>0&s<=59 rank='E';

实验二选择结构程序设计实验报告

实验三:C程序的选择结构 一、实验目的和要求 (1)了解 C 语言表示逻辑量的方法(以0 代表“假”,以非0 代表“真”)。 (2)学会正确使用逻辑运算符和逻辑表达式。 (3)熟练掌握if 语句的使用(包括if 语句的嵌套)。 (4)熟练掌握多分支选择语句—switch 语句。 (5)结合程序掌握一些简单的算法。 (6)进一步学习调试程序的方法。 二、、实验软硬件配置 1.硬件配置 电脑 2.软件配置 Windows xp Visual C++6.0 三、实验内容及过程描述 实验步骤: ①进入Visual C++ 6.0 集成环境。 ②输入自己编好的程序。 ③检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时 改正。 ④进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提 示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。 ⑤运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果是否正 确,应运行多次,分别检查在不同情况下结果是否正确。 实验内容: 本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 x x 1 (1)有一函数:y 2x 1 1 x 10 3x 11 x 10 写程序,输入x 的值,输出y 相应的值。用scanf 函数输入x 的值,求y 的值。程序如下:#include int main() {float x,y; int i; while(i<1000) { printf(" 请输入x 的值:"); scanf("%f",&x); if(x<1) y=x; else if(1<=x&&x<10)

选择结构程序设计

第四章择路而行---选择结构程序设计 第一节路口诀择----条件语句 一、教学目标 1、掌握选择结构程序中常用的Qbasic语句。 2、掌握选择结构程序设计方法。 3、能利用选择结构程序设计解决简单的实际问题。 二、教学重点: 1.选择结构的语句及功能 2.选择结构中程序设计方法。 三、教学方法:讲授法,对比法,分组讨论法。 四、教学时间:2课时 五、教学教程: (一)引入新课:前面我们学习了顺序结构程序设计,利用顺序结构只能设计一些较简单的程序,如果要处理复杂的问题,就需要采用另外两种基本结构:选择结构和循环结构。选择结构,是一种常用的主要基本结构,是计算机科学用来描述自然界和社会生活中分支现象的重要手段。其特性是:无论分支多寡,必择其一;纵然分支众多,仅选其一。 (二)讲述新课 l 单行条件选择语句IF 1、单行结构条件语句IF…THEN…ELSE 格式:IF <条件> THEN <语句1> [ELSE <语句2>] 功能:最简单的条件选择语句,用来进行条件判断,使语句有条件的执行。 说明: 1)当<条件>为真(非零数)时,则执行<语句1>。 2)ELSE语句可以省略。 3)当<条件>为假(零)时,而且语句中有ELSE语句则执行<语句2>。 4)IF、THEN、ELSE必须在同一行上。 2、示例A、输入x的值,计算y的值。 REM 程序名为:eg1.bas INPUT “请输入x的值:”,x IF x>=0 THEN Y=1+X ELSE Y=1-2*X PRINT "Y=";Y END 例:求一元二次方程Ax2+Bx+C=0(A<>0)的实数根。 分析:写写出程序的流程图,参考流程图来写程序。 程序清单如下: INPUT A,B,C D=B*B-4*A*C IF D<0 THEN then X1=(-B+SQR(D))/(2*A) X2=(-B-SQR(D))/(2*A) PRINT “X1=”;X1, “X2=”;X2 ELSE PRINT “此方程无实根” END

第5章选择结构程序设计

第5章选择结构程序设计 在日常生活和工作中,经常会遇到各种各样的选择,根据选择的不同,会得到不同的结果。在程序设计中,也经常会根据不同的情况执行不同的操作,这与现实生活中的选择非常类似。但程序设计中的选择结构根据条件只能选择一个分支执行,即无论分支多寡,必择其一;纵然分支众多,仅选其一。 本章主要介绍实现选择结构程序设计方面的知识,包括If语句、Select Case语句、条件函数的使用,最后介绍与选择结构相关的单选按钮、复选框和框架三个基本控件的使用。 5.1引例 【例5.1】输入学生百分制成绩,将该成绩转换为五级分制显示输出。程序运行结果如图5.1所示。其中转换规则为:90及90分以上为优,80~90为良(含80,不含90,后面相同),70~80为中,60~70为及格,0~60为不及格。 图5.1 例5.1的运行结果 该题目是选择结构的典型应用。程序代码如下: Private Sub Command1_Click() cj = Val(Text1) If cj < 0 Or cj > 100 Then MsgBox "输入的成绩无效" Text1.Text = "" Label1.Caption = "" ElseIf cj >= 90 Then Label3.Caption = "优" ElseIf cj >= 80 Then Label3.Caption = "良" ElseIf cj >= 70 Then Label3.Caption = "中" ElseIf cj >= 60 Then Label3.Caption = "及格" Else Label3.Caption = "不及格" End If End Sub

实验二选择结构程序设计 实验报告

C语言程序设计与问题求解实验报告 实验二选择结构程序设计 一、实验目的 1.正确使用关系表达式和逻辑表达式表示条件; 2.掌握选择语句if-else和switch语句的使用方法; 3.掌握分支结构程序设计。 二、实验内容 1. 选择结构编程示例 year是闰年,即year能被4整除但不能被100整除,或year能被400整除。从键盘读入一个年份,然后输出其是否为闰年。具体代码如下: #include int main() { int year; printf("请输入年份:"); scanf("%d",&year); if ((year%4==0 && year%100!=0)||(year%400==0)) { printf("闰年!"); } else { printf("不是闰年!"); } return 0; } 运行结果:

2.分析并修改下面程序错误,使之能够正常运行。 错误代码一:下面的这个程序是当a和b的值相等的情况下输出“a和b相等”,而a与b的值不相等的话无输出。 #include void main() { int a=5,b=6; /* 或int a=5, b=5 ;*/ if (a==b); { printf("a和b相等\n"); } } 错误点: if (a==b)后有了分号“;”表示这条语句已执行完毕,所以无论a、b是否相等都会输出"a和b相等"。 修改后: #include void main() { int a=5,b=6; /* 或int a=5, b=5 ;*/ if (a==b) printf("a和b相等\n"); } 错误的代码二:下面的这个程序是当a和b的值相等的情况下a与b的值同时增加1,而a与b的值不相等的话,二者的值保持不变。 #include void main() { int a=5; /* 或int a=6*/ int b=6; if (a==b) a++; b++;

程序的选择结构教学设计

程序的选择结构 教案编写教师:付虹杨 实际授课教师: ___________________ 实际授课日期:

Then End if Else The n Then Else Else End if 教学过程教师活动学生活动设计意图格式2:又叫块If I f 条件Then Else 2> End I 语句组1> 语句组说明: 新课讲授 (1)条件可以是算术表达式、关系表达式或逻辑表达式等。表达式都会 得到两种可能:非真即假,True或False。 (2)格式2中的if与end if 必须成对出现,缺一不可。 (3)在书写时,格式1中的<语句组>可以有多条语句,如 果有多条语句则必须写在一行,而且语句之间用冒号“:” 分隔开。格式2中的<语句组>中的多条语句,则需分行书写。 (4)将If、Else和End If 语句左对齐,而<语句组1>和<语 句组2>向右缩进若干空格,以使程序结构更加清楚,便 于阅读和查错。 4、条件语句的执行过程 当条件成立时,执行Then后面的语句组1, 否则执行语句组2 选择结构的流程图如下所示: 5、下面我们共同运用选择结构来解决问题:例1、选择题 将鼠标价钱大竞猜的程序补充完整。 Dim a As Si ngle a=I nputBox(“请输入您猜的价钱”) ____ a=20_Print"猜对了"__Print “猜错了” 学生边看课 件,边听教师 讲解选择结构 的基本格式。 注意事项,及 程序的执行过 程。 学生运用选择 结构将鼠标价 钱大竞猜程序 补充完整。 进一步理解 选择结构的 用法、格式、 功能。 让学生熟练 掌握双分支 选择结构的 两种基本格 式及相互转 换。

实验四-答案--选择结构程序设计讲课讲稿

实验四-答案--选择结构程序设计

实验四选择结构程序设计答案 实验时间:年月日【实验步骤】 一、程序调试练习 1、写出下列程序的运行结果: (1)ex4_1.c #include void main() { char ch; printf("input a character:"); ch=getchar(); if(ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch); } 具体要求: ①从键盘上输入a,分析程序运行的结果。 ②从键盘上输入A,分析程序运行的结果。 ③从键盘上输入5,分析程序运行的结果。 程序运行结果: ①a ②a ③5 (2)ex4_2.c #include void main() { int x,y,z; printf("input x,y,z"); scanf("%d,%d,%d",&x,&y,&z); if(x

①从键盘上给x、y、z分别输入2,-1,2,分析程序运行的结果。 ②从键盘上给x、y、z分别输入3,5,2,分析程序运行的结果。 ③从键盘上给x、y、z分别输入-5,-3,2,分析程序运行的结果。 程序运行结果: ①z=2 ②z=3 ③z=0 (3)ex4_3.c #include main() { int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; } printf("a=%d,b=%d\n",a,b); } 程序运行结果: a=2,b=1 (4)ex4_4.c #include void main() { int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; case 3: a++; b++;

选择结构程序设计练习题

选择结构程序设计练习题 1.逻辑运算符两侧运算对象的数据类型( ) A.只能是0和1 B.只能是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<=c 5.判断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<=y C.x||y+z&&!y D.!(x

7.已知x=43,ch=‘A’,y=0;则表达式(x>=y&&ch<‘B’&&!y)的值是() A.0 B.语法错误 C.1 D.“假” 8.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,则以下不能满足要求的表达式是() A.A%2==1 B.!(A%2==0) C.!(A%2) D.A%2 9.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后的值为() A.1 B.2 C.3 D.4 10.下列运算符中优先级最低的是( )优先级最高的是( ) A.? B.&& C.+ D.!=

第五章选择结构程序设计练习含答案v1

第五章选择结构程序设计 5.1 选择题 【题5.4】能正确表示“当x的取值在[1,10]和[200,210]范围内为真,否则为假” 的表达式是。C 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) 【题5.5C //// //// X a b c 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<=c) 【题5.6】判断char型变量ch是否为大写字母的正确表达式是。C A)‘A’<=ch<=‘Z’B)(ch>=‘A’)&(ch<=‘Z’) C)(ch>=‘A’)&&(ch<=‘Z’) D)(‘A’<=ch)AND(‘Z’>=ch) 【题5.10】设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b)&&(n=c>d)后n的值为。B A)1 B)2 C)3 D)4 【题5.11】判断char型变量c1是否为小写字母的正确表达式是。D A)‘a’<=c1<=‘z’B)(c1>=a)&&(c1<=z) C)(‘a’>=c1)||(‘z’<=c1) D)(c1>=‘a’)&&(c1<=‘z’) 【题5.12】以下程序的运行结果是。B #include “stdio.h” main() {

C语言选择结构程序设计编程题.doc

实验2 选择结构程序设计 一.实验目的: 1.掌握选择控制语句的使用方法; 2.了解C程序语句的执行过程。 二.实验内容: 1.编写程序:输入一个整数,判断该数的奇偶性。(输出相应的标志even-偶数odd-奇数,请记住这两个单词)。 2.从键盘输入的正整数,判断是否能被5和7同时整除,若是,则输出Yes;否则输出No。 3.输入一个字符,如果是大写字母改变为小写字母;如果是小写字母,则把它变为大写字母;若是其它字符则不变。 4.编写程序,对于给定的一个百分比制成绩,输出相应的五分制成绩。设:90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为’E’(用if…else…与switch 语句两种方法实现)。 5. 企业发放的奖金根据利润提成。利润(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,求发放奖金总数。 6. 输入某年某月某日,判断这一天是这一年的第几天。 7. 输入一个字符,请判断是字母、数字还是特殊字符。 8. 身高预测: 男性成人身高=(父亲身高+母亲身高)*0.54cm 女性成人身高=(父亲身高*0.923+母亲身高)/2cm 如果喜爱体育锻炼,那么身高可增加2%;如果有良好的饮食习惯,可增加身高1.5%。键盘输入性别、父母身高、是否爱好体育锻炼、是否有良好的饮食习惯,利用给定身高预测方法对你的身高进行预测。 9. 要求用switch语句编程设计一个简单的计算器程序。要求根据用户从键盘输入的表达式。 操作数1 运算符op 操作数2 计算表达式的值。指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。 在此基础上,增加如下要求: (1)如果要求程序能进行浮点数运算,程序应该如何修改?如何比较实型变量和常数0是否相等? (2)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多个空格符,那么程序如何修改? (3)如果要求连续多次算术运算,每次运算结束后,程序都给出提示: Do you want to continue(Y/N y/n)? 如果用户输入Y或y时,程序继续进行其它算术运算,否则程序才退出运行状态。那么程序如何进行修改?

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)

选择结构程序设计(精)

实验七选择结构程序设计 一、实验目的 1、掌握应用双生选择结构设计程序解决一般的单分支问题。 2、掌握应用多重选择结构设计程序解决一般多分支问题 二、实验要求 1、对单分支和多分支的语句格式深入了解 2、利用单分支和多分支结构解决较复杂的问题 三、实验内容与步骤 计算机的判断功能是通过结构实现的。选择结构又称为分支结构,是程序设计中应用中较多的程序结构,其特点是由分支中的条件是否成立来决定程序执行的不同走向。 选择结构分为双重选择(IF-ELSE-ENDIF)和多重选择(DO CASE –ENDCASE)两种。 1、设计双重选择结构程序 计算电费:不超过50度,每度0.8元;超过50度时,超出部分每度1.20元. 解:电费DF显然为电量DL的一个分段函数: 0.8*DL (DL<=50) DF= 0.8*50+1.20*(DL-50) (DL>50) 应用选择结构完成电费DF的计算. 设计1: YY1.PRG SET TALK OFF CLEAR INPUT “请输入电量(度):” DL IF DL<=50 DF=0.8*DL ELSE DF=0.8*50+1.20*(DL-50) ENDIF ?”应缴电费:”,DF SET TALK ON RETU 设计2: *YY2.PRG SET TALK OFF CLEAR INPUT “请输入电量(度):” DL DF= 0.8*DL IF DL>50 DF=0.8*50+1.20*(DL-50) ENDIF ?”应缴电费:”,DF SET TALK ON

RETU 2、设计多重选择结构程序 设计程序处理商场推出让利用促销问题:凡购物金额超过500元未超过1000元者,返回20元,超过1000元,返回5%;超过2000元,返回7%,超过4000元,返回10%。输入购物金额,输出应交款数。 解:设购物金额为X,让利金额为Y,则应交款为X-Y。 根据输入的X,采用多重选择结构分5种情形计算Y,输出X-Y。程序为: *YY4.PRG CLEAR SET TALK OFF INPUT “请输入购物金额:”TO X Y=0 DO CASE CASE X〈500 Y=0 CASE X〈1000 Y=20 CASE X〈2000 Y=X*0.05 CASE X<4000 Y=X*0.07 OTHE Y=X*0.1 ENDCASE ?”应交款”,X-Y SET TALK ON RETURN 运行程序:DO YY4.PRG 请输入购物金额:3000 应交款:2790.00元 四、实验习题与思考 1、选择结构分哪几种?有哪几种方法实现多重选择? 2、双多重选择结构中,有ELSE与没有ELSE在功能上有什么区别? 3、在多重选择结构中,OTHERWISE子句的意义是什么?如果不要该子句,如何修改程 序? 4、从永州到长沙铁路托运行李的运费标准为:40千克及以下,每千克0.24元;超过40千克, 超出部分每千克0.42元.设计程序,输入行李重量,输出运费. 5、从键盘输入一个正整数X:若X为奇数,输出X+3,若为偶数,输出X/2。 6、设计多分支选择结构程序,输入一个考试得分F:若F大于或等于90分,显示“优秀”; 若F大于或等于80,显示“良好”;若F大于或等于70,显示“中等”;若F大于或等于60,显示“及格”;若F少于60,显示“补考”。

实验三 选择结构程序设计

班级 姓名 学号 实验三 选择结构程序设计 一、实验目的 1.掌握建立和执行M 文件的方法; 2.掌握利用if 语句实现选择结构的方法; 3.掌握利用switch 语句实现多分支选择结构的方法; 4.掌握try 语句的使用。 二、实验内容 1.求分段函数的值:?????--+--+=1 656)(222x x x x x x x f 其他及且且325030≠≠<≤-≠> x=[-5.0,-3.0,1.0,2.0,2.5,3.0,5.0]; y=[]; %建立存放所有y 值的矩阵 for x0=x if x0<0&x0~=-3 y=[y,x0*x0+x0-6]; elseif x0>=0&x0<5&x0~=2&x0~=3 y=[y,x0*x0-5*x0+6]; else y=[y,x0*x0-x0-1]; end end x %输出所有x y %输出所有y x = -5.0000 -3.0000 1.0000 2.0000 2.5000 3.0000 5.0000 y = 14.0000 11.0000 2.0000 1.0000 -0.2500 5.0000 19.0000 2 .输入一个百分制成绩,要求输出成绩等级A 、B 、C 、D 、E 。其中90~100分为A ,80~89分为B ,70~79分为C ,60~69分为D ,60分以下为E 。要求: ⑴分别用if 语句和switch 语句实现; >> x=input('请输入一个百分制成绩:'); if x>100|x<0 disp('您输入的成绩不是百分制成绩,请重新输入。'); else if x<=100&x>=90 disp('A'); elseif x<=89&x>=80 disp('B');

选择结构程序设计实验报告

嘉应学院计算机学院 实验报告 课程名称程序设计基础实验名称实验地点 指导老师实验时间提交时间 班级姓名座号 一、实验目的和要求 (1)了解C语言表示逻辑量的方法(以0代表“假”,以非0代表“真”)。 (2)学会正确使用逻辑运算符和逻辑表达式。 (3)熟练掌握if语句的使用(包括if语句的嵌套)。 (4)熟练掌握多分支选择语句—switch语句。 (5)结合程序掌握一些简单的算法。 (6)进一步学习调试程序的方法。 二、实验环境和方法 实验方法: (一)综合运用课本所学的知识,用不同的算法实现在不同的程序功能。 (二)结合指导老师的指导,解决程序中的问题,正确解决实际中存在的异常情况,逐步改善功能。 (三)根据实验内容,编译程序。 实验环境:Windows xp Visual C++6.0 三、实验内容及过程描述 实验步骤: ①进入Visual C++ 6.0集成环境。 ②输入自己编好的程序。 ③检查一遍已输入的程序是否有错(包括输入时输错的和编程中的错误),如发现有错,及时 改正。 ④进行编译和连接。如果在编译和连接过程中发现错误,频幕上会出现“报错信息”,根据提 示找到出错位置和原因,加以改正。再进行编译,如此反复直到不出错为止。 ⑤运行程序并分析运行结果是否合理。在运行是要注意当输入不同的数据时所得结果是否正 确,应运行多次,分别检查在不同情况下结果是否正确。 实验内容: 本实验要求事先编好解决下面问题的程序,然后上机输入程序并调试运行程序。 (1)有一函数: () () ()? ? ? ? ? ≥ - < ≤ - < = 10 x 11 3 10 x 1 1 2 1 x x x x y

第5章 选择结构程序设计

第5章选择结构程序设计 第一讲选择结构简介、单分支选择结构、多分支选择 结构 教学目标 1. 了解选择结构。 2. 理解掌握单分支选择结构和多分支选择结构的使用。 教学过程 预备知识 5.1 选择结构程序的设计 所谓选择结构就是由特定的条件决定执行哪条语句的程序结构。 在C#中,提供两种选择语句实现流程的改变: if语句,用于判断特定的条件能否满足,用于单分支选择,也可以通过嵌套实现多分支选择。 switch语句,用于多分支选择。 5.2 单分支选择结构(if语句) if语句是程序设计中基本的选择语句,它根据条件表达式的值选择要执行的后面的内嵌语句序列。一般用于简单选择,即选择项中有一个或两个分支,语句执行的过程中根据不同的情况进行选择其中一个分支执行。 5.2.1if 语句 格式: if(布尔条件表达式) 语句序列; 功能:根据布尔条件表达式的值进行判断: 当该值为真时执行if后的语句序列;

当该值为假时什么都不执行。 5.2.2if …else语句 格式为: if (布尔条件表达式) 内嵌语句序列1; else 内嵌语句序列2; 根据布尔条件表达式的值进行判断,当该值为真时执行if语句后的语句序列,当为假时,执行else语句后的语句序列。该结构一般用于两种分支的选择。 下面结合实例介绍if…else语句的使用方法。

【例5-1】某商店为了吸引顾客,采取以下优惠活动:所购商品在1000元以下的,打9折优惠;所购商品多于1000元的,打8折优惠。试采用if语句实现该优惠。 分析:该问题属于数学分段函数问题,当所购商品总额<1000元时,打折后的商品总额为(所购商品总额*0.9);当所购商品总额>1000时,打折后的商品总额为(所购商品总额*0.8)。 (1) 建立项目 在Visual https://www.360docs.net/doc/2813592891.html,中, 打开“文件”菜单, 依次选择“新建→项目”命令, 打开“新建项目”对话框, 选择“Visual C#项目”, 选择“Windows应用程序”输入项目的名称和存放位置。 (2) 设计窗体 单击工作区左侧的“工具箱”或单击工具栏上工具箱图标,工具箱将显示在工作区左侧。添加相应的控件。 (3) 编辑代码 选中按钮控件,单击鼠标右键,在弹出的菜单中选择“查看代码”命令,或通过“视图”菜单中的“代码”命令,切换到代码视图。也可以双击控件直接在事件中添加代码。代码为: private void button1_Click(object sender, System.EventArgs e)

Python-实验2--选择结构程序设计

实验2 选择结构程序设计 1、预测你的小孩的身高男性身高=(父亲身高+母亲身高)×1.08÷2(厘米)女性身高=(父亲身高×0.923+母亲身高)÷ 2(厘米) #predicting your child's height print "The following calculating unit is cm." x=input("Please enter dad's height:",) y=input("Please enter mom's height:",) g=raw_input("Please enter your child's gender:") if g=="male": h=(x+y)*1.08/2 print h,"cm" if g=="female": h=(x*0.923+y)/2 print h,"cm" 2、输入一个年份,判断它是否为闰年,并输出是否为闰年的相关信息。 【提示】判断闰年的条件是:年份能被4整除但不能被100整除;或者是能被400整除。如:1900、2100、2010年不是闰年;2008、2000年是闰年。 y=input("Please enter the year:") if y%4==0 and y%100!=0 or y%400==0: print y,"是闰年" else: print y,"不是闰年" 3、输入一个学生的成绩,如果是90分以上,打印出“A”的评语;80分以上的,打印出“B”;70分以上的,打印出“C”; 60分以上的,打印出“D”;不及格的打印出”E”。 print "This is a procedure which can print the mark related to your score. The range of your score is 0~100." x=input("Please enter your score:") while True: if x<0 or x>100: x=input("Wrong input, the range is 0~100. Please enter again:") if 90

五选择结构编程练习

实验五选择结构编程练习 题目: 1身高预测 每个做父母的都关心自己孩子成人后的身高,据有关生理卫生知识与数理统计分析表明,影响小孩成人后身高的因素有遗传、饮食习惯与坚持体育锻炼等。小孩成人后的身高与其父母的身高和自身的性别密切相关。 设faHeight为其父身高,moHeight为其母身高,身高预测公式为: 男性成人时身高= (faHeight + moHeight) * 0.54(cm) 女性成人时身高= (faHeight * 0.923 + moHeight) / 2(cm) 此外,如果喜爱体育锻炼,那么可增加身高2%,如果有良好的卫生饮食习惯,那么可增加身高1.5%。 编程从键盘输入你的性别(用字符型变量sex存储,输入字符F表示女性,输入字符M 表示男性)、父母身高(用实型变量存储,faHeight为其父身高,moHeight为其母身高)、是否喜爱体育锻炼(用字符型变量sports存储,输入字符Y表示喜爱,输入字符N表示不喜爱)、是否有良好的饮食习惯等条件(用字符型变量diet存储,输入字符Y表示喜爱,输入字符N表示不喜爱),利用给定公式和身高预测方法对你的身高进行预测。 实验授课提示: 通过这个实际例子熟悉选择结构程序设计的方法,以及if语句,进一步熟悉TC集成环境的程序编辑、编译、链接、运行和调试方法。 2 简单的计算器程序 要求用switch语句编程设计一个简单的计算器程序。要求根据用户从键盘输入的表达式: 操作数1 运算符op 操作数2 计算表达式的值,指定的算术运算符为加(+)、减(-)、乘(*)、除(/)。 本实验程序是在例4.8基础上,增加如下要求: (1)如果要求程序能进行浮点数的算术运算,程序应该如何修改?如何比较实型变量data2和常数0是否相等? (2)如果要求输入的算术表达式中的操作数和运算符之间可以加入任意多空白符,那么程序如何修改? (3)(选作题)如果要求连续做多次算术运算,每次运算结束后,程序都给出提示:Do you want to continue(Y/N or y/n)? 如果用户输入Y或y时,程序继续进行其它算术运算,否则程序才退出运行状态。那么,程序如何修改? 实验授课提示: 通过这个实际例子熟悉选择结构程序设计的方法,以及switch语句,进一步熟悉TC集成环境的程序编辑、编译、链接、运行和调试方法。 对于第(3)题,可利用%1s格式符输入用户回答,利用do-while语句实现反复运算直到用户键入N或n。

习题五选择结构程序设计习题.doc

百度文库- 让每个人平等地提升自我 习题五选择结构程序设计习题 班级:学号:姓名: 1.单项选择题 (1)选择结构程序设计的特点是 _______。 A. 自上向下逐个执行 B.根据判断条件,选择其中一个分支执行 C. 反复执行某些程序代码 D.以上都是 (2)假定所有变量均已正确定义,下列程序段运行后x 的值是 ______。 a=b=c=0,x=35; if(!a) x--; else if(b); if(c)x=3; else x=4; A.34 B.4 C.35 D.3 (3)下面的程序片段所表示的数学函数关系是 ______。 if(x<0) y= -1; else if(x>0) y=1; else y=0; (4) 下列各语句序列中,能够且仅输出整型变量a、b 中最大值的是 ()。 A. if(a>b) printf("%d\n",a); printf("%d\n",b); B. printf("%d\n",b); if(a>b) printf("%d\n",a); C. if(a>b) printf("%d\n",a); else printf("%d\n",b); D. if(a0) y=1; else if(x==0) y=0; else y= -1; printf("%d",y); A. 1 B. -1 C. 0 D. 2 (6) 程序段 int x=5,y=8,max; max=(x>y)?x:y; printf("%d",max); 的输出结果是。 A. 5 B. 8 C. 3 D. 13 (7) 程序段 int x=3,a=1;switch(x) {case 4: a++;case 3: a++;case 2: a++;case 1: a++;} printf ("%d",a); 的输出结果是。 A. 1 B. 2 C. 3 D. 4 (8)下列语句应将小写字母转换为大写字母,其中正确的是 ( )。 (ch>='a'&ch<='z') ch=ch-32; (ch>='a'&&ch<='z')ch=ch-32;

相关文档
最新文档