第3章_顺序程序设计1.ppt
文本预览下载声明
第3章 顺序程序设计 回顾 常量是在程序中不能被更改的值;而变量在程序中可以被更改的,通过变量可以引用存储在内存中的数据 C语言中的基本数据类型包括整型、单精度浮点型、双精度浮点型和字符型 整型分为短整型、整型、长整型,每种整型又可分为有符号型和无符号型 单精度浮点型和双精度浮点型变量可以存储实数,但双精度型取值范围要比单精度型大的多 字符型变量可以存储单个字符,其值是该字符的ASCII 码 表达式是操作数和运算符的集合 赋值运算符的语法如下:variable = expression sizeof运算符用于在程序中测试某一数据类型占用多少字节 算术运算符提供运算功能,包括+、-、*、/、%、++和-- 由计算机向屏幕上输出一个数 #include stdlib.h //包含伪随机数生成函数 #include time.h //包含取系统时间的函数 #include stdio.h int main(void) { srand(time(NULL)); //随机数种子初始化 printf(%d,rand()); return 0; } 编写一个重量单位换算程序,输入用公斤表示的重量,然后程序能够转换并输出用镑和盎司表示的等效重量。 请输入重量(公斤):23 转换为用磅表示的重量(磅):50.7055 转换为用盎司表示的重量(盎司):811.287 为保证程序能够处理带小数点的数值,变量的数据类型需选用可以对实数进行操作的双精度类型double。故变量列表为: double kilogram, pound, ounce; //公斤、镑、盎司 公斤、磅和盎司的转换公式: 1磅=16盎司=0.4536千克(公斤) 算法如下: 1. 得到用公斤表示的重量 2. 将重量转化为磅:pound=kilogram/0.4536; 3. 将磅转化为盎司:ounce=pound*16;? 4. 输出转换后的重量 // 重量单位换算 #include stdio.h int main(void) { double kilogram, pound, ounce; //公斤、镑、盎司 printf(请输入重量(公斤):); scanf(%lf,kilogram); pound=kilogram/0.4536; ounce=pound*16; printf(转换为用磅表示的重量(磅):%f\n,pound); printf(转换为用盎司表示的重量(盎司):%f\n,ounce); return 0; } 如果要想从磅和盎司转换成公斤,应该怎么修改程序? 如果要想将本案例程序的输出改成**磅**盎司(磅和盎司都省略小数点后的位数),应该怎么修改程序? 例:输入一个华氏温度,计算并输出对应的摄氏温度值,输出时保留2位小数。 找零钱问题:假定有5角、1角、5分、2分和1分共5种硬币,在给顾客找硬币时,一般都会尽可能地选用硬币个数最小的方法。例如,当要给某顾客找7角2分钱时,会给他一个5角,2个1角和1个2分的硬币。试编写一个程序,输入的是要找给顾客的零钱(以分为单位),输出的是应该找回的各种硬币数目,并保证找回的硬币数最少。 解题思考:利用整数除法/和求余运算符%的特点,计算每种硬币的数目和每次剩余零钱的金额。 Thank you 2. 设计算法举例 【例1】输入三个数,然后输出其中最大的数 。 总体思路: 首先,得先有个地方装这三个数,我们定义三个变量A、B、C,将三个数依次输入到A、B、C中,另外,再准备一个MAX装最大数。 由于计算机一次只能比较两个数,我们首先把A与B比,大的数放入MAX中,再把MAX与C比,又把大的数放入MAX中。 最后,把MAX输出,此时MAX中装的就是A、B、C三数中最大的一个数。 具体步骤: (1) 输入A、B、C。 (2) A与B中大的一个放入MAX中。 (3) 把C与MAX中大的一个放入MAX中。 (4) 输出MAX,MAX即为最大数。 其中的(2)、(3)两步仍不明确,无法直接转化为程序语句,可以继续细化: (2) 把A与B中大的一个放入MAX中,若A B,则MAX ← A;否则MAX ← B。 (3) 把C与MAX中大的一个放入MAX中,若C MAX,则MAX ← C。 算法最后可以写成: (1) 输入A,B,C。 (2) 若A B,则MAX ← A;否则MA
显示全部