C++ 分支结构程序设计

合集下载

编程语言基础-C语言 第3章 分支程序设计

编程语言基础-C语言  第3章 分支程序设计

③ 假设A和B是两个表达式,下面对逻辑运 算进行说明。 1) A && B 若A、B均为真, 则“A && B”值为真,否则为 假。 2) A || B 若A、B均为假, 则“A || B值”为假,否则为真。 3) ! A 若A为真, 则 “!A”为假;否则为真。
看下面的例子:
1.
( 3 < 2 ) && ( 7 > 5 ) 值:0 只有 && 右面的子表达式为真 ( 3 < 2 ) || ( 7 > 5 ) 值:1 只要求有一个子表达式为真 !(3<2) 子表达式为假。 值:1
运行结果: 1. 请输入一个正 整数:36↙ Yes! 2. 请输入一个正 整数:15↙ No!
3.2.3 if语句的嵌套

一般形式是: if(表达式1) 语句1; else if(表达式2) 语句2; else if (表达式3) 语句3; else 语句4;
执行过程如图3-4所示。
表达式 1 假 表达式 2 假
}
3.4 分支程序设计应用实例

例3-7: 从键盘输入二个整数,输出其中最大者。 main( ) { int a, b, max; printf("请输入二个整数:"); scanf("%d %d", &a, &b ); if ( a > b ) max = a; else max = b; printf("二者中最大值为:%d", max ); getch( ); 运行结果: } 17 31↙ 二者中最大值为:31
第3章 分支程序设计
3.1 关系表达式和逻辑表达式

C语言-第3章分支结构教学案

C语言-第3章分支结构教学案

第3章 分支结构程序设计(选择结构)1、掌握if 、if-else 、if 的嵌套语句的语法结构及编程语句的语法结构及编程 123.2.1 单分支if 语句的使用学习目标:1、理解选择结构的概念和特点;2、掌握单分支if 语句的语法结构、执行过程和基本用法,学会正确书写if 语句; 4、能正确阅读if 语句程序,会使用if 语句编写、调试并运行程序。

课前准备:预习P30-32(预习后,将学案上知识点在课本上做记号,并完成相应预习题) 课时分配:2课时 活动课堂活动一、发现问题(目标——了解分支结构的意义)实例:从键盘上输入一个数,求这个数的平方根。

算法:发现问题:活动二、解决问题(目标——掌握分支结构) 思考:从键盘输入一个数,若为正数和0则 求其平方根,否则不予处理。

