书签 分享 收藏 举报 版权申诉 / 618
上传文档赚钱

类型《C语言程序设计》全册配套课件.ppt

  • 上传人(卖家):罗嗣辉
  • 文档编号:2039516
  • 上传时间:2022-01-19
  • 格式:PPT
  • 页数:618
  • 大小:20.93MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《C语言程序设计》全册配套课件.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    C语言程序设计 语言程序设计 配套 课件
    资源描述:

    1、C语言程序设计全册语言程序设计全册配套课件配套课件2什么是程序设计?什么是 C语言?为什么要学 C语言程序设计? Windows! PowerPoint!Windows! PowerPoint! 学完本课程开发的小游戏学完本课程开发的小游戏 后续开发的三维游戏后续开发的三维游戏 后续开发的人工智能游戏后续开发的人工智能游戏 部分科研工作介绍部分科研工作介绍几个程序设计的例子:几个程序设计的例子:程序设计,即指输入计算机一些字符指程序设计,即指输入计算机一些字符指令,让它运行你所设定的功能令,让它运行你所设定的功能C C是一种程序设计语言是一种程序设计语言Visual C+Visual C+是微

    2、软开发的一个软件,方是微软开发的一个软件,方便你进行便你进行 C C语言的程序设计语言的程序设计帮助你建立程序设计的思想,能够利用帮助你建立程序设计的思想,能够利用计算机编程解决实际问题计算机编程解决实际问题VCVC是应用性和适用性最广泛的是应用性和适用性最广泛的集成编译集成编译环境环境帮助你找到一份好工作帮助你找到一份好工作为什么学习为什么学习C C语言程序设计语言程序设计: 教材:丁海军等编著,程序设计基础(C语言) 教学方式:多媒体上课与上机相结合 考核方式:平时(30%)+期末(70%) 考核形式:编程刷分! 课时安排:授课C216 :(5-20)四3-4,(13-20)一1-2 ;实

    3、验NE204: (8-19)二6-7答疑地点:科研实验楼答疑地点:科研实验楼11121112电电 话:话:0519-85191955 0519-85191955 手手 机:机:13775091855 13775091855 E-mail E-mail :课程要求 课前请做好预习课前请做好预习 保持课堂安静,头脑清醒,思维活跃保持课堂安静,头脑清醒,思维活跃 认真、独立、按时完成作业认真、独立、按时完成作业 重视上机实践,有效利用宝贵的上机时间重视上机实践,有效利用宝贵的上机时间 要想得高分,就需要课后刷怪练习!要想得高分,就需要课后刷怪练习!学习方法学习方法 一定要多写代码,一定要多写代码,这

    4、是学好本课程的唯一途径这是学好本课程的唯一途径 光上课学不会光上课学不会C语言!语言! 多问老师,同学之间多交流多问老师,同学之间多交流 逐步领会提高,先粗后细看书,通过上机发现问逐步领会提高,先粗后细看书,通过上机发现问题并进一步看书题并进一步看书 万万不可用学万万不可用学数学数学等理论课的学习方法学习等理论课的学习方法学习本课程本课程 不可随便放弃,要坚持!不可随便放弃,要坚持!课件在线下载 2014C语言教学资料 文件夹 百度云共享 链接:http:/ 密码:80kv C语言视频教程9助教 黄思钰 (计算机系大三学生,Mobile: 15261180237,实验室:卓越楼107;曾获得第

    5、五届“蓝桥杯”全国软件大赛江苏省赛区一等奖,全国三等奖) 上机课辅助答疑(周二下午6-7节上机辅助(8-19周) 课后答疑(周四晚6:30-8:00)第1章 C语言程序设计概念自然语言的构成字字程序设计语言的构成基本单元基本单元词:词:常量、常量、变量、函数变量、函数句子句子:语句语句篇章篇章:程序程序程序设计规则程序设计规则 很像厨师的菜谱,定义了执行某个任务所需的步骤 但不同的是,你不能使用你自己的母语来写程序何谓程序? 菜谱菜谱+编程编程=自动炒菜机自动炒菜机计算机能读懂的语言? 机器语言(Machine Language) 由一系列二进制0和1组成 机器语言编写的1+1程序 低级语言1

    6、01110000000000100000000000001010000000100000000像不像天书?像不像天书? 人与计算机进行交流的语言 C语言编写的1+1程序 既不是英语,也非机器语言 但更像英语 高级语言 比写机器语言程序容易,但比使用英语难#include void main()printf(%dn, 1+1);何谓程序设计语言 (programming language) ? 认识 C语言从这里开始 第一个程序范例 打印单词“Hello, World!”#include void main()printf(Hello,World!n); 考考你: 如何把“Hello”和“Wor

    7、ld” 分别打印在两行?预处理指令预处理指令“myfunction.h”2022-1-1818C语言程序的基本结构函数main函数首部函数体函数名、函数参数、类型 语句2022-1-1819说明性语句可执行语句;/*/开发C程序的步骤1.设计算法(计算机解题的精确描述) 2. 根据算法思路或数学模型,按照该语言的语法编写程序源代码 把自己的意图写入源代码中 3. 编辑源程序 4. 编译和连接 5. 反复上机调试程序, 直到改正了所有的编译错误和运行错误 6. 运行 7.整理并编写文档2022-1-1821aacbbx24212aacbbx242121.问题分析问题分析2022-1-18221.

    8、 输入输入a,b,c2. 数据处理数据处理3. 输出输出x1,x22-1. 计算判别式计算判别式d2-2. 根据根据d的值进行不同处理的值进行不同处理2-2-1:if d0 x1= x2= 2-2-2:if d=0 x1=x2= 2-2-3:if d0) 输出输出 x1=(-b-sqrt(d)/(2*a) x2=(-b+sqrt(d)/(2*a)else if(d=0) 输出输出 x1=x2=-b/(2*a)else 输出输出:无实根提示信息无实根提示信息2022-1-1824如何让计算机读懂程序设计语言? 编译程序(编译器,Compiler)的功能 读入高级语言编写的程序源代码,将其翻译成在

    9、逻辑上与之等价的目标程序,即转换成机器代码(可执行程序) 一种程序设计语言对应一种编译器建立新文建立新文件件保存文件保存文件编译编译运行运行在编译之前,在编译之前,VCVC先弹出对话框,询问是否建立一个缺省的项目工先弹出对话框,询问是否建立一个缺省的项目工作区。作区。VCVC必须有项目才能编译,所以这里必须回答必须有项目才能编译,所以这里必须回答“Yes”Yes”。VC集成开发环境与上机操作 参考:VC上机实验基础步骤.doc 参考:程序设计时间教程(C语言描述) 有条件的要课后多上机练习 暂时没有电脑,可以在上机课前先在纸上写下代码,再上机输入调试,节省宝贵的上机练习时间练习作业 1. 编写

    10、程序,输出字符串“I am a student!”。 2. 编写程序,从键盘输入3个数,求这3个数的和并输出。 3. 将例2-2的程序上机调试运行。 4.写出前5个自然数的阶乘和的伪代码。(s=1!+2!+3!+4!+5!)本章知识点小结 C Program Structure 由函数组成,至少有一个主函数main() 一对花括号“ ”是主函数的定界符 语句用分号结束; 字母区分大小写 注释行 多行注释:/* */ (不可嵌套) 单行注释:/ (C+使用) C语言的编译环境 VC/* 代码测试代码测试 */#include void main() printf(“hi); printf(“yo

    11、u);打印华氏温度与摄氏温度对照表 计算公式:C=(5/9)(F-32)打印华氏温度与摄氏温度对照表#include /* 对 fahr = 0, 20, ., 300 打印华氏温度与摄氏温度对照表 */void main()int fahr, celsius;int lower, upper, step;lower = 0; /* 温度表的下限 */upper = 300; /* 温度表的上限 */step = 20; /* 步长 */fahr = lower;while (fahr = upper) celsius = 5 * (fahr-32) / 9;printf(%dt%dn, fa

    12、hr, celsius);fahr = fahr + step; 代码风格(Coding Stytle)#include /* 对 fahr = 0, 20, ., 300 打印华氏温度与摄氏温度对照表 */void main() int fahr, celsius; int lower, upper, step; lower = 0; /* 温度表的下限 */ upper = 300; /* 温度表的上限 */ step = 20; /* 步长 */ fahr = lower; while (fahr = upper) celsius = 5 * (fahr-32) / 9; printf(

    13、%dt%dn, fahr, celsius); fahr = fahr + step; 如果没有代码风格,#include void main()int fahr,celsius;int lower,upper,step;lower=0;upper=300;step=20;fahr=lower;while (fahr=upper)celsius=5*(fahr-32)/9;printf(%dt%dn,fahr,celsius);fahr=fahr+step;求三个数的平方根的和#include #include double sqrtsum(int a,int b,int c);void ma

    14、in() int a,b,c; float sumn; printf(请输入请输入3个整数个整数:); scanf(%d%d%d,&a,&b,&c); sumn = sqrtsum(a,b,c); printf(3个数的平方根的和个数的平方根的和=%fn,sumn); doubleintintintdoublereturn第2章 C语言快速入门本章学习内容标识符命名;数据类型、变量和常量; 常用运算符和表达式;基本输入输出;过程控制结构(顺序、选择、循环结构)函数的定义与使用数据存储特性预处理指令标识符命名 变量名,函数名 由英文字母、数字和下划线组成,大小写敏感 不可以是数字开头 直观,见名

    15、知意,便于记忆和阅读 最好使用英文单词或其组合 下划线和大小写通常用来增强可读性 variablename variable_name variableName 不允许使用关键字作为标识符的名字 int, float, for, while, if 等32个关键字:(auto break case char constcontinue default do double elseenum extern float for gotoif int long register returnshort signed sizeof static structswitch typedef unsigned

    16、 union voidvolatile while 数组结构体类型构造类型基本类型指针类型: 实型(浮点型) 字符型(char)整型 (int) 双精度型(double)单精度型(float)空类型:基本数据类型 int 整数,4个字节 float 单精度浮点数,4个字节 double 双精度浮点数,8个字节 char 字符,1个字节常量(Constant) 在程序运行过程中值不变的量-常量 整型(e.g. 0 67 -2 123) 缺省为int 实型(e.g. 2.3 1.2e-5 2.73) 缺省为double 字符型(e.g. z 3 $ n ) 用开头的字符为转义字符, 代表1个字符

    17、字符串(e.g. UKM 1 5a )字符常量 转义字符 一些特殊字符(无法从键盘输入或者另有它用)用转义字符表示字符常量 字符常数表示字符,实际上是一个普通整数 注意:5和整数5的区别5的ASCII码值是53字符常量在计算机内是采用该字符的 ASCII编码值来表示的,其数据类型为char。字符串常量 用双引号括住的由0个或多个字符组成的字符序列 I am a string “”表示空字符串 C语言内部用0表示字符串的结束 x和x是不同的 里定义了一系列专门的字符串处理函数 转义字符也可在字符串中使用宏常量#define 标识符 字符串 宏常量 也称符号常量 一般采用全大写字母表示 宏定义不是

    18、语句,而是一种编译预处理命令例2-1 :计算圆的周长和面积 area = 88.247263circumference = 33.300854为什么需要常量? 假如不使用常量,直接使用常数,会有什么影响? 程序的可读性变差 容易发生书写错误 当常数需要改变时,要修改所有使用它的代码,工作量大,还可能有遗漏变量在程序运行过程中值可发生改变的量-变量 命名规则: 变量名由标识符表示,只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。 例如:下列标识符中,合法的变量名有: M.D.John 12%gf 1add _ce36 age& 5thclass lotus-1-2-3 cd

    19、*ef 变量 =,;变量 =,;变量 =,;变量 =,; 变量定义语句的工作过程 分配存储空间 填初值数据 变量名是内存空间的名字 常数不分配内存空间int a;变量定义要素l 变量名(标识符)l 变量的数据类型l 存储类型Example:number1?number2?252323变量 使用变量的基本原则 变量必须先定义,后使用 声明的顺序无关紧要 一条声明语句可声明若干个同类型的变量 声明变量是初始化变量的最好时机 不被初始化的变量,其值为随机数在程序运行过程中值可发生改变的量-变量 sizeof到底是什么? 计算类型占用的字节数 两种语法形式 sizeof(类型) 结果为类型占用的字节数

    20、 sizeof(表达式) 结果为表达式值所属类型占用的字节数 例2-2 使用sizeof操作符测试不同数据类型的长度#include void main()printf(Data type Number of bytesn);printf(- -n);printf(char %dn, sizeof(char);printf(int %dn, sizeof(int);printf(float %dn, sizeof(float);printf(double %dn, sizeof(double);练习作业 1.将例2-3的程序上机调试运行。 2. P42习题一语法练习1-5第2章 C语言快速入门

    21、本章学习内容 标识符命名; 数据类型、变量和常量; 常用运算符和表达式; 基本输入输出; 过程控制结构(顺序、选择、循环结构) 函数的定义与使用 数据存储特性 预处理指令运算符和表达式常见的运算符 赋值运算符 算术运算符 增量运算符 关系运算符 逻辑运算符 类型强转 逗号表达式简单赋值Syntax: 变量 = 表达式 ;int a;a =3;#include main( ) float price, discount, total; printf(“Buying price : “); scanf(“%f”, &price); printf(“nDiscount rate : “); scan

    22、f(“%f”, &discount); total = price * discount; printf(“The total price is %.2fn”, total);Buying price: _discount?price? total?Buying price: 10.00_10.00Buying price: 10.00Discount rate: _Buying price: 10.00Discount rate: 0.25_0.252.50Buying price: 10.00Discount rate: 0.25_Buying price: 10.00Discount r

    23、ate: 0.25The total price is 2.50_Example:简单赋值运算符和操作数(Operator and Operand)Example:算术运算符算术运算符与算术表达式Example:整数除法(Integer Division)Example:整数除法(Integer Division)Example:实数除法(Floating Division)Example:1252102remainderresult求余(Modulus)Example:-73-2-6-1remainderresult求余(Modulus)Example:7-3-261remainderres

    24、ult求余(Modulus)Example:求余(Modulus)Examples:Example: 算术表达式(Arithmetic Expression)Example:算术表达式(Arithmetic Expression)例 5%2 = -5%2 = 1%10 = 5%1 = 5.5%2例 5/2 = -5/2.0 =例 5%2 = 1 -5%2 = -1 1%10 = 1 5%1 = 0 5.5%2 ()例 5/2 = 2 -5/2.0 = -2.5课堂练习例1 写出下面程序的输出结果void main (void ) int x; x= - 3 + 4 5 - 6 ; x=3 +

    25、4 % 5 - 6 ; x= - 34% (- 6)/5; x=(7+6)%5/2 ; x=a+5; x=24+20; 输出运算结果:1110110240增一和减一运算符(Increment and Decrement)n+,n-,+n,-n +让参与运算的变量加1,-让参与运算的变量减1 作为后缀(postfix)运算符时,先取n的值,然后加/减1增一和减一运算符(Increment and Decrement)n+,n-,+n,-n +让参与运算的变量加1,-让参与运算的变量减1 作为后缀(postfix)运算符时,先取n的值,然后加/减1 作为前缀(prefix)运算符时,先加/减1,然

    26、后取n的值Example:j = +i - 2i5similar to j?46Example:j = i+ - 2i5similar to 后缀(Postfix)增一和减一运算符j?36关系运算符( Relational Operators )OperationDescriptionExamples of ExpressionValueLess than6 91 (true)=Less than or equal to5 Greater than2 60 (false)=Greater than or equal to9 = 51 (true)=Equal to7 = 50 (false)!

    27、=Not equal to6 != 51 (true)Symbol Description & 与(AND)当且仅当两者都为真,则结果为真 | 或(OR) 只要两者中有一个为真,结果就为真 ! 非(NOT)aba & b a | b!a!b000011010110100101111100逻辑运算符( Logical Operators )逻辑表达式短路特性 逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符/结果m=0,n=1例 a&b /只在a为真时,才判别b的值;例 a|b /只在a为假时,才判别b的值;例 a=1;b=2;c

    28、=3;d=4;m=1;n=1;(m=ab)&(n=cd)OperationExamples of expressionDescription+=num += 5;num = num + 5;-=num -= 5;num = num 5;*=num *= 5;num = num * 5;/=num /= 5;num = num / 5;%=num %= 5;num = num % 5;能背下优先级表的人凤毛麟角 脑细胞太宝贵了,不能用来死记硬背用括号来控制运算顺序更直观、方便,并减少出错的概率 先算乘除,后算加减,有括号就先算括号里的 括号太多,有时候不清晰注意用空格做好分隔实在不行就拆分表达式

    29、自动类型转换 不同类型数据的运算结果,是两种类型中取值范围大的那种 long double double float long int short chardoublefloatlongunsignedintchar,short低高【例2-4】:给出并分析下面三段程序的输出结果Example: int x = 10;float y;y = (float)x;x10y?10.000000第2章 C语言快速入门本章学习内容 标识符命名; 数据类型、变量和常量; 常用运算符和表达式; 基本输入输出; 过程控制结构(顺序、选择、循环结构) 函数的定义与使用 数据存储特性 预处理指令如何进行数据的输入输

    30、出?如何进行数据的输入输出? 输入:从标准输入设备上输入数据到计算机输入:从标准输入设备上输入数据到计算机内存内存 输出:将计算机内存中的数据送到标准输出输出:将计算机内存中的数据送到标准输出设备设备 C语言中输入输出操作通过调用标准库函数语言中输入输出操作通过调用标准库函数来实现来实现格式输出函数格式printf(格式控制字符串, 输出项表列);printf(a=%d b=%f, a, b);可以输出若干任意类型的数据 函数名函数名输出表列输出表列普通字普通字符符格式格式说明说明printf Function - CharacterFormat for character: Example:

    31、printf(“%c %c %c”, U, K, M);U K M_printf Function - CharacterExample:printf(“%c%c%c”, U, K, M);UKM_Format for character: printf Function - CharacterExample:char1 = U;char2 = K;char3 = M;printf(“%c %c %c”, char1, char2, char3);U K M_char1Uchar2?char3?char1Uchar2Kchar3?char1Uchar2Kchar3MExample: print

    32、f( “Name: %snStudent No: %s”, “Ali Bakar”, “A92333”);Name: Ali BakarStudent No: A92333_Output formatprintf Function - Stringprintf Function - StringExample: printf( “Name: %snStudent No: %s”, “Ali Bakar”, “A92333”);Name: Ali BakarStudent No: A92333_d,ix,Xoucse,Efg%十六进制无符号整数十六进制无符号整数不带符号十进制整数不带符号十进制整

    33、数十进制整数十进制整数指数形式浮点小数指数形式浮点小数单一字符单一字符字符串字符串八进制无符号整数八进制无符号整数小数形式浮点小数小数形式浮点小数e和和f中较短一种中较短一种百分号本身百分号本身int a=567;printf ( “%d”,a);int a=255;printf(“%x”,a);int a=65;printf(“%o”,a);int a=567;printf(“%u”,a);char a=65;printf(“%c”,a);printf(“%s”,“ABC”);float a=567.789;printf(“%e”,a);float a=567.789;printf(“%f”

    34、,a);float a=567.789;printf(“%g”,a);printf(“%”);567ff101567AABC5.677890e+002567.789000567.789%格式输入函数格式scanf(格式控制字符串, 地址表列); scanf(%d,%f”, &a, &b);格式字符格式字符指定输入指定输入数据格式数据格式输入数据输入数据地址表列地址表列非格式字符非格式字符输入数据以输入数据以逗号逗号分隔分隔没有时可以没有时可以空格空格、Tab或或回车回车分隔分隔scanf FunctionExample:printf(“Key-in a character and a numb

    35、er: ”);scanf(“%c%d”, &char, &num);printf(“Character: %cn”, char);printf(“Number: %dn”, num);Key-in a character and a number: char?num?mKey-in a character and a number: m103 103Key-in a character and a number: m103Character: m_ Key-in a character and a number: m103Character: mNumber: 103_#include voi

    36、d main( ) int day, month, year; scanf(“%d %d %d”, &day, &month, &year); printf(“Day: %d, Month: %d, Year: %d”, day, month, year);16 12 2005month?year?day? 1612200516 12 2005Day: 16, Month: 12, Year: 2005_ 使用使用scanf函数时应注意的问题函数时应注意的问题 : :(1)scanf(1)scanf函数中的函数中的“格式控制格式控制”后面应当是后面应当是变量地址变量地址,而不应,而不应 是变量

    37、名。是变量名。 scanf(%d”, &a);(2) (2) 如果在如果在“格式控制格式控制”字符串中除格式说明以外的其他字符,字符串中除格式说明以外的其他字符,在输入数据时在对应位置应输入与这些字符相同的字符。在输入数据时在对应位置应输入与这些字符相同的字符。 scanf(“%d,%d,%d”,&a,&b,&c);输入应为:输入应为:5,6,7scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);输入应为:输入应为:a=5,b=6,c=7格式输入函数常见错误scanf(%d,%fn”,&a,&b);scanf(%d,%f”,a,b);几点忠告 不要拘泥于细节 不要死记硬背 在使用

    38、中慢慢掌握练习作业 1.习题二编程练习1,3 2.将例2-4,2-5的程序上机调试运行。 3.实验3-2,3-3,3-4板书程序板书程序&上机调程序上机调程序第3章 程序基本结构 程序控制结构顺序 选择 循环顺序结构顺序结构#include #include void main() float a,b,c,s,area; scanf(%f%f%f,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%f, b=%f, c=%f, s=%fn,a,b,c,s); printf(area=%fn,area);文件包

    39、含预处理命令变量定义输入数据输出数据【例例】输入三角形的三边长输入三角形的三边长a、b、c,求三角形面积,求三角形面积area。 设设s=(a+b+c)/2顺序结构顺序结构程序中语句自上而下顺序执行,无分支、无转移、无循环。程序中语句自上而下顺序执行,无分支、无转移、无循环。输入:3 4 6 输出:a= 3.00, b= 4.00, c= 6.00 s= 6.50 area= 5.33试一下试一下【例】交换a,b的值。 a=b ; b=a ; 【例】交换a,b的值。 a=b ; b=a ; 【例】交换a,b的值。 a=b ; b=a ; 不能只写上面两个赋值语句不能只写上面两个赋值语句 【例】

    40、交换a,b的值。 设一个中间变量t暂存数据: (1) 将a存入t; (2) 将b赋给a; (3) 将t赋给b(原来a的值);tbaabtabtabtabtabtabt正确的交换方法正确的交换方法: t=a ; a=b ; b=t;NY分支结构(选择结构)分支结构(选择结构) 2.7 选择结构 如果没有条件判断语句,世界上最先进的计算机如果没有条件判断语句,世界上最先进的计算机也只是一个计算器。也只是一个计算器。选择结构使得计算机表现出具有智能。选择结构使得计算机表现出具有智能。模式模式1模式模式2备注备注ifif(exprexpr) 语句语句S1 S1 ifif(exprexpr) 语句语句S

    41、1S1elseelse 语句语句S2S2语句语句S1,S2可以是简单语可以是简单语句,也可以是复合语句。句,也可以是复合语句。如果是复合语句,必须用如果是复合语句,必须用一对花括号一对花括号“ ”括起来括起来1. 基本选择结构(ifelse结构)表表2-11:选择结构的基本编程模式:选择结构的基本编程模式 if语句的三种基本形式 模式1: 单选择if语句 语句格式: if (条件) 语句组; 语句语句N条件条件Y 功能:判断条件为真时执功能:判断条件为真时执行语句行语句,否则否则跳过跳过语句语句模式2: 双选择if语句 语句格式: if (条件) 语句组1; else 语句组2; 功能:判断条

    42、件为真时执行语句组功能:判断条件为真时执行语句组1,否则否则执行语句组执行语句组2 条件条件 语句语句1 语句语句2YN模式3: 多条件的if语句 语句格式: if (条件1) 语句1; else if (条件2) 语句2; else if (条件3) 语句3; else if (条件m) 语句m; else 语句n; 语句语句1N条件条件1Y条件条件2条件条件nYY语句语句2 语句语句3语句语句nNN功能:功能:从多组语句中选择满足条从多组语句中选择满足条件的语句组执行。件的语句组执行。#include void main() int a,b,t; scanf(%d%d,&a,&b); if

    43、(ab) /使用模式1 t=a;a=b;b=t; printf(a=%d,b=%dn,a,b);【例例】将二数(将二数(a,b)中的大数存放到)中的大数存放到a中。中。 5 10a=10,b=5 #include void main() float a,b,c,max3;printf(输入三个数a,b,c:);scanf(%f%f%f,&a,&b,&c);if(ab) /第一个选择结构:使用模式2max3=a;elsemax3=b; /第一个选择结构结束if(max3c) /第二个选择结构:使用模式1max3=c; /第二个选择结构结束printf(max3=%fn,max3); 【例例2-9

    44、】从键盘任意输入三个数,输出三个数中最大的数从键盘任意输入三个数,输出三个数中最大的数 输入三个数输入三个数a,b,c:3 4 5max3=5.000000 #include #include void main() float a,b,c,s,area; scanf(%f%f%f,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%f, b=%f, c=%f, s=%fn,a,b,c,s); printf(area=%fn,area);【例例】输入三角形的三边长输入三角形的三边长a、b、c,求三角形面积,求

    45、三角形面积area。思考:下面程序的问题?如何改进?思考:下面程序的问题?如何改进?有一函数有一函数编写一个程序,输入编写一个程序,输入x输出输出y值。值。0, 10, 00, 1xxxy main( ) int x, y; scanf( “%d”, &x ); if( x =0) if(x0) y=1; else y=0; else y=-1; printf( “x = %dty = %dn”, x. y );方法二:方法二:运行:23X=23,y=1例例 考虑下面程序输出结果考虑下面程序输出结果: main() int x=100,a=10,b=20; int v1=5,v2=0; if(

    46、ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; printf(“%d”,x); 结果:结果:100例:体型判断 按“体指数”对肥胖程度进行划分: 体指数t = w / h2 (体重w单位为公斤,身高h单位为米) 当当t 18时,为低体重;时,为低体重; 当当18 t 25时,为正常体重;时,为正常体重; 当当25 t 27时,为超重体重;时,为超重体重; 当当t 27时,为肥胖。时,为肥胖。 编程从键盘输入你的身高h和体重w,判断你的体重属于何种类型。例 #include main() float h, w, t;printf(Please enter

    47、 h,w:);scanf(%f%f, &h, &w);t = w / (h * h);if (t = 18 & t = 25 & t = 27) printf(t=%ftToo fat!n, t); 当当t 18时,为低体重;时,为低体重;当当18 t 25时,为正常体重;时,为正常体重;当当25 t 27时,为超重体重;时,为超重体重;当当t 27时,为肥胖。时,为肥胖。 #include main() float h, w, t;printf(Please enter h,w:);scanf(%f%f, &h, &w);t = w / (h * h);if (t 18)printf(t=%

    48、ftLower weight!n, t);else if (t 25)printf(t=%ftStandard weight!n, t);else if (t 27)printf(t=%ftHigher weight!n, t);elseprintf(t=%ftToo fat!n, t); 例当当t 18时,为低体重;时,为低体重;当当18 t 25时,为正常体重;时,为正常体重;当当25 t 27时,为超重体重;时,为超重体重;当当t 27时,为肥胖。时,为肥胖。3.多分支选择结构输入一个整数,输出是英文月份名输入一个整数,输出是英文月份名?scanf(“%d”,m);if (m=1) pr

    49、intf(“January”);else if (m=2) printf(“Febrary”);else if (m=3) printf(“March”);else if (m=12) printf(“December”);else printf(“Wrong input!”); 代码太长代码太长结构不清晰结构不清晰Example: switch (month) case 1:printf(“January”); break;case 2:printf(“February”); break;case 3:printf(“March”); break; case 12:printf(“Decem

    50、ber”); break;default:printf(“Othersn”);break; Example: switch (month) case 1:printf(“Januaryn”);break;case 2:printf(“Februaryn”);break;case 3:printf(“Marchn”);break;default:printf(“Othersn”);break; printf(“End”);January_JanuaryEnd _程序举例运输公司对用户计算运费。运输公司对用户计算运费。路程()越远,每公里运费越低。标准如下:路程()越远,每公里运费越低。标准如下:

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《C语言程序设计》全册配套课件.ppt
    链接地址:https://www.163wenku.com/p-2039516.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库