《简单算术程序》PPT课件.ppt

上传人:牧羊曲112 文档编号:5588699 上传时间:2023-07-31 格式:PPT 页数:42 大小:639.50KB
返回 下载 相关 举报
《简单算术程序》PPT课件.ppt_第1页
第1页 / 共42页
《简单算术程序》PPT课件.ppt_第2页
第2页 / 共42页
《简单算术程序》PPT课件.ppt_第3页
第3页 / 共42页
《简单算术程序》PPT课件.ppt_第4页
第4页 / 共42页
《简单算术程序》PPT课件.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《《简单算术程序》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《简单算术程序》PPT课件.ppt(42页珍藏版)》请在三一办公上搜索。

1、基本数据类型,整型,字符型,实型,有,无,说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:,不同类型数据间的转换隐式转换什么情况下发生运算转换-不同类型数据混合运算时赋值转换-把一个值赋给与其类型不同的变量时输出转换-输出时转换成指定的输出格式函数调用转换-实参与形参类型不一致时转换运算转换规则:不同类型数据运算时先自动转换成同一类型,开始做算术,算术式子C语言如何表示,显式转换(强制转换)一般形式:(类型名)(表达式)例(int)(x+y)(int)x+y(double)(3/2)(int)3.6 说明:强制转换得到所需类型的中间变量,原变量类型不变,例 main()

2、float x;int i;x=3.6;i=(int)x;printf(“x=%f,i=%d”,x,i);结果:x=3.600000,i=3,精度损失问题,算术式怎么写,算术运算符:(+-*/%+-),赋值运算符:(=及其扩展),求一年有多少个星期?余多少天,算术运算符和表达式基本算术运算符:+-*/%结合方向:从左向右优先级:()-+,-,-(取负)-*/%-+-(1)(2)(3)(4)多重括号由内向外说明:“-”可为单目运算符时,右结合性两整数相除,结果为整数,即/为自动取整%要求两侧均为整型数据,例 5/2=-5/2.0=,例 5%2=-5%2=1%10=5%1=5.5%2,例 5/2=

3、2-5/2.0=-2.5,例 5%2=1-5%2=-1 1%10=1 5%1=0 5.5%2(),赋值运算符和表达式简单赋值运算符符号:=格式:变量标识符=表达式作用:将一个数据(常量或表达式)赋给一个变量说明“=”是赋值符号而不是等号,等号用“=”,复合赋值运算符种类:+=-=*=/=%=&=|=含义:exp1 op=exp2 exp1=exp1 op exp2,例 a=3;d=func();c=d+2;,赋值说明:结合方向:自右向左优先级:14左侧必须是变量,不能是常量或表达式,右侧表达式必须有确定的值,赋值表达式的值与变量值相等,且可嵌套,赋值转换规则:使赋值号右边表达式值自动转换成其左

4、边变量的类型,例 3=x-2*y;a+b=3;,例 float f;int i;i=10;f=i;则 f=10.0,例 int i;i=2.56;/结果i=2;,例:a=b=c=5 a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2),/表达式值为5,a,b,c值为5,/b=5;a=5,/表达式值11,c=6,a=11,/表达式值10,a=10,b=4,c=6,/表达式值5,a=5,b=10,c=2,复合赋值说明:结合方向:自右向左优先级:12左侧必须是变量,不能是常量或表达式,赋值表达式的值与变量值相等,且可嵌套,赋值转换规则:使赋值号右边表达式值自动转换成

