第4章 顺序结构程序设计_第1页
第4章 顺序结构程序设计_第2页
第4章 顺序结构程序设计_第3页
第4章 顺序结构程序设计_第4页
第4章 顺序结构程序设计_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

第4章顺序结构程序设计C语言程序设计内容提要算法的N-S图表示程序的三种基本结构数据输入数据输出程序举例算法的N-S图表示算法的特征:输入输出有穷性,算法只能执行有限个步骤确定性,算法的每一步都须有确定的定义可行性,算法的每个步骤都可以被分解为可执行的基本操作算法的N-S图表示方法描述算法N-S图流程图伪代码自然语言顺序结构NS图BAABNY条件P分支结构(选择结构)多分选择支结构ABCDE表达式S当型循环结构当P为真A当P为真A直到型循环结构直到P为假A直到P为假A程序的三种基本结构N-S图的五种基本结构可以分为三类:顺序结构,顺序结构;选择结构,二分支和多分支选择结构;循环结构,当型循环和直到型循环结构。程序的三种基本结构输入一个整数a,计算a的平方,计算a的三次方,输出a,a的平方以及a三次方。程序的三种基本结构从键盘输入一个字母ch,如果ch是大写字母则将它转换成小写字母,如果ch是小写字母则将它转换成大写字母,最后输出字母ch和转换后的字母。程序的三种基本结构输入正整数n,判断n是否素数。数据输入字符输入函数(getchar)从输入设备输入一个字符。调用形式为:getchar()例如:charch; ch=getchar(); putchar(ch);数据输入格式输入输入任意类型的多个数据。调用形式为:scanf(格式控制字符串,地址列表)其中,格式控制字符串是用双引号括起来的字符串,用来指定输入格式,地址列表是用来接收输入数据的变量的地址,多个地址之间用逗号分隔。数据输入格式控制字符串里面包含两种字符:(1)格式字符,指定输入的数据类型以及格式由“%”和格式字符组成,如%c,%f等。在%和格式字符之间可以有格式说明符,如%3d等。(2)普通字符,普通字符在输入的时候要原样输入。字符串“%d,%f”包含一个普通字符“,”数据输入格式字符作用d输入十进制整数o输入八进制整数x输入十六进制整数f输入float型实数,可以指数形式或小数形式输入e与f相同g与f相同c输入一个字符s输入一个字符串数据输入格式说明符作用l用于输入长整型以及double型数据h用于输入短整型数据整数用于指定输入数据所占宽度*跳过本输入项数据输入(1)格式字符d,输入一个整数,用法:%d,输入一个整数;%ld,输入一个长整型数;%hd,输入一个短整型数;%md(m为一个正整数),输入一个整数,宽度为m(包括符号)。longk;

