《C语言教程第4章》课件_第1页
《C语言教程第4章》课件_第2页
《C语言教程第4章》课件_第3页
《C语言教程第4章》课件_第4页
《C语言教程第4章》课件_第5页
已阅读5页,还剩41页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C语言教程第4章,第4章 最简单的C程序设计顺序程序设计,C语言教程第4章,4.1 C语句概述,分五类: 1、空语句 ; (考点),空语句也可用作循环语句中的循环体,表示循环体什么也不做。这一点将在第6章详细讲解。,C语言教程第4章,2、 种控制语句 if( ) else 条件语句 for( ) 循环语句 while( ) 循环语句 dowhile( ) 循环语句 continue 结束本次循环语句 break 终止执行switch或循环语句 switch 多分支选择语句 goto 转向语句 return 从函数返回语句,C语言教程第4章,3、函数调用语句 max( a,b); 4、表达式语句

2、xy; a=x+y; 5、复合语句又称分程序 例: main( ) int a,b,c; z=x+y; t=z/100; printf(“%f”,t); ,C语言教程第4章,4.2 赋值语句 赋值表达式后加分号,即为赋值语句。这一节不用管。,a=3,;,C语言教程第4章,4.3 数据输入输出的概念及在C语言中的实现,1、C语言本身并不提供输入输出语句(即没有关键字的功能是用于I/O的),输入与输出是由C函数库中的函数来实现的。 2、C语言提供了六个标准I/O函数: putchar puts printf getchar gets scanf,C语言教程第4章,3、在使用以上六个库函数时,要用预

3、编译命令#include,将头文件包含到用户源程序文件中。 4、由于printf与scanf函数使用频率很高,所以系统允许在使用这两个函数时不加 #include,C语言教程第4章,4.4 字符数据的输入输出,4.4.1 putchar函数 格式:putchar(c); 作用:向终端(显示器)输出一个字符。其中,c是字符常量与变量,或整型常量与变量。,C语言教程第4章,#include main() char a=A; int b=65; putchar(a);putchar(n); putchar(b); putchar(12); putchar(65); putchar(xa); putc

4、har(A); putchar(n); putchar(101); putchar(n); putchar(x41); putchar(n); ,运行,回忆表格,C语言教程第4章,4.4.2 getchar函数 格式:getchar();(括号内无参数) 作用:从终端(键盘)输入一个字符(只能接收一个字符),C语言教程第4章,例4.2 输入单个字符 #include main() char c; c=getchar(); putchar(c); ,main() putchar(getchar( ); ,运行,C语言教程第4章,4.5 格式输入与输出,4.5.1 printf函数(格式输出函数)

5、 格式:printf(格式控制,输出表列) 作用:输出任何类型的多个数据 括号内包括两部分: 格式控制、输出表列,C语言教程第4章,()格式控制,格式说明,由和格式字符组成 如:%f , %d 普通字符,即需要原样输出的 如:printf(“a=%d, b=%fn”,a,b);,C语言教程第4章,(2) 输出表列,即需要输出的一些数据,可以是表达式 如:printf(“%f,%d,%sn”,a+b,c,“hello”);,C语言教程第4章,2、格式字符 在输出时,不同类型的数据严格按照不同的格式字符。,C语言教程第4章,(1)d格式。用来输出十进制整数 以输出整数12345为例 %d 1234

6、5,%8d,12345,%3d,12345,%-8d,12345,%+8d,+12345,C语言教程第4章,%08d,00012345,%-08d,12345,%+08d,+0012345,再以输出整数-12345为例,%8d,-12345,%+8d,-12345,%08d,-0012345,%+08d,-0012345,C语言教程第4章,%ld格式。用来输出十进制长整型。 对于%d成立的格式,对于%ld也成立。,C语言教程第4章,*,(2)o、x、u格式 以八进制、十六进制和无符号数形式输出。,提前处理: -2在内存中的二进制形式: 原:1000 0000 0000 0010 反:1111

7、1111 1111 1101 补:1111 1111 1111 1110,C语言教程第4章,四位分组: 1111 1111 1111 1110 f f f e 三位分组: 1 111 111 111 111 110 1 7 7 7 7 6 若看作无符号数,则为65534(65535为全1)。,C语言教程第4章,无符号数65535在内存中的二进制形式: 1111 1111 1111 1111 若将其看作有符号数,则其为补码,十进制-1 。 补:1111 1111 1111 1111 反:1111 1111 1111 1110 原:1000 0000 0000 0001 1111 1111 111

