ImageVerifierCode 换一换
格式:DOCX , 页数:20 ,大小:58.68KB ,
资源ID:9860100      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9860100.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言程序设计 第四章 输入输出和简单的顺序结构.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

c语言程序设计 第四章 输入输出和简单的顺序结构.docx

1、c语言程序设计 第四章 输入输出和简单的顺序结构第四章 格式化输入/输出和简单的顺序结构4.1 格式化输入和输出一、格式化输出1. printf函数的使用格式printf(格式字符串,参数1,参数2,参数n);说明:(1) 格式字符串中包含了普通字符和格式说明符。每个格式说明符以%开始,以一个转换符结束,在%和转换符之间可以使用一个或多个标志。(2) 参数是表达式(包括常量、变量、带运算符的表达式和有返回值的函数的调用)。(3) 每个格式说明符都用相应的参数值替换。格式说明符结尾的转换符将指示被格式化的数值类型:例如,f表示浮点数,c表示字符,d表示十进制整数。2. 转换符 表4-1 用于pr

2、intf的转换符(实例均在VC6.0环境下运行)转换符类型举例%d或%i有符号十进制整数int a=-2009,b=-0x123;printf(a=%i,b=%d,%dn,a,b,0123);输出:a=-2009,b=-291,83%x或%X十六进制整数int a=164,b=-164;printf(a=%x,b=%Xn,a,b);输出:a=A4,b=ffffff5c%o八进制整数int a=164,b=-164;printf(a=%o,b=%on,a,b);输出:a=244,b=%u无符号十进制整数int a=164,b=-164;printf(a=%u,b=%un,a,b);输出:a=16

3、4,b=unsigned u1=182,u2=-182;printf(u1=%d,u1=%un,u1,u1);printf(u2=%d,u2=%un,u2,u2);输出:u1=182,u1=182u2=-182,u2=%c字符char ch=a;printf(ch=%c,ch=%xn,ch,ch);输出:ch=a,ch=61%s字符串printf(nine times %s.,out of ten.);printf(nine times out of ten.n);输出:nine times out of ten.nine times out of ten.%f定点浮点数float f=123