scanf(“%ld”,&k);数据输入intj;scanf(“%3d”,&j);输入12345回车,则变量j的值为123输入-12345回车,则变量j的值为-12指定输入宽度负号占一位宽度数据输入(2)格式字符o,指定输入一个八进制整数,基本用法为%o,。(3)格式字符x,指定输入一个十六进制整数,基本用法为%x。带格式说明符的用法与格式字符d相同。数据输入(4)格式字符f、e或g的作用相同,指定输入一个float型实数,用法为%f。变量为double型,则需加上格式说明符l:doubleg;scanf(“%lf”,&g);输入实型数据时也可以指定宽度,如:doubleg;scanf(“%4lf”,&g);运行时输入-3.14回车,变量g的值是-3.1。数据输入(5)格式字符c,指定输入一个字符,用法为,格式说明符不起作用charch;scanf(“%c”,&ch);输入字符时,空格和转义字符都可以作为有效字符输入。输入空格,则变量ch的值为空格符;如直接按回车,则变量ch的值为回车符。数据输入(6)格式字符s,指定输入字符串,保存字符串需要用到数组的概念,所以格式字符s留到数组的章节再讲。数据输入可以给多个不同类型的变量输入值,地址列表中的各地址项用逗号分开。如:intk;doubleg;intp;scanf(“%d%lf%x”,&k,&g,&p);数据输入当输入多个数据时,一个数据的输入什么时候结束呢?分两种情况:第一、只输入数值型(整数或实数)数据,遇到以(1)遇空格、跳格(TAB键)或者回车键inti;doubleg;scanf(“%d%lf”,&i,&g);输入23.14回车或者2TAB3.14回车或者2回车3.14回车数据输入(2)遇宽度结束;如:inti;doubleg;scanf(“%3d%4lf”,&i,&g);输入-123.14156,则i的值为-12,g的值为3.14数据输入(3)遇非法输入;如intk;doubleg;scanf("%d%lf",&k,&g);输入12-3.14因为12后面的符号无法解释成整数,所以结束第一个整数的输入,故k的值为12,g的值为-3.14。数据输入第二、输入中包含字符型数据,因为空格、跳格(TAB键)或者回车键也是字符数据的有效输入,所以空格、跳格(TAB键)或者回车键不能作为分隔输入项的标志。数据输入chara;charb;scanf(”%c%c”,&a,&b);输入x空格y回车,则变量a的值为字符x,变量b的值为空格字符;输入xTABy回车,则变量a的值为字符x,变量b的值为TAB字符;输入x回车y回车,则变量a的值为字符x,变量b的值为回车符;输入xy回车,则a的值为字符x,b的值为字符y数据输入inti;chara;scanf(“%d%c”,&i,&a);输入12空格y回车,则i的值为12,a的值为空格字符。输入12y,则i的值为12,a的值为字符y。数据输入格式控制字符串中有普通字符,则输入的时候要原样输入,否则会出错。如:chara;charb;scanf(“%ck%c”,&a,&b);输入xky回车,则变量a的值为字符x,变量b的值为字符y;输入xry回车,则变量a的值为字符x,变量b的值为一个随机值;输入xk回车,则变量a的值为字符x,变量b的值为回车符。数据输入格式字符前面的说明符*,用来表示跳过该输入项。如:inta;intb;scanf("%2d%*3d%2d",&a,&b);第二个格式字符有一个*说明符,表示相应输入的三位宽度的整数不赋给变量。运行时,如输入123456789回车,则变量a的值为12,变量b的值为67。数据输出字符输出函数(putchar)向终端输出一个字符,调用形式为:putchar(ch)函数参数ch可以是字符常量、字符变量或者值为字符的表达式。charch='B'; putchar('A'); putchar(ch); putchar(ch+1);数据输出格式输出函数(printf)输出多个不同类型的数据。调用形式为printf(格式控制字符串,输出列表);其中,格式控制字符串是用双引号括起来的字符串,用来规定输出格式输出列表是所有需要输出的数据列表,多个输出项之间用逗号分隔。数据输出格式字符作用d以有符号十进制形式输出整数u以无符号十进制形式输出整数o以无符号八进制形式输出整数x以无符号十六进制形式输出整数f以小数形式输出实数(float和double),默认输出6位小数e以指数形式输出实数(float和double),数字部分输出6位小数g选择f和e输出宽度较短的一种,不输出无意义的0c输出一个字符s输出一个字符串数据输出格式说明符作用l用于输出长整型,可以用在格式符d、u、o、x前面m(正整数)输出的最小宽度.n(正整数或0)对实数,表示输出的小数位数;对字符串,表示输出的字符个数-输出的数字或字符在域内向左对齐数据输出(1)格式字符d,以有符号十进制形式输出整数,有以下几种用法:%d,输出一个整型;%ld,输出一个长整型%md,输出一个整型,总宽度为m,右对齐%-md,输出一个整型,总宽度为m,左对齐数据输出一个整数,无论是八进制、十进制还是十六进制都可以以十进制形式输出。如:inta=10;intb=010;intc=0x10;printf("%d,%d,%d\n",a,b,c);数据输出整数的位数超过了指定的宽度,则按实际位数输出;整数的位数小于指定的宽度,补空格。inta=1234;printf("%3d%8d%-8d%d\n",a,a,a,a);输出结果为:1234123412341234数据输出(2)格式字符u,以无符号十进制形式输出整数,基本用法为%u,格式说明符同d无符号整数也可以用格式字符d输出,但是如果要输出的数超出了有符号整数类型的取值范围,结果就将发生改变。unsigneda=4294967294;printf("%d,%u\n",a,a);输出结果为:-2,4294967294按整型输出,出错数据输出负数也可以用格式字符u输出,但是结果会发生改变。如:inta=-100;printf("%d,%u\n",a,a);输出结果为:-100,4294967196数据输出(3)格式字符o,以无符号八进制形式输出整数(不输出前导符0),基本用法为%o。(4)格式字符x,以无符号十六进制形式输出整数(不输出前导符0x),基本用法为%x,o和x的格式说明符的用法与d相同数据输出(5)格式字符f,以小数形式输出实数,默认输出6位小数,有以下几种用法:%f,输出实数,小数位保留6位,不足补0;%m.nf,输出实数,总宽度为m位(小数点占1位),小数位保留n位,不足补0,右对齐;%.nf,输出实数,不指定总宽度,只指定小数位保留n位,不足n位则补0,右对齐;%-m.nf,与%m.nf相同,只是向左对齐;%-.nf,与%.nf相同,只是向左对齐。数据输出floata=2.718;doubleb=3.1415926;printf("%f,%f\n",a,b);输出结果为:2.718000,3.141593数据输出(6)格式说明符e,以指数形式输出。数值部分小数点前有且仅有一位非0数字,保留6位小数;指数部分宽度固定为5位(e+003)%e,以默认方式输出实数;%m.ne,输出实数,总宽度为m位(包括数值和指数部分),小数位保留n位,右对齐;%.ne,输出实数,不指定总宽度,只指定小数位保留n位,不足n位则补0,右对齐;%-m.ne,与%m.ne相同,只是向左对齐;%-.ne,与%.ne相同,只是向左对齐。数据输出doublea=-27.1828;floatb=0.31415926;printf("%e,%e\n",a,b);输出结果为:-2.718280e+001,3.141593e-001数据输出(7)格式字符g,自动选择f和e输出宽度较短的一种,不输出无意义的0,使用方式为%g。doublea=271.828;printf("%f,%e,%g\n",a,a,a);输出结果为:271.828000,2.718280e+002,271.828数据输出(8)格式字符c,输出一个字符:%c,输出一

温馨提示

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

评论

0/150

提交评论