2014_顺序程序设计ppt课件

上传人:我*** 文档编号:148047847 上传时间:2020-10-15 格式:PPT 页数:35 大小:493KB
返回 下载 相关 举报
2014_顺序程序设计ppt课件_第1页
第1页 / 共35页
2014_顺序程序设计ppt课件_第2页
第2页 / 共35页
2014_顺序程序设计ppt课件_第3页
第3页 / 共35页
2014_顺序程序设计ppt课件_第4页
第4页 / 共35页
2014_顺序程序设计ppt课件_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《2014_顺序程序设计ppt课件》由会员分享,可在线阅读,更多相关《2014_顺序程序设计ppt课件(35页珍藏版)》请在金锄头文库上搜索。

1、第三章 最简单的程序设计 (顺序程序设计),第三章 最简单的程序设计,语句概述 一、程序结构,语句概述,二、基本语句(两类) 1.说明语句 说明语句是用于对程序中所使用的变量及其属性进行定义。例如: int a,b; float x,y; 2.可执行语句(五种) 可执行语句是用于完成程序功能的语句。 控制语句 控制语句主要是对程序走向起控制作用。,语句概述,语言提供了九种控制语句,可分别用在不同要求的编程处理中。 函数调用语句 在一个函数的后面添加一个分号就构成函数调用语句。例如: printf(“C Program”); scanf(“%d,%d”, 表达式语句 在任何一个表达式的后面添加一

2、个分号就构成表达式语句。例如:,语句概述,i+; c=a*2+b%a; 空语句 只有一个分号的语句是空语句。例如: ; 在程序中空语句经常被用作循环体,起延时作用。 复合语句 程序中用一对大括号括起来的若干语句称为复合语句。例如,语句概述, m=a; a=b; b=m; 复合语句在语法上相当于一个语句,凡是单一语句可以存在的位置都可以使用复合语句。复合语句的主要用途是:当单一语句位置上的功能必须用多个语句才能实现时就需要使用复合语句。,程序的三种基本结构,结构化程序设计的基本思想是:任何程序都可采用以下三种基本结构来构造,它们是: 顺序结构 选择结构 循环结构 这三种基本结构可任意组合和互相嵌

3、套,从而构造出任何复杂的程序。 一、顺序结构 顺序结构是最基本的程序结构,其程序流程是:按语句出现的先后顺序依次执行。,程序的三种基本结构,二、选择结构选择结构又称分支结构。选择结构的程序流程是:根据给定的条件进行判断,由判断结果决定在两个或多个程序段中选择一支执行。,语句的执行顺序是: 先执行A,再执行B, 两者是顺序执行的关系。,语句的执行顺序是: 先判断条件是否成立,成立 (真)时执行A,否则执行B, 两者是选择执行其一的关系,程序的三种基本结构,C语言提供了两种选择语句(if语句和switch语句),用以实现程序的分支选择。 三、循环结构 循环结构又称重复结构。循环结构的程序流程是:在

4、给定条件成立的情况下反复执行某个程序段。循环结构的实现可有两种形式: 1.当型循环结构 语句的执行顺序是:先判断条件是否成立;成立(真)时执行A,然后返回起点再判断;如此反复循环,直到条件不成立(假)时结束循环。,程序的三种基本结构,2.直到型循环结构 语句的执行顺序是:先执行A,然后再判断条件是否成立;不成立(假)时返回起点再执行A;如此反复循环,直到条件成立时退出循环。 3.两种循环结构的区别 当型循环有可能一次也不执行A,而直到型,当型循环结构,程序的三种基本结构,循环至少应执行一次A。 当型循环的循环条件为假时退出循环,而直到型循环恰恰相反。 语言提供了三种循环控制语句(while,

5、dowhile,for)用以构造程序的循环。 3.3 赋值语句 赋值语句是由赋值表达式加上一个分号构成。例如: z=x+y 赋值表达式 z=x+y; 赋值语句,数据输出,程序的输入输出功能是通过调用系统提供的输入输出函数实现的。常用的输入输出函数有:字符输入输出函数getchar(),putchar()和格式输入输出函数scanf(),printf()。 一、字符输出函数putchar() putchar()函数的功能是向终端屏幕输出一个字符。该函数的使用形式为: putchar(c); c可以是字符变量、整型变量、字符常量或整型常量。,数据输出,例 #include “stdio.h” ma

6、in() char a,b,c; a=B;b=O;c=Y; putchar(a);putchar(b);putchar(c); putchar(n);putchar(101); BOY A,数据输出,二、格式输出函数printf() printf()函数的功能是按给定的输出格式向终端屏幕输出信息。该函数的一般形式为: Printf(“格式控制”,输出表列) 格式控制是下列三种形式之一或组合: 格式说明:用来规定相应输出项内容的输出格式; 转义字符:用来输出转义字符所代表的控制代码或特殊字符; 普通字符:要求原样输出的字符。,数据输出,输出表列是若干个需要输出的数据项,也可以是变量或表达式。例如

7、: printf(“a=%d,b=%d,a+b=%dn”,a,b,a+b); 1.格式说明 d格式符:用来输出十进制整数。 %d-按整型数据的实际长度输出; %md-按指定宽度输出; %ld-输出长整型数据。 例如:a=12345,b=123,c=135790L printf(“%4d,%4d,%ldn”,a,b,c);,数据输出,o格式符:以8进制数形式输出整数。 例如:int a=-1; printf(“%d,%on”,a,a); x格式符:以16进制数形式输出整数。 例如:int b=-2; printf(“%d,%o,%xn”,b,b,b); u格式符:用来输出无符号十进制数。 例如:

8、int c=-3; printf(“%d,%o,%x,%un”,c,c,c,c);,数据输出,c格式符:用来输出一个字符。 例如:char c=a; int i=65; printf(“%c,%cn”,c,i); s格式符:用来输出一个字符串。 %s、%ms、%-ms、%m.ns、%-m.ns 例如: printf(“%s,%3s,%-6s,%.4s,%-5.3sn”, “CHINA”,“CHINA”,“CHINA”, “CHINA”,“CHINA”,),数据输出,f格式符:以小数形式输出实数。 %f、%m.nf、%-m.nf 例如:float f=123.456; printf(“%f,%1

9、0f,%10.2f,%-10.2fn”, f,f,f,f);,数据输出,2.转义字符 在printf()函数中,转义字符的作用是输出相应的控制代码或特殊字符。 3.普通字符 格式控制中的普通字符将在相应位置被原样输出。 例 main() printf(“今天温度是21370Cn”); 今天温度是21。C,数据输入,一、字符输入函数getchar() getchar()函数的功能是从键盘读入一个字符。该函数的一般形式为: c=getchar() getchar()函数没有参数,函数值就是从输入设备得到的字符。c可以是字符变量,也可以是整型变量。 例输入一个字符,输出对应的十进制ASCII码制。,

10、数据输入,#include “stdio.h” main() char c; printf(“input char:”); c=getchar(); printf(“char=%c ASCII Value=%dn”,c,c); input char:q char=q ASCII Value=113,数据输入,二、格式输入函数scanf() scanf()函数的功能是按指定的输入格式从键盘接受用户的输入信息。该函数的一般形式: scanf(“格式控制”,地址表列) 格式控制与printf()函数中的含义类似,所不同的是对输入格式进行控制.其内容可以是格式说明或普通字符,而转义字符则较少使用。 地

11、址表列是由若干个等待输入的内存单元地址组成,该地址可以是变量地址或字符串首地址等。其作用是存放输入的数据。例如:,数据输入,scanf(“%d%d%d”, a=21,b=A 例计算圆柱体的侧面积: S=2*3.1416*r*h 其中r底半径,h柱高。,数据输入,#include main() float r,h,S; printf(“input r,h:”); scanf(“%f,%f”, input r,h:3,2.5r=3.000000,h=2.500000,S=47.124001,程序举例,例数制转换。输入一个十进制数,分别输出该数的八进制数、十进制数和十六进制数。 #include m

12、ain() int a; printf(“Input a number:”); scanf(“%d”,程序举例,Input a number:76 Number(Oct)=114 Number(Dec)=76 Number(Hex)=4c,程序举例,例任意从键盘输入一个三位整数,要求正确地分离出它的个位、十位和百位数,并分别在屏幕上输出。 程序设计分析: 设计一个从三位整数中分离出它的个位、十位和百位数的算法。如:输入456,输出分别是4、5、6,程序举例,最低位数字-对10求余,如456%10=6, 最高位的百位数字-对100整除,如456/100=4, 中间位的数字-既可通过将其变换为最高

13、位后再整除的方法,如(456-4*100)/10=5,也可通过将其变换为最低位再求余的方法,如(456/10)%10=5。,#include void main ( ) int x, b0, b1, b2; /变量定义 printf (please input an integer x: ); /提示用户输入一个整数 scanf (%d, /输出结果 ,程序举例,程序设计的分析: 求一个字母的前驱字母:一般情况:减1,特殊情况:a的前驱是z不能通过减1来实现。可利用取余操作,即任何一个整数除以26(26个字母)的余数只能在025之间。我们可以以z为参考点,首先求出输入的字符ch(假设是w)与z

14、之间的字符偏移数n=z-ch=z-w=3,而(n+1)%26=4则是ch(字母w)的前驱字母相对于z的偏移数,z-(n+1)%26=122-4=118(即字母v)就是ch(字母w)的前驱字母。如下图所示,求一个字母的后继: 一般情况: 加1, 特殊情况: z的后继是a不能通过加1来实现。此时,可以a为参考点,首先求出输入的字符ch(假设是w)与a之间的字符偏移数n=ch-a=w-a=22,而(n+1)%26=23则是ch(字母w)的后继字母相对于a的偏移数,a+(n+1)%26=97+23=120(即字母x)就是ch(字母w)的后继字母。,#include void main ( ) char

15、 ch, ch1, ch2; /变量定义 ch = getchar(); /读取一字符 putchar(n); /换行 ch1 = z - (z - ch + 1) % 26; /求前驱字符 ch2 = a + (ch - a + 1) % 26; /求后继字符 printf(ch1 = %c, ch2 = %cn,ch1,ch2); /显示结果 ,【例】数据的格式化输入 输入一学生的学号(8位数字)、生日(年-月-日)、性别(M:男,F:女)及三门功课(语文、数学、英语)的成绩,现要求计算该学生的总分和平均分,并将该学生的全部信息输出(包括总分、平均分)。,#include void mai

16、n ( ) 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, ,printf (input the students Scores(chinese, math, english): ); scanf (%f,%f,%f, ,假设输入 : input the students NO:20040101 input the students Birthd

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号