07 《C语言程序设计》教案 第三章 程序的控制结构(3)—选择结构 if
《C语言程序设计》学习指南

学习指南一、学习资源与学习方法C语言程序设计是计算机专业的一门基础课程,本课程主要是培养学生利用计算机处理问题的思维方式和结构化程序设计的基本方法。
掌握C语言进行程序设计,对于理解程序设计的基本方法,以及日后学习计算机学科的其他知识内容都是至关重要的。
在资源建设上,根据学生的学习条件差异和学习基础的差异,提供多种形式的学习资源,如教师全程授课视频、期末辅导光盘、网络交互平台、教材和参考资料。
还提供了一些在深度和广度上有一定扩展的资源,如在每一章中都提供了扩展知识供有能力的学生学习,在一些知识点链接了一些课外阅读资源,从深度和广度上满足不同层次学生的不同需求。
(1)立体化教材及学习资源建设和研制了以国家十一五规划教材为基础,知识点导学系统、电子教案、全程课程录像、网络课件、在线测试、考试系统和试题库、资源库、网上教学支撑软件平台等丰富的立体化教学资源,它们各自自成体系又相互关联,各种媒体互相补充,充分发挥了各自的优势,满足了远程计算机专业学习者的需求。
学习资源全部放在教学网站上,实现资源共享,为每个学生提供一个网络帐号,实现网上交互答疑和交流。
尤其是资源库应用系统,将已有的各种数字媒体资源融合在一起,为学生提供直观的导学;同时还为教师提供教学帮助。
学生可以通过资源库的信息索引快速找到要学习知识点的所有资源列表,从中选择所需媒体。
(2)基于课程知识体系的视频讲授结合网络教育的教学对象为成人、学习方式为业余学习的特点,网络学习者学习时间不连贯、不固定的特征,网络课件的设计都是以知识点为基本单元,采用化整为零的思想,按照课程的每个章、单元、知识点进行课程视频的录制,每个知识点设计10~20分钟左右的时长,保证学习者能够利用零散时间学习。
(3)增加交互性和案例教学考虑到远程教学师生分离,学生以自学为主,因此在教学资源设计上注意增加交互性。
例如,专门做了媒体资源库,包括大量动画演示和视频录像,使课件更加生动。
C语言程序设计 教案2-3 选择结构程序设计(1):if语句的3种形式、条件运算符及应用(2课时)

《C语言程序设计》教学设计日期:年月日教学进度设计选择结构程序设计(1):if语句的3种形式、条件运算符及应用教学详案步骤一:复习与导入(时间:5分钟)在实际生活中,会经常遇到根据不同的条件选择不同道路的情况。
在C程序设计中,也会遇到同样的问题——选择结构程序设计。
引导学生引导学生回忆选择结构的流程图。
C 语言提供了两种选择语句:if语句和switch语句。
本次课学习利用if语句解决实际问题。
步骤二:任务1:掌握if语句的3种形式及应用方法(时间:60分钟)1、if基本形式、执行流程及应用if(表达式) 语句【例2.11】用if 语句判断输入数据的正负。
提出问题:若输入的数据为负数,则程序没有任何输出结果,如何解决?改用if...else 解决两分支选择问题。
2、if…else基本形式、执行流程及应用if(表达式) 语句1else 语句2【例2.12】用if…else语句判断输入数据的正负。
【扩展实验】教材例2.13:判断输入的数据是否为0;例2.14:判断输入的两个数据是否有0。
总结if语句中的“表达式”形式。
【学以致用】教材“思考与实验”。
【课后作业】写出判断闰年的语句(闰年的判断条件是:年份能被4整除,而不能被100整除;或能被400整除)。
提出问题:若有更多分支选择,如何解决?——使用if...else嵌套形式。
3、if…else嵌套形式、执行流程及应用【注意】if与else的配对关系:else总是与它上面最近的未配对的if配对。
对于上述第①种嵌套形式,虚线左侧的嵌套结构,还可写成虚线右侧的更加紧凑的形式。
流程分析:【例2.15】根据符号函数,编程实现输入一个x值,输出y值。
引导学生自行写出选择结构的代码,下面是其中的一种形式。
【引导思考】若改用3个if语句实现,程序执行结果和执行效率又如何?要精益求精、节能。
【活学活用】(1)教材单元练习题第11题(分段函数)。
(2)教材【思考与实验】步骤三:任务2:掌握条件运算符和条件表达式的应用(时间:20分钟)1、条件表达式的形式和执行流程条件表达式的一般形式:表达式1 ?表达式2:表达式3条件表达式通常用于赋值语句之中。
C语言选择结构程序设计教案

