顺序与分支结构程序设计.ppt
《顺序与分支结构程序设计.ppt》由会员分享,可在线阅读,更多相关《顺序与分支结构程序设计.ppt(76页珍藏版)》请在三一办公上搜索。
1、第3章顺序结构与分支结构程序设计,学习目标,熟悉C语言程序的格式;熟悉赋值语句的使用方法;理解数据输入输出的概念;掌握字符数据的输入输出方法;掌握格式化输入输出数据的方法;能够用C语言编写简单的顺序结构程序。,*,1/75,一、C语言程序的格式,一个C语言程序的格式如下:预处理部分;宏定义部分常量定义部分函数说明部分;类型 main(参数)语句;函数定义;,*,2/75,二、C语句分类,1.控制语句,*,3/75,C语句分类,2.函数调用语句,由函数调用表达式后跟一个分号组成,格式:,函数名(参数列表);,分类:,标准库函数,用户定义函数,标准库函数调用原则:,(1)要在程序中包含相应的头文件
2、,(2)调用的一般形式:函数名(参数列表);,*,4/75,标准函数调用的目的,(1)如数学函数,为了得到函数的返回值。,这类函数的调用一般出现在表达式中,作为表达式语句的一部分。,一般不作为函数调用语句。,(2)为了完成某项任务,而不是为了得到返回值。,在表达式中调用函数,实际上是转去执行一段预先设计好的程序,求出结果后返回调用点。所以函数的值又叫函数的返回值。,调用这类函数时,就直接用函数调用语句。,例:,scanf(%f,,printf(%f,x);,*,5/75,C语句分类,3.赋值语句例如sum=0;在赋值表达式后面加分号构成表达式语句。由于在赋值符“=”右边的表达式也可以又是一个赋
3、 值表达式 例如:a=b=c=d=e=5;按照赋值运算符的右接合性,因此实际上等效于:e=5;d=e;c=d;b=c;a=b;,*,6/75,C语句分类,4.空语句,空语句就是一个分号。,格式:,;,功能:,执行该语句不做任何操作,;,*,7/75,int x=123,g,s,b;g=x%10;s=x/10%10;b=x/100;,C语句分类,5.复合语句,包含三条语句的复合语句完成了提取一个数的个位、十位和百位,由花括弧 括起来的语句序列,表示控制的范围。例,*,8/75,注意:,(1)在复合语句中的“内部数据描述语句”中定义的变量,是局部变量,仅在复合语句中有效。,(2)复合语句结束的“”
4、之后,不需要分号。,(3)复合语句可以出现在任何数据操作语句可以出现的地方。,*,9/75,复合语句示例:,#include stdio.hvoid main()int a=11,b=21,c=31;printf(a=%dtb=%dtc=%dn,a,b,c);int b=22;float c=3.3;printf(a=%dtb=%dtc=%fn,a,b,c);a=b;printf(a=%dtb=%dtc=%dn,a,b,c);,程序运行结果 a=11 b=21 c=31a=11 b=22 c=3.300000a=22 b=21 c=31,*,10/75,三、基本输入输出操作的实现,C语言本身不
5、提供输入/输出语句。,C语言的输入/输出功能由C语言的标准I/O库函数提供。,C语言的输入/输出库函数名称不是保留字(或称关键字)。如putchar,printf,getchar,scanf。,*,11/75,(1)函数其调用格式为,putchar(int);,函数的名称,函数的参数,(2)函数功能,向标准输出设备(一般为显示器)输出一个字符,并返回输出字符的ASCII码值。,1.字符输出函数,*,12/75,【例3-1】字符输出函数举例,#include,程序运行结果为:AAAAA,void main()char ch;ch=A;putchar(A);putchar(ch);putchar(
6、x41);putchar(65);putchar(101);,包含函数putchar的头文件,*,13/75,(1)函数原型,getchar(void);,函数的名称,无参数,(2)函数功能,从标准输入设备(一般为键盘)读入一个字符,返回该字符的ASCII码值,并且将敲入的字符“回显”到屏幕上。,2.字符输入函数,*,14/75,【例3-2】字符输入输出函数举例:,#include/*说明函数getchar的原型包含在哪个文件中*/,void main()putchar(getchar();,从键盘输入字符后马上输出,程序运行结果:cc,*,15/75,注意:,调用函数getchar时,程序执
7、行被中断,等待用户从键盘输入数据。当用户键入字符并敲回车键以后,程序继续运行。若用户输入字符后未按回车键,则键入的内容一直保留在键盘缓冲区中,只有用户键入回车键后,字符输入函数getchar才进行处理。,函数getchar将回车键作为一个字符读入。如果程序中有两个以上函数getchar时,应该一次性输入所需字符,最后再按回车键,如课本31页思考题所示。,无论输入的是英文字母或标点符号还是数字,都是作为字符输入。,*,16/75,3.格式化输出函数,(1)函数原型,printf(char*format,argument,.);,(2)函数功能,函数printf将一组参数,由format给定的格式
8、规定输出格式,把数据格式化并且输出到标准输出设备。,若出错,则返回负数。,可以有多个参数,*,17/75,函数调用的一般形式:,printf(格式控制字符串,输出项列表);,*,18/75,(3)格式控制字符:,(i)组成:,普通字符、转义字符、格式说明。,普通字符:,按原样输出,主要用于输出提示信息。,转义字符:,指明特定的操作。,格式说明:,由%和格式字符串组成:%格式字符串。它表示按规定的格式输出数据。,*,19/75,例:,#include stdio.h void main()int a=97,b=98;printf(1:%d%dn,a,b);/*普通字符,原样输出*/printf(
9、2:%d,%dn,a,b);/*a,b以十进制整数形式输出*/printf(3:%c,%cn,a,b);/*a,b以字符形式输出*/printf(4:a=%d,b=%d,a,b);,程序运行结果为:1:97 982:87,983:a,b4:a=97,b=98,*,20/75,(ii)格式说明的形式:,%flagswidth.precF|N|h|Ltype,方括号表示该项可有可无,可选的标志字符-:左对齐输出,缺省为右对齐输出+:正数输出加号(+),负数输出减号(-)空格:正数输出空格代替加号(+),负数输 出减号(-)如:+d,-d,d。,十进制整数,指定输出宽度。指定宽度实际宽度,补空格。指
10、定宽度实际宽度,按实际输出。不指定宽度,按实际输出。如:10d,输出精度指示符。对整数,表示至少要输出的数字个数,不足补数字,多出则原样输出。对实数,表示小数点后至多输出的数字个数,不足补数字,多出则舍入处理。对字符串,表示最多输出的字符个数,不足补空格,多出则丢弃。,输出长度修饰符:F:输出远指针存放的地址。N:输出近指针存放的地址。H或h:输出短整型数据的值。L或l:输出长整型或双精度值。,格式字符,用来进行格式转换。(重点掌握),*,21/75,(iii)格式字符(type)一览表,*,22/75,注意:使用函数printf时要注意一个问题,那就是输出表列中的求值顺序。不同的编译系统不一
11、定相同,可以从左到右,也可从右到左。Dev C+中为从右到左,*,23/75,#include stdio.hint main()int a=3,b=4;printf(%dn,(a=b,b,a+3);/*输出序列是一个逗号表达式*/printf(%dn,a=b,b,a+3);/*输出第一个参数变量a的值*/,例:,输出结果为:7 4,*,24/75,注意:,实数运算中的误差不可避免。double比float精度高。float实数(单精度)的有效位数是7位,double实数(双精度)的有效位数是16位,超过有效位数的输出和输入均无意义。e格式符:以指数形式输出实数。%e输出13位,其中:1位整数
12、,1位小数点,6位小数,5位指数(含字符e和指数的符号)。%m.ne%-m.ne 与f格式符中的类似。g格式符:根据数值的值和精度自动选择f或e格式输出。,*,25/75,4.格式化输入函数,(1)函数原型,scanf(char*format,argument,.);,(2)函数功能,按规定格式从键盘输入若干任何类型的数据给argument所指的单元;返回读入并赋给argument的数据个数;遇文件结束返回EOF;出错返回0。,可以有多个参数,*,26/75,(3)函数调用的一般形式:,scanf(格式控制字符串,地址列表);,*,27/75,(4)格式控制字符:,(i)组成:,普通字符、格式
13、说明。,普通字符:,格式说明:,键盘输入时,要按原样输入,一般起分隔或提示作用。,但分隔或提示作用若由用户输入,就失去了本来的意义,一般采用printf来实现。,%*width F|N h|l type,*,28/75,(ii)格式说明的形式:,%*width F|N h|l type,输入赋值抑制字符:表示该格式说明要求输入数据,但不赋值,即在地址列表中没有对应有地址项。,宽度指示符:表示该输入项最多可输入的字符个数。如遇空格或不可转换的字符,读入的字符将减少。,地址大小修饰符:F:表示地址列表项中对应的地址为远指针;N:表示地址列表项中对应的地址为近指针。,数据输入类型:h:短整型l:长整
14、型或双精度类型,必需的格式字符,表示输入数据转换后的数据类型。,*,29/75,(iii)格式字符(type)一览表:,*,30/75,scanf(“i=%d,&i);printf(“i=%d,i);,scanf(%d%d%d,&a,&b,&c);,&:取地址运算符。表示将所输入后的数据放入对应地址的存储单元中。,*,31/75,例:,#include stdio.hvoid main()int a,b;printf(input a,b:);scanf(%d%d,input a,b:78a=7,b=8,*,32/75,(iv)注意事项:,scanf()的格式控制字符串中没有转义字符。如scan
15、f(“%dn”,&a);是错误的。,scanf()的格式控制字符串中的普通字符不是用来显示的,而是输入时要求照普通字符输入的。,scanf()中参数的第二部分一定是地址列表,不能是表达式。,*,33/75,小结,了解C语句的分类掌握C中最基本的四个输入输出操作函数的实现putchar()和getchar()是C标准I/O函数库中简单的,也是最容易理解的字符输入输出函数printf函数()和 scanf()函数提供了灵活多样的格式化输出和输入,细节规定非常繁琐,在刚开始学习时重点掌握一些常用规则即可。,*,34/75,学习目标,掌握关系运算符和逻辑运算符的使用方法。理解选择结构的概念。掌握如何用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 顺序 分支 结构 程序设计

链接地址:https://www.31ppt.com/p-6035004.html