第四章:选择结构(二)

合集下载

C语言选择结构设计

C语言选择结构设计

D
80>score≥70
C
90>score≥80
B
100≥score≥90 A
#include "stdio.h"
void main( ) { int score;
printf("score= " ); scanf( "%d" , &score ); if (score>=0 && score<60 )
printf( "grade is B" ); if (score>=90)
printf( "grade is A" ); }
#include "stdio.h"
void main( ) { int score;
printf("score=" ); scanf( "%d" , &score ); if ( score>=0 && score<60 )

P2
假……


Pn-1
S1
S2
Sn-1
Sn
……
下一语句
注意:else与最近的if相匹配。
【例】根据成绩打印出等级。 (0-59:E 60-69:D 70-79:C 80-89:B 90-100:A)
算法分析:设成绩为score,假设取值在0-100之间, 没有错误的输入。
60>score≥0
E
70>score≥60
如:if(a>0) printf(“a is positive.\n”);
if(x>y) { t=y;

C语言第四章.选择结构程序设计

C语言第四章.选择结构程序设计

case 常量表达式n: 语句n; default : 语句n+1; }
语句的执行过程:
先计算表达式的值,并逐个与其后的常量表达式值相 比较; 当表达式的值与某个常量表达式的值相等时,即执行
其后的语句;
然后不再进行判断,继续执行后面所有case后的语句;
如表达式的值与所有case后的常量表达式均不相同时,
a+b>c && x+y<b 等价于 ((a+b)>c) && ((x+y)<b)
2)逻辑运算的值: 逻辑运算的值也为“真”和“假”两种,用“1”和“0 ”
来表示。
反过来在判断一个量是为“真”还是为“假”时,以“0” 的数值代表“假”,以非“0”的数值代表“真”。
3)逻辑运算的规则:
(1)与运算&&
条件运算符和条件表达式
条件表达式通常用于赋值语句之中。 例如条件语句:
if(a>b) max=a;
else max=b; 可用条件表达式写为 max=(a>b)?a:b;
执行该语句的语义是:如a>b为真,则把a 赋予max, 否则把b 赋予max。
注意以下几点:
条件运算符的运算优先级 低于关系运算符和算术运算符,高于赋值符。 因此 max=(a>b)?a:b可以去掉括号而写为 max=a>b?a:b
注意:
(3) 在if 语句的三种形式中,所有的语句应为单个语句,
如果要想在满足条件时执行一组(多个)语句,则必须
把这一组语句用{ } 括起来组成一个复合语句。 例如:交换两个变量 if (a>b) { t= a; a=b; b=t; }

c语言程序设计教程第二版课后答案

c语言程序设计教程第二版课后答案

c语言程序设计教程第二版课后答案【篇一:c语言程序设计(第2版)-- 课后题答案】p> 参考答案第1章进入c语言程序世界二、1.i love china!printf(we are students.\n)2.6项目实训题参考答案1.编写一个c程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *i am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf(********************\n);printf( i am a student!\n);printf(********************\n);}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。

解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf(v=%d,v);}本程序运行结果为:v=3000第2章编制c程序的基础知识一选择题c b a b a c c二操作题,2,-8,23.000000,2.500000,-8.0000002. abc defghwhy is21+35equal 523.34214. aaa项目实训题1.定义一个符号常量m为5和一个变量n值为2,把它们的乘积输出。

#define m 5main(){ int n,c;n=2; c=m*n;printf(%d\n,c);}2.编程求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。