C语言选择结构程序设计教案一、教学目标1、让学生理解 C 语言中选择结构的基本概念和作用。
2、学生能够熟练掌握 if 语句、ifelse 语句和 switch 语句的语法和使用方法。
3、培养学生运用选择结构解决实际问题的编程思维和能力。
二、教学重难点1、重点if 语句、ifelse 语句和 switch 语句的语法规则。
如何正确设置条件表达式,以及根据不同条件执行相应的代码块。
2、难点理解复杂逻辑条件的组合和判断。
避免常见的编程错误,如逻辑错误、语法错误等。
三、教学方法1、讲授法通过讲解概念、语法和示例,让学生对选择结构有初步的认识和理解。
2、实践法安排学生进行编程练习,巩固所学知识,提高实际编程能力。
3、讨论法组织学生对一些复杂的编程问题进行讨论,激发学生的思维,培养合作解决问题的能力。
四、教学过程1、课程导入(约 10 分钟)回顾之前学习的顺序结构程序,提出在实际编程中,往往需要根据不同的条件执行不同的操作,从而引出选择结构的概念。
举例说明生活中根据不同情况做出选择的场景,如根据天气决定是否带伞。
2、 if 语句(约 30 分钟)讲解 if 语句的语法格式:`if (条件表达式) {语句块; }`通过简单的示例,如判断一个数是否为正数,演示 if 语句的使用方法。
强调条件表达式的结果必须是布尔值(真或假)。
让学生自己动手编写一些使用 if 语句的小程序,如判断成绩是否及格。
3、 ifelse 语句(约 30 分钟)引入 ifelse 语句,讲解其语法格式:`if (条件表达式) {语句块1; } else {语句块 2; }`用示例展示如何根据条件的真假执行不同的代码块,如判断一个数是奇数还是偶数。
提醒学生注意代码的缩进和对齐,以增强程序的可读性。
布置练习,让学生使用 ifelse 语句解决实际问题,如判断学生的成绩等级(优秀、良好、及格、不及格)。
4、多重 ifelse 嵌套(约 20 分钟)讲解多重 ifelse 嵌套的概念和用法,通过复杂的条件判断示例,如根据学生的成绩和考勤情况综合评定奖学金等级。
C语言程序设计第3章选择结构程序设计

√
!注意 if 与 else 的配对关
系,else总是与它上面最近 的未配对的 if 配对,若if与 else 的数目不一致,可以加 { }来确定配对关系。
整理课件
例:有一函数
y=
-1 0
(x<0) 输入X值,输出Y值。 (x=0)
1 (x>0)
main( ) { int x, y; scanf("%d",&x);
if (x<0) y= -1; else if (x= =0) y=0;
if(x<=0)
else y=1;
if (x= =0) y=0; y= -1;
else y=-1;
if (x>=0)
eplrsientfy(="1x;=%d,y=%d\n{"i,xf ,(yx)>;0) y=1; }
}
else y=0;
整理课件
程序设计基本步骤
定义变量 产生数据 数据处理、计算 输出结果
整理课件
√
程序举例
编程1:判断某一年是否闰年。 能被4整除但不能被100整除的是闰年; 能被400整除的是闰年。
main( ) { int y; scanf("%d",&y);
if ((y%4==0&&y%100!=0)||(y%400==0)) printf("yes\n",y);
}
15 x 30 30 x 100 100 x 200 其它
整理课件
读程序段
m,n,x,y,z均为整型变量,求执行完该段 程序后各变量的值。
m=10;n=5;
x=(--m==n++)?--m:++n;
c语言课程设计选择结构