8、1 1111 1 111 111 111 111 111 f f f f 1 7 7 7 7 7,C语言教程第4章,*,main() unsigned a=65535; int b=-2; printf(a=%d,%o,%x,%un,a,a,a,a); printf(b=%d,%o,%x,%un,b,b,b,b); ,运行结果:a=-1,177777,ffff,65535 b=-2,177776,fffe,65534,C语言教程第4章,main() unsigned a=65535; printf(a=%o,%#on,a,a); printf(“a=%x,%#xn,a,a); printf(“

9、a=%X,%#Xn,a,a); ,运行结果:a=177777,0177777 a=ffff,0 xffff a=FFFF,0XFFFF,C语言教程第4章,(3)c格式 main( ) char c=a; int i=97; printf(%3cn,c); printf(%-3cn,i); ,运行结果:a a,C语言教程第4章,4、s格式 用来输出字符串。以输出字符串“abcde”为例。 %s abcde,%8s,abcde,%-8s,abcde,%3s,abcde,%6.2s,ab,%-6.2s,ab,%.2s,ab,C语言教程第4章,5、f格式 用来输出实型数(float与double)。在

10、默认情况下输出六位小数。以输出实型数123.458为例。,%f,123.458000,%12f,123.458000,%-12f,123.458000,%8f,123.458000,C语言教程第4章,%8.2f,123.46,四舍五入,%-8.2f,123.46,%.2f,123.46,C语言教程第4章,在输出float与double时,注意有效位(7位、16位) main() float x=111111.111,y=222222.222; double m=111111111111111.11111, n=222222222222222.22222; printf(“%fn%f”,x+y,

11、m+n); ,结果为:333333.328125 333333333333333.312000,C语言教程第4章,6、e格式 以指数形式输出实数。系统默认输出六位小数。以输出实型数123.458为例。 %e 1.234580e+002,%13.4e,1.2346e+002,四舍五入,%-13.4e,1.2346e+002,%.4e,1.2346e+002,%E,1.234580E+002,C语言教程第4章,7、g格式 自动选f或e格式(选择输出时占宽度较小的一种)输出实型数,且不输出无意义的零。以输出实型数f=123.468为例。 printf(“%f,%e,%g”,f,f,f); 123.4

12、68000,1.234680e+002,123.468,10列,13列,C语言教程第4章,8、用两个%可输出一个%。 printf(“%f%”,1.0/3); 结果为0.333333%。,C语言教程第4章,9、若输出项比格式字符多,则右侧多出的输出项将不予输出。 若格式字符比输出项多,则多出的格式字符将会对应出一个随机数。,3,5,3,5,2077,int a=3,b=5,c=7; printf(“%d,%d”,a,b,c); printf(“%d,%d,%d”,a,b);,C语言教程第4章,10、printf函数有返回值,为格式控制部分包含字符的个数。 如,a=printf(“xyz”);则

13、a的值为3 b=printf(“xyzn”);则b的值为4 c=printf(“a=%dn”,a);则c的值为4,C语言教程第4章,4.5.2 scanf函数(格式输入函数) 格式:scanf(格式控制,地址表列) 作用:输入任何类型的多个数据 格式控制同printf函数基本相同,C语言教程第4章,1、输入表列应当是变量地址,而不是变量名。 2、格式控制中的普通字符,应照原样输入 如:scanf(“a=%d,b=%f”,C语言教程第4章,5、输入形式 (1)scanf(%d%d%d, 输入:3 4 5 或 3 4 5 或 3(按Tab键)4(按Tab键)5 或空格、回车、Tab键的组合。,(2

14、)scanf(%3d%2d%3d, 运行时若输入:123456789,则a、b、c的值分别为,123、45、678。,C语言教程第4章,(3)scanf(“%3d%*2d%3d”, 若输入123456789,则a的值为 ,b的值为 。 *表示跳过指定的列数。,(4)scanf(%c%c%c, 若想使a、b、c的值为A、B、C,则运行时输入ABC,而不能输入A B C。因为这会使a、b、c的值为A、 、B,123,678,C语言教程第4章,(5)scanf(%3c%2c%3c, 运行时若输入:ABCDEFGHIJK,则a、b、c的值分别为,(6)scanf(%d%c%f, 若想使a、b、c的值为12、A、3.4,则运行时输入12A3.4,而不能输入12 A 3.4。,A、D、F。,C语言教程第4章,例 4.10输入三角形的三个边长,求三角形面积 公式:area= s(s-a)(s-b)(s-c) 其中:s =(a+b+c)/2,C语言教程第4章,#include main( ) float a,b,c,s,area; scanf(%f,%f,%f, ,C语言教程第4章,问题: 该程序并非一个完美的程序,因为有可能用户输入的三边值构不成三角形,例如1,2,3。不过这个问题将会在学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论