c语言设计PPT幻灯片课件

第四章简单的C程序设计 4 1C语句的概述 4 2程序的三种基本结构 4 3赋值语句 4 4数据输出 4 5数据输入 4 6程序举例 1 C函数由 数据声明部分 和 执行语句 组成 一个C程序可由若干个源程序文件组成 一个源文件可由若干个函数和预编译命令组成 一个函数包括数据定义部分和执行语句 程序包括数据描述和数据操作 数据描述是定义数据类型和数据初值数据操作是利用语句进行数据加工 处理 4 1C语句概述 2 3 C语句分为5类1 九种控制语句 if else 条件switch多分支选择for 循环while 循环do while 循环continue结束本次循环break终止循环goto转向return从函数返回 4 2 函数调用语句 直接用函数名调用加分号 printf thisisaCstatement c d max a b 3 表达式语句 表达式加分号 a 3 i i 1 i 4 空语句 只有一个分号 什么也不作 if 5 复合语句 用 将多个语句括起来 if C语言允许一个语句拆开写在几行上 也可一行写几个语句 但必须每个语句加分号 5 4 2程序的三种基本构结 1 顺序结构2 选择结构 if 6 3 循环结构 当型结构 while for 直到型结构 do while 假 真 7 4 3赋值语句 1 由赋值表达式加上一个分号构成 赋值运算符 a 3 赋值表达式 a 3 赋值语句 inta b c a 5 b 5 c 5 或a b c 5 正确inta b c 5 错误inta 5 b 5 c 5 正确2 复合赋值运算符 a b a a ba b a a bx 3 x x 33 自增自减运算符 j i i i 1 j ij i j i i i 1 8 4 4数据输出 include 1 屏幕信息输出printf 字符串 例 printf welcomeyou n welcomeyou 转义字符 printf thello teverybody n 格式输出 printf 5s chinadaily 2 单字符输出函数putchar a 例 includevoidmain chara b c a B b O c Y putchar a putchar b putchar c putchar n printf c c c a b c putchar 101 putchar t putchar 141 putchar 005 putchar 007 9 3 字符数组 字符串 输出函数puts 例 includevoidmain charstr 30 abc123efg 或str puts str puts abcdefg 377hijklmn n puts howareyou n printf s str printf s abcdefg printf 5s abcdefg 转义字符 101A 141a 377空格putchar 101 10 4 格式输出函数printf 格式控制 输出表列 printf 字符串 屏幕输出 显示信息 其中 格式和控制如下printf a d b f a b 字符串a b 格式说明 d f输出a 3 b 4 0 例 printf d f c n a b c printf theaverage d n a b printf s chinadaily 11 格式说明字符 12 d十进制 o八进制 x十六进制 md数据的宽度最少m占列 超出则不受限制 ld输入输出long型数据 vc中int与long相同 l可略 hd输入输出long型数据 ho hx u输出unsigned型数据printf d o x n a a a printf 6d ld u n a b c c输出char型数据 mc字符占m列printf c 3c n e e 13 f可输出float和double 数据输出6位小数 float有效数字一般为7位 double有效数字一般为16位 m nfm数据的总宽度n小数的位数printf 2f 3f a b 保留位n小数 s输出字符串 字符数组 m nsm字符的总宽度从左端取n字符printf s abcdefg printf 5s abcdefg 输出n个字符 14 格式说明符由 加格式字符 d o x u c s f e g 组成1 格式字符一般用小写 d f2 格式控制中 可包含转义字符 n t 3 格式控制中 普通字符原样输出a cf b fs4 输出 时 应使用连续两个 printf f 1 0 3 double型 输出 f e输入 lf le long型 ld lo lx vc中int与long相同 15 4 5数据输入 1 字符输入函数getchar 只接受一个字符 可赋值k getchar 也可作为表达式的一部分 putchar getchar 例 includevoidmain charc c getchar putchar c includevoidmain charc c getchar while c putchar c c getchar 16 2 字符数组输入函数gets main charstr 30 string gets str string abcdefg puts str puts string printf s n str printf s n string 17 3 格式输入函数scanf 格式控制 地址表列 例 scanf d f c double型 lf le long型 ld lo lxshort型 hd ho hx 18 例 includevoidmain 输入输出 chara floatb doublec scanf c includevoidmain inta floatb charc d scanf d c f c 123W3 14T 数据连续输入 不能用空格或回车符分隔 不同类型数据最好单独输入 不要混用 19 includevoidmain 判断变量类型 空间 inta floatb doublec printf d sizeof short printf d sizeof long printf d sizeof int printf d sizeof a printf d sizeof b printf d sizeof c 20 执行 4 6程序举例 例1 输入一个小写字母 用大写字母输出 程序如下 includevoidmain charc1 c2 c1 getchar printf c d n c1 c1 c2 c1 32 printf c d n c2 c2 21 例2输入三角形三边长 求面积 voidmain floata b c s area scanf f f f 例3求ax2 bx c 0的根 a b c由键盘输入 b2 4ac 0 includevoidmain floata b c disc x1 x2 p q scanf f f f 22 例 includevoidmain 换算为时分秒 inta 123456 h m s h a 3600 m a 3600 60 s a 60 printf d d d n h m s 23 常见问题 1 scanf f n f n 练习1 输入半径 求圆面积 球体积 保留2位小数2 输入1字符 输出字符及其ASCII码值 3 输入直角三角形2直角边 求面积 4 输入直角三角形斜边和1锐角 求面积 5 输入2整数 求商和余数 按八 十六进制输出 24 4 6 includevoidmain inta b floatx y charc1 c2 scanf a db d 25 习题 4 8 include definePI3 14159voidmain 计算圆 球 柱 floatr h l s sq vq vz scanf f f 26 习题 4 9 includevoidmain 计算摄氏度 floatc f printf 输入华氏温度 scanf f 27 第五章逻辑运算和判断选取控制 5 1关系运算符和关系表达式 5 2逻辑运算符和逻辑表达式 5 3if语句 5 4switch语句 5 5程序举例 28 5 1关系运算符和关系表达式 关系运算符及优先次序 小于 小于或等于 大于 大于或等于 等于 不等于前4种高于后2种关系符低于算术符关系符高于赋值符 例 c a b c a b a b c a b ca bc a b c 29 关系表达式用关系运算符将两个表达式连接起来的式子 称关系表达式 例如 a b a 3 b 5 关系表达式的值是一个逻辑值 即 1 真 或 0 假 例 a 3 b 2 c 1 a b 1a b c 1a b c 0a b c 0d a b 1f a b c 1f a b c 0 30 5 2逻辑运算符和逻辑表达式 1 三种逻辑运算符 逻辑与 逻辑或 逻辑非2 优先级依次减小3 和 低于关系符 高于算术运算符 31 4 逻辑表达式逻辑表达式的值是一个逻辑量 真 或 假 数值1代表 真 数值0代表 假 判断时 非零为真 0为假 例 a 4 则 a的值为0 a 4 b 0 则a b的值为0 a b的值为1 5 3 2 85 n c d m为假 则不执行n c d n值不变 32 例 aa b c b c 0a b c b c 1 a b c 1 1 x a y b 0 0 a b c 1 b c 2 1 33 闰年的判断条件 能被4整除 但不能被100整除 能被4整除 同时能被400整除 闰年判别式 year 4 0 year 100 0 year 400 0 非闰年判别式 year 4 0 year 100 0 year 400 0 year 4 0 year 100 0 year 400 0 34 5 3if语句 a if 表达式 语句 b if 表达式 语句1 else语句2 35 if语句的三种形式 if 表达式 语句if 表达式 语句1 else语句2 if 表达式1 语句1 elseif 表达式2 语句2 elseif 表达式3 语句3 else语句n 例if x y max x elsemax y 例if y 4 0 36 1 if x y printf m d x if a b 37 问题 若a 0则b c为0 否则b c为1 include stdio h voidmain inta scanf d cannotfindifstatement 38 多分支if语句 39 多分支if语句 40 1 if n 90 printf A elseif n 80 printf B elseif n 60 printf C elseprintf D 2 if n 90 printf A if n 80 41 if语句的嵌套 42 如果if与else的数目不一致 加花括弧来确定配对关系 限定了内嵌if语句的范围if if 语句1 else语句2 if x 0 if x 0 y 1 elsey 0 elsey 1 y 1 if x 0 if x 0 y 1 elsey 0 加 y 0 if x 0 if x 0 y 1 elsey 1 加 if x 0 y 1 elseif x 0 y 0 elsey 1 43 条件运算符 a b a b表达式1 表达式2 表达式3例 a b max a max b 可替代简单的if语句if a b max a elsemax b 例 max a b a b或max a b a bprintf d a b a b a b a 100 b 100 a b printf d a printf d b 例 a b 44 例5 1输入两实数 按代数值由小到大次序输出 voidmain floata b t scanf f f 例5 3编程y 1 x 0 y 0 x 0 y 1 x 0 voidma