c语言课程设计选择结构一、教学目标本章节的的教学目标是让学生掌握C语言的选择结构,理解if-else语句的语法和用法,能够运用选择结构解决实际问题。
1.理解条件语句的概念和作用。
2.掌握if-else语句的语法和用法。
3.了解选择结构在程序设计中的应用。
4.能够编写简单的选择结构程序。
5.能够分析并解决实际问题,运用选择结构进行程序设计。
情感态度价值观目标:1.培养学生的逻辑思维能力,提高解决问题的能力。
2.激发学生对编程的兴趣,培养学生的创新意识。
二、教学内容本章节的教学内容主要包括条件语句的概念、if-else语句的语法和用法,以及选择结构在实际问题中的应用。
1.条件语句的概念和作用。
2.if-else语句的语法和用法,包括单分支选择、双分支选择和多分支选择。
3.选择结构在实际问题中的应用,如最大值和最小值的查找、成绩的判断等。
三、教学方法为了达到本章节的教学目标,将采用以下教学方法:1.讲授法:讲解条件语句的概念和作用,if-else语句的语法和用法。
2.案例分析法:分析实际问题,引导学生运用选择结构进行程序设计。
3.实验法:让学生动手编写选择结构程序,巩固所学知识。
四、教学资源为了支持本章节的教学内容和教学方法的实施,将准备以下教学资源:1.教材:《C程序设计语言》或《C语言入门教程》。
2.参考书:《C语言编程思想》或《C语言实例解析》。
3.多媒体资料:PPT课件、教学视频等。
4.实验设备:计算机、编程环境(如Code::Blocks、Visual Studio等)。
五、教学评估本章节的教学评估主要包括以下几个方面:1.平时表现:评估学生在课堂上的参与程度、提问和回答问题的表现等。
2.作业:评估学生提交的编程作业,包括选择的题目、代码质量和解决问题的能力等。
3.考试:设计考试题目,包括选择题、填空题和编程题,全面考察学生对选择结构的理解和应用能力。
评估方式应客观、公正,能够全面反映学生的学习成果。
C语言程序设计ppt课件-第3章-选择结构

