




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019/7/29,1,C语言程序设计,主讲:纪 钢 教授,重庆理工大学计算机学院,2019/7/29,2,第3章 顺序结构程序设计,3.1 结构化程序设计 3.2 算法 3.3 C语句概述 3.4 输入输出介绍,2019/7/29,3,3.1 结构化程序设计,什么叫程序设计? 使用计算机解决实际问题,通常是先要对问题进行分析并建立数学模型,然后考虑数据的组织方式和算法,并用某一种程序设计语言编写程序,最后调试程序,使之运行后能产生预期的结果。这个过程称为程序设计。,2019/7/29,4,3.1 结构化程序的基本结构,入口,出口,(a) 顺序结构,(b) 选择(分支)结构,入口,出口,2019/7/29,5,3.1 结构化程序的基本结构,入口,出口,(c) 当型循环结构,(d) 直到型循环结构,入口,出口,2019/7/29,6,3.2 算法,程序=算法十数据结构+程序设计方法+语言工具 算法就是一种在有限的步骤内解决问题或完成任务的方法。 算法是程序设计的灵魂,数据结构是数据的组织形式,语言则是编程的工具。,2019/7/29,7,3.2 算法,算法的表示 自然语言表示:易理解和交流,容易产生二义性。 伪码表示:用形式化语言描述算法的逻辑过程。 程序流程图:用图形符号文字说明来表示数据处理过程和步骤。 N-S流程图:也称方框图。,2019/7/29,8,3.3 C语句的类型,控制语句: 流程控制:条件、循环 辅助控制:break、continue、goto、return、switch 表达式语句:一个表达式后跟一个“;”构成。 函数调用语句属于表达式语句。 空语句:仅一个“;”构成。 复合语句:用“ ”括起来的一些语句。,2019/7/29,9,3.4.1 格式输出函数printf 基本形式是: printf(“控制字符串”,输出项列表); 功能:按规定的输出格式,把输出项依次输出到系统指定的缺省输出设备,通常为显示器。 输出项: 可以是变量、常量、表达式;中间用,间隔,3.4 数据输入输出,数据是程序处理的对象;输入输出操作是程序中不可缺少的部分, C中输入输出操作都 是通过函数调用实现的; C提供了一个“标准I/O库”。,2019/7/29,10,%c 按字符型输出 %d 按带符号十进制整数输出 %u 按无符号整数输出 %f 按浮点型小数输出,float或double %o 按无符号八进制整数输出 %x 按无符号十六进制整数输出 %s 按字符串输出,控制字符串包括格式控制说明符和普通字符 格式控制说明(表3.1) %,字符,2019/7/29,11,int a=567;printf ( “%d”,a);,int a=255;printf(“%x”,a);,int a=65;printf(“%o”,a);,int a=567;printf(“%u”,a);,char a=65;printf(“%c”,a);,printf(“%s”,“ABC”);,float a=567.789;printf(“%e”,a);,float a=567.789;printf(“%f”,a);,float a=567.789;printf(“%g”,a);,printf(“%”);,567,ff,101,567,A,ABC,5.677890e+02,567.789000,567.789,%,说明 格式字符要用小写 格式字符与输出项个数应相同,按先后顺序一一对应 输出转换:格式字符与输出项类型不一致,自动按指定格式输出,例 main() unsigned int u=65535; printf(”u=%dn“,u); 输出结果:u=-1,例 int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b);,例 int a=3,b=4; printf(“%d %dn”,a,b); printf(“a=%d , b=%dn”,a,b); 输出结果: 3 4 a=3, b=4,2019/7/29,12,使用修饰符,可以控制输出的宽度、精度、小数位数、对齐方式等。 例如: (1) 字段宽度 %6d 表示以字段宽度为6个字节显示一个整数。 设 i=123; printf(”%6dn”,i); 输出: 123 printf(”%06dn”,i); 输出: 000123 设 x=1234.567 printf(”%9.3fn”,x); 输出: 1234.567 (2) “-” 不用“-”为右对齐,用“-”为左对齐 printf(”%-9.3fn”,x); 输出: 1234.567 (3)字符l,h %ld,%hd,2019/7/29,13,(4) 字符* #include void main() int i=123,w=12.3456; float x=12.3456; printf(”%*dn”,5,i); /输出: 123 printf(”%*dn”,w,i); /输出: 以w宽度显示i printf(”%*.*fn”,7,2,x); /输出: 1234.56 ,2019/7/29,14,2. 普通字符:原样输出的字符 可打印字符:直接写出字符 不可打印字符:使用转义字符n, t, a 例如: m=3; n=12; printf(”num1=%d t num2=%dn”,m,n); 显示: num1=3_ num2=12 printf(”%f%n”,95.6); 显示: 95.6%,2019/7/29,15,格式输入函数scanf,格式: scanf(“格式控制串”,地址表) 功能:按指定格式从键盘读入数据,存入地址表指定的 存储单元中,并按回车键结束 返值:正常,返回输入数据个数,地址表:变量的地址,常用取地址运算符“&” 格式字符:d,i,o,x,u,c,s,f,e,例 scanf(“%d”, 输入:10 则 a=10,例 scanf(“%x”, 输入:11 则 a=17,2019/7/29,16,附加格式说明符(修饰符),例 scanf(“%4d%2d%2d”, 输入 19991015 则1999yy, 10 mm, 15 dd,例 scanf(“%3d%*4d%f”, 输入 12345678765.43 则123k, 8765.43f,例 scanf(“%2d%*3d%2d”, 输入 1234567 则12a, 67b,例 scanf(“%3c%2c”, 输入 abcde 则ac1, d c2,2019/7/29,17,输入分隔符的指定 一般以空格、TAB或回车键作为分隔符 其它字符做分隔符:格式串中两个格式符间字符,例 scanf(“%d%o%x”, 输入 123 123 123 输出 a=123,b=83,c=291,例 scanf(“%d:%d:%d”, 输入 12:30:45 则12 h, 30 m, 45 s,例 scanf(“%d,%d”,&a,&b) 输入 3,4 则3a, 4 b,例 scanf(“a=%d,b=%d,c=%d”, 输入 a=12,b=24,c=36 ,2019/7/29,18,说明: 用“%c”格式符时,空格和转义字符作为有效字符输入,如 scanf(“%c%c%c”, 若输入abc 则ac1, c2, b c3,输入数据时,遇以下情况认为该数据结束: 遇空格、TAB、或回车 遇宽度结束 遇非法输入,如 scanf(“%d%c%f”, 若输入1234a123o.26 则 1234 a, a b, 123 c,输入函数留下的“垃圾”:,例 int x; char ch; scanf(“%d”, 执行:123 输出:x=123,ch=10,例 int x; char ch; scanf(“%d”, 执行:123 输出:x=123,ch=10,解决方法: (1)用getchar()清除 (2)用函数fflush(stdin)清除全部剩余内容 (3) 用格式串中空格或“%*c”来“吃掉”,例 int x; char ch; scanf(“%d”,2019/7/29,19,#include void main() int a; char b; float c; scanf(“%d%c%f”, ,运行时输入: 20 65 234.896 20 65 234.896 20 65 234.896,结论: 不能通过ASCII码值输入字符!,运行时输入: 20A234.896 20A 234.896 20 A234.896,2019/7/29,20,3.字符* 输入时,用于跳过其相应的数据. scanf(”%d%d”, 输入 34 45 时, i为45,以下输入语句是否正确? scanf(“%d”, i); scanf(“%dn”, ,2019/7/29,21,字符输出函数putchar 功能:将一个字符输出在显示屏上,显示参数可以是字符变量、字符常量、字符ASCII码。 putchar(A); 显示大写字母A putchar(97); 显示小写字母a 如果: c=!; putchar(c) ; 显示字符! 输入输出函数被包含在库函数“stdio.h”中,使用这些函数时,要使用预处理命令。 #include ”stdio.h” 但 printf 和 scanf 可缺省,2019/7/29,22,例3.5 输入两个字符并回显这两个字符。 #include void main() char a,b; a=getchar(); b=getchar(); putchar(a); putchar(b); ,2019/7/29,23,字符输入函数getchar 格式:getchar( ) 功能:从键盘上输入一个可打印字符,函数的返回值为该字符的ASCII码。 如: c=getchar();,无参数,2019/7/29,24,例:输入一个字符,输出其前导字符,字符和后续字符 #include ”stdio.h” void main( ) char c; int c1, c2; c=getchar( ); c1=c-1; c2=c+1; printf(”%c%c%cn”,c1,c,c2); printf(”%d%d%dn”,c1,c,c2); 输入: B 输出: ABC 65 66 67,2019/7/29,25,例3.6 已知圆的半径为2,编程计算圆的周长和圆的面积。,算法: (1) 说明实型变量r为半径,l为圆周长,s为圆面积; (2) 调用格式输入函数输入半径r; (3) 分别利用公式:计算; (4) 调用格式输出函数输出结果。,2019/7/29,26,编程的一般方法:,#include ”stdio.h” void main( ) ,定义变量 输入数据(或赋值) 处理数据 输出数据,2019/7/29,27,#include void main() float pi,r,l,s; pi=3.14159; printf(“Please input radius: n“); /*输入提示*/ scanf(“%f“, /*输出圆的面积*/ ,2019/7/29,28,例 数据交换。从键盘上输入两个数,交换值后再输出。,本题思路:,(1) int i, j ; (2)输入两个数据i,j ; (3)交换i、j的值? (4)输出i、j的值。,i、j交换值? k=i; i=j; j=k; /* k暂存值 */,k,2019/7/29,29,#include void main() int i,j,k; clrscr(); /清屏 printf(“input i,j:n”); scanf(“%d,%d“, ,2019/7/29,30,第三章小结 1. 了解结构化程序设计的方法 2. 了解c语句的分类和特点以及复合语勾在程序中的作用和特征 3. 了解用流程图描述算法的方法 4. 理解基本算法及其原理 5. 掌握编写顺序结构程序设计的方法 6. 掌握格式输入输出函数的使用,2019/7/29,31,程序的输入输出功能是通过调用系统提供的标准库函数实现的。 利用printf( )函数可以输出各种类型的数据,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五版新型城镇化项目施工合作框架协议
- 2025版高速公路隧道施工合同书
- 二零二五年度房产经纪人房产项目营销策划聘用合同
- 泸州市精神病医院招聘笔试真题2024
- 二零二五年度全球高端时尚品牌进口代理买卖合同示范文本
- 2025瓷砖装饰工程监理合同范本
- 2025版汽车融资租赁直租合同模板-绿色出行方案
- 二零二五年电热锅线上线下联营合同样本
- 二零二五年度物流保险货物运输代理服务协议
- 二零二五年度富士康电子信息产品售后服务合同
- 现场调试合同协议书模板
- 钢结构门头专项施工方案
- 诚通证券股份有限公司招聘笔试题库2025
- 船务公司船舶管理制度
- 组织部单位档案管理制度
- 植物源蛋白替代技术-洞察及研究
- 2025年湖南省中考英语试卷真题(含答案)
- 南京城墙介绍
- 应急管理十五五思路
- 提高护理文书书写合格率
- 辅警招聘公安基础知识考试题库及答案
评论
0/150
提交评论