已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第4章顺序结构程序设计,4.1语句概述4.2格式输出函数4.3格式输入函数4.4其它输入、输出函数4.5算法及其表示方法4.6顺序结构程序设计举例,4.1语句概述,程序的结构:,C语句可分为以下三类:1.控制语句2.表达式语句3.复合语句,程序的执行部分是由语句组成的。程序的功能也是由执行语句实现的。,1.控制语句,控制语句用于控制程序的流程,以实现程序的各种结构方式。可分成以下三类:1)条件判断语句:ifelse语句、switch语句;2)循环执行语句:dowhile语句、while语句、for语句;3)转向语句:break语句、goto语句、continue语句、return语句。,2.表达式语句,表达式语句由表达式加上分号“;”组成。执行表达式语句表示一个运算或者操作。其一般形式:表达式;常见形式有赋值语句、函数调用语句和空语句例如:x=y+z;y+z;i+;,赋值语句,加法运算语句,但计算结果不能保留,无实际意义,自增1语句,i值增1,1)赋值语句,赋值语句是由赋值表达式再加上分号构成的表达式语句。其一般形式为:变量=表达式;,赋值语句的功能和特点与赋值表达式相同。是程序中使用最多的语句之一。,在赋值语句的使用中需要注意以下几点:,1、赋值表达式的嵌套:赋值符右边的表达式又是一个赋值表达式:变量=(变量=表达式);展开之后的一般形式为:变量=变量=表达式;例如:a=b=c=d=e=5;按照赋值运算符的右接合性,等效于:e=5;d=e;c=d;b=c;a=b;,2、变量说明中给变量赋初值和赋值语句的区别:给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。例如:inta=5,b,c;3、在变量说明中,不允许连续给多个变量赋初值:如下述说明是错误的:inta=b=c=5;而赋值语句允许连续赋值:a=b=c=5;,2)函数调用语句,函数调用语句由函数名、实际参数加上分号“;”组成。执行函数语句就是调用函数体(在后面函数中再详细介绍)。其一般形式为:函数名(实际参数表);例如:printf(CProgram);调用库函数,输出字符串。,3)空语句,空语句只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。例如while(getchar()!=n);,空语句,本语句的功能是,只要从键盘输入的字符不是回车则重新输入。,3.复合语句,复合语句把多个语句用括号括起来组成的一个语句称复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句。例如:x=y+z;a=b+c;printf(“%d%d”,x,a);,是一条复合语句。,复合语句内的各条语句都必须以分号“;”结尾,在括号“”外不能加分号。,4.2printf函数(格式输出函数),1.printf()功能:按格式控制所指定的形式(向用户屏)输出输出项的值。,C不提供输入输出语句,只调用printf()函数,例:voidmain()inta,b,sum;a=123;b=456;sum=a+b;printf(”a=%d,b=%d,c=%dn”,a,b,sum);结果:a=123,b=456,c=579,原样输出,格式控制符与输出项表列一一对应,2.格式:printf(格式控制,输出项表列)输出项表列:由一个或多个输出项组成(若多个、它们之间用逗号隔开),常量、变量、函数、表达式、字符数组名等均可做输出项。格式控制:是用双引号括起来的字符串,用来表示格式说明,也称为转换控制字符串。其中字符可由下面3类组成:普通字符(原样输出)转义字符(输出所表示的字符或实现其功能)格式说明:控制对应输出项的输出形式,a=,%d,n,#includevoidmain()intk=68;floatt=56.3;printf(”%dt%dt%fn”,k,k+123,sqrt(t);结果:681917.503333,转义字符,跳到下一区,9,17,转义字符,回车,格式控制符,对应输出格式,3.格式说明:控制对应输出项的输出形式(每个格式说明按先后顺序与输出项一一对应),输出结果中格式说明被对应的输出项值取代。(1)格式说明基本形式:%d(或%i)、%o、%x(或%X)、%u、%c对应的输出项类型为字符型和整型。,带符号十进制,带符号八进制,带符号十六进制,无符号十进制,字符,例:voidmain()inta=65;charc=!;printf(”%d,%cn”,a,a);printf(”c=%c,ItsASCIIcode=%dn”,c,c);结果:65,Ac=!,ItsASCIIcode=33,main()inta=-1;printf(%d,%o,%x,%u,a,a,a,a);/*假设int占2个字节*/-1的原码:1000,0000,0000,0001。-1在内存中的补码表示为:1111,1111,1111,1111=1,111,111,111,111,111=1,7,7,7,7,7=ffff输出:-1,177777,ffff,65535-1是十进制,177777是八进制,ffff是十六进制。,%o、%x(或%X)、%u按unsigned型输出,且不带前导符号“o”和“x”,%s对应的输出项为字符串或字符数组例:voidmain()charname=”Jone”;printf(”%s%s%cn”,”Whois”,name,?);结果:WhoisJone?,字符串,字符,%f、%e(或%E)、%g(或%G)对应float型输出项%lf、%le(或%E)、%lg(或%G)对应double型输出项%f小数形式(6位小数)%e(或%E)标准化指数形式(尾数的小数点前有一位且只有一位非零、6位小数)%g(或%G)让系统自动选取%f(去掉小数点后多余的零)或%e中较短者6位有效例:main()floatf;f=123.46;printf(”%f,%e,%gn”,f,f,f)结果:123.459999,1.234600e+002,123.46数字,(2)在格式说明基本形式中加附加格式说明符若输出项为long型或unsignedlong型,则用下面格式说明控制:%ld、%lx、%lo、%lu若输出项为short型或unsignedshort型,则用下面格式说明控制:%hd、%hx、%ho、%hu在格式说明%后加一个整数m指定宽度为|m|位:若实际需要的位数|m|位、则此m失效若m为无符号整数,则左边填空格若m为负整数,则右边填空格若m为带正号整数,则左边填空格且所输出的数据前有正负号,例:voidmain()inta=12;longb=12345678;printf(”%6dn”,a);printf(”%-6dn”,a);printf(”%+6dn”,a);printf(”%12ldn”,b);printf(”%+8sn”,”book”);,字符串,负数本身肯定带负符号,带正号必须这样写,在%s中间插入m.n:m含义同,此m可省略、若省略则m=n。n为无符号整数、表示只输出对应字符串中左边n个字符。例:voidmain()printf(”%8.3sn”,”book”);printf(”%.3sn”,”book”);输出:,宽度就是3,在%f、%e(或%E)、%g(或%G)中间插入m.n:m含义同,此m可省略、若省略则m=n。n为无符号整数、表示n位小数,其余四舍五例8:printf(”a=%+10.3lfn”,123.45678);输出:注:若与中m为正整数且m前加0,则输出的左边空位填0例9:printf(”a=%+010.3lfn”,123.45678);输出:,四舍五入,在%x、%o、%lx、%lo的%后加#输出带前导的八进制或十六进制数据例10:voidmain()intx=7281;printf(”%o,%#on”,x,x);printf(”%x,%#xn”,x,x);输出:16161,0161611c71,0 x1c71注:格式控制中,连续的两个%表示一个%(不是格式说明符),(16161)8,(1c71)16,Printf函数输出列表的运算顺序程序示例main()inti=1,j=2;printf(%d%d%d,i+j,+i,i);,421,求值顺序自右至左,4.3scanf函数(格式输入函数),1格式scanf(格式控制,输入项地址表列)地址:1)变量名前加scanf(”%d,%d”,执行程序时应输入123,456,如果要输入a=123;b=456;,使用scanf函数还必须注意以下几点:1)scanf函数中没有精度控制,如:scanf(%5.2f,是非法的,应改为scnaf(%d,scanf(%c%c,输入:显示:输入:显示:,说明,1.格式控制中不包含附加格式说明符m.n,一般不包含转义字符(n可以)。2.double型输入项必须使用如下格式说明:%lf、%le、%lg(输出一样)3.*在格式说明%后插入*表示跳过它所指定的列数,如:scanf(”%d%*5%dn”,输入:结果:,用%f只能输出6位小数,输出10位用%20.10lf,a值:123b值:456,如果只有%*d则表示本输入项再度入后不赋给相应的变量,voidmain()inta;scanf(%d,输入:1234567890显示:1234567890,4、在格式说明基本形式中加附加格式说明符l若输出项为long型或unsignedlong型,则必须用下面格式说明控制:%ld、%lx、%lo、%luh若输出项为short型或unsignedshort型,则可用下面格式说明控制:%hd、%hx、%ho、%hu。,4.4其它输入、输出函数,1.getchar函数(字符输入函数)形式:getchar()功能:c=getchar();同scanf(”%c”,注意:需在文件开头加#include”stdio.h”,输入一个字符,赋给变量c,例:#includevoidmain()chara,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);,a,b,c,a,b,c,换行,使用getchar函数还应注意几个问题:,1)getchar函数只能接受单个字符,输入数字也按字符处理。输入多于一个字符时,只接收第一个字符。2)使用本函数前必须包含文件“stdio.h”。3)在TC屏幕下运行含本函数程序时,将退出TC屏幕进入用户屏幕等待用户输入。输入完毕再返回TC屏幕。,2.putchar函数(字符输出函数),格式:putchar(一个整形或字符型输出项)功能:同printf(”%c”,输出项),在显示器上输出单个字符。例如:putchar(A);(输出大写字母A)putchar(x);(输出字符变量x的值)putchar(101);(也是输出字符A)putchar(n);(换行),对控制字符则执行控制功能,不在屏幕上显示。使用本函数前必须要用文件包含命令:#include或#include“stdio.h”,例:,#includevoidmain()charc=A;putchar(66);putchar(53);putchar(c+2);putchar(n);putchar(7);putchar(n);结果:B+C7,B,+,C,7,换行,换行,3.puts函数,puts函数(字符串、字符数组中字符串输出函数)一般形式:puts(char*str);功能:将字符串或字符数组中存放的字符串输出到显示器上。例如:putstr(“ChinanBeijingn”);,4.gets函数(字符串输入函数),gets函数(字符串输入函数)一般形式:gets(char*str);功能:接收从键盘输入的一个字符串,存放在字符数组中。例如:chars81;gets(s);,4.5算法及其表示方法,1算法:为解决一个问题而采取的方法和步骤称为“算法”。2算法的5大特性(1)有穷性(有限的步骤)(2)确定性(不能有歧义)(3)有0个或多个输入(4)有1个或多个输出(即算法必须得到结果)(5)有效性:算法的每个步骤都应当能有效执行,并能得到确定的结果。,3算法的表示方法常用的算法表示方法:自然语言,传统流程图,结构化流程图(N-S流程图),伪代码、计算机语言等。(1)用自然语言表示算法(2)用流程图表示算法流程图表示算法:用一些图框表示各种操作,用箭头表示算法流程。用图形表示算法直观形象,易于理解。美国标准化协会ANSI规定了一些常用的流程图符号,已为世界各国程序工作者普遍采用。,4.5算法及其表示方法,4.6顺序结构程序设计举例,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 养老院安全管理课件
- 小学体育课件安全与健康
- 2025年省公务员面试真题解析与面试备考心得分享
- 2012年广东揭阳农村信用社笔试真题一(类比推理)
- 2025年吉林省安全员《C证》考试模拟题及答案
- 《四川省生态系统碳汇资源资产评估报告》
- 上海市安全员-B证考试题库及答案内部题库
- 《国际公法》02形成性考核任务练习题库
- 博兴县图书馆招聘考试真题
- 各类安全课件
- 2025年初级银行从业资格之初级公司信贷高分通关题库A4可打印版
- 2025年北京市综合评标专家库专家考试历年参考题库含答案详解(5套)
- 2025年全国共青团“新团员入团”应知应会知识考试试卷及参考答案详解【突破训练】
- 2025年以尽责管理推动价值创造-A股机构投资者赋能上市公司治理升级的实践路径研究报告-财新智库
- 早期胃癌内镜切除术后追加外科手术中国专家共识2025
- 消毒供应室灭菌流程
- 施工现场建筑垃圾处置方案(完整版)
- rc遥控车专业知识培训课件
- 绿篱机安全操作规程培训课件
- 2025年中国诚通控股集团有限公司人员招聘笔试备考试题附答案详解(考试直接用)
- 安全保卫培训讲义课件
评论
0/150
提交评论