浙江长征职业技术学院—计算机与信息技术系—相方莉制作

Slides:



Advertisements
Similar presentations
CSIM, PU C Language Introduction to the C Programming Language 重覆敘述 (for,while,break,continue) 適合重複性的計算或判斷.
Advertisements

《C语言程序设计》复习
C语言程序设计 主讲教师 :张群燕 电话:
“八皇后”问题 崔萌萌 吕金华.
第一章 C语言概述 计算机公共教学部.
项目五——校园一卡通程序功能模块化设计 5-1项目显示查询和退出函数设计.
第4章 选择结构程序设计 在现实生活中,需要进行判断和选择的情况是很多的 如果你在家,我去拜访你 如果考试不及格,要补考
C语言程序设计 第八章 函数.
C语言程序设计 第十二章 位运算.
第一章 程序设计入门.
C语言程序设计 第五章 选择结构程序设计.
C语言程序设计 课程 第5章 数组 主讲:李祥 博士、副教授 单位:软件学院软件工程系.
高级语言程序设计 主讲人:陈玉华.
第2章 分支结构 P if语句 2.2 switch语句 2.3 用条件运算符转换大小写字母 2.4 程序举例
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
Class 2 流程控制-選擇敘述與迴圈.
C++程序设计 第二讲 清华大学软件学院.
適用於多選一 可減少if 與 else配對混淆的錯誤.
第4章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式
第4章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式
C程序设计.
第五章 选择结构程序设计 一、关系运算符和表达式 1、关系运算符 在程序中经常需要比较两个量的大小关系, 以决定程序下一步
第七章 函数 目录 有参的加法函数的开发 函数定义的一般形式 函数参数和函数的值 函数的调用
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
Introduction to the C Programming Language
作弊是否很有诱惑性? 上堂课已经讲了 作业不一定在两个小时里都能完成 答疑没有一个人? 作弊是有记录的 心理系很多同学集体作弊,让人震惊
C语言 程序设计基础与试验 刘新国、2012年秋.
第3讲 C++程序控制结构 3.1 顺序结构 3.2 分支结构 3.3 循环结构 3.4 转向控制 3.5 综合案例分析.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
第13章 结构体的应用 13.1 了解由用户构造的数据类型 13.2 结构体类型说明及结构体变量 13.3 结构体数组
計數式重複敘述 for 迴圈 P
第5讲 结构化程序设计(Part II) 周水庚 2018年10月11日.
第七章 函数及变量存贮类型 7.1 函数基础与C程序结构 7.2 函数的定义和声明 7.3 函数的调用 7.4 函数的嵌套与递归
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第0章作业: 教材P12-练习与实践 1.写出用符号’*’输出描绘汉字”大”的流程图。
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
目录 9.1 结构体类型 9.2 共用体类型 9.3 枚举类型 9.4 类型声明符typedef 1.
第二章Java基本程序设计.
C语言概述 第一章.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
程式結構&語法.
Java變數 2014/6/24.
4 條件選擇 4.1 程式基本結構 循序式結構 選擇式結構 重複式結構 4-3
Main() { Dfas Asdfasf fasdfa } #include <stdio.h> void main( ) {
第2章 算法与C语言程序 程序 (1)数据的描述:数据的类型和组织形式(数据结构) (2)操作的描述:操作步骤(算法) 沃思指出:
目录 4.1选择结构程序设计的概述 4.2关系运算符和表达式 4.3逻辑运算符和表达式 4.4用if语句实现选择结构程序设计
Chap 5 函数 5.1 计算圆柱体积 5.2 使用函数编写程序 5.3 变量与函数.
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
C程序设计.
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第三章 程序的控制结构 第一节 概述 第二节 if选择结构 第三节 switch语句.
第2章 数据类型、运算符与表达式 本章要点: 基本数据类型 常量和变量 算术运算符和算术表达式 关系运算符和关系表达式
第二章 类型、对象、运算符和表达式.
习 题 课(作业).
#include <iostream.h>
本节内容 指针类型.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
第七章  数 组.
第1章 数据结构基础概论 本章主要介绍以下内容 数据结构研究的主要内容 数据结构中涉及的基本概念 算法的概念、描述方法以及评价标准.
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
多重條件選擇敘述
基本資料型態 變數與常數 運算子 基本的資料處理 授課:ANT 日期:2014/03/03.
Chap 10 函数与程序结构 10.1 圆形体积计算器 10.2 汉诺塔问题 10.3 长度单位转换 10.4 大程序构成.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
本节内容 指针类型 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
Introduction to the C Programming Language
函式庫補充資料 1.
C语言基础学习 从外行到入门.
Presentation transcript:

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 项目三 通讯录管理系统界面菜单制作 学习目标: 通过该项目你可以知道: C语言的程序控制结构的分类 C语言中的关系运算符和逻辑运算符以及表达式 C语言中的分支结构语句 C语言中的循环结构语句 C语言中的条件运算符与条件表达式 C语言中的逗号运算符与逗号表达式 C语言中的位运算符与位运算 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 项目三 通讯录管理系统界面菜单制作 通过该项目你能够: 能使用关系和逻辑运算符构造表达式 能使用if和switch语句实现分支结构 能使用for,while,do while语句实现循环结构 能灵活使用条件表达式、逗号表达式和位运算解决实际问题 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.1 项目情景 小王听说用C语言可以编写各种管理系统,于是他想自己动手编写一个功能简易的通讯录管理系统,由于他C语言才刚开始学,因此他打算先实现如下图所示的通讯录管理系统的界面,该系统能实现通讯录各项功能的重复选择。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 复习 案例1: 假定个人所得税的征收依据如下:按工资收入的15%征收个人所得税。编写一个程序,当从键盘输入职工工资时,计算出实发工资并输出。该如何编写这个程序呢? #include <stdio.h> main() {float salary, re_salary;// re_salary代表实发工资 printf(“请输入你的工资:”); scanf(“%f”,&salary); re_salary =salary*0.85; printf(“你的实发工资为%f:”, re_salary); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 案例导入 案例2: 假定某地个人所得税的起征额为1500元,1500元以下的不征税,1500元以上的部分按15%征税。编写一个程序,当从键盘输入职工工资时,计算出实发工资并输出。 要设计选择结构程序,要考虑两个方面的问题: 一是在C语言中如何来表示条件 二是在C语言中实现选择结构用什么语句 在C语言中表示条件,一般用关系表达式或逻辑表达式 实现选择结构用if语句或switch语句 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2 相关知识 3.2.1 程序控制结构概述 任何一个结构化程序,按其执行时的流程控制,在逻辑结构上可分为3种基本结构:顺序结构、选择结构、循环结构,可以通过这3种基本结构的嵌套实现复杂的程序流程控制。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2 相关知识 3.2.2 关系运算符和关系表达式 注意:在C语言中,“等于”关系运算符是双等号“= =”, 而不是单等号“= ”(赋值运算符) 1)关系运算符 C语言提供6种关系运算符: <(小于), <=(小于或等于), >(大于), >=(大于或等于), ==(等于), !=(不等于) 优先级 (1)在关系运算符中,前4个优先级相同,后2个也相同, 且前4个高于后2个。 (2)与其它种类运算符的优先级关系 关系运算符的优先级,低于算术运算符,但高于赋值运算符。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2 相关知识 2) 关系表达式 (1)关系表达式的概念 ---用关系运算符将两个表达式连接起来,进行关系运算的式子 例如,下面的关系表达式都是合法的: a>b,a+b>c-d,(a=3)<=(b=5),'a'>='b',(a>b)= =(b>c) (2)关系表达式的值——逻辑值(非“真”即“假”) 由于C语言没有逻辑型数据,所以用整数“1”表示“逻辑真”, 用整数“0”表示“逻辑假” 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2 相关知识 例如,假设num1=3,num2=4,num3=5,则: (1)num1>num2的值= (2)(num1>num2)!=num3的值= (3)num1<num2<num3的值= (4)(num1<num2)+num3的值= 1 1 思考题:任意改变num1或num2的值, 会影响整个表达式的值吗?为什么? 6 因为num1<num2的值=1,1+5=6 再次强调:C语言用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。 所以,关系表达式的值,还可以参与其它种类的运算, 例如算术运算、逻辑运算等。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2 相关知识 3.2.3 逻辑运算符和逻辑表达式 关系表达式只能描述单一条件,例如“x>=0”。如果需要描述“x>=0”、同时“x<10”,就要借助于逻辑表达式了 1)逻辑运算及其优先次序 (1)C语言提供三种逻辑运算符: && 逻辑与(相当于“同时”) || 逻辑或(相当于“或者”) ! 逻辑非(相当于“否定”) 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 逻辑“与”运算符 && 所有学科及格 考勤率达到 75% 留级 No 表达式 1 表达式 2 结果 1 留级 No Yes 留级 No Yes 升级 Yes 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 逻辑“或”运算符 || 信用卡 No 无法支付 No No 可支付 Yes 购物帐单 Yes 可支付 No Yes 可支付 Yes 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 逻辑“或”运算符 || 现金 信用卡 无法支付 No 表达式 1 表达式 2 结果 1 可支付 No Yes 可支付 No Yes 可支付 Yes 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 逻辑“非”运算符 ! 天气 下雨? Yes 带伞 No 不带伞 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 逻辑“非”运算符 ! 天气 下雨? 真 假 表达式 结果 1 带伞 操作 不带伞 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 2) 逻辑运算规则总结 所有学科 及格 考勤率达到 75% 天气 NOT 阴天 && || ! 只有当两个条件都为真时才执行操作 只要任何一个条件为真时就执行操作 对原条件取反, 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2 相关知识 3)逻辑运算符的运算优先级 [1]逻辑非的优先级最高,逻辑与次之,逻辑或最低,即: !(非) → &&(与) → ||(或) [2]与其它种类运算符的优先关系 !→ 算术运算 → 关系运算 → &&→ || → 赋值运算 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2 相关知识 4) 逻辑表达式 [1]概念 所谓逻辑表达式是指,用逻辑运算符将1个或多个表达式连接起来,进行逻辑运算的式子。在C语言中,用逻辑表达式表示多个条件的组合。 例如,下面的表达式都是逻辑表达式: (x>=0) && (x<10) ,(x<1) || (x>5) ,! (x= =0), 逻辑表达式的值也是一个逻辑值(非“真”即“假”) 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2 相关知识 例如,假定x=5,则(x>=0) && (x<10)的值为 (x<-1) || (x>5)的值为 “真” “假” 想一想 如何表达闰年?(能被4整除,但是不能被100整除,或则可以被400整除的年份) ((year%4==0)&&(year%100!=0))||(year%400==0) 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2 相关知识 [2]说明 (1)逻辑运算符两侧的操作数,除可以是0和非0的整数外,也可以是其它任何类型的数据,如实型、字符型等。 (2)在计算逻辑表达式时,只有在必须执行下一个表达式才能求解时,才求解该表达式(即并不是所有的表达式都被求解)。换句话说: 对于逻辑与运算,如果第一个操作数被判定为“假”,系统不再判定或求解第二操作数 对于逻辑或运算,如果第一个操作数被判定为“真”,系统不再判定或求解第二操作数 例如,假设n1、n2、n3、n4、x、y的值分别为 1、 2、 3、 4、 1、1, 则求解表达式“(x=n1>n2)&&(y=n3>n4)”后, x的值变为_____,而y的_____ _____ 0 值不变,仍等于1! 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2 相关知识 3.2.4 条件语句(分支结构) if语句的第一种形式 if(表达式) {语句或者语句组}; 例如: if(x>y) {printf(“%d”,x)}; 例如: if(x<y) { x++; printf(“%d”,x); } 例如: if(x<y) x++; printf(“%d”,x); 当只有一条语句时,花括号可省略 当有多条语句时,花括号不可省略 请思考两者等价么? 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2.4 条件语句(分支结构) if语句的第二种形式 if(表达式) {语句1或者语句组1}; else {语句2或者语句组2}; 表达式 语句1 语句2 真(非0) 假(0) 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2.4 条件语句(分支结构) #include <stdio.h> void main() { int year; printf("\n 请输入年份:"); scanf("%d",&year); if((year % 4 ==0 && year % 100 != 0) || (year % 400 == 0)) printf("\n %d 年是闰年 \n ", year); else printf("\n %d 年不是闰年 \n ", year); } 问题描述: 判定给定的年份是否为闰年。 提示:闰年的判定规则为:能被 4 整除但不能被 100 整除的年份,或能被 400 整除的年份。 请输入年份:2005 2005 年不是闰年 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 补充案例 问题描述: 编写一个程序,根据用户输入的期末考试成绩,输出相应的成绩评定信息。成绩大于等于90分输出“优”;成绩大于等于80分小于90分输出“良”;成绩大于等于60分小于80分输出“中”;成绩小于60分输出“差”。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 补充案例 #include <stdio.h> void main() { float score; printf(“\n 请输入一个百分制的期末考试成绩: "); scanf("%f", &score); if(score>=90) printf("\n 优"); if (score>=80&&score<90) printf("\n 良"); if (score>=60&&score<80) printf("\n 中"); if(score<60) printf("\n 差"); printf("\n"); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2.4 条件语句(分支结构) if语句的第三种形式 if(表达式1) {语句1或者语句组1}; else if (表达式2) {语句2或者语句组2}; else if (表达式3) {语句3或者语句组3}; … else {语句n或者语句组n}; 表达式1 表达式2 表达式3 表达式n 语句1 语句2 语句3 语句n 语句n+1 真 假 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 补充案例 #include <stdio.h> void main() { float score; printf(“\n 请输入一个百分制的期末考试成绩: "); scanf("%f", &score); if(score>=90) printf("\n 优"); else if (score>=80) printf("\n 良"); else if (score>=60) printf("\n 中"); else printf("\n 差"); printf("\n"); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 总结—— if语句的三种基本形式 1、最基本的形式 if(表达式) 语句1 else 语句2 2、最简单的形式 if(表达式) 语句 3、层次形式 if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3)语句3 else if(表达式4)语句4 else 表达式5 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

