c+语言:1%3c%3c,C语言教程第4章1课件

第4章最简单的C程序设计-顺序程序设计,4.1C语句概述,分五类:1、空语句;(考点),空语句也可用作循环语句中的循环体,表示循环体什么也不做。这一点将在第6章详细讲解。,2、9种控制语句if()~else~条件语句for()~循环语句while()~循环语句do~while()循环语句continue结束本次循环语句break终止执行switch或循环语句switch多分支选择语句goto转向语句return从函数返回语句,3、函数调用语句max(a,b);4、表达式语句x>y;a=x+y;5、复合语句又称分程序{}例:main(){inta,b,c;…{z=x+y;t=z/100;printf(“%f”,t);}…},4.2赋值语句赋值表达式后加分号,即为赋值语句。这一节不用管。,a=3,;,4.3数据输入输出的概念及在C语言中的实现,1、C语言本身并不提供输入输出语句(即没有关键字的功能是用于I/O的),输入与输出是由C函数库中的函数来实现的。2、C语言提供了六个标准I/O函数:putcharputsprintfgetchargetsscanf,,,,,,3、在使用以上六个库函数时,要用预编译命令#include,将头文件包含到用户源程序文件中。4、由于printf与scanf函数使用频率很高,所以系统允许在使用这两个函数时不加#include,4.4字符数据的输入输出,4.4.1putchar函数格式:putchar(c);作用:向终端(显示器)输出一个字符。其中,c是字符常量与变量,或整型常量与变量。,#includemain(){chara=‘A’;intb=65;putchar(a);putchar(‘\n’);putchar(b);putchar(‘\12’);putchar(65);putchar(‘\xa’);putchar(‘A’);putchar(‘\n’);putchar(‘\101’);putchar(‘\n’);putchar(‘\x41’);putchar(‘\n’);},运行,回忆表格,4.4.2getchar函数格式:getchar();(括号内无参数)作用:从终端(键盘)输入一个字符(只能接收一个字符),,,,,,例4.2输入单个字符#includemain(){charc;c=getchar();putchar(c);},main(){putchar(getchar());},运行,4.5格式输入与输出,4.5.1printf函数(格式输出函数)格式:printf(格式控制,输出表列)作用:输出任何类型的多个数据括号内包括两部分:格式控制、输出表列,,,(1)格式控制,①格式说明,由%和格式字符组成如:%f,%d②普通字符,即需要原样输出的如:printf(“a=%d,b=%f\n”,a,b);,(2)输出表列,即需要输出的一些数据,可以是表达式如:printf(“%f,%d,%s\n”,a+b,c,“hello”);,2、格式字符在输出时,不同类型的数据严格按照不同的格式字符。,(1)d格式。用来输出十进制整数以输出整数12345为例①%d12345,②%8d,□□□12345,③%3d,12345,④%-8d,12345□□□,⑤%+8d,□□+12345,⑥%08d,,⑦%-08d,12345□□□,⑧%+08d,+0012345,再以输出整数-12345为例,①%8d,□□-12345,②%+8d,□□-12345,③%08d,-0012345,④%+08d,-0012345,%ld格式。用来输出十进制长整型。对于%d成立的格式,对于%ld也成立。,*****,,,(2)o、x、u格式以八进制、十六进制和无符号数形式输出。,提前处理:-2在内存中的二进制形式:原:1000000000000010反:1111111111111101补:1111111111111110,四位分组:1111111111111110fffe三位分组:1111111111111110177776若看作无符号数,则为65534(65535为全1)。,无符号数65535在内存中的二进制形式:1111111111111111若将其看作有符号数,则其为补码,十进制-1。补:1111111111111111反:1111111111111110原:100000000000000111111111111111111111111111111111ffff177777,,*****,main(){unsigneda=65535;intb=-2;printf("a=%d,%o,%x,%u\n",a,a,a,a);printf("b=%d,%o,%x,%u\n",b,b,b,b);},,运行结果:a=-1,177777,ffff,65535b=-2,177776,fffe,65534,main(){unsigneda=65535;printf("a=%o,%#o\n",a,a);printf(“a=%x,%#x\n",a,a);printf(“a=%X,%#X\n",a,a);},运行结果:a=177777,0177777a=ffff,0 xffffa=FFFF,0XFFFF,(3)c格式main(){charc=a;inti=97;printf("%3c\n",c);printf("%-3c\n",i);},,,运行结果:□□aa□□,4、s格式用来输出字符串。以输出字符串“abcde”为例。①%sabcde,②%8s,□□□abcde,③%-8s,abcde□□□,④%3s,abcde,⑤%6.2s,□□□□ab,⑥%-6.2s,ab□□□□,⑦%.2s,ab,5、f格式用来输出实型数(float与double)。在默认情况下输出六位小数。以输出实型数123.458为例。,①%f,123.458000,②%12f,□□123.458000,③%-12f,123.458000□□,④%8f,123.458000,⑤%8.2f,□□123.46,四舍五入,⑥%-8.2f,123.46□□,⑦%.2f,123.46,在输出float与double时,注意有效位(7位、16位)main(){floatx=111111.111,y=222222.222;doublem=111111111111111.11111,n=222222222222222.22222;printf(“%f\n%f”,x+y,m+n);},结果为:333333.328125333333333333333.312000,6、e格式以指数形式输出实数。系统默认输出六位小数。以输出实型数123.458为例。①%e1.234580e+002,②%13.4e,□□1.2346e+002,四舍五入,③%-13.4e,1.2346e+002□□,④%.4e,1.2346e+002,⑤%E,1.234580E+002,7、g格式自动选f或e格式(选择输出时占宽度较小的一种)输出实型数,且不输出无意义的零。以输出实型数f=123.468为例。printf(“%f,%e,%g”,f,f,f);123.468000,1.234680e+002,123.468,,,10列,13列,8、用两个%可输出一个%。printf(“%f%%”,1.0/3);结果为0.333333%。,9、若输出项比格式字符多,则右侧多出的输出项将不予输出。若格式字符比输出项多,则多出的格式字符将会对应出一个随机数。,3,5,3,5,2077,inta=3,b=5,c=7;printf(“%d,%d”,a,b,c);printf(“%d,%d,%d”,a,b);,10、printf函数有返回值,为格式控制部分包含字符的个数。如,a=printf(“xyz”);则a的值为3b=printf(“xyz\n”);则b的值为4c=printf(“a=%d\n”,a);则c的值为4,,4.5.2scanf函数(格式输入函数)格式:scanf(格式控制,地址表列)作用:输入任何类型的多个数据格式控制同printf函数基本相同,1、输入表列应当是变量地址,而不是变量名。2、格式控制中的普通字符,应照原样输入如:scanf(“a=%d,b=%f”,,5、输入形式(1)scanf("%d%d%d",输入:345或345或3(按Tab键)4(按Tab键)5或空格、回车、Tab键的组合。,,,,,(2)scanf("%3d%2d%3d",运行时若输入:123456789,则a、b、c的值分别为,123、45、678。,(3)scanf(“%3d%*2d%3d”,若输入123456789,则a的值为,b的值为。*表示跳过指定的列数。,(4)scanf("%c%c%c",若想使a、b、c的值为A、B、C,则运行时输入ABC,而不能输入ABC。因为这会使a、b、c的值为A、、B,123,678,(5)scanf("%3c%2c%3c",运行时若输入:ABCDEFGHIJK,则a、b、c的值分别为,(6)scanf("%d%c%f",若想使a、b、c的值为12、A、3.4,则运行时输入12A3.4,而不能输入12A3.4。,A、D、F。,例4.10输入三角形的三个边长,求三角形面积公式:area=s(s-a)(s-b)(s-c)其中:s=(a+b+c)/2,,#includemain(){floata,b,c,s,area;scanf("%f,%f,%f",},问题:该程序并非一个完美的程序,因为有可能用户输入的三边值构不成三角形,例如1,2,3。不过这个问题将会在学习完第6章后解决。,练习:求ax2+bx+c=0的根。其中a、b、c由键盘输入。,X=,#includemain(){floata,b,c,d,x1,x2;scanf("%f,%f,%f",},问题:该程序也不是一个完美的程序,因为有可能用户输入的a、b、c的值无法保证b2-4ac≥0,并且也有可能使a的值为0。不过这个问题也将会在学习完第6章后解决。,本章结束,返回,此课件下载可自行编辑修改,供参考!感谢您的支持,我们努力做得更好!,

展开阅读全文

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值