算法:活动三、预习交流(1 ·语句中a>b ·if 每行的结尾,分支中各语句结尾均有 (符号),但 后没有。

·在(2)(3)两语句段中的不同处画上横线,语句(2)中的c=a+b; (属于/不属于)if 分支。

活动五:观察思考(目标——掌握if 的执行流程)1、观察下列程序的执行,口述程序的执行过程,画出程序的流程图: 例1:#include <math.h>#include <stdio.h>main(){float x,y;clrscr();scanf("%f",&x);if (x>=0){y=sqrt(x);printf("%.2f",y);}}流程图:4、说明:例:表达式 -3+‘d’为________表达式,值为______,作条件判断结果为___________ 表达式 a=0 为__________表达式,值为_______,作条件判断结果为__________ 表达式 a=5 为__________表达式,值为________,作条件判断结果为_________ 表达式a>4为____________表达式,若a=5 则结果为_________表达式(a>0)&&(a%2==0)为________表达式,若结果为5 则结果为__________活动六、尝试学习(目标—if语句的初步应用)编程:输入一个学生成绩score,如果成绩大于60,则显示pass,否则不显示程序:流程图:活动七、合作探究、拓展应用(目标—if语句的应用)1、阅读下列程序,写出运行结果,画出程序的流程图:main() Array {int a,b;scanf("%d%d",&a,&b);if (a<b) a=b;printf("%d",a);}执行:·若输入4 5,则输出:________________若输入5 4,则输出:________________·程序的功能是:______________________。

C语言程序设计(第3版)何钦铭 颜 晖 第3章 分支结构

C语言程序设计(第3版)何钦铭 颜 晖 第3章  分支结构

第3章分支结构【练习 3-1】例 3-4 中使用 else-if 语句求解多分段函数,为了检查 else-if 语句的三个分支是否正确,已经设计了三组测试用例,请问还需要增加测试用例吗?为什么?如果要增加,请给出具体的测试用例并运行程序。

解答:最好再增加两组测试用例,因为尚未对分段函数参数的边界值进行测试。

可再给出 x=0和 x=15 时的两种情况。

【练习 3-2】计算符号函数的值:输入一个整数 x,计算并输出下列分段函数sign(x)的值。

-1 x<0y=sign(x)= 0 x=01 x>0解答:#include <stdio.h>int main(void){int x, y;printf("Enter x: " );scanf("%d",&x);if(x>0) y=1;else if (x==0) y=0;else y=-1;printf("sign( %d ) = %d\n",x,y);return 0;}【练习 3-3】统计学生平均成绩与及格人数:输入一个正整数 n,再输入 n 个学生的成绩,计算平均成绩,并统计所有及格学生的人数。

试编写相应程序。

解答:# include <stdio.h>int main(void){int count, i, n;double grade, total;printf("Enter n: ");scanf("%d", &n);total = 0;count = 0;for(i = 1; i <= n; i++){printf("Enter grade #%d: ", i);scanf ("%lf", &grade);total = total + grade;if(grade >= 60) count++;}printf("Grade average = %.2f\n", total / n);printf("Number of pass = %d\n", count);return 0;}【练习 3-4】统计字符:输入 10 个字符,统计其中英文字母、空格或回车、数字字符和其他字符的个数。

实验二C语言中的分支语句程序设计实验

实验二C语言中的分支语句程序设计实验

实验二 C语言中的分支语句程序设计一、实验目的:1.掌握C语言的基本语法;2.掌握C语言的表达式运算及标准库函数的调用方法;3.掌握C语言的基本输入输出语句;4.掌握字符类型、整型和浮点型数据的输入输出及表达式计算方法;5.掌握if语句和switch语句的用法;6.掌握分支程序结构的设计思想;二、实验内容(一)分析程序,用程序验证下面各个表达式的值1、当整型变量a,b,c的值分别为3,4,5时,以下各语句执行后a,b,c的值为多少? (1) if(a>c) {a=b; b=c; c=a;}else {a=c; c=b; b=a;}执行后a,b,c的值为,,(2) if(a<c) a=c;else a=b; c=b; b=a;执行后a,b,c的值为,,(3) if(a!=c) ;else a=c; c=b; b=a;执行后a,b,c的值为,,2、若整数x分别等于95、87、100、43、66、79,57,则以下程序段运行后屏幕显示是什么?switch(x/10){ case 6:case 7: printf("Pass\n"); break;case 8: printf("Good\n"); break;case 9:case 10: printf("V eryGood\n"); break;case 5 : printf("Between Pass and Fail\n");default: printf("Fail\n");}x等于95时,程序段运行后屏幕上显示。

x等于87时,程序段运行后屏幕上显示。

x等于100时,程序段运行后屏幕上显示。

x等于43时,程序段运行后屏幕上显示。

x等于66时,程序段运行后屏幕上显示。

x等于79时,程序段运行后屏幕上显示。

x等于57时,程序段运行后屏幕上显示。

四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支

四《C语言程序设计》实验四选择结构程序设计实验目的1、掌握分支

四《C语言程序设计》实验四选择结构程序设计一、实验目的1、掌握分支语句的格式和功能。

2、掌握选择结构的程序设计。

3、掌握分支结构的嵌套。

二、实验内容与要求1、编程,计算下列分段函数值:x2+3x-4,x<0且x≠-4f(x)= x2-6x+5,0=x<10且x≠1及x≠5x2-4x-1,其他要求如下:(1)用if语句实现分支。

自变量x与函数值均采用双精度类型。

(2)自变量x值从键盘输入,且输入前要有提示信息。

(3)数据的输出格式采用以下形式:x=输入值,f(x)=计算值(4)分别以-3.0,-1.0,0.5,1.5,2.5,3.5,4.5,5.5为自变量,运行该程序。

记录结果。

(5)源程序以sy4_1.c存盘。

2、编程,将一个百分制成绩转换成等级制成绩。

具体要求如下:(1)百分制与等级制的对应关系如下:(3)用键盘输入百分制成绩,输入前要有提示信息。

(4)要能判断输入数据的合理性,对于不合理的数据应输出错误信息。

(5)输出结果中应包含百分制成绩和成绩等级。

(6)分别输入成绩-10,99,60,85,70,101,45,运行该程序。

记录结果。

(7)源程序以sy4_2.c存盘。

三、思考题1、实现选择结构程序设计的方法有哪几种?各有什么特点?适用条件是什么?2、如何设置选择结构中的判断条件?它在程序设计中的意义何在?实验五循环结构程序设计(1)一、实验目的1、掌握循环的概念。

2、掌握三种常用的循环语句的格式和功能。

3、初步掌握循环结构的编程方法。

二、实验内容与要求1、编程,分别利用三种循环语句,求1+2+3+…50之和。

要求如下:(1)输出计算结果;数据的输出格式采用以下形式:1+2+3+…50=计算值(2)源程序分别以sy5_1.c、sy5_2.c、sy5_3.c存盘。

2、编程,穷举算法解百马百担问题(有100匹马驮100担货,大马驮3担,中马驮2担,两匹小马驮1担,问有大、中、小马各多少?)要求如下:(1)输出计算结果;在数据输出之前应有提示信息。

C语言程序设计 第2章 顺序结构与分支结构程序设计

C语言程序设计 第2章 顺序结构与分支结构程序设计

main() { char op;float x,y;
scanf("%f%c%f",&x,&op,&y); switch (op) { case '+' : printf("=%f\n",x+y); break;
case '-' : printf("=%f\n",x-y); break; case '*' : printf("=%f\n",x*y); break; case '/' : if (y!=0.0)
200,0,0
空语句
空语句是只有分号 ;的语句。示什么操作也不做。 从语法上讲,空语句也是一条语句。 在程序设计中,若某处在语法上需要一条语句,而实际上不需要 执行任何操作时就可以使用它。 例如,在设计循环结构时,有时用到空语句。
int i,s=0; for(i=1;i<=10;s=s+i++);
main() { int a;
scanf("%d",&a); switch(a) { case 3+8:printf("a==11");break; case 90: printf("a==90");break; case 'a': printf("a==97");break; case a>100:printf("a>100");break; default:printf("default"); } }
printf("%c\n",c); }

c语言运输公司按照以下方法计算运费,c语言程序设计第4章_分支结构.ppt

c语言运输公司按照以下方法计算运费,c语言程序设计第4章_分支结构.ppt

c语⾔运输公司按照以下⽅法计算运费,c语⾔程序设计第4章_分⽀结构.ppt《c语⾔程序设计 第4章_分⽀结构.ppt》由会员分享,可在线阅读,更多相关《c语⾔程序设计 第4章_分⽀结构.ppt(36页珍藏版)》请在⼈⼈⽂库⽹上搜索。

1、C语⾔程序设计教程(第2版),第4章 分⽀结构,第4章 分⽀结构,本章主要内容 1. if语句的基本结构 2.ifelse语句基本结构 3. if语句的嵌套结构 4. switch语句的基本结构 5.程序案例分析,第4章 分⽀结构,顺序结构:程序按照语句的先后顺序进⾏数据处理。

分⽀结构:程序要对问题进⾏判断,根据判断的结果,选择不同的处理⽅式,进⾏不同的操作。

C语⾔⽤于实现分⽀的结构: if结构 switch结构 4.1.1 if语句if语句结构是⼀种常⽤的分⽀结构,是最简单的⼀种单分⽀结构,该结构构成⼀个⼆叉结构。

,if语句的⼀般形式为。

if() 语法功能: 先判断的值,若该值为“真。

2、”, 则:执⾏; 否则:什么也不执⾏。

注意: 1. :⼀般为条件表达式或逻辑表达式。

2. if语句中的⼀般情况下都是以复合语句的形式出现,即⽤⼀对花括号将语句括起来。

如果语句只有⼀条,则可以不需要花括号 3. if结构的流程图 :,4.1 if结构,4.1 if结构,例1:从键盘任意输⼊两个实数a和b,要求a的值总是⼩于或等于b的值,然后输出这两个数a和b的值。

分析:根据题意,要求ab。

⽅案:先输⼊⼀个较⼩的数,赋给变量a,再输⼊⼀个较⼤的数,赋给变量b。

问题:输⼊的限制对⽤户不合理。

如果先输⼊的值较⼤,后输⼊的值较⼩,则结果为ab。

⽅案修正:不论输⼊的⼤⼩顺序怎样,总是会有ab的。

3、结果。

,4.1 if结构,算法的流程图如图所⽰: 其中虚线框为if结构。

程序的难点:交换a,b的值。

程序见:example4_1.c 例2:从键盘输⼊⼀个整数,求该数的绝对值。

分支结构程序设计

分支结构程序设计

举例
【例】输入一个数,判断它是奇数还是偶 数,如果是奇数则进一步判断它是 否为5的倍数。
定义变量x 输入x的值 x是奇数? T 输出“奇数” x是5的倍数 T F 是5的倍数 F
输出“偶数”
程序:
main( ) { int x; scanf ("%d",&x); if (x%2 != 0) 判断该数是否为奇数 { printf("%d is an 奇数 \n",x) ; if (x%5==0) 判断该奇数是否为5的倍数 printf("%d is the times of 5 \n",x) ; } else printf("%d is an 偶数 \n",x) ; }
程序:
#include "stdio.h" main( ) { char ch; ch=getchar( ); if (ch>='A' && ch<='Z') ch=ch+32; printf("%c\n",ch ); } 可使用条件表达式代替
程序运行情况如下: putchar(ch>='A' && ch<='Z' ? ch+32:ch); G putchar (' \n') g
4 if语句的嵌套

不要求掌握
如果if的内嵌语句中又使用了一个if语句, 则构成if语句的嵌套。
【例】比较两个整数的关系。 应该正确判断: #include <stdio.h> • if的内嵌语句 main( ) • if和else的配对 { int x, y; printf ("Enter integer X and Y:"); scanf ("%d%d", &x, &y); if ( x != y ) if ( x > y ) printf ("X>Y\n"); 提倡缩格书写 else printf ("X<Y\n"); 有利于阅读程序 else printf ("X=Y\n"); }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

有错的源程序
#include <iostream>
using namespace std;
int main(void)
{ char sign; int x,y;
cout<<"输入 x 运算符 y:";
cin>>x>>sign>>y;
if(sign='*')
// ○1 设置断点
cout<<x*y<<endl; else if(sign='/')
4、掌握多分支程序的设计方法。
5、进一步熟悉 VC 集成环境,快速排除语法错误。
6、初步掌握分支程序的调试和测试方法,能够快速定位和排除逻辑错误。
7、能够根据已有程序,构建固定循环次数的循环程序(for 循环)。
二、 语法练习
1.写出判断 1 个字符是大写字符的逻辑表达式:
2.按优先级顺序列出你所学过的 C 语言运算符:
2、在上题程序中,如果输入的不是英文字符,如输入 9,结果如何?修改你的程序,当输入的不 是英文字符时,显示输入出错信息。 源程序
测试数据
预期结果
实际结果(连续运行时)
语法错误:
调试过程:(指编译通过,无语法错误后,但运行结果不对时)
3、程序改错:调试 error3_1.cpp 程序。(程序在教育在线上需改错的程序文件夹中)
计算机程序设计基础 C 实训报告册
实训时间
实训三 分支结构程序设计
班级:
学号:
姓名:
一、 实训目标
熟练掌握分支结构程序的编程思路、设计、调试和测试方法。
1、掌握 C 的逻辑运算符和关系运算符的使用方法,能够正确描述各种关系。
2、真正理解 else-if 和 switch 语句的语法和执行流程。
3、能够分析一般性多选择结构的需求,熟练绘制多分支程序的流程图。
利率项目
活期存款 调整前一年定期存款 调整后一年定期存款
年利率(%)
0.50 3.00 3.25
7
计算机程序设计基础 C 实训报告册
源程序
实训时间
测试数据
预期结果
实际结果
语法错误: 调试过程:
四、体会及建议
注意:除教师给的内容外,其它内容必须手写
8
5.switch 语句中,case 后面只能是
,不能是一个范围。
6.switch 语句中,break 语句的作用是
,如果没有 default,则当所有 case
都不相等时,程序

1
计算机程序设计基础 C 实训报告册
实训时间
7.switch 语句的一般形式如下,请画出它的执行流程图。
switch(){
思考: 结合本题,说明在多分支结构程序测试时,测试数据应至少选几组?应如何选取?
4、 将上题改用 switch 语句实现,同时考虑除法时被零除的问题。(录入时,请注意 switch 语句 的格式要求,每个 case 与常量表达式间至少应有一个空格) 源程序
测试数据
预期结果
实际结果(连续运行时)
4
计算机程序设计基础 C 实训报告册
语法错误:
实训时间
调试过程:(指编译通过,无语法错误后,但运行结果不对时) 断点+单步调试,观察并记录各变量的值
思考: 总结 2 种 C 语言分支语句(if... else if ...和 switch )的应用特点,结合自己的编程实践, 说明应用时应注意的问题。
5、编程:输入百分制成绩,转换为五级制成绩(A—E),对应关系为:90~100—A、80~89—B、70~79—C、 60~69—D 和 0~59—E,输入数据出错时,给出提示。 源程序
虑!)
工资、薪金所得适用个人所得税累进税率表
级数 全月应纳税所得额(含税级距) 税率% 速算扣除数(元)

不超过 1500 元的
3

超过 1500 元至 4500 元的部分
10Βιβλιοθήκη 三超过 4500 元至 9000 元的部分
20
四 超过 9000 元至 35000 元的部分 25
五 超过 35000 元至 55000 元的部分 30
三、实训内容和步骤 1、输入 1 个英文字符,均以小写字符的形式输出。 源程序
语法错误: 记录下 error 和 warning 的完整信息(同类错误记录 1 次即可),给出中文解释,并在 上面程序中直接改正错误。
2
计算机程序设计基础 C 实训报告册
测试数据
预期结果
实训时间
实际结果(连续运行时)
调试过程:(指编译通过,无语法错误,但运行结果不对时)
case 常量表达式 1: 语句段 1;break;
case 常量表达式 2: 语句段 2;break; : :
case 常量表达式 n: 语句段 n;break;
default: 语句段 n+1;
}
8.体会 switch 语句中 break 的作用,请画出如下 switch 语句的执行流程,此题若不会,可在实 训时,试一下再完成。 switch(){ case 常量表达式 1: 语句段 1; case 常量表达式 2: 语句段 2;break; case 常量表达式 3: case 常量表达式 4: case 常量表达式 5: 语句段 5; }
测试数据
预期结果
实际结果
语法错误:
5
计算机程序设计基础 C 实训报告册
调试过程:
实训时间
6、现场改写,在上题的基础上修改,实现输入 10 个同学的成绩并转换。 说明改写要点:(如循环体部分,循环条件,初始化等)
记录现场改写的源程序:
现场改写及调试过程说明
7.右表为 2011 年 9 月实行的个人所得 税税率表,扣除标准为 3500。编写程 序,输入你的月薪,月薪-3500 即为 应纳税所得额,计算出应交的个人所得 税。 计算方法:应纳税所得额*适用税率-速 算扣除数 如:某人月薪为 6758 元,则 6758 -3500=3258 元,查表得到的税率为二 级,应纳税额: 3258*(%10)-105=220.8 元 (提醒:关系到切身利益,请仔细考
六 超过 55000 元至 80000 元的部分 35

超过 80000 元的部分
45
0 105 555 1005 2755 5505 13505
6
计算机程序设计基础 C 实训报告册
源程序
实训时间
测试数据
预期结果
实际结果
语法错误: 调试过程:
8.中国银行上调存款利率,如下表所示,请计算出 1 年定期存款转存的临界点。
3
计算机程序设计基础 C 实训报告册
cout<<x/y<<endl; else if(sign='%')
cout<<x%y<<endl; else
cout<<"运算符输入错误"<<endl; return 0; }
语法错误:
实训时间
测试数据
预期结果
实际结果(连续运行时)
调试过程:(指编译通过,无语法错误后,但运行结果不对时) 断点+单步调试,观察并记录各变量的值
3.对于 else-if 语句,其一般形式如左下所示,请画出对应的流程图。
if(表达式 1)
{ 语句块 1; }
else if(表达式 2)
{ 语句块 2; } : :
else if(表达式 n-1)
{ 语句块 n-1; }
else
{ 语句块 n; }
4.在 C 语言中,{}应用于

和 switch 语句中。
相关文档
最新文档