4、.1;double d=123.1;printf(f=%f,d=%fn,f,d);输出:f= f=123.,d=123.说明:转换符f打印一个浮点数的整数部分和6位小数。%e或%E指数浮点数float f=123.1;double d=123.1;printf(f=%e,d=%En,f,d);输出:f=1.e+002,d=1.E+002说明:转换符e按规范化指数形式(科学记数法)打印浮点数,共13位,其中字母“e”占1位,指数部分占4位(1位是符号位),小数部分占据6位,整数数字和小数点各占1位。%g或%G通用浮点数(e和f中较短的)%p(相当于%X)打印变量的地址int a;printf(&

5、a=%#p,&a=%#Xn,&a,&a);输出:&a=0X0012FF7C,&a=0X12FF7C%打印%int a=15,b=-2;printf(%d%d=%dn,a,b,a%b);输出:15%-2=13. 标志 表4-2 用于printf的标志标志目的举例-使数据左对齐,默认情况下数据右对齐+打印正数的符号(不管是否使用+,负数打印时总带符号)int a=12;printf(a=%+d,a=%dn,a,a);输出:a=+12,a=12宽度m打印的数据(包括整数、字符和字符串)占m个位置,当数据的实际位数不足m,根据对齐情况打印空格;否则按数据的实际位数打印 int a=123,b=1234

6、,c=-123;printf(a=%6d,b=%3d,c=%-6d.n,a,b,c);输出:a= 123,b=1234,c=-123 .0当打印整数、字符和字符串时,数据的实际位数小于指定宽度时,在左边的空位上补0(此时标志0和-冲突);否则按数据的实际位数打印int a=-123,b=1234,c=123;printf(a=%-06d,b=%03d,c=%06dn,a,b,c);输出:a=-123 ,b=1234,c=精度.n(1) 当打印整数时,如果整数的位数比n少,就在左边的空位上补0;否则按实际位数打印(2) 当打印浮点数时,如果浮点数的位数比n少,就在右边的空位上补0;否则按实际位数

7、打印(3) 当打印字符串时,如果字符串中字符个数比n少,就按实际字符数输出该串;否则就截断取字符串前n个字符打印int a=-;printf(a=%9d,a=%.9dn,a,a);输出:a= -,a=-double a=-123.1,b=123.1;printf(a=%f,a=%.8f,b=%.4fn,a,a,b);输出:a=-123.,a=-123.,b=123.1000l打印long数据或double数据,默认情况下用%f也能打印double数据long a=;printf(a=%d,a=%ldn,a,a);输出:a=,a=h打印短整型数据short a=12345;long b=;pri

8、ntf(%hd,a=%hd,b=%hdn,12345,a,b);输出:12345,a=-7616,b=-10617续表4-2#(1) #对于转换符x(X)、o添加前缀0x(0X)或0(2) #对于转换符f包含小数点int a=123;double d=123.5;printf(a=%#o,a=%#Xn,a,a);printf(d=%.0f,d=%#.0fn,d,d);输出:a=0173,a=0X7Bd=124,d=124.【例4.1】 宽度标志和精度标志用于打印整数。#include main() int a=-123,b=123; printf(a=%8d,a=%-8d,a=%3dn,a,a

9、,a); printf(a=%8.5d,a=%-8.5d,a=%3.5dn,a,a,a); printf(b=%x,b=%Xn,b,b); printf(b=%#x,b=%#Xn,b,b); printf(a=%x,a=%Xn,a,a); printf(b=%-#16.12x,a=%#16.12xn,b,a);【例4.2】 宽度标志和精度标志用于打印字符和字符串。#include main() char ch=a; printf(ch=%-5c,ch=%5cn,ch,ch); printf(%-7s,%7sn,CHINA,CHINA); printf(%-7.3s,%7.2sn,CHINA,C

10、HINA);【例4.3】 使用多种标志格式化输出浮点数。#include main() float f=-1.f; double d=-153.; double af=123.456e12; printf(f=%f,d=%fn,f,d); printf(f=%-11f,d=%6fn,f,d); printf(f=%-11.3f,d=%6.9fn,f,d); printf(d=%e,d=%En,d,d); printf(d=%18.6e,d=%2.4En,d,d); printf(f=%f,f=%e,f=%gn,f,f,f); printf(af=%f,af=%e,af=%gn,af,af,af

11、);4. printf格式说明符的语法图二、格式化输入1. scanf函数的使用格式scanf(格式字符串,&变量名1, &变量名2, &变量名3, &变量名n);说明:(1) 格式字符串的说明同printf,由普通字符和格式说明符组成,普通字符原样输入。(2) scanf格式字符串后面要列出若干变量的地址,每个变量用于保存用户在对应的格式说明符的位置上输入的数据。(3) 转换符将指示用户在该格式说明符的位置上输入的数据的数值类型:例如,f表示浮点数,c表示字符,d表示十进制整数。2. 转换符 表4-3 用于scanf的转换符(实例均在VC6.0环境下运行)转换符类型举例%d或%i输入十进制整

12、数int a,b;scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);输入:-365 365输出:a=-365,b=365%x或%X输入十六进制整数int a,b;scanf(%x,%X,&a,&b);printf(a=%d,a=%xn b=%d,b=%xn,a,a,b,b);输入:a4,-a4输出:a=164,a=a4b=-164,b=ffffff5c%o用户输入八进制整数int a;scanf(a=%o,&a);printf(a=%d,a=%on,a,a);输入:a=-244输出:a=-164,a=%u输入十进制无符号整数unsigned u1,u2;scan

