chap3 算法与基本程序设计_第1页
chap3 算法与基本程序设计_第2页
chap3 算法与基本程序设计_第3页
chap3 算法与基本程序设计_第4页
chap3 算法与基本程序设计_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

1、C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计1第第3 3章章 算法与基本程序设计算法与基本程序设计上节内容回顾上节内容回顾, ,引入本节内容引入本节内容数据的输入与输出数据的输入与输出字符输入与输出函数字符输入与输出函数简单程序设计简单程序设计C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计2o 输入浮点型值,使该数保留小数点后2位,要求小数点后第3位四舍五入处理,输出数据,验证处理是否正确。o 分析过程:选用合适数据类型及处理过程中选用的运算符C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基

2、本程序设计3#include main( ) double x; int a; scanf(“%lf”,&x); x=x*100+0.5; a=x; x=a/100.0;/why? printf(“%f”,x);试一下运行试一下运行时结果时结果C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计4 C语言本身没有I/O语句,所有I/O都由标准库函数来实现。I/O函数声明在 stdio.h 中。o 输入类库函数:n 格式输入函数: scanfn 字符输入函数: getcharo 输出类库函数:n 格式输出函数: printfn 字符输出函数: putcha

3、rC C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计5#include main() char a=A; putchar( a ); putchar( n ); putchar( A ); putchar( 65 );输出:输出:AAAn输入类库函数输入类库函数:p字符输入函数字符输入函数: getchar()n输出类库函数:输出类库函数:p字符输出函数字符输出函数: putchar(参数参数)字符常量字符常量整数整数字符变量字符变量C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计6输入类库函数:o 字符输入函数:getch

4、ar()n1)getchar() 功功 能:能:从键盘读入一个字符。从键盘读入一个字符。格格 式:式: getchar( );返回值:返回值:读入的字符。读入的字符。特特 点:点:该函数的输入一直到该函数的输入一直到“回车回车”才结才结束束 从键盘读入一个字符,并从键盘读入一个字符,并回显回显C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计7例例: 将输入的大写字母转变为小写字母输出。将输入的大写字母转变为小写字母输出。#include main( ) char ch; ch=getchar(); ch-=32; putchar(ch);运行时运行时: a

5、结果结果: AC C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计8#include main()char c1,c2;c1=getchar();c2=getchar();putchar(c1); putchar(n);putchar(c2);输入输入: ab 输出输出: a bC C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计9o 输入类库函数:n 格式输入函数: scanf (“格式控制字符串”,输入项地址表);o 输出类库函数:n 格式输出函数: printf (“格式控制字符串”,输出项表);变量的地址变量的地址或或字符

6、串的首地址字符串的首地址被输出的数据,可以是常量、变量、表达式被输出的数据,可以是常量、变量、表达式C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计10可以按指定格式向终端输出任意类型的数据。n 格式:printf( 格式字符串, 输出参数列表 ); p 格式字符串格式字符串: 指定输出数据的指定输出数据的类型、格式、个数类型、格式、个数p 格式控制字符和各输出项的格式控制字符和各输出项的 类型、顺序、数量要一致类型、顺序、数量要一致C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计11可以按指定格式向终端输出任意类型的数据

7、。n 格式:printf( 格式字符串, 输出参数列表 ); 输出格式包括输出格式包括: 普通字符常量普通字符常量和和格式说明符格式说明符照原样输出照原样输出 格式说明符:格式说明符:指定输出指定输出3个十进制整型数,个十进制整型数,分别为变量分别为变量 a、b、ab的值的值C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计12main() int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b);输出结果输出结果: 3 4a=3, b=4C C语言程序设计语言程序设计 第第3 3章章 算法与基

8、本程序设计算法与基本程序设计13%d%d十进制格式十进制格式%o%o八进制格式八进制格式%x%x、%X%X十六进制格式十六进制格式%u%u无符号的十进制格式无符号的十进制格式%c%c一个字符格式一个字符格式%s%s字符串格式字符串格式%f%f实数格式实数格式%e%e、%E%E指数格式指数格式%g%g1 12 23 34 45 56 67 78 89 9%百分号本身百分号本身1010e e和和f f中较短一种格式中较短一种格式格式字符格式字符C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计14.n对实数对实数,指定小数点后位数指定小数点后位数(四舍五入四舍五入

9、)对字符串对字符串,指定实际输出位数指定实际输出位数m输出数据域宽输出数据域宽,数据长度数据长度0右对齐,m0右对齐,m0右对齐,m0右对齐,m0右对齐,m0右对齐,m0右对齐,m0左对齐。main() float x=123.45678; printf(“%e,%E,%-10.3e,%10.3E”, x, x, x, x); 1.23457e+02,1.23457E+02,1.23E+02, 1.23E+02 1.234568e+002,1.234568E+002,1.235E+002,1.235E+002 C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计

10、24字符格式字符格式“”#include main() printf(I say:How are you?n); printf(The directory is E:Turbocn );输出:输出:I say:”How are you?”The directory is E:TurbocC C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计25 可以按指定格式从键盘读入任意类型的数据。n 格式:scanf( 格式字符串, 地址参数列表 );变量的地址列表,可通过取地址运算符变量的地址列表,可通过取地址运算符 &获取变量地址获取变量地址string (字符串

