ch03_顺序结构20131401(1)_第1页
ch03_顺序结构20131401(1)_第2页
ch03_顺序结构20131401(1)_第3页
ch03_顺序结构20131401(1)_第4页
ch03_顺序结构20131401(1)_第5页
已阅读5页,还剩45页未读 继续免费阅读

下载本文档

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

文档简介

1、C语言程序设计任课教师:叶 华1第3章 顺序结构程序设计程序的三种基本结构语句基本输入/输出操作的实现顺序结构程序设计示例程序调试程序规范2结构化程序设计基本思想:把一个复杂问题的求解过程分阶段进行,采用自顶向下,逐步细化,模块化设计。任何程序都可以用三种基本结构(顺序、选择、循环结构)表示,限制使用无条件转移语句(goto)结构化程序:由三种基本结构反复嵌套构成的程序优点:结构清晰,易读,易修改,易验证,提高程序设计质量和效率3.1 程序的三种基本结构3顺序结构选择结构循环结构程序的三种基本结构4ABAB流程图N-S图顺序结构报名,交费,拿准考证参加考试得到录取通知书报到注册例:参加高考5选

2、择结构PAB真假PBA真假双分支选择结构例:英语分班英语摸底考试成绩80进入快班进入慢班真假6循环结构当型结构例:罚写词组PA假真当P为真A抄写出错词组不足100遍?继续抄写假真7循环结构直到型结构例:为湖水清理水草水草清理干净了?清理水草假真AP真假A直到P为真8表达式语句赋值语句函数调用语句控制语句复合语句空语句3.2 语句9表达式语句是在一个符合C语言语法的表达式后面加一个分号表达式语句 +i; j - -;10赋值语句是在一个符合C语言语法的赋值表达式后面加一个分号赋值语句 area = x * y;11函数调用语句由函数名、实际参数以及分号构成函数调用语句 printf(“The a

3、rea is %d.n”,area);123.3 基本输入/输出操作的实现C语言中没有提供专门的输入输出语句,输入输出操作是通过调用C的标准库函数来实现的。C的标准函数库中提供许多用于标准输入输出操作的库函数。使用标准输入输出函数时,只要在程序的开始位置加上编译预处理命令: #include 133.3.1 字符输入/输出 getchar()函数 getchar()函数用于从键盘读一个字符,它等待击键,待用户击键后,将读入值返回,并自动将用户击键结果回显到屏幕上。该函数的使用格式如下: 变量 = getchar();143.3.1 字符输入/输出 putchar()函数 putchar()函数

4、用于把字符写到屏幕的当前光标位置。该函数的使用格式如下: putchar (变量);153.3.1 字符输入/输出 例3-1:从键盘输入一个大写字母,要求改用小写字母输出。转换为小写字母输入一个大写字母输出对应的小写字母putchar(c)c = getchar()163.3.1 字符输入/输出 例3-1:从键盘输入一个大写字母,要求改用小写字母输出。需掌握的知识点getchar和putchar函数的使用参考0301chario文件夹中的charecho.c173.3.2 格式化输入/输出 printf()函数 调用printf函数的典型形式如下: printf ( 格式控制字符串,输出值参数

5、表);183.3.2 格式化输入/输出 printf()函数 printf ( “That equals %f kilometers.n”,kms );函数名函数参数格式控制字符串输出值参数表193.3.2 格式化输入/输出 1. 格式控制字符串 需原样输出的普通字符:That equals kilometers.n格式转换说明符:由 %开始,并以一个格式字符结束,如f、d等。 printf ( “That equals %f kilometers.n” ,kms );20格式转换说明符用法%d输出带符号的十进制整数%o以无符号的八进制整数形式输出%x以无符号的十六进制整数形式(小写)输出%X

6、以无符号的十六进制整数形式(大写)输出格式转换说明符21格式转换说明符用法%c输出一个字符%s输出字符串格式转换说明符22格式转换说明符用法%f以十进制小数形式输出实数(float和double型),整数部分全部输出,隐含输出6位小数,double型实数的有效位数一般为16位%e以指数形式输出实数%E以指数形式输出实数%显示百分号格式转换说明符参看程序demo_printf.c23int n1 = 15; char c = A;double d1 = 3.164; double d2 = 2.123456e4; printf(以十进制形式输出15: %d.n“ , n1); printf(以小

7、数形式输出3.164: %f.n,d1);printf(以小数形式输出2.123456e4: %f.n,d2);printf(以指数形式输出2.123456e4: %e.n,d2);printf(输出字符: %c.n,c);printf(输出字符串: %s.n,Hello world!);153.16400021234.5600002.123456e+004AHello world!242.输出值参数列表 输出值参数表是需要输出的数据项的列表,这些输出数据项可以是变量或表达式,输出值参数之间用逗号隔开。输出值的数据类型应与格式转换说明符相匹配每个格式转换说明符和输出值参数表的输出值参数是一一对