(1)main(){ int a=7;float x=2.5,y=4.7;printf(%f\n,x+a%3*(int)(x+y)%2/4);}(2)main(){ int a=2,b=3;float x=3.5,y=2.5;printf(%f\n,(float)(a+b)/2+(int)x%(int)y);}第三章顺序结构程序设计一选择题a c d c c二操作题1. x=3,a=2,b=32. z=12.7000002 13 3 2 bb cc abc n3. 1 2 1a2 1 2三.编程题编程题解:#include stdio.hmain(){float sj,gz,yfgz;printf(time,salary:);scanf(%f,%f,sj,gz);yfgz=sj*gz*0.9;printf(total salary:%f\n,yfgz);}本程序运行结果为:time,salary:4,3crtotal salary:10.8000002.编写一个程序求出任意一个输入字符的ascii码解:#include stdio.hmain(){char c;printf(input a string:);scanf(%c,c);printf(%c ascii is %d\n,c,c);}本程序运行结果为:input a string:acra ascii is 973、编写一个程序用于水果店售货员算帐:已知苹果每斤2.50元,鸭梨每斤1.80元,香蕉每斤2元,橘子每斤1.6元,要求输入各类水果的重量,打印出应付3解:main(){float p,y,x,j,ys,g,fk;printf(apple,pear,banana,orange(weight)=);scanf(%f,%f,%f,%f,p,y,x,j);ys=2.5*p+1.8*y+2*x+1.6*j;printf(fu kuan=);scanf(%f,g);fk=g-ys;printf(result:\n);printf(fukuan=%6.2fyuan\nshoukuan=%6.2fyuan\nzhaohui=%6. 2fyuan\n,g,ys,fk);}本程序运行结果为:apple,pear,banana,orange(weight)=1,2,3,4fu kuan=100result:fukuan=100.00yuanshoukuan= 18.50yuanzhaohui= 81.50yuan项目实训1.假设银行定期存款的年利率rate为2.25%,并已知存款期为n 年,存款本金为capital元,试编程计算n年后可得到本利之和deposit。

C语言程序设计-第四章简单计算器小程序-分支程序设计

C语言程序设计-第四章简单计算器小程序-分支程序设计

P1 逻辑运算符 P2

逻辑运算符 P2
课堂练习: 求下面逻辑表达式的值: 2>1 && 4 && 7<3+!0
值为0
等价于((2>1)&&4)&&(7<(3+(!
1 条件运算符和条件表达式 1.2 逻辑运算—逻辑运算的重要规则
a&&b:当a为0时,不管b为何值,结果为0
课堂练习:有下面定义的语句和逻辑表达式: int a=0,b=10,c=0,d=0 a && b && (c=a+10,d=100) 逻辑表达式执行后,a,b,c,d的值各为多少?
任务实现效果演示 例题源代码:switchcalculator.c
相关知识 1. switch语句 2. break语句
1 switch多分支选择结构
❖ 尽管用if…else if结构可以实现多分支,注但意当:分常支量较表多达时式,必程须序是结整构型较、复字杂符。型或枚举类型,不能是 实型表达式,每个case关键字后的常量表达式应互不相同
值为0 等价于i==(k>j),值为1
1 条件运算符和条件表达式 1.2 逻辑运算—逻辑运算符与逻辑表达式
&&(逻辑与)、||(逻辑或)、!(逻辑非)(单目)
逻辑表达式的一般形式:
优先级: 1.由低到高: ||→ && → !; 2.多种运算符一起: = →|| →&& →关系运算符 →算术运算符→ !。
【】 简单计算器小程序:由用户输入运算数和四则运算符(+、-、*、/),输出计算结果。
【】

《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案

《全国计算机等级考试二级教程——C语言程序设计》课后习题详细答案

《全国计算机等级考试二级教程——C语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.15 【参考答案】[1]4.2 [2]4.22.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000 2.26 【参考答案】[1]32767 [2]-32768 [3]100002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。

4.1第四章选择结构的程序设计

4.1第四章选择结构的程序设计
第四章 选择结构的程序设计
本章要点



算法和算法的表示 结构化程序设计的方法 语句的概念和种类 选择结构语句的表示

提出问题 根据学生分数判断是否及格? 根据学生分数如何进行分级? 如何解决? 自然语言:如果… 那么… 否则… C语言: 分支语句 二重分支的条件语句 if 多重分支的条件语句 switch
#include <stdio.h> main( ) /* 程序功能:求a和b的最大值 */ { int a,b,max; printf("Input a and b="); scanf("%d%d",&a, &b); /* input number a and b */ if ( a>b ) max=a; /* 如果a>b,则将a=>max */ else max=b; /* 否则, b=>max */ printf("The max of a and b : %d\n", max); }
if (exp_1) statement_1 else if(exp_2) statement_2 …… else if(exp_n-1) statement_n-1 else statement_n
表达式 1 非0
0
0 表达式 2 非0
n个分支需要n-1次比较
0
0
表达式n-1 非0 语句1 语句2 语句n-1 语句n
例:已知银行整存整取存款月息利率分别为:
一年期:0.63% 三年期:0.69% 八年期:0.84% 二年期:0.66% 五年期:0.75% 其它:0
要求输入存钱的本金和期限,求到期时利息与本金 合计。银行到期利息计算公式:

C语言第4章选择结构

C语言第4章选择结构

第四章选择结构选择:1.以下关于运算符优先级的描述中,正确的是()。

A)!(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算B)&&(逻辑与)>算术运算>关系运算>赋值运算C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)2.逻辑运算符的运算对象的数据类型()。

A)只能是0或1 B)只能是.T.或.F.C)只能是整型或字符型D)任何类型的数据3.能正确表示x的取值范围在[0,100]和[-10,-5]内的表达式是()。

