《第3章顺序程序设计梁简.ppt》由会员分享,可在线阅读,更多相关《第3章顺序程序设计梁简.ppt(29页珍藏版)》请在三一办公上搜索。
1、第3章 顺序程序设计,2,教学目标,了解语句的基本概念了解语句的分类掌握字符输入输出函数getchar和putchar掌握格式输入输出函数scanf和printf掌握顺序程序设计,3,C语言中的语句,控制语句if()elsereturn变量声明语句int a=1;函数调用语句printf(hello world!);表达式语句k+;k=k+1;空语句;复合语句t=x;x=y;y=t;,4,字符输入输出函数,getchar(),字符型数据,字符型数据,putchar(),5,getchar函数,char variablename;variablename=functionname;,getcha
2、r(),语法:,例如:char c;c=getchar();,注意:getchar函数无参数,6,putchar函数,#include int main(void)char ch;printf(Press a key and then press Enter:);ch=getchar();printf(You pressed);putchar(ch);putchar(n);return 0;,运行程序,Press a key and then press Enter:,A,You pressed,A,该语句的作用是什么?,7,格式输入输出函数,输入/输出函数(scanf/printf)用于接受
3、和显示数据或信息,#include int main(void)int num;printf(请输入一个数:);scanf(%d,转换字符串,转义序列,printf()函数的一般形式为:printf(“格式描述串”,输出表列);说明:第一个参数说明采用什么样的格式输出内容。格式描述串中可以包含转换字符串(以“%”开始),也可以包含转义序列(以“”标识)。第二个参数是要显示其值的参数列表。如果格式描述串中没有特殊字符“%”,那么该输出语句里就不能有输出表列,也不需要表示分隔的逗号这是使用printf()函数的最简单的形式。,8,printf()函数,printf()函数的一般形式为:printf
4、(“格式描述串”,输出表列);说明:第一个参数说明采用什么样的格式输出内容。格式描述串中可以包含转换字符串(以“%”开始),也可以包含转义序列(以“”标识)。第二个参数是要显示其值的参数列表。如果格式描述串中没有特殊字符“%”,那么该输出语句里就不能有输出表列,也不需要表示分隔的逗号这是使用printf()函数的最简单的形式。,9,printf函数,int visitor_count=150;printf(%d,visitor_count);,printf,将一些信息按照指定的格式送到标准输出(显示器),%d,visitor_count,将按指定的格式显示该变量的值,10,printf函数,i
5、nt visitor_count=150;printf(%d,visitor_count);,输出结果:150,11,printf函数,int salary=5500;printf(%10d,salary);,输出结果:5500,输出结果的左边显示了 6 个空格,%10d,12,printf函数,float circumference=78.53;printf(%f,circumference);,输出结果:78.530000,默认情况下精确到六位小数,9.4786789;,9.478679,13,printf函数,double mercury_level=168.2251074;printf
6、(%7.2f,mercury_level);,输出结果:168.23,宽度,表示所有的数字和小数点所占的位数。不够7位右对齐。,%7.2f,精度(精确到小数点后多少位),14,printf函数使用,#include int main(void)float radius=1.5,high=2.0;float pi=3.14159,vol;/*计算体积*/vol=pi*radius*radius*high;/*输出体积的值*/printf(vol=%7.2fn,vol);return 0;,1.5,2.0,14.137155,输出:vol=14.14,3.14159,15,scanf函数,scan
7、f(%d,scanf 函数从标准输入(键盘)读取信息,按照格式描述把读入的信息转换为指定数据类型的数据,并把这些数据赋给指定的程序变量。,转换字符串,&符号(附在读取的每个变量上)用于指明变量在内存中的位置,变量的名称,16,scanf函数,内存,float tax_rate;scanf(%f,tax_rate,在内存中分配一块 32 位存储空间存储空间使用名称“tax_rate”标识,提示用户输入一个值输入的值存储在变量中(因为 scanf 提供此变量的地址),12.234,17,scanf函数使用,#include int main(void)double radius,high,vol;
8、printf(请输入圆柱体底面积的半径和圆柱体的高:);scanf(%lf%lf,5,10,785,请输入圆柱体底面积的半径和圆柱体的高:5 10,radius=5.00,high=10.00,vol=785.00,18,scanf函数常见错误,常见错误scanf(%d,%fn”,19,scanf函数使用,#include int main(void)int a,b;printf(Please input a and b:);scanf(%d%d,以空格或TAB 键作为分隔符,20,scanf函数使用,#include int main(void)int a,b;printf(Please i
9、nput a and b:);scanf(%d%d,Please input a and b:,a=12,b=34,a+b=46,12,以回车键作为分隔符,34,21,scanf函数使用,#include int main(void)int a,b;printf(Please input a and b:);scanf(%d,%d,Please input a and b:,a=12,b=34,a+b=46,12,34,这里逗号需要原样输入,22,顺序程序设计,例:输入一个华氏温度,计算并输出对应的摄氏温度值,输出时保留2位小数。,#include int main(void)double c
10、,f;/c和f分别存放摄氏温度和华氏温度printf(请输入一个华氏温度:);scanf(%lf,23,顺序程序设计,编写一个重量单位换算程序,输入用公斤表示的重量,然后程序能够转换并输出用镑和盎司表示的等效重量。请输入重量(公斤):23转换为用磅表示的重量(磅):50.7055转换为用盎司表示的重量(盎司):811.287,问题 如何设计变量及选择相应的数据类型?公斤、磅和盎司的转换公式是什么?,24,顺序程序设计,为保证程序能够处理带小数点的数值,变量的数据类型需选用可以对实数进行操作的双精度类型double。故变量列表为:double kilogram,pound,ounce;/公斤、镑
11、、盎司公斤、磅和盎司的转换公式:1磅=16盎司=0.4536千克(公斤)算法如下:1.得到用公斤表示的重量2.将重量转化为磅:pound=kilogram/0.4536;3.将磅转化为盎司:ounce=pound*16;4.输出转换后的重量,问题分析,25,顺序程序设计,/重量单位换算#include int main(void)double kilogram,pound,ounce;/公斤、镑、盎司printf(请输入重量(公斤):);scanf(%lf,26,顺序程序设计,找零钱问题:假定有5角、1角、5分、2分和1分共5种硬币,在给顾客找硬币时,一般都会尽可能地选用硬币个数最小的方法。例如,当要给某顾客找7角2分钱时,会给他一个5角,2个1角和1个2分的硬币。试编写一个程序,输入的是要找给顾客的零钱(以分为单位),输出的是应该找回的各种硬币数目,并保证找回的硬币数最少。解题思考:利用整数除法/和求余运算符%的特点,计算每种硬币的数目和每次剩余零钱的金额。,27,总结,了解语句的基本概念了解语句的分类掌握字符输入输出函数getchar和putchar掌握格式输入输出函数scanf和printf掌握顺序程序设计,28,作业,书p58的5,6,7,8,9,29,Thank you,Question?,