5、其左边变量的类型,例:a=12;a+=a-=a*a,例:int a=2;a%=4-1;a+=a*=a-=a*=3;,/a=-264 等价于a=a+(a=a-(a*a),/a=0 等价于a=a+(a=a*(a=a-(a=a*3),数据输入与输出,输入设备 计算机 输出设备 input output,C语言无I/O语句,I/O操作由函数实现#include,格式:putchar(c)功能:把字符c输出到显示器上参数:字符常量、字符变量、整型变量返值:正常,为显示的代码值;出错,为EOF(-1),数据输出字符输出函数 putchar,#include main()char ch1=C,ch2=h;i

6、nt a=105;putchar(ch1);putchar(ch2);putchar(a);putchar(n);putchar(141);putchar(n);,运行结果:China-,例,格式:printf(“格式控制串”,输出列表)功能:按指定格式向显示器输出数据返值:正常,返回输出字节数;出错,返回EOF(-1),格式输出函数 printf,格式控制串:包含两种信息格式说明:%修饰符格式字符 用于指定输出格式%-/+0 m.n l/h 格式字符普通字符或转义序列:原样输出 printf(“x=%dn”,x);,int a=567;printf(“%d”,a);,int a=255;pr

7、intf(“%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”,a);,float a=567.789;printf(“%g”,a);,printf(“%”);,567,ff,101,567,A,ABC,5.67789e+02,567.789000,567.789,%,%格式修饰格式字符,自增、自减运算符+-作用:使变量

8、值加1或减1种类:前置+i,-i(先执行i+1或i-1,再使用i值)后置 i+,i-(先使用i值,再执行i+1或i-1),例 j=3;k=+j;j=3;k=j+;j=3;printf(“%d”,+j);j=3;printf(“%d”,j+);a=3;b=5;c=(+a)*b;a=3;b=5;c=(a+)*b;,/k=4,j=4,/k=3,j=4,/4,/3,/c=20,a=4,/c=15,a=4,自增、自减运算符+-作用:使变量值加1或减1种类:前置+i,-i(先执行i+1或i-1,再使用i值)后置 i+,i-(先使用i值,再执行i+1或i-1),说明:+-不能用于常量和表达式,如5+,(a+

9、b)+-结合方向:自右向左优先级:-+-*/%-+-(2)(3)(4),例-i+-(i+)i=3;printf(“%d”,-i+);/-3,例-i+i=3;printf(“%d”,-i+);,求平均值,求10,20,30或者a,b,c的平均值,(10+20+30)/3或者(a+b+c)/3,求x平方,求y立方,x*x,y*y*y,#include#include main()float a,b,c,s,area;scanf(%f,%f,%f,例 输入三角形边长,求面积,输入:3,4,6 输出:a=3.00,b=4.00,c=6.00 s=6.50 area=5.33,%格式修饰格式字符,标志宽

10、度.精度h|L,%格式修饰格式字符,标志宽度.精度h|L,-输出数据在域内左对齐(缺省右对齐),+输出结果右对齐,输出符号位,#在八进制和十六进制数前显示前导0,0 x,%格式修饰格式字符,标志宽度.精度h|L,用十进制整数限定输出数据的位数例:printf(“%5d”,24);输出:2 4表示以5位宽度右对齐输出显示整数24。,printf(“%-5d”,24);输出:2 4 printf(“%+5d”,24);输出:+2 4,%格式修饰格式字符,标志宽度.精度h|L,对于实型数,可用“m.n”的形式指定数据的输出宽度和小数位,其中m指数据总宽度。例如:printf(“%8.1f”,123.

11、45);输出为:1 2 3.5,%格式修饰格式字符,标志宽度.精度h|L,对于d、o、x、u格式:h表示short,L表示long对于e、f、g格式:L表示双精度(double)。例如:printf(“%8.1f”,123.45);输出为:1 2 3.5,main()int a=1234;float f=123.456;char ch=a;printf(“%8d,%-8d,%2dn”,a,a,a);printf(“%f,%8.1f,%.2f,%.2en”,f,f,f,f);printf(“%3cn”,ch);,运行:1234,1234,1234 123.456000,123.5,123.46,

12、1.23e+02 a,格式:getchar()功能:从键盘读一字符返值:正常,返回读取的代码值;出错,返回EOF(-1),数据输入字符输入函数 getchar#include“stdio.h”,字符输入函数,例,#include main()int c;printf(Enter a character:);c=getchar();printf(%c,%dn,c,c);,运行结果:Enter a character:AA,65-,格式输入函数 scanf,格式:scanf(“格式控制串”,地址表)功能:按指定格式从键盘读入数据,存入地址表指定的存储单元中返值:正常,返回输入数据个数,例 scan

13、f(“%d”,&a)输入:10 则 a=10,例 scanf(“%c”,输入:#则 ch=#,输入项必须为地址引用,常用输入格式字符,附加格式说明符(修饰符),例 scanf(“%4d%2d%2d”,&yy,&mm,&dd);输入 19991015则 1999yy,10 mm,15 dd,例 scanf(“%3c%2c”,输入 abcde则ac1,d c2,例 scanf(“%2d%*3d%2d”,输入 1234567 则12a,67b,例 scanf(“%3d%*4d%f”,则123k,8765.43f,使用scanf函数注意点 1,输入项要给出变量地址,不能只写变量名。int x;scan

14、f(“%d”,x);错误scanf(“%d”,正确,使用%s 格式输入时,变量名本身就是字符串的首地址,所以不需要加地址运算符。例如:char str6;scanf(“%s”,str);,使用scanf函数注意点 2,输入数据时,不允许规定精度scanf(“%5.2f”,错误,输入数据时,数据与数据之间应使用分割符一般以空格、TAB或回车键作为分隔符其它字符做分隔符:格式串中两个格式符间字符,例 scanf(“%d%o%x”,输入 123 123 123 输出 a=123,b=83,c=291,例 scanf(“%d:%d:%d”,输入 12:30:45 则12 h,30 m,45 s,例 s

15、canf(“%d,%d”,&a,&b)输入 3,4 则3a,4 b,使用scanf函数注意点 3,例scanf(“a=%d,b=%d,c=%d”,输入 a=12,b=24,c=36,使用scanf函数注意点 4,键入数据的类型、宽度应该与格式控制中给定的相一致,例如 double a,b;scanf(“%d%d”,错误,例:从键盘输入大写字母,用小写字母输出,#include stdio.hmain()char c1,c2;c1=getchar();printf(%c,%dn,c1,c1);c2=c1+32;printf(%c,%dn,c2,c2);,输入:A 输出:A,65 a,97,例:从

16、键盘输入两个整数 a 和 b,输出a、b的值以及他们交换后的值。,main()int a,b,c;printf(“Input a and b:”);scanf(“%d%d”,运行结果:Input a and b:5 7 old a=5 b=7new a=7 b=5,例:对于随机输入的半径r,计算圆的直径D、圆周长L、圆面积S、圆球表面积M和球体积V。,#define PI 3.14159main()float r,d,l,s;double m,v;printf(“Input r:”);scanf(“%f”,运行结果:Input r:1.5D=3.00 L=9.42 S=7.07M=28.27 V=14.14,#include#include main()float a,b,c,disc,x1,x2,p,q;scanf(a=%f,b=%f,c=%f,输入:a=1,b=3,c=2 输出:x1=-1.00 x2=-2.00,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号