版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C 程程 序序 设设 计计 2021-7-91 第3章 顺序程序设计 C程序设计程序设计 C 程程 序序 设设 计计 2021-7-92 3.1 C语句概述 3.2 赋值语句 3.3 输入/输出函数 3.4 结构化程序设计思想 3.5 顺序结构程序设计举例 第三章 简单的C程序设计 C 程程 序序 设设 计计 2021-7-93 C语句可分为以下5类 u表达式语句:由一个表达式构成一个语句 u函数调用语句:由一次函数调用加一个分 号构成一个语句 u控制语句(9种):完成一定控制功能。 u复合语句 u空语句 3.1 C语句的概述 C 程程 序序 设设 计计 2021-7-94 3.2 赋值语句
2、其一般形式为: 变量=表达式; 变量=(变量=表达式);是成立的。 int a=5,b=6; c=7;d=9; 二者是不同的。 在变量说明中,不允许连续给多个变量赋同一初值。 如:int a=b=b=3; if(x=y+5)0) z=x; 合法 if(x=y+5;)0) z=x; 非法 C 程程 序序 设设 计计 2021-7-95 3.3 输入输出函数 u输入:Input 输出:Output uC语言没有I/O语句,只有I/O函数。 u调用系统函数时,在程序的开头要有头文件 u # include “stdio.h” C 程程 序序 设设 计计 2021-7-96 一 、字符数据I/O 1
3、. putchar( )函数(字符输出函数) 格式: putchar(c); 说明: c为参数,为字符型或整型的常量、变量 或表达式。 作用: putchar( )函数的功能是向终端(显示器) 输出一个字符。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-97 【例3-1】使用putchar函数输出字符。 #include main() char x,y,z; x=B; y=Y; z=E; putchar(x); putchar(y); putchar(z); 结果:BYE 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-98 【例3-2】输出控制字符的put
4、char( )函数。 #include main() char x,y,z; x=B; y=Y; z=E; putchar(x); putchar(n); putchar(y); putchar(n); putchar(z); 结果:B Y E 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-99 2、getchar( )函数(字符输入函数) 格式:getchar( ); 说明:()内无参数 作用:从键盘(或系统默认的输入设备)输入一个字符。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-910 【例3-3】输入/输出单个字符。 #include main()
5、 char c; printf(input a charactern); c=getchar(); putchar(c); 3.3 输入输出函数 结果: input a character B B C 程程 序序 设设 计计 2021-7-911 注意: (1)getchar( )函数只能接受单个字符,输入数字也按字符处 理。输入多于一个字符时,只接收第一个字符。 【例3-4】输入多个字符,输出单个字符。 #include stdio.h main() int c; c=getchar(); printf(%c : %dn,c,c); 3.3 输入输出函数 结果: abc a : 97 C 程
6、程 序序 设设 计计 2021-7-912 (2)在TC屏幕下运行含【例3-4】程序时,将退出TC屏幕, 进入用户屏幕等待用户输入。输入完毕后再返回TC屏 幕。 (3)【例3-4】程序最后两行可用下面两行的任意一行代替: putchar(getchar(); 或 printf(%c,getchar(); 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-913 二、格式输入与输出 1printf函数( )(格式输出函数) (1) printf( )函数调用的一般形式 printf(“格式控制字符串格式控制字符串”,输出表列);,输出表列); u作用:按用户指定的格式,把指定的数据
7、显示到显 示器屏幕上。 u说明: 格式控制字符串用于指定输出格式,由格式字符 串和普通字符串组成。 输出表列中给出了各个输出项,要求格式字符串 和各输出项在数量和类型上应该一一对应。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-914 【例3-5】格式控制字符串的使用。 main() int a=98,b=99; printf(%d %dn,a,b); printf(%d,%dn,a,b); printf(%c,%cn,a,b); printf(a=%d,b=%d,a,b); 结果: 98 99 98,99 b,c a=98,b=99 3.3 输入输出函数 C 程程 序序
8、设设 计计 2021-7-915 (2) 格式字符串 在Turbo C中格式字符串的一般形式为: %标志输出最小宽度.精度长度类型 其中,方括号 中的项为可选项 作用:指定输出项的数据类型和输出的格式 各项的意义介绍如下: %:表示格式字符串的起始符号,不可缺少。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-916 类型: 类型字符用以表示 输出数据的类型, 其格式符和意义如 右表所示: 格 式 字 符意 义 d 以十进制形式输出带符号整数(正数 不输出符号) o 以八进制形式输出无符号整数(不输 出前缀0) x,X 以十六进制形式输出无符号整数(不 输出前缀Ox) u以十
9、进制形式输出无符号整数 f以小数形式输出单、双精度实数 e,E以指数形式输出单、双精度实数 g,G 以%f或%e中较短的输出宽度输出单、 双精度实数 c输出单个字符 s输出字符串 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-917 标志:标志字符为-、+、#、空格4种,其意义如下表所示: 标 志意 义 -结果左对齐,右边填空格 +输出符号(正号或负号) 空格输出值为正时冠以空格,为负时冠以负号 # 对c,s,d,u类无影响;对o类,在输出时加前缀o;对 x类,在输出时加前缀0 x;对e, g, f类,当结果有小 数时才给出小数点 3.3 输入输出函数 C 程程 序序 设设
10、计计 2021-7-918 输出最小宽度:用十进制整数来表示输出的最少位 数。若实际位数多于定义的宽度,则按实际位数输 出,若实际位数少于定义的宽度则补以空格或0。 精度:精度格式符以“.”开头,后跟十进制整数。 本项的意义是:如果输出的是数字,则表示小数的 位数;如果输出的是字符,则表示输出字符的个数; 若实际位数大于所定义的精度数,则截去超过的部 分。 长度:长度格式符为h,l两种,h表示按短整型量输 出,l表示按长整型量输出。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-919 main() int a=15; float b=123.1234567; double
11、c=12345678.1234567; char d=p; printf(a=%d,%5d,%o,%xn,a,a,a,a); printf(b=%f,%lf,%5.4lf,%en,b,b,b,b); printf(c=%lf,%f,%8.4lfn,c,c,c); printf(d=%c,%8cn,d,d); 结果: a=15, 15, 1 7, f b=123,123459,123.123459,123.1235,1.23123e +02 c=12345678. 123457,12345678.123457,12345678.1235 d=p, p 【例3-6】printf( )函数的格式输出
12、。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-920 main() int i=8; printf(%dn%dn%dn%dn%dn%dn,+i,-i,i+,i-,- i+,-i-); 结果: 8 7 7 8 -7 -8 【例3-7】printf( )函数求值的顺序。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-921 main() int i=8; printf(%dn,+i); printf(%dn,-i); printf(%dn,i+); printf(%dn,i-); printf(%dn,-i+); printf(%dn,-i-); 结果: 9
13、 8 8 9 -8 -9 【例3-8】判断变量的变化。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-922 #include stdio.h main() int i=-6,x=5; float y=123.456; printf(%d,%dn,i); printf(%-4d,%f,i,y,x); 结果: -6,2509 -6 ,123.456001 【例3-9】printf( )输出参数不一致产生的错误。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-923 2scanf( )函数(格式输入函数) uscanf( )函数的一般形式: scanf(“格式控
14、制字符串”,地址表列); 作用: 从键盘向程序中的变量输入一个或若干个任意类 型的数据。 二、格式输入与输出 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-924 格式字符串的一般形式为: %*输入数据宽度输入数据宽度长度长度类型类型 其中,有方括号 的项为任选项。 类型:表示输入数据的类型,其格式符意义如下表所示。 (2) 格式字符串 格 式字 符 意 义 d输入十进制整数 o输入八进制整数 x输入十六进制整数 u输入无符号十进制整数 f或e输入实型数(用小数形式或指数形式) c输入单个字符 s输入字符串 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-92
15、5 格式字符串的一般形式说明: “*”符:用以表示该输入项,读入后不赋予相应 的变量,即跳过该输入值。例如: scanf(%d %*d %d, 当输入为:1 2 3时,把1赋予a,2被跳过,3赋予 b。 宽度:用十进制整数指定输入数据的宽度(即字符 数)。 长度:长度格式符为l和h。l表示输入长整型数据 (如%ld)和双精度浮点数(如%lf);h表示输入 短整型数据。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-926 使用scanf( )函数还必须注意以下几点: scanf( )函数中没有精度控制。例如: scanf(%5.2f, /* 是非法的 */ 不能企图使用此语句
16、限制输入的数据为2位小数的实数。 scanf( )中要求给出变量地址,若给出变量名,则会出错。 例如: scanf(%d,a); 是不对的,应改为scanf(“%d”,才是合法的。这是C语言 与其他高级语言不同之处。许多初学者常在此出错。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-927 使用scanf( )函数还必须注意以下几点: 在输入多个数值数据时,若格式控制串中没有非格式 字符作为输入数据之间的间隔,则可用空格、Tab键 或回车键作为间隔。C语言编译系统在遇到空格、 Tab键、回车键或非法数据(如对“%d”输入“12A” 时,A即为非法数据)时,即认为该数据结束。
17、 在输入字符数据时,若格式控制串中无非格式字符, 则认为所有输入的字符均为有效字符。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-928 main() char a,b; printf(input character a,bn); scanf(%c%c, printf(%c,%cn,a,b); 运行结果: M N M, 【例3-11】没有空格的输入。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-929 main() char a,b; printf(input character a,bn); scanf(%c %c, printf(n%c%cn,a,b
18、); 运行结果: M N MN 【例3-12】有空格的输入。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-930 使用scanf( )函数还必须注意以下几点: 如果格式控制串中有非格式字符,则输入时也要输入 该非格式字符。例如: scanf(“%d,%d,%d”, 其中用非格式符“,”作为间隔符,故输入时应为: 5,6,7 当输入的数据与输出的类型不一致时,虽然编译能够 通过,但结果将不正确。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-931 main() int a; printf(input a numbern); scanf(%d, printf
19、(%ld,a); 运行结果: 8 524296 【例3-13】类型不统一出现的问题。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-932 main() int a; printf(input a numbern); scanf(%d, printf(%ld,a); 运行结果: 8 524296 【例3-13】类型不统一出现的问题。 由于输入数据类型为整型,而输出语句的格式串中说明 为长整型,因此输出结果和输入数据不符。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-933 main() int a; printf(input a long integern
20、); scanf(%ld, printf(%ld,a); 程序运行结果如下: input a long integer 1234567890 1234567890 【例3-14】统一类型后的变化。 在输入数据改为长整型后,输入数据与输出数据相等。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-934 main() char a,b,c; printf(input character a,b,cn); scanf(%c %c %c, printf(%d,%d,%dn%c,%c,%cn,a,b,c,a-32,b-32,c-32); 程序运行结果如下: s j k 115,106,
21、107 S,J,K 【例3-15】输入3个小写字母,输出大写字母。 3.3 输入输出函数 C 程程 序序 设设 计计 2021-7-935 main() int a; long b; float f; double d; char c; printf(nint:%dnlong:%dnfloat:%dndouble:%dnchar:%dn , sizeof(a),sizeof(b),sizeof(f),sizeof(d),sizeof(c); 运行结果: int:2 long:4 float:4 double:8 char:1 【例3-16】输出各种数据类型的字节长度。 3.3 输入输出函数 C
22、 程程 序序 设设 计计 2021-7-936 3.4 结构化程序设计思想 一、 结构化程序设计的方法 “模块化”的设计方法。将一个复杂的任务,分 解成若干个功能单一、相对独立的小任务来进行设 计,每个小任务就是一个模块。每个模块都仅由3种 基本结构组成。 程序的设计过程采用“自顶向下,逐步求精”。 程序的设计风格要以良好的可读性为目标,以 用户为中心。 C 程程 序序 设设 计计 2021-7-937 二、程序设计的步骤 分析问题,确定数据结构。 确定算法。 编写程序。 调试运行程序。 建立文档资料。 3.4 结构化程序设计思想 C 程程 序序 设设 计计 2021-7-938 三、程序设计
23、的风格 程序设计风格是指一个程序员在程序设计过程 中所表现的特点、结构、逻辑思路等习惯和技术的 总称,包括:程序结构形式、程序正文格式、行文 格式等。 3.4 结构化程序设计思想 C 程程 序序 设设 计计 2021-7-939 四、结构化程序设计的工具 算法 针对各种类型的问题,拟定出有效的解决方法和步 骤,是程序设计的核心。 程序流程图 用来表示一个算法。 u传统流程图 u结构化流程图 3.4 结构化程序设计思想 C 程程 序序 设设 计计 2021-7-940 3.4.5 结构化程序设计的3种基本结构 1.顺序结构 顺序结构就是一组逐条执行的可执行语句。 在顺序结构中,要求顺序地执行按先
24、后顺序排列 的每一个最基本的处理单元。如先执行处理A, 再执行处理B 。 3.4 结构化程序设计思想 C 程程 序序 设设 计计 2021-7-941 2. 选择结构 先对给定条件进行判断,并根据判断的结果执行相应命令 的结构。 3.4 结构化程序设计思想 C 程程 序序 设设 计计 2021-7-942 3、循环结构 (1)当型循环。当逻辑条 件成立时,就反复执行处理 A(循环体),直到逻辑条 件不成立时结束。 (2)直到型循环。反复执行处 理A(循环体),直到逻辑条件 不成立时结束 。 3.4 结构化程序设计思想 C 程程 序序 设设 计计 2021-7-943 3.5 顺序结构程序设计举例 【例3-18】任意从键盘输入一个3位整数,要求分离 出它的个位、十位和百位,并分别在屏幕上输出。 问题分析: 本例要求设计一个从3位整数中分离出它的个 位、十位和百位的程序。例如,输入的是456,则应 输出4、5、6。最低位数字可用对10求余的方法得到, 如456%10=6。百位数字可用对100整除的方法得到, 如456/100=4。中间的数字可通过将其变换为最高位 后用整除的方法得到,如(456-4*100)/10=5。 C 程程 序序 设设 计计 2021-7-944 具体程序如下:具
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防水层施工质量管理验收方案
- 2026年高一化学期末考试试题及答案
- 2026年浙江省安全员考试试题及答案
- 2026年大学python的考试试题
- 临时用电安全施工组织方案
- 系统性能测试分析报告
- 消防水系统工程施工用电安全规范
- 数控车间冷却系统备件管理制度
- 2025年山西省阳泉市政府采购评审专家考试试题及答案
- 2026年广东深圳市龙岗区南湾学校等校中考复习阶段模拟测试(4月)英语试题(含答案无听力原文及音频)
- 教育法律法规知识试题及答案
- 妇产科两非两禁止培训
- 产品气味管理制度
- 专升本中药学统一考试真题及答案(2025年新版)
- CJ/T 120-2016给水涂塑复合钢管
- 500kV变电站施工质量保障计划
- 2024-2025学年清华大学版(2024)A版初中信息科技八年级下册(全册)知识点复习要点归纳
- 行政固定资产管理培训
- 【规范药房创建资料】药品有效期管理制度
- 密闭式静脉输血操作流程
- 2025年中国菠菜种植行业市场全景评估及发展战略规划报告
评论
0/150
提交评论