本章主要内容
1
选择结构
在解决大量的实际问题时,常常需要根据不同的 情况或条件,制定出不同的解决方案或对策。
选择结构是通过对条件 的判断来选择执行不同 的程序语句。
选择结构
一个程序若具有了判断和选择功 能,就具备了最基本的智能。
的完整的解题步骤。
void main() { int x,y,z,max;
printf("“\n Please input x,y,z: ");
➢将同影一响问到题算可法用乃不至同程算序法的解效决率,sifc(a。xm而n>afy(一一x)"=%x个个;d%算算d法法%d的的",&评质x价,量&y主优,&要z劣); 从时间复杂度和空间复杂度来els考e 虑。
max=y;
例从键盘输入三个不同的、无序if(mm的aaxx整<=zz)数; ,并分别存放 到变量x、y、z中,然后通过pr判int断f("输\n 出ma三x=%个d数\n"中,m的ax)最;
大数。要求将最大数存放在} 变量max中。
25
语法练习(单选题)
1.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中
switch语句的应用
关例键从语键句盘:上输入一个学生的总平均成 绩能用(i大f- e于ls0e且if来小替于换10吗0)? swi,tc按h(分(i数nt段)(评sc定or出e/成10绩.的0)相) 应等级,90以上为A级,80~
{89为caBs级e ,97:0~g7r9a为dCe=级'A,'6;0~br6e9a为k;D级,59以下为E级。 问题分ca析se:s8w:itchg语ra句de中='的B表';达b式re只ak能; 是整型或字符型,所 以可c用as成e 绩7的:高位gr数ad字e=来'C确';定b其re对a应k;的分数段,而每一个 分数c段as又e对6应:swigtrcha中de的='一D'路; 选br择ea。k;可用表达式“((int)(成 绩/1c0)a)s”e 计5算:出成绩的高位数字 ,其中,“(int)”的功能 是将c表as达e式的4:值强制转换成整数。
c语言选择结构程序设计教案

C语言选择结构程序设计教案一、教学目标1. 理解选择结构的概念和作用。
2. 掌握if语句和switch语句的语法和使用方法。
3. 能够运用选择结构解决实际问题。
二、教学内容1. 选择结构的概念和作用。
2. if语句的语法和使用方法。
3. switch语句的语法和使用方法。
4. 选择结构的嵌套。
三、教学重点与难点1. 重点:if语句和switch语句的语法和使用方法。
2. 难点:选择结构的嵌套和运用。
四、教学方法1. 讲解:讲解选择结构的概念和作用,以及if语句和switch语句的语法和使用方法。
2. 示例:通过示例演示如何使用选择结构解决实际问题。
3. 练习:让学生通过练习掌握选择结构的运用。
五、教学准备1. 教材或教案。
2. 计算机和投影仪。
3. 练习题。
六、教学过程1. 引入:通过一个简单的例子,比如判断一个数的正负,引入选择结构的概念。
2. 讲解:详细讲解if语句和switch语句的语法和使用方法,包括条件表达式和分支语句。
3. 示例:给出一些示例代码,演示如何使用if语句和switch语句来实现不同的选择结构。
4. 练习:让学生编写一些简单的程序,练习使用if语句和switch语句。
七、案例分析1. 案例一:编写一个程序,根据用户输入的年份,判断是平年还是闰年。
2. 案例二:编写一个程序,根据用户输入的分数,判断成绩等级。
八、选择结构的嵌套1. 讲解:讲解选择结构嵌套的概念和作用。
2. 示例:给出一些示例代码,演示如何使用选择结构嵌套来解决更复杂的问题。
3. 练习:让学生编写一些程序,练习使用选择结构嵌套。
九、课堂互动1. 提问:让学生回答关于选择结构的问题,比如if语句和switch语句的区别等。
2. 讨论:让学生分组讨论如何使用选择结构解决实际问题,并展示他们的解决方案。
十、总结与作业1. 总结:总结本节课所学的内容,包括选择结构的概念、if语句和switch语句的语法和使用方法,以及选择结构的嵌套。
《C语言程序设计》教案(清华谭浩强)

《C语言程序设计》教案(清华谭浩强)第一章:C语言概述1.1 课程介绍介绍C语言的历史和发展解释C语言的特点和应用范围强调学习C语言的重要性和目的1.2 C语言的基本概念解释编程语言和编译器的概念介绍C语言的基本数据类型和变量讲解C语言的语法结构和程序结构1.3 C语言的编译过程解释编译器的角色和功能介绍编译过程中的预处理、编译、汇编和步骤强调编译过程中产生的文件和它们的作用第二章:基本数据类型和运算符2.1 基本数据类型介绍整型、浮点型、字符型和布尔型的概念和用法解释不同数据类型的存储方式和大小强调数据类型的选择和使用场景2.2 变量和常量解释变量的概念和作用介绍变量的声明和初始化方法讲解常量的概念和用法2.3 运算符介绍算术运算符、关系运算符和逻辑运算符的概念和用法解释赋值运算符和条件运算符的作用强调不同运算符的优先级和使用规则第三章:控制语句3.1 条件语句介绍if语句的语法和用法讲解switch语句的概念和用法强调条件语句的选择和嵌套使用3.2 循环语句介绍for循环、while循环和do-while循环的概念和用法解释循环控制语句如break和continue的作用强调循环条件的设置和循环次数的控制3.3 跳转语句介绍goto语句的概念和用法讲解label标签的作用和跳转规则强调跳转语句的使用场景和可能导致的问题第四章:函数和指针4.1 函数的基本概念介绍函数的定义和声明讲解函数的参数传递和返回值强调函数的命名规则和命名规范4.2 指针的概念和用法解释指针的概念和作用介绍指针的声明和初始化方法讲解指针的赋值和指针运算4.3 指针和数组介绍数组的概念和用法解释指针和数组的关系强调指针在数组操作中的应用第五章:结构体和文件操作5.1 结构体的概念和用法介绍结构体的定义和声明讲解结构体的成员访问和内存布局强调结构体在数据组织中的应用5.2 文件操作的基本概念解释文件的概念和文件操作的重要性介绍文件打开、读写、关闭等操作的方法强调文件操作中的错误处理和文件指针的管理第六章:动态内存分配6.1 动态内存分配的概念介绍动态内存分配的原因和必要性解释malloc、calloc和realloc函数的作用和用法强调动态内存分配的注意事项和错误处理6.2 链表的概念和用法介绍链表的定义和结构讲解链表的创建、插入、删除和遍历操作强调链表的优势和应用场景6.3 动态内存分配的应用实例通过实例演示动态内存分配在实际编程中的应用讲解内存泄漏和内存溢出的概念强调编写高效和安全的程序的重要性第七章:字符串处理7.1 字符串的基本概念介绍字符串的定义和表示方法解释字符串的长度和字符串的结束标志强调字符串与数组的区别和联系7.2 字符串的常用函数介绍字符串的输入输出函数如printf和scanf 讲解字符串的拷贝、连接、比较等操作函数强调字符串处理函数的使用和注意事项7.3 字符串处理的应用实例通过实例演示字符串处理在实际编程中的应用讲解字符串排序、查找和替换等操作强调字符串处理在文本分析和数据处理中的应用第八章:标准库函数8.1 标准输入输出库函数介绍标准输入输出库stdio.h中的常用函数讲解文件读写、数据转换等函数的用法和功能强调标准库函数的使用场景和注意事项8.2 字符串处理库函数介绍字符串处理库string.h中的常用函数讲解字符串比较、查找和替换等函数的用法和功能强调字符串处理库函数的使用和与其他库函数的配合8.3 数学计算库函数介绍数学计算库math.h中的常用函数讲解数学运算、三角函数和指数函数等函数的用法和功能强调数学计算库函数在数学计算和科学计算中的应用第九章:并发编程和同步机制9.1 并发编程的基本概念介绍并发编程的定义和目的解释进程和线程的概念和关系强调并发编程的优势和挑战9.2 并发编程的同步机制介绍互斥锁、条件变量和信号量等同步机制的原理和用法讲解同步机制在多线程编程中的应用和注意事项强调同步机制在避免竞态条件和数据一致性中的重要性9.3 并发编程的应用实例通过实例演示并发编程在实际应用中的优势和挑战讲解多线程的创建、同步和通信等操作强调并发编程在多任务处理和性能优化中的应用第十章:C语言编程实践10.1 编程实践的重要性强调编程实践在学习和掌握C语言中的重要性解释编程实践对于提高编程能力和解决问题的作用强调编程实践中的代码质量和编程规范10.2 编程实践的项目和案例介绍常见的编程实践项目和案例讲解实际编程中的问题解决方法和技巧强调编程实践中的调试和测试的重要性10.3 编程实践的资源和工具介绍编程实践中的常用工具和环境讲解集成开发环境(IDE)的使用和代码管理强调编程实践中的团队合作和代码分享的重要性重点和难点解析重点环节1:C语言的基本概念和特点需要重点关注C语言的历史和发展,以及其特点和应用范围。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
首先先判断表达式的值 若为非 0 则执行下面的语句 若为 0 则跳过该语句
1)单分支选择语句 一般形式:i f (表达式)
语句
表达式
假(0)
真(非0) 语句
例:main() { float x , y; scanf(“%f ”, &x); y=2*x; if ( x < 0 ) printf(“y= %6.2f”, y ); } 如果 x<0 为真,则打印 y 的值,否则跳过 printf(“y= %6.2f”, y )直接执行下面的语句。 练习:运行下面程序时,若从键盘输入“3,4<CR>”,则程序的输出结果是[ ] main() { int a,b,s; scanf(“%d,%d”,&a,&b); s=a; if(s<b) s=b; s=s*s; printf(“%d\n”,s); } A、14 B、16 C、18 D、20 2)双分支选择语句 if (表达式) 语句 1 else 语句 2 例: 输入两个数, 比较其大小, 将较大的数输出 流程分析: • (1) 输入两个数据 a,b ; • (2) 如果 a>b 则输出 a ;否则,输出 b。 #include <stdio.h> main( ) { float a, b; scanf(“%f, %f”,&a, &b);
注意:C 语言用整数“1”表示“逻辑真”,用整数“0”表示“逻辑假”。所以,关系表达式的值, 还可以参与其它种类的运算,例如算术运算、逻辑运算等。 3)关系运算符的结合律 C 语言规定关系表达式采取左结合律。表达式中出现优先级别为同一级别的运算符时, 则按从左到右结合方向处理。 例如: int a=2,b=3,c=1; a>b<c 值 :1 先计算 a>b,值是 0 , 再计算 0<c,值是 1 6>3<2 值 :1 先计算 6>3 ,值是 1 , 再计算 1<2,值为 1 2、逻辑运算符和逻辑表达式 (1)逻辑运算符 C 语言提供 3 种逻辑运算符: && 逻辑与(相当于“同时”) || 逻辑或(相当于“或者”) ! 逻辑非(相当于“否定”) 其中,&&和||为双目运算符,且结合方向为自左至右;! 为单目运算符,仅对其右边的 操作数进行逻辑求反运算。 1)逻辑非 ! 逻辑非是一元运算符。 操作数值为 0,逻辑非运算的结果为 1(逻辑真); 当操作数值为非 0 时,逻辑非运算的结果为 0。 例如: int a=5,b=3; !a 结果:0 !(a < b) 结果:1。因为 a < b 的值为 0 2)逻辑与 && 逻辑与是二元运算,只有参加逻辑与运算的两个操作数值均为非 0(逻辑真)时,结果才 为真。例如: int a = 5,b = 3; a && b 值: 1 (a < b) && (a > 0) 值:0,因为 a<b 的值为 0。 3)逻辑或 ¦¦ 逻辑或也是二元运算,只要两个操作数中有一个为非 0(逻辑真),结果就为 1。 例如: int a=5,b=3 a ¦¦ b 值:1 (a < b) ¦¦ (a > 0) 值:1 因为 a > 0 的值为 1。 (2) 逻辑运算符优先级
printf( “You are right ! “ ); } 练习: 以下不正确的语句为[ ] A、if(x>y) ; B、if(x>y) { x++; y++; } C、if(x=y)&&(x!=0)x+=y; D、if(x!=y) scanf(“%d”,&x); else scanf(“%d”,&y); 运行下面程序时,若从键盘输入字母“b”,则输入结果是[ ] main( ) { char c; c=getchar(); if (c>=„a‟&&c<=„u‟) c=c+4; else if (c>=„v‟&&c<=„z‟) c=c-21; else printf(“input error!\n”); putchar(c); } A) g B)w C)f D) d 5)if 语句的嵌套 一个 if 又包含一个或多个 if 语句,称为 if 语句的嵌套。在 if 语句中可以根据需要,用 if 语句的三种形式进行互相嵌套。一般形式如下: ① if( )内嵌 if if( ) 〈语句 1〉 else 〈语句 2〉 else if( ) 〈语句 3〉 else 〈语句 4〉 ② if( ) if( ) 〈语句 1〉 else if( ) 〈语句 2〉 else 〈语句 3〉 说明:①if 与 else 的配对关系,从最内层开始,else 总是与离它最近的未曾配对的 if 配对。 ②if 与 else 的个数最好相同,从内层到外层一一对应,以避免出错。 ③如果 if 与 else 的个数不相同,可以用花括号来确定配对关系。例如: if( ) {if( ) 〈语句 1〉 } else 〈语句 2〉 这时{ }限定了内嵌 if 语句的范围,因此 else 与第一个 if 配对。
if (a>b) else
printf (“%f”, a ); printf (“%f”, b );
} 练习:下面程序的输出结果是[ ] main() { int x=2,y=-1,z=2; if(y<0) z=0 else z+=1; printf(“%d\n”,z); } 3)多分支选择语句 一般形式:if (表达式) 语句 1 else if (表达式)语句 2 else … 写一个程序完成下列功能: 1 输入一个分数 score 2 score<60 输出 E 3 60<=score <70 输出 D 4 75<=score <80 输出 C 5 80<=score <90 输出 B 5 90<=score 输出 A main( ) { int score; scanf(“%d”, &score); if ( score<60) printf(“%c” , ‟E‟); else if ( score <70) printf(“%c” , ‟D‟); else if (score <80) printf(“%c” , ‟C‟); else if (score <90) printf(“%c” , ‟B‟); else printf(“%c” , ‟A‟); } 说明:if 语句中的表达式一般为关系或逻辑表达式,也可以为任何数值类型的表达式。 执行语句可以是一条简单语句、空语句或复合语句,也可以嵌套其它流程控制语句。 4)复杂条件选择 问题: 输入两个字符 ch1 和 ch2, 如果 ch1==„Z‟ 且 ch2==„B‟, 则输出“You are right ! “ main() { char ch1,ch2; ch1=getchar( ); ch2=getchar( ); if ( ch1 == „Z‟ && ch2==„B‟ )
C 语言逻辑运算符的优先级规定如下: 1) 优先级顺序为 ! → && → ¦¦ 2) 与其他种类运算符的优先关系: 高 ! (非) 算术运算符 关系运算符 &&和 || 赋值运算符 低 例如:!a&& b > 5 计算顺序: (!a)&&(b > 5)a = = b ¦¦ a < c 计算顺序:a = = (b¦¦(a< c)) (3)逻辑表达式 1)逻辑表达式的概念 所谓逻辑表达式是指,用逻辑运算符将 1 个或多个表达式连接起来,进行逻辑运算的式 子。在 C 语言中,可以用逻辑表达式表示多个条件的组合。 例如: !(a > b) 对关系表达式的值取非, (a > b)&&(b > c) (a > b)&&(b > c)¦¦(b == 0) 2)逻辑量的真假判定 C语言用整数“1”表示“逻辑真”,用“0”表示“逻辑假”。但在判断一个表达式 或变量的“真”或“假”时,如果为 0,则判定为“逻辑假”;如果为非 0,则判定为“逻 辑真”。 3)逻辑运算符的结合性 C 语言逻辑运算符采用左结合律。表达式中出现优先级别为同一级别的运算符时, 按从 左到右的结合方向处理。例如:a && b && c 计算顺序为:(a&& b)&& c。 3、条件语句(25 分钟) (1)if 语句的三种格式 引子:例如计算分段函数 3-x (x<0) y= 2x (x>=0) 计算 x<0 ,如果结果为 1:计算:y=3-x; 否则,计算:y=2 * x; 需要根据 x 的值进行流程选择(分支) 。
例 4.3 对下面的函数编程,要求输入一个 x 值,输出对应的 y 值 -1 (x<0) y= 0 (x=0) 1 (x>0) 方法 1: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); } 方法 2:main() { int x,y; scanf(″%d″,&x); y=-1; if(x= =0) y=0; else if(x>0) y=1; printf(″x=%d,y=%d\n″,x,y); } 练习:运行下面程序,若从键盘输入“3”和“5”,则程序的输出结果是[ main() { int x,y; scanf(“%d,%d”,&x,&y); if(x==y) printf(“x==y”); else if(x>y) printf(“x>y”); else printf(“x<y”); } A)3<5 B)5>3 C)x>y D)x<y 执行下列程序的输出结果是[ ] main() { int a=258; if(a>=100) { if(a>=1000) printf(“%d is greater than 1000\n”,a); else printf(“%d is 100 to 999\n”,a); } else { if(a<10) printf(“%d is less than 10\n”,a);