1 / 55

第 2 章 用 C 语言表达程序

第 2 章 用 C 语言表达程序. 内容回顾. 算法: 方法和步骤 框图: 算法的表示方法。流程图、 PAD 程序: 算法的具体实现 操作: 编辑→编译→链接→运行 查错:语法错误、语义错误. 内容回顾. 重点: 主函数: main 键盘输入函数 scanf 屏幕输出函数 printf 基本数据类型: int , float , double. 内容回顾. 题目: ① 几个数的最大数(最小数) ② 两个数的和(差) ③圆的面积. 内容回顾. 求两个整数的最大数

brina
Télécharger la présentation

第 2 章 用 C 语言表达程序

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第2章 用C语言表达程序

  2. 内容回顾 算法:方法和步骤 框图:算法的表示方法。流程图、PAD 程序:算法的具体实现 操作:编辑→编译→链接→运行 查错:语法错误、语义错误

  3. 内容回顾 重点: 主函数:main 键盘输入函数scanf 屏幕输出函数printf 基本数据类型:int,float,double

  4. 内容回顾 题目: ① 几个数的最大数(最小数) ② 两个数的和(差) ③圆的面积

  5. 内容回顾 求两个整数的最大数 定义变量:int a, b, max; 分配内存空间 a b max

  6. 内容回顾 输入: scanf(“%d,%d”,&a, &b); a 5 b 9 max 键盘

  7. 内容回顾 处理: max = a; 5 a 5 b 9 max

  8. 内容回顾 处理: max = a; if ( max < b ) max = b; 9 a 5 b 9 max

  9. 内容回顾 输出: printf(“%d”, max); 9 a 5 b 9 max 屏幕

  10. 内容回顾 函数结束, 释放变量空间 由操作系统(Windows)管理内存。

  11. C程序的结构 ◆ 由函数组成 ◆ 有且只有一个主函数(main)

  12. 例2-1 输入两个整数,输出其和. ◆输入: ? ◆处理: ? ◆输出: ?

  13. 例2-1 输入两个整数,输出其和. ◆输入: ? ◆处理: ? ◆输出: ? scanf(“%d,%d”, &a, &b); c = a + b; 不需要用if printf(“%d”, c);

  14. 例2-1 输入两个整数,输出其和. ①关于头文件 ②标识符 ③标识符命名 ④关于注释 ⑤版权说明 #include <stdio.h> // 标准输入输出函数的声明void main( ) // 主函数, 程序的入口{ int a, b, c; /* 定义变量 */ scanf(“%d,%d”, &a, &b); // 输入c = a + b; // 处理printf(“%d”, c); // 输出}

  15. 例2-2 输入两个整数,输出平方和. #include <stdio.h> // 标准输入输出函数的声明void main( ) // 主函数, 程序的入口{ int a, b, square; /* 定义变量 */ scanf(“%d,%d”, &a, &b); // 输入c = a*a + b*b; // 处理printf(“%d”, square); // 输出}

  16. 输入一个整数,输出其绝对值. 课堂练习 ◆输入◆处理◆输出

  17. 例2-3计算圆的周长与面积. ◆输入◆处理◆输出 ①函数 ②函数的构造 ③函数的调用 ④实数类型

  18. 小结 ①C程序由函数组成,主函数是入口; ②两个基本数据类型:整型、实型; ③程序的基本思路:输入-处理-输出; ④标识符、命名法。

  19. 上机作业 • 习题2.1~2.3;

  20. 上机存在的问题 • “= ”和“==”是同一个意思吗? • 同一行的语句用逗号隔开: max=a,max=b; • 编辑新的程序时,忘记关闭工作空间。

  21. 内容回顾 • 一个程序有几个主函数?主函数的作用? • 标识符的命名规则;匈牙利命名法 • 整型、单精浮点、双精浮点标识符是如何表示的?

  22. 例2-3计算圆的周长与面积. • 输入 • 处理 • 输出 用函数scanf实现键盘输入圆的半径r。 用求圆的周长和面积的公式c=2πr ,s=πr2,计算周长c、面积s。 把上面的计算结果c和s用函数printf 向屏幕输出。

  23. 例2-3计算圆的周长与面积. #include<stdio.h> void main( ) { float r, c, s ; scanf(“%f”,&r); c=2*3.1415926*r; s=3.1415926*r*r; printf(“周长为:%f, 面积为:%f\n", c, s); }

  24. 例2-3计算圆的周长与面积. • 输入 • 处理 • 输出 ①函数 ②函数的构造 ③函数的调用 ④实数类型

  25. 参数 函数 函数值 关于函数: • 输入:参数 • 参数处理:函数体 • 输出:返回值关于库函数:附录D。

  26. 例2-3:计算圆的周长与面积。 • #include<stdio.h> • float c( float r ) • { • return 2*3.1415926*r; • } • float s( float r ) • { • return 3.1415926*r*r; • } • void main( ) • { • float r; • scanf( "%f", &r ); • printf ( “ c: %f, s:%f\n ", c(r),s(r) ); • }

  27. 0、-2、123 整型常量 实型常量 0.2、4.8、1.3e20 按数据类型 字符常量 'A' 、'g'、'+'、'?' 字符串常量 直接常量(字面常量) “Abc” 按字面形式 符号常量 常量 • 常量:在程序的运行过程中,其值不能被改变 • 常量的分类: (用标识符表示的常量)

  28. 例2-4 球的表面积与体积 • 构造函数 • 常量标识符 • 编译预处理

  29. 变量与内存 • 变量:在程序的运行过程中,其值可以 被改变的。 • 定义了变量就分配了空间。 • 空间的大小与数据类型有关。

  30. 小结 • 构造函数、调用函数; • 常量; • 预处理; • 变量与内存; • 记住:交换两个变量的程序段作业:输入三个整数,从大到小输出。

  31. 内容回顾 (1)构造函数、调用函数; (2)常量; (3)预处理; (4)变量与内存。

  32. 内容回顾 有关预处理,请看如下实例 #include<stdio.h> #define PI 3.1416 #define S(x) PI*x*x void main() { double r; //输入 scanf(“%lf”,&r); //输出 printf(“%lf”,S(r)); }

  33. 内容回顾 有关预处理,再请看如下实例,看看结果与上面的实例有何不同? #include<stdio.h> #define PI 3.1416 #define S(x) PI*x*x void main() { double a,b; //输入 scanf(“%lf,%lf”,&a,&b); //输出 printf(“%lf”,S(a+b)); }

  34. 内容回顾 有关变量与内存,请看例2-6:交换两个变量的值。 #include<stdio.h> void main() { int a,b,t; //输入 a=2;b=3; //交换 t=a;a=b;b=t; //输出 printf(“%d,%d”,a,b); }

  35. 2 3 2 3 3 2 3 3 2 2 2 a a t b t b t a b a b t t (b)执行“t=a;”后 (c)执行“a=b;”后 (d)执行“b=t;”后 (a)执行“a=2; b=3;”后 此时变量t单元里的值 是内存原来的“残留物”, 值不确定,不必关心

  36. 从例2-6不难看出,变量与内存的关系: 变量有空间 变量的值能被覆盖 变量的值能被复制

  37. 表达式 • 例2-7 :华氏温度转换成摄氏温度。 • 输入:华氏温度F (实数) • 处理: • 输出:摄氏温度C (实数)

  38. 表达式 • 算术运算符 加(+)、减(-)、乘(*)、除( / )、整数取余(%) 注意: ①除( / ):当两个操作数都是整数时,结果 也为整数(丢掉小数部分)。 ②整数取余(%):取模运算,要求整数操作 数。

  39. 课堂练习 首先请大家将下列的应用题的解析式写出;然后将写出的解析式用C语言的表达式表示出来 • 1.利民水果店运来500千克桃,卖出了13筐,平均每筐25千克,还剩多少千克桃? • 2.一个县有1440人参加电视大学学习。每8人准备一台电视机。已经准备好95台,还缺多少台? • 3.一个粮食加工厂碾了一批大米。已经装满96袋,每袋75千克,还剩2700千克没有装袋。把这批大米平均分两批运出,一共运出多少千克?

  40. 课堂练习 • 4.洗发水每瓶15元,商场开展促销活动,买2瓶送1瓶。一次买2瓶,每瓶便宜多少元? • 5.甲乙两种面包车,甲车可乘12人,每辆租金120元。乙车18人,每辆租金160元。旅行团58人,怎样租最省钱?

  41. 表达式 • 关系运算符<, <=, ==, >, >=, != • 逻辑运算符 与(&&)、或(| |)、非(!) • 条件运算符 条件 ?表达式1 :表达式2

  42. 小结 • 预处理方式 • 变量与内存的关系,注意变量定义之后才能使用 • 表达式:算术表达式、逻辑表达式 • 运算符:算术运算符、逻辑运算符、位操作运算符、条件运算符(三目)

  43. 上机作业 • 习题2.4 • 习题2.8

  44. 内容回顾 • 变量与内存 • 运算符: 算术、关系、逻辑条件运算(三目运算)

  45. 表达式 • 位运算符 按位:与(&)、或(|)、异或(^)、取反(~) • 类型自然转换 向占用空间大的转换; 占用空间相同,则向实数转换。

  46. 使用库函数 • 例2-9 求解一元二次方程。输入:方程的系数a,b,c处理:用求根公式求解x1,x2输出:输出解x1,x2

  47. 给变量赋值 赋值表达式: 变量 = 表达式赋值表达式的值是左边变量的值语句:表达式后面加分号变量的自增、自减 x=x+1; 写成变量x自增:++x; 或 x++; x=x-1; 写成变量x自减: --x; 或 x--;

  48. 给变量赋值 • 变量的自增自减 ①单独使用自增的语句,++x与x++效果相同,自减同理; ②特别提示:忌讳使用难懂的表达方式,如“y=x+++z”,有歧义! • 复合赋值运算 在“=”之前加上其他运算符,如+=、-=、*=等。

  49. 基本输入和输出 • 格式输入函数: scanf(“格式字符串”,地址表) • 格式输出函数: printf(“格式字符串”,表达式表) • 格式字符:以%号引导

  50. 基本输入输出 • 字符输入函数: getchar( );在stdio.h中,需回车 getch( );在conio.h中,不需回车 • 字符输出函数: putchar(表达式); • 转义字符:以‘\’引导

More Related