资源描述:
《C语言程序设计基础 教学课件 作者 马华 李玉娟 第3章 选择结构.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章选择结构程序设计学习目标:字符型数据的输入与输出;逻辑运算符与逻辑表达式;多路决策判断技术else-if语句及if语句;简单菜单选择switch语句;break语句的作用。重点难点:重点:if语句的三种形式、switch语句和逻辑运算。难点:嵌套的if语句,switch语句的执行流程。3.1显示输入的字母、数字或其他字符的ASCII码值3.1.1案例描述问题提出:显示输入的字母、数字或其他字符的ASCII码值,即完成从字符到ASCII码的转换。程序运行结果所示:相关知识点:字符输入函数get
2、char(),if语句,字符输出函数putchar()。3.1.2单字符输入函数getchar()功能:从标准输入设备上输入一个且只能是一个字符,并将该字符返回为getchar()函数的值。格式:getchar()程序:#includeintmain(void){charch;printf("Inputacharacter:");ch=getchar();printf("%c:%d",ch,ch);return0;}温馨提示:(1)getchar()函数只接受一个字符,而非一
3、串字符。若输入一串字符,getchar()函数也只接受第一个字符。(2)getchar()函数得到的字符可以赋给一个字符变量或整型变量,也可以不赋给任何变量而是作为表达式的一部分。单字符输出函数putchar()功能:将指定表达式的值所对应的字符输出到标准设备,每次只能输出一个字符。格式:putchar(参数);//参数可以是字符型常量或变量程序:#includeintmain(void){charch='A';putchar(ch);putchar('');putchar(
4、'!');putchar('');return0;}3.1.3逻辑运算符和逻辑表达式目数单目双目运算符!&&
5、
6、名称逻辑非逻辑与逻辑或运算规则:(1)a&&b当且仅当a和b都为非0值为1,否则为0(2)a
7、
8、b当且仅当a和b都为0值为0,否则为1(3)!a其值和a的值相反3.1.3逻辑运算符和逻辑表达式逻辑运算符的运算优先级为:(1)逻辑非优先级最高,逻辑与次之,逻辑或最低,即:!(非)→&&(与)→
9、
10、(或)(2)与其它种类运算符的优先关系:!→算术运算→关系运算→&&→
11、
12、→赋值运算温馨提
13、示:逻辑运算符的运算为短路运算,即:&&左边值为0时不再计算右边,
14、
15、左边值为1时不再计算右边。3.1.5if语句1.if语句的第一种格式:if(表达式){语句组1;}else{语句组2;}语句组1;条件TF语句组1;语句组2;执行过程3.1.5if语句2.if语句的第二种格式:if(表达式1)语句1;elseif(表达式2)语句2;elseif(表达式3)语句3;…else语句n+1;表达式1表达式2语句1语句2表达式3语句3表达式n语句n+1语句3TTTTFFFF3.1.6程序解析#inclu
16、deintmain(void){charch;printf("请输入一个字符:");ch=getchar();if((ch>='a'&&ch<='z')
17、
18、(ch>='A'&&ch<='Z'))printf("你输入的字母的ASCII码是%d",ch);elseif(ch>='0'&&ch<='9')printf("你输入的数字的ASCII码是%d",ch);elseprintf("你输入的键值的ASCII码是%d",ch);return0;}3.2销售提成问题3.2
19、.1案例描述问题提出:企业发放的奖金是销售提成。销售sale(整数)与奖金reward提成的关系如下(计量单位:万元):sale≤100没有提成;100<sale≤200提成10%;200<sale≤500提成15%sale>500提成20%根据销售量,计算提成应发放奖金数。相关知识点:if语句的嵌套。3.2.2if嵌套语句格式:if(表达式1)if(表达式2)语句1else语句2elseif(表达式3)语句3else语句4多路决策判断#includeintmain(void){
20、floatsale,reward;printf("请输入商品销售总额:");scanf("%f",&sale);if(sale<=100)reward=0;elseif(sale<=200)reward=sale*0.1;elseif(sale<=500)reward=sale*0.15;elsereward=sale*0.2;printf("销售利润提成是%8.2f",reward);return0;}if嵌套语句#includeintmain(void){