A)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)B)(x>=-10)&&(x<=-5)||(x>=0)&&(x<=100)C)(x>=-10)&&(x<=-5)&&(x>=0)&&(x<=100)D)(x<=-10)||(x>=-5)&&(x<=0)||(x>=100)4.判断字符型变量ch为数字的表达式是( ) 。

A) 0<=ch<=9 B)(ch>=0)&&(ch<=9)C)'0'<=ch<='9' D)(ch>='0')&&(ch<='9')5.若有以下函数关系x<0 → y=2xx>0 → y=xx=0 → y=x+1下面程序段能正确表示以上关系的是()。

C语言全国计算机二级等级考试教程第四章选择结构(章节带习题)

C语言全国计算机二级等级考试教程第四章选择结构(章节带习题)

2
a a
2 1
b 1
b
1
4.2 if语句和用if语句构成的选择结构
4.2.1 if语句
C语言的if语言有两种形式: if(表达式) 语句 关键字 不满足 单分支if语句 不含else子句 关键字 if(表达式) 语句1 else 语句2 不满足 双分支if语句 含else子句
表达式 满足 语句
表达式 满足 语句1
表达式2
表达式1


表达式3


表达式4

语句1 语句2 语句3

语句n

语句4
4.2 if语句和用if语句构成的选择结构
4.2.2 嵌套的if语句
例4.5 编写程序,根据输入的学生成绩给出相应的等级,大于或等于90分以上 的等级为A,60分以下的等级为E,其余每10分为一个等级。 Enter g:72<CR> 成绩(g)大于等于90分以上(g>=90):A g=72:C 成绩(g)大于等于80分以上(g>=80):B 程序的意思为: 成绩(g)大于等于70分以上(g>=70):C Enter g:55<CR> 成绩(g)大于等于60分以上(g>=60):D g=55:E 成绩(g)不及格(g<60):E #include <stdio.h> 假 g>=90 main() {int g; 真 g>=80 假 printf("Enter g:");scanf("%d",&g) 真 printf("g=%d:",g); g>=70 假 if(g>=90) printf("A\n"); 真 假 g>=60 else if(g>=80) printf("B\n"); else if(g>=70) printf("C\n"); 真 else if(g>=60) printf("D\n"); 输出A 输出B 输出C 输出D 输出E else printf("E\n"); }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章:选择结构(二)
一、本章目标:
1、掌握switch选择结构
2、能够综合运用if选择结构和switch选择结构
二、switch选择结构语法
switch(表达式){ //表达式的值可以是: int\byte\shot\char\String\枚举case常量1:
//代码1;只有在表达式的值与常量1的值相等时才会执行。

break;
case常量2:
//代码2;
break;
case常量3:
//代码3;
break;
default :
//代码;
break;
}
三、switch和if选择结构的区别
1、都是用来处理多分支选择结构的;
2、switch只能用来做等值判断;
3、if通常用来做范围判断,也可以做等值判断(结构繁琐);
四、已学的三个方法:main()、equals()、hasNextInt()
1、main():程序的主入口
2、equals():做字符串的等值判断
3、hasNextInt():判断用户输入的是否是整数。

相关文档
最新文档