8、应的 25int n = 66; char c = A;double d1 = 3.164; double d2 = 2.123456e4; printf(“ %d “ , n); printf(“ %c “ , c); printf(“ %d %f “ , n1 , d1);printf(“ %d ”, c) ; printf( “ %c ” , n1);65Bprintf(“ %d ”, d1) ;printf( “%f ” , n);263.格式转换说明最小字段宽度:可选项%标志12.5Ld最小字段宽度长度修饰符精度转换说明符273.格式转换说明最小字段宽度如果数据项太小,无法达到这一宽

9、度,会对字段进行填充,默认情况下会在数据项的左侧填充空格。如果数据项太大,超过了这一宽度,会完整地显示数据项283.格式转换说明精度:可选项%标志12.5Ld最小字段宽度长度修饰符精度转换说明符293.格式转换说明精度对于f,e,E: 精度表示小数点后的位数对于s: 精度表示最大字节数参看程序demo_printf.c30注意:%eTurbo C自动指定给出5位小数,指数部分占4位,其中“e”占1位,指数符号占1位,指数占2位;VC给定6位小数,指数部分占5位,指数占3位。%m.ne和%-m.ne中的nTC中n包括小数点在内的小数位数。VC中n代表小数点后面的小数位数。313.3.2 格式化输

10、入/输出 scanf()函数 调用scanf函数的典型形式如下: scanf ( 格式控制字符串,参数地址表);323.3.2 格式化输入/输出 scanf()函数格式控制字符串需原样输入的普通字符格式转换说明符333.3.2 格式化输入/输出格式转换说明符:格式转换说明符用法%d, %o, %x输入10(8,16)进制整数%c输入一个字符,空白字符(包括空格、回车、制表符等)也作为有效字符输入%lf输入double型数据参看程序demo_scanf.c34 int a,b; printf(Please input a and b:); scanf(%d%d,&a,&b); printf(Th

11、e a is %d.n,a); printf(The b is %d.n,b); 在进行数据输入时, “%d%d”数据与数据之间可以用一个空格或多个空格,回车键、跳格键tab来分隔。35 int a,b; printf(Please input a,b:); scanf(%d,%d,&a,&b); printf(The a is %d.n,a); printf(The b is %d.n,b); 若在“格式控制”中除了格式说明之外,还有其他字符,则数据与输入分隔应该输入相应字符:scanf(“%d,%d”,&a,&b);36 int a,b; char ch; /*输入语句*/ printf(

12、Please input a character:); /*scanf(%c,&ch);*/ scanf( %c,&ch); printf(The input is %c.n,ch);在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入。37scnaf()函数中的“格式控制”后面应当是变量地址(&),而不应是变量名。如果在“格式控制”字符串中除了格式说明以外还有其它字符,则在输入数据时应输入与这些字符相同的字符。如: scanf(“%d:%d:%d”,&h,&m,&s); 输入应该用以下形式: 12:23:11 scanf()函数的执行中应注意的问题38在用“%c”格式输入字符

13、时,空格字符和“转义字符”都作为有效字符输入。scanf(“%c%c%c”,&c1,&c2,&c3);输入:abc则a-c1, -c2, b-c3,scanf()函数的执行中应注意的问题39在输入数据时,遇到以下几种情况时该数据认为结束遇到空格、或“回车”或TAB键;遇到宽度结束; scanf(“%3d%3d”,&a,&b);遇到非法输入。scanf()函数的执行中应注意的问题404.顺序结构程序设计示例例3-4:假设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金capital元,试编程计算n年后可得到的本利之和deposit为多少?计算本利之和deposit输入n和c

14、apital输出deposit414.顺序结构程序设计示例例3-4计算本利之和deposit输入n和capital输出depositdeposit = capital * (1 + rate)n?42在一些复杂的表达式中,常需要一些复杂的数学函数运算,通常需要调用C语言提供的标准数学函数来进行计算。常用的标准数学函数见书P384-385(#include )本例用到:double pow(double x, double y);/*计算xy 的值*/43deposit = capital * (1 + rate)ndeposit = capital * pow(1 + rate , n);44

15、3.3.1 字符输入/输出例3-4需掌握的知识点顺序结构的思想数学函数的调用方法printf和scanf函数的应用参考0304chario文件夹中的deposit.c454.顺序结构程序设计示例例3-5:编程计算方程ax2+bx+c=0的根,a,b,c由键盘输入。(假定b2-4ac0) disc = b * b 4 * a *c p = -b/(2*a) q = sqrt(disc) / (2 * a) x1 = p + q x2 = p - q 463.3.1 字符输入/输出例3-5需掌握的知识点使用程序解决数学问题数学函数的调用方法参考0305disc文件夹中的disc.c474.顺序结构程序设计示例例3-3:编写一个将华氏温度转换为摄氏温度的程序。已知转换公式为: celsius = 5

温馨提示

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

评论

0/150

提交评论