【例2-6】输入一个数,如果是7的倍数,则输出这个数的立方,否则输出这个数的平方。 分析:判断是否是7的倍数,就只要看能否被7整除就可以了;a的立方不能写成a3,可以简单地用a*a*a来表示,也可以调用C语言中提供的库函数pow(a,3)来表示,此时要用#include “math.h”语句把包含pow函数的库文件math.h包含进来。 #include "stdio.h" main( ) { int a,t; printf("请输入一个整数"); scanf("%d",&a); if(a%7==0) t=a*a*a; else t=a*a; printf("%d",t); } #include "stdio.h“ #include “math.h” main( ) { int a,t; printf("请输入一个整数"); scanf("%d",&a); if(a%7==0) t=pow(a,3); else t=a*a; printf("%d",t); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 【例2-7】输入一个数,判断它是否是水仙花数(一个三位数,它的各位数字立方之和等于它本身,这个数就是水仙花数)。 分析:要求这个数的三位数字之和,首先要分解出这个数的每一位数字,这个一般通过对数求余或取整等运算来完成。 参考程序: #include "stdio.h" main( ) { int a,b,c,x ; printf("请输入一个三位整数"); scanf("%d",&x); a=x/100; /*分离出百位数*/ b=x/10%10; /*分离出十位数*/ c=x%10; /*分离出个位数*/ if(a*a*a+b*b*b+c*c*c==x) /*判断三位数字之和是否与原数相等*/ printf("%d是水仙花数\n",x); else printf("%d不是水仙花数\n",x); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 实训3 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