13、f(u1=%u, *u2=%u,&u1,&u2);printf(u1=%d, u2=%un,u1,u2);输入:u1=182, *u2=-182输出:u1=182, u2=%c输入字符char ch;scanf(ch: %c,&ch);printf(ch= %cn,ch);输入:ch: A输出:ch= A%s输入字符串需要用字符数组来保存输入串%f输入定点浮点数float f;double d;scanf(%f%lf,&f,&d);printf(f=%fnd=%fn,f,d);输入:123. -123.输出:f=123.d=-123.%e或%E输入指数浮点数double d1,d2;scanf

14、(%le %le,&d1,&d2);printf(d1=%fnd2=%en,d1,d2);输入:12.34e1 123.4 输出:d1=123.d2=1.e+002%g或%G等价于%f、%e或%E3. 标志表4-4 用于scanf的标志标志目的举例宽度m指定输入数据所占位数,遇空格或不可转换字符结束int a,b;scanf(%3d%2d,&a,&b);printf(a=%d,b=%dn,a,b);输入:输出:a=123,b=45输入:1234 5678输出:a=123,b=4*表示跳过输入int a,b;scanf(%3d%*2d%2d,&a,&b);printf(a=%d,b=%dn,a,

15、b);输入:输出:a=123,b=67输入:123 输出:a=123,b=67l用于转换符d、u、o、x(X)表示输入long整数;用于e(E)、f表示输入double实数long li;scanf(li: %ld,&li);printf(li=%dn,li);输入:li: -1234输出:li=-1234输入:li: -1234L输出:li=1234h用于d、u、o、x(X)表示输入short整数【例4.4】 输入字符数据时要注意的问题。 #include main() char c1,c2,c3; scanf(%c%c%c,&c1,&c2,&c3); printf(c1=%c,c2=%c,

16、c3=%cn,c1,c2,c3);4. scanf格式说明符的语法图4.2 常用库函数简介一、字符数据输入/输出函数C语言针对字符数据的输入/输出,向用户提供使用更为方getchar和putchar等函数。【例4.5】 getchar与putchar。#include main() char ch=101; putchar(ch); putchar(0x61); putchar(n); ch=getchar(); putchar(ch);【例4.6】 getche和getch。#include main() char ch1,ch2; printf(please press two key:n

17、); ch1=getche(); ch2=getch(); printf(youve pressed %c and %cn,ch1,ch2);说明:(1) getche与getchar函数的作用基本相似,都用于输入字符。差别在于,getche直接从键盘获取用户输入的字符,不等待用户按回车键,且getche还能将用户输入的字符回显在屏幕上。(2) getch函数与getche类似,差别在于,getche要回显输入字符,而getch不回显输入字符。二、常用数学函数简介1. 绝对值函数【例4.7】 abs和fabs函数。#include #include main() double d=-3.; f