11、字符串)%s16进制整数进制整数%x, %lxchar%c8进制整数进制整数%o, %lodouble(指数指数)%leunsigned long%ludouble%lfunsigned int%ufloatfloat适用类型适用类型%e%f格式格式long intint适用类型适用类型%ld%d格式格式C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计26输入数据的格式要与scanf的控制格式必须一致o 例1:scanf(“%d,%d”, &a,&b);n 正确的输入为:4,5 或 4 , 5n 不正确的输为:4 5或 4_5等o 例2: s

12、canf(“a=%d,b=%d”, &a,&b);n 正确的输入:a=4, b=5 n 不正确的输入:4_5 和 4,5o 例3: scanf(“%d:%d”, &a,&b);n 正确的输入为:4:5n 不正确的输为:4_5 或 4,5或 4 5C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计27 尽管printf能够使用的控制格式scanf均可以使用,但一般scanf的格式要尽可能的简单,一般只需要给出数据控制符,而不要添加任何其它的辅助格式。o 例如:scanf(“%d%d”, &a,&b);n 正确的输入

13、为:4 5 或 4 5或3Tab键4 n 此时,空格、回车和tab键均可作为分割符C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计284、在用、在用“%c”格式输入字符时,格式输入字符时,空格字符和空格字符和 转义字符转义字符都作为有效的字符输入。都作为有效的字符输入。例:例:scanf(”%c%c%c”, &c1, &c2, &c3);若输入时为:若输入时为:a b c 则结果为:则结果为: c1=a,c2= ,c3=b2、输入数据时不能规定精度;、输入数据时不能规定精度;3、参数中、参数中“格式控制格式控制”之后应该是变量地址;之

14、后应该是变量地址;例:例:float a; scanf(”%7.2f”,&a);例例: float a; scanf(”%f”,a);C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计29p 如果数据本身可以将数据分割时,输入数据不需要使用分隔符;p 要求在程序运行中输入数据,输入的数据个数和类型必须与格式说明符一一对应。p 地址参数形式:&变量名(除数组或指针变量)p 格式控制中有普通字符时,必须照原样输入p 格式控制中无普通字符时,输入的数值型数据和字符串用空白符分隔,字符型数据不必分隔。C C语言程序设计语言程序设计 第第3 3章章 算法

15、与基本程序设计算法与基本程序设计30p double型数据输入时,必须用%lf或%le格式p 实型数据输入时,域宽不能用m.n形式的附加说明 p 为了减少不必要的输入量,格式控制中尽量不要出现普通字符,也不要使用n 、t 等转义字符C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计31一、自顶向下设计方法学介绍一、自顶向下设计方法学介绍叙述要解决的问题叙述要解决的问题定义输入和输出定义输入和输出设计算法设计算法将算法转换将算法转换C语句语句测试程序测试程序问题分解问题分解逐步细化逐步细化开始开始结束结束C C语言程序设计语言程序设计 第第3 3章章 算法与基本

16、程序设计算法与基本程序设计32特征:n有穷性n确定性评价标准:n正确性n可读性n健壮性(Robust,鲁棒性)n高效率与低存储要求算法:算法:对特定问题求解步骤的一种描述,它是指对特定问题求解步骤的一种描述,它是指 令的有限序列令的有限序列,其中每一条指令表示一个其中每一条指令表示一个 或多个操作。或多个操作。 数据结构数据结构+算法算法=程序程序可执行性可执行性有输入、输出有输入、输出C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计33描述方法:描述方法:可用自然语言、数学方法、某种计算可用自然语言、数学方法、某种计算机语言描述机语言描述规范的方法:规范的

17、方法:流程图、流程图、N-S结构流程图结构流程图、伪代码、伪代码、PAD图。图。流程图的基本构成:流程图的基本构成:起至框起至框输入输入输出输出判断框判断框处理框处理框或或流程线流程线连接点连接点注释框注释框C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计34aA Bb顺序结构顺序结构先执行先执行A, 再执行再执行B.若若P为真为真,则执行则执行A, 否则执行否则执行B.若若P为真为真,则执行则执行A, 否则否则跳过跳过A.aAYNBpa bAPNY b选择结构选择结构C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计35A

18、p NY当型循环结构当型循环结构a bAp YNba直到型循环直到型循环先执行先执行A, ,再判断再判断, ,若若P P为为真真, ,反复执行反复执行A, ,P P为假时出为假时出循环循环。当当P P为真为真, ,反复执行反复执行A, ,P P为假时为假时出出循环。循环。C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计36任何程序均可以由任何程序均可以由“顺序顺序”、“选择选择”和和“循环循环”这三种基本结构通过有限次的这三种基本结构通过有限次的组合与嵌套组合与嵌套来描述。来描述。任何程序设计语言任何程序设计语言均由这三种基本结构均由这三种基本结构组成,其差别在于具体语法的形式不同,组成,其差别在于具体语法的形式不同,而原理是相同的。而原理是相同的。C C语言程序设计语言程序设计 第第3 3章章 算法与基本程序设计算法与基本程序设计37n共同特点:共同特点:单入口、单出口单入口、单出口n三种结构之间可以是三种结构之间可以是顺序关系、平行关系顺序关系、平行关系,也可以也可

温馨提示

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

评论

0/150

提交评论