【复习题】 输入一个字符,判断它是小写、大写、 数字还是其它字符。 【复习题】 输入一个字符,判断它是小写、大写、 数字还是其它字符。 参考程序: #include “stdio.h” main() { char a; printf(“请输入一个字符\n”); scanf(“%c”,&a); if(a>=‘a’&&a<=‘z’) printf(“输入的字符是小写”); else if(a>=‘A’&&a<=‘Z’) printf(“输入的字符是大写”); else if(a>=‘0’&&a<=‘9’) printf(“输入的字符是数字”); else printf(“输入的字符是其它字符”); } 分析下面程序错误的原因: #include “stdio.h” main() { char a; printf(“请输入一个字符\n”); scanf(“%c”,&a); if(a>=‘a’&&a<=‘z’) printf(“输入的字符是小写”); if(a>=‘A’&&a<=‘Z’) printf(“输入的字符是大写”); if(a>=‘0’&&a<=‘9’) printf(“输入的字符是数字”); else printf(“输入的字符是其它字符”); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2 相关知识 3.2.4.2 if语句的嵌套 if语句中又包含一个或多个if语句,称为 if语句的嵌套。 一般形式如下: 1.if( ) if( ) 〈语句1〉 else 〈语句2〉 else if( ) 〈语句3〉 else 〈语句4〉 2.if( ) if( ) 〈语句2〉 else 〈语句3〉 内嵌if 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 说明: (1)if与else的配对关系,从最内层开始,else总是与离它最近的未曾配对的if配对。 (2)如果if与else的个数不相同,可以用花括号来确定配对关系。例如: if( ) {if( )〈语句1〉} else 〈语句2〉 这时{ }限定了内嵌if语句的范围,因此else与第一个if配对。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 例 有一函数: -1 (x<0) 0 (x=0) 1 (x>0) y= 编一程序,输入一个x值,对应输出y值。 #include “stdio.h” main() { int x,y; scanf(″%d″,&x); if(x<0) y=-1; if(x= =0) y=0; if(x>0) y=1; printf(″x=%d,y=%d\n″,x,y); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 【例】有一如下函数:编一程序,输入一个x值,对应输出y值。 -1 (x<0) 0 (x=0) 1 (x>0) y= main() { int x,y; scanf(″%d″,&x); if(x<0) y=-1; else if(x= =0) y=0; y=1; printf(″x=%d,y=%d\n″,x,y); } main() { int x,y; scanf(″%d″,&x); if(x<0)y=-1; else if(x= =0) y=0; else y=1; printf(″x=%d,y=%d\n″,x,y); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 ② main() { int x,y; scanf(″%d″,&x); if(x==0) y=0; else { if(x>0) y=1; y=-1; } printf(″x=%d,y=%d\n″,x,y); } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 实训 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 三、相关知识 3.2.4.3 switch语句 C语言提供了switch语句直接处理多分支选择。 1.switch语句的一般形式 switch(表达式) { case 常量表达式1:语句组;break; case 常量表达式2:语句组;break; ...... case 常量表达式n:语句组;break; [default:语句组;[break; ]] } 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 2.执行过程 (1)当switch后面“表达式”的值,与某个case后面的“常量表达式”的值相同时,就执行该case后面的语句(组);当执行到break语句时,跳出switch语句,转向执行switch语句的下一条。 (2)如果没有任何一个case后面的“常量表达式”的值, 与“表达式”的值匹配,则执行default 后面的语句(组)。 然后,再执行switch语句的下一条 表达式 语句1 语句2 语句n 语句n+1 常量表达式1 常量表达式2 常量表达式n default switch语句的流程图表示 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2.4.3 switch语句 警察记录 printf(“这是迈克尔,身高 180cm,加利福尼亚第 12 大街”); 嫌疑犯照片 不是 停止搜索 printf(“这是丹尼尔,身高 193cm,现居住地不明,1998 年 12 月 12 日在佛罗里达被捕”); 不是 停止搜索 printf(“这是吉姆,身高 175cm, 墨西哥州海鸥路弗罗拉公寓,于 2003 年 11 月 1 日在新泽西因抢银行被捕”); printf(“这是吉姆,身高 175cm, 墨西哥州海鸥路弗罗拉公寓,于 2003 年 11 月 1 日在新泽西因抢银行被捕”); 是 停止搜索 default: printf(“未发现匹配项。对不起!”); 停止搜索 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 #include<stdio.h> main() { float x,y; char op; double z; printf("请输入两个操作数和操作符,中间用逗号隔开输入:\n"); scanf("%f,%f,%c",&x,&y,&op); switch(op) case '+':z=x+y;break; case '-':z=x-y;break; case '*':z=x*y;break; case '/':z=x/y;break; default:printf("operator Error"); } printf("%.2f%c%.2f=%.2f\n",x,op,y,z); 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2.4.3 switch语句 3.说明 (1)switch后面的“表达式”,必须是整型和字符型中的一种。 (2)每个case后面“常量表达式”的值,必须各不相同,否则会出现相互矛盾的现象(即对表达式的同一值,有两种或两种以上的执行方案)。 (3)case后面的常量表达式仅起语句标号作用,并不进行条件判断。系统一旦找到入口标号,就从此标号开始执行,不再进行标号判断,所以必须加上break语句,以便结束switch语句 (4)各case及default子句的先后次序,不影响程序执行结果。 (5)多个case子句,可共用同一语句(组)。 (6)用switch语句实现的多分支结构程序,完全可以用if语句或if语句的嵌套来实现。 浙江长征职业技术学院—计算机与信息技术系—相方莉制作

浙江长征职业技术学院—计算机与信息技术系—相方莉制作 3.2.4.3 switch语句 char in_char; printf("\n 请输入一个小写字母: "); scanf("%c", &in_char); switch(in_char) { case 'a': printf("\n 您输入的是元音字母 a\n"); break; case 'e': printf("\n 您输入的是元音字母 e\n"); case 'i': printf("\n 您输入的是元音字母 i\n"); case 'o': printf("\n 您输入的是元音字母 o\n"); case 'u': printf("\n 您输入的是元音字母 u\n"); default: printf("\n 您输入的不是元音字母 \n"); } switch 结构示例 内存 问题描述: 要求用户输入一个字符值并检查它是否为元音字母。 in_char e 请输入一个小写字母:e 您输入的是元音字母 e 浙江长征职业技术学院—计算机与信息技术系—相方莉制作