18、loat f=3.1416f; int i=-3; double result; printf(d=%f, |d|=%fn,d,fabs(d); printf(f=%f, |f|=%fn,f,fabs(f); result=fabs(d+3.0); printf(%fn,result); printf(i=%d, |i|=%dn,i,abs(i); printf(|-2010|=%dn,abs(-2010);说明:(1) 要使用数学库函数,必须用#include指令包含头文件math.h。(2) abs返回一个整型表达式的结果的绝对值。(3) fabs返回一个浮点表达式的结果的绝对值。【课内思

19、考题4.1】 假设a、b、c都是double变量,如何用函数fabs表示|a+b|-|c|?2. 平方根函数【例4.8】 sqrt函数。#include #include main() int i=3; double d=3.0; double result=sqrt(d); printf(%f的平方根是%fn,d,result); printf(%d的平方根是%fn,i,sqrt(i);说明:无论整数还是浮点数的平方根一律可以用sqrt函数计算。【课内思考题4.2】 假设a、b、c都是double变量,如何用函数sqrt表示?sqrt(b*b-4*a*c)3. 三角函数【例4.9】 符号常量

20、的使用。#include #define PI 3.1416main() double r; double length,area; scanf(%lf,&r);length=2*PI*r; area=PI*r*r; printf(length=%f,area=%fn,length,area);说明:可以将一个程序中多次用到的常量通过#define指令用符号来表示。【例4.10】 sin、cos和tan函数。#include #include #define PI 3.main() double angle=30.0; double x; double result; printf(sin(%

21、.0f)=%fn,angle,sin(PI/180*angle); angle=60.0; printf(cos(%.0f)=%fn,angle,cos(PI/180*angle); angle=45.0; printf(tan(%.0f)=%fn,angle,tan(PI/180*angle);说明:使用三角函数求值时,需向这些函数提供弧度值,而非角度。例如求30度的正弦值,必须将30度转换成弧度,即。4. 反三角函数【例4.11】 asin、acos和atan函数。#include #include #define PI 3.main() double x; double result;

22、x=0.5; result=asin(x); printf(asin(%.1f)=%fn,x,result*180/PI); result=acos(x); printf(acos(%.1f)=%fn,x,result*180/PI); printf(atan(%.1f)=%fn,1.0,atan(1.0)*180/PI);说明:反三角函数的计算结果是弧度值,在程序中将弧度结果转换成了角度数。5. 对数函数和自然对数函数【例4.11】 log10和log函数。#include #include #define E 2.main() double d=10.0; printf(log10(%.1

23、f)=%fn,d,log10(d); printf(log(e)=%fn,log(E);说明:函数log10表示以10为底的对数函数,log表示以e为底的对数函数,即自然对数函数。5. 幂函数【例4.12】 pow函数。#include #include main() double n=-2.0; printf(%fn,pow(2.0,n);说明:提供给函数pow的第一个参数是底数,第二个参数表示指数,两个参数均为double。4.3 简单的顺序程序设计一、C语言程序的结构由于C编译器采用一种称为分段编译的技术,所以我们可以将C语言代码分解到多个程序文件中,这些程序文件分为两类,一类是以.h作

24、为扩展名的头文件,还有一类是以.c作为文件扩展名的源程序文件(每个源程序文件也称为一个编译单元)。二、语句分类1. 声明语句变量声明、类型声明和函数原型声明。通常将变量定义语句视为变量声明语句的一类。区别在于定义变量将引起系统对变量分配内存字节,而声明变量只是对定义在别处的变量进行引用性说明。2. 流程控制语句(1) 条件语句if语句、if-else语句和switch语句。(2) 循环语句while语句、do-while语句和for语句。(3) 流程转移语句break、continue、return和goto。3. 表达式语句(包括函数调用语句)4. 空语句5. 复合语句用把上述语句(包括复合

25、语句本身)括起来构成复合语句,也叫语句块。例如:int temp=x; x=y; y=temp;一个复合语句也可以包括在另一个复合语句中。复合语句的作用在于把多条语句变成语法上的一条语句!二、顺序程序设计【例4.13】 编写程序,键盘输入一个三位整数,逆序输出之。#include main() int num; int bw,sw,gw; scanf(%d,&num); gw=num%10; sw=num/10%10; bw=num/100; printf(%dn,gw*100+sw*10+bw);【例4.14】 交换两个变量的值。#include main() int x,y; int te

26、mp; scanf(x=%d,y=%d,&x,&y); temp=x; x=y; y=temp; printf(x=%d,y=%dn,x,y);【例4.15】 输入三角形的三边长,求三角形的面积。为简单起见,设输入的三边长a、b、c能构成三角形。根据海伦公式求三角形面积。海伦公式为:area=,s=。#include #include main() double a,b,c; double s; double area; scanf(%lf,%lf,%lf,&a,&b,&c); s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c); printf(area=%.2fn,area);【课后作业2】 (1) 用C语言的数学函数表示下式:。(2) 输入一个华氏温度,要求输出摄氏温度。公式为输出要有文字说明,取2位小数。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1