C程序设计顺序程序设计.ppt_第1页
C程序设计顺序程序设计.ppt_第2页
C程序设计顺序程序设计.ppt_第3页
C程序设计顺序程序设计.ppt_第4页
C程序设计顺序程序设计.ppt_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

第3章 C程序设计顺序程序设计,3.1 程序的控制结构,3.1.1算法的基本概念 程序=算法+数据结构+程序设计方法+语言工具和环境 3.1.2 算法的特性 有穷性:一个算法应包含有限的操作步骤而不能是无限的。 确定性:算法中每一个步骤应当是确定的,而不能是含糊的、模棱两可的。 有零个或多个输入。 有一个或多个输出。 有效性:算法中每一个步骤应当能有效地执行,并得到确定的结果。,3.1.3 算法的表示,1 用自然语言表示算法 2 用流程图表示算法 图3-1 流程图符号,【例3.1】求5!的算法流程图表示。,图3-2 没有打印功能 图3-3 带有打印功能,【例3.2】判定闰年的算法用流程图表示。,三种基本结构和改进的流程图,顺序结构:,选择结构:,循环结构,三种基本结构的共同特点:,只有一个入口; 只有一个出口; 结构内的每一部分都有机会被执行到; 结构内不存在“死循环”。,3.1.4 用N-S流程图表示算法,1. 顺序结构: 2. 选择结构:,3. 循环结构:,3.1.5 用计算机语言表示算法,【例3.3】用C语言求5!。 #include void main() int i,t; t=1; i=2; while(i=5) /循环结构,判断下循环条件是否为真 t=t*i; i=i+1; printf(“%d“,t); ,3.1.6 结构化程序设计方法,结构化程序设计所遵循的原则: 自顶向下; 逐步细化; 模块化设计; 结构化编码。,3.2 语句概述,图3-5 程序的结构图,C语句可分为以下五类:,表达式语句 函数调用语句 控制语句 复合语句 空语句,3.3 数据输入输出的概念及在 C语言中的实现,在使用语言库函数时,要用预编译命令#include将有关“头文件”包括到源文件中。 使用标准输入输出库函数时要用到“stdio.h”文件,stdio是standard input and outupt的意思。因此源文件开头应有以下预编译命令: #include 或 #include “stdio.h”,3.4 字符数据的输入与输出,3.4.1 putchar 函数(字符输出函数) putchar 函数是字符输出函数, 其功能是在显示器上输出单个字符。 其一般形式为:,putchar(字符型量),例如: putchar(A); (输出大写字母A) putchar(x); (输出字符变量x的值) putchar(101); (也是输出字符A) putchar(n); (换行),【例3.4】输出单个字符。 #include void main() char a=G,b=o,c=o,d=d; putchar(a);putchar(b);putchar(c); putchar(d); putchar(t); ,3.4.2 getchar函数(键盘输入函数),getchar函数的功能是从键盘上输入一个字符。 其一般形式为:,getchar();,【例3.5】输入单个字符。 #include void main() char c; printf(“input a charactern“); c=getchar(); putchar(c); ,putchar(getchar(); 或 printf(“%c”,getchar();,3.5 printf函数(格式输出函数),3.5.1 printf函数调用的一般形式 printf函数是一个标准库函数,它的函数原 型在头文件“stdio.h”中。,printf(“格式控制字符串”,输出表列),格式控制字符串,%标志输出最小宽度.精度长度类型,printf函数调用的一般形式为:,输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,保证不因为输出而使数据发生截断误差。若实际位数少于定义的宽度则按表3-2补以空格或0。 精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数值,则表示小数的位数;如果输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则四舍五入截去超过的部分。 长度:长度格式符为h,l两种,h表示按短整型(short)量输出,l表示按长整型(long)量输出。,【例3.6】输出整数 #include void main() int a=88,b=89; printf(“%4d %4on“,a,b); printf(“%+4ld,%-4dn“,a,b); printf(“%+04d,%-04dn“,a,b); printf(“a=%d,b=%dn“,a,b); ,【例3.7】 按格式控制字符串要求输出浮点型小数和字符型数据 #include void main() int a=15; float b=123.1234567f; double 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); ,3.5 使用printf函数注意事项,(1)如果想输出,则应该在“格式控制”字符串中用连续两个表示。 (2) 输出最小宽度.精度仅用于输出浮点型小数和字符串时的格式控制。 输出浮点型小数:形如,%-m.nf,f是一个浮点型变量,当按此格式输出时,包括小数点共m列宽(按照对齐方式补齐)、取n位小数;当f的实际宽度大于m时,则按实际宽度输出。 输出字符串:形如,%-m.ns,s是一个字符串,当按此格式输出时,按照对齐方式用空格补齐m列、取n个字符;当s的实际宽度大于m时,则按实际宽度输出。 (3)printf()函数格式控制字符串可以包含转移字符。,float f=-3.14587f; printf(“%-10.2f“,f); /输出数据占10列宽,取2位小数,左对齐 printf(“%5.2f“,f); /输出数据占5列宽,取2位小数 printf(“%8.2f“,f); /输出数据占8列宽,取2位小数,右对齐 printf(“%3.2fn“,f); /输出数据占3列宽,取2位小数f的实际 / 宽度大于3时,按实际宽度输出,printf(“%3s,%7.2s,%.4s,%-5.3sn“,“CHINA“,“CHINA“,“CHINA“,“CHINA“); 输出为: CHINA,CH,CHIN,CHI,3.6 scanf函数(格式输入函数),scanf函数的一般形式,scanf(“格式控制字符串”,地址表列);,【例3.8】scanf函数的使用 #include void main() int a,b,c; printf(“input a,b,cn“); scanf(“%d%d%d“, 在scanf语句的格式串中由于没有非格式字符在“%d%d%d”之间作输入时的间隔,因此在输入时要用一个或一个以上的空格、回车键、Tab键作为每两个输入数之间的间隔。,格式字符串,%*输入数据宽度长度类型,类型:表示输入数据的类型,其格式符和意义如下表,(2)“*”:抑制符,用以表示输入的数据不赋值给相应的变量,即跳过该输入值。 如: scanf(“%d %*d %d“, 当输入为:1 2 3时,把1赋予a,2被跳过,3赋予b。 (3)宽度:用十进制整数指定输入的宽度(即字符数),遇空格或不可转换字符则结束。 (4)长度:长度格式符为l和h ,l表示输入长整型数据(如%ld) 和双精度浮点数(如%lf)。h表示输入短整型数据。,使用scanf函数还必须注意以下几点:,(1)scanf函数中没有精度控制, 如:scanf(“%5.2f”,才是合法的。 (3)在输入多个数值数据时,若格式控制串中没有非 格式字符作输入数据之间的间隔则可用空格、TAB或 回车符作间隔。C编译在碰到空格、TAB、回车或非 法数据(如对“%d”输入“12A”时,A即为非法数据)时 即认为该数据结束。 (4)在输入字符数据时,特别需要注意空格符、回车 符均作为有效字符使用。若格式控制串中无非格式 字符,则认为所有输入的字符均为有效字符。,【例3.6】数据的格式化输入输出。输入一学生的学号(8位数字)、生日(年-月-日)、性别(M:男,F:女)及三门功课(语文、数学、英语)的成绩,现要求计算该学生的总分和平均分,并将该学生的全部信息输出(包括总分、平均分)。,#include void main() unsigned long no; /学号 unsigned int year,month,day; /生日 unsigned char sex; /性别 float chinese,math,english; float total,average; printf(“input the students NO:“); scanf(“%8ld“, ,【例3.9】数据的格式输入输出。,3.7顺序结构程序设计举例,【例3.10】输入三角形的三边长,求三角形面积。,#include #include void main() float a,b,c,s,area; scanf(“%f,%f,%f”, ,【例3.11】求ax2+bx+c=0方程的根,a,b,c由键盘输入,设b2-4ac0。,#include #incl

温馨提示

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

评论

0/150

提交评论