《kj-第3章程序设计初步ppt课件(全).ppt》由会员分享,可在线阅读,更多相关《kj-第3章程序设计初步ppt课件(全).ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第3章章程序设计初步程序设计初步本章概述本章概述本章的学习目标本章的学习目标主要内容主要内容1本章概述本章概述l本章主要介绍以下内容本章主要介绍以下内容:l常用的输入输出函数常用的输入输出函数l简单顺序结构程序设计举例简单顺序结构程序设计举例2本章的学习目标本章的学习目标l本章教学目的本章教学目的:l掌握赋值语句的使用方法,掌握掌握赋值语句的使用方法,掌握putchar、getchar、printf、scanf函数的函数的使用方法,能编写简单的程序。使用方法,能编写简单的程序。l本章教学重点:本章教学重点:printf、scanf函数的使用函数的使用方法方法l本章教学难点:本章教学难点:pr
2、intf、scanf函数的使用函数的使用方法方法3主要内容主要内容l3.1C语句概述语句概述l3.2顺序结构程序设计顺序结构程序设计l3.3数据的输入与输出数据的输入与输出l3.4程序设计举例程序设计举例43.1C语句概述语句概述l3.1.1C语句的种类语句的种类在在C程序中,共有如下五种程序中,共有如下五种C语句组成:语句组成:1表达式语句表达式语句由一个表达式的后面加上一个分号构成的语句由一个表达式的后面加上一个分号构成的语句2函数调用语句函数调用语句由函数名、实际参数加上由函数名、实际参数加上“;”组成。其一般形式为:组成。其一般形式为:“函数名函数名(实实际参数表际参数表);”。3控制
3、语句控制语句控制语句用于控制程序的流程,以实现程序的各种结构方式。它们控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。由特定的语句定义符组成。C语言有九种控制语句。可分成以下三类:语言有九种控制语句。可分成以下三类:4复合语句复合语句把多个语句用括号把多个语句用括号括起来组成的语句称为复合语句。在程序中应括起来组成的语句称为复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句,例如把复合语句看成是单条语句,而不是多条语句,例如5空语句空语句只有只有“;”组成的语句称为空语句组成的语句称为空语句53.1C语句概述语句概述l C程序的赋值语句说明:说明:1
4、.由于在赋值符由于在赋值符“=”右边的表达式可以是另一个赋右边的表达式可以是另一个赋值表达式,因此,下述形式值表达式,因此,下述形式“变量变量=(变量变量=表达式表达式);”是成立的,从而形成嵌套的形式。其展开之后是成立的,从而形成嵌套的形式。其展开之后的一般形式为:的一般形式为:“变量变量=变量变量=表达式表达式;”2.注意在变量说明中给变量赋初值和赋值语句的区注意在变量说明中给变量赋初值和赋值语句的区别。给变量赋初值是变量说明的一部分,赋初值后别。给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类型变量之间仍必须用逗号的变量与其后的其它同类型变量之间仍必须用逗号间隔,而赋值语句
5、则必须用分号结尾。间隔,而赋值语句则必须用分号结尾。63.1C语句概述语句概述3.在变量说明中,不允许连续给多个变量赋初值。在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的:如下述说明是错误的:“inta=b=c=5;”,必须写成,必须写成“inta=5,b=5,c=5;”,而赋值语句允许连续赋值。,而赋值语句允许连续赋值。4.注意赋值表达式和赋值语句的区别,赋值表达式注意赋值表达式和赋值语句的区别,赋值表达式是一种表达式,它可以出现在任何允许表达式出现是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。的地方,而赋值语句则不能。l语句语句“if(x=y+5)0)
6、z=x;”是合法的,它是合法的,它的功能是,若表达式的功能是,若表达式“x=y+5”大于大于0则则z=x。语句语句“if(x=y+5;)0)z=x;”是非法的,因是非法的,因为为“x=y+5;”是语句,不能出现在表达式是语句,不能出现在表达式中。中。73.2顺序结构程序设计顺序结构程序设计l通常,结构化程序设计包括下列三种基本通常,结构化程序设计包括下列三种基本结构,即顺序结构、选择结构和循环结构。结构,即顺序结构、选择结构和循环结构。它们的结构流程图如下图所示:它们的结构流程图如下图所示:83.3数据的输入与输出数据的输入与输出l在语言中,所有的数据输入输出都是在语言中,所有的数据输入输出都
7、是由库函数完成的,因此都是函数调用语句。由库函数完成的,因此都是函数调用语句。本节主要介绍常用的格式输出函数本节主要介绍常用的格式输出函数printf()、格式输入函数格式输入函数scanf()及字符输入函数及字符输入函数getchar()、getch()和字符输出函数和字符输出函数putchar()。93.3数据的输入与输出数据的输入与输出l3.3.1 3.3.1 printf函数函数1printf()函数的一般形式函数的一般形式printf函数的调用格式为:函数的调用格式为:printf(“格式控制串格式控制串”,输出表列,输出表列);“格式控制串格式控制串”用于指定输出格式。它必须用双引
8、用于指定输出格式。它必须用双引号括起来,由格式说明符、普通字符和转义字符组号括起来,由格式说明符、普通字符和转义字符组成。成。103.3数据的输入与输出数据的输入与输出l3.3.1 printf函数 写出下面的程序的输出结果。写出下面的程序的输出结果。#includeintmain()inta=65,b=97;printf(“%d%dn”,a,b);printf(“%d,%dn”,a,b);printf(“%c,%cn”,a,b);printf(“a=%d,b=%d”,a,b);return0;113.3数据的输入与输出数据的输入与输出2.printf函数 格式说明(1)整型数据输出的格式字符
9、整型数据输出的格式字符整型的输出形式有四种:带符号的十进制整型形式、无整型的输出形式有四种:带符号的十进制整型形式、无符号的十进制整型形式、无符号的十六进制形式和无符号符号的十进制整型形式、无符号的十六进制形式和无符号的八进制形式。分别使用格式字符的八进制形式。分别使用格式字符d、u、x或或X和和o。其中。其中x表示以小写形式输出十六进的表示以小写形式输出十六进的af,X表示以大写形式输表示以大写形式输出。出。(2)字符型数据输出的格式字符字符型数据输出的格式字符在输出字符型数据时,若要输出一个字符,则使用格式在输出字符型数据时,若要输出一个字符,则使用格式字符字符c;若要输出一串字符,则要使
10、用格式字符;若要输出一串字符,则要使用格式字符s。123.3数据的输入与输出数据的输入与输出(3)实型数据输出的格式字符实型数据输出的格式字符实型数据输出的格式字符有实型数据输出的格式字符有f、e或或E、g或或G几种方式。几种方式。其中格式字符其中格式字符f表示以小数形式输出实数;格式字符表示以小数形式输出实数;格式字符e或或E表示以指数形式输出实数;格式字符表示以指数形式输出实数;格式字符g或或G表示输出时自动表示输出时自动选择使用格式字符选择使用格式字符f或或e。133.3数据的输入与输出数据的输入与输出l3转义字符转义字符在在printf()函数中,也可以使用转义字符函数中,也可以使用转
11、义字符(在第二章中在第二章中已经介绍已经介绍),转义字符是一个以,转义字符是一个以“”开头的字符序列。开头的字符序列。在表在表2.2中已列出常用的转义字符。中已列出常用的转义字符。l4修饰字符修饰字符在在printf()函数中,所有的输出格式都是以函数中,所有的输出格式都是以“%”开始,开始,再接一组有意义的字母。若想使数据按固定的字段长再接一组有意义的字母。若想使数据按固定的字段长度输出,可以在度输出,可以在“%”后面加上输出长度的数值。如后面加上输出长度的数值。如“%3d”,表示输出十进制整数时,长度共占,表示输出十进制整数时,长度共占3列;列;“%6.3f”则表示输出浮点数时,长度包括小
12、数点共有则表示输出浮点数时,长度包括小数点共有6列,小数点前占列,小数点前占2列,小数占列,小数占3列。列。14printf()函数的修饰符()函数的修饰符153.3数据的输入与输出数据的输入与输出lscanf函数函数格式输入函数格式输入函数scanf()scanf()的作用是在终端设备上,的作用是在终端设备上,以指定的格式输入一个或多个任意类型的数据。以指定的格式输入一个或多个任意类型的数据。163.3数据的输入与输出数据的输入与输出l1 1scanf()scanf()函数的一般格式函数的一般格式scanf()scanf()函数的调用格式函数的调用格式scanfscanf(“格式控制串格式控
13、制串”,&变量变量1 1,&变量变量2 2,););“格式控制串格式控制串”用于指定输入格式,它必须用双引号括起来,用于指定输入格式,它必须用双引号括起来,由格式说明符、普通字符组成。由格式说明符、普通字符组成。格式说明符由格式说明符由%和格式字符组成,用于说明输入数据的格式。和格式字符组成,用于说明输入数据的格式。如如“%d%d”表示按十进制整型输入,表示按十进制整型输入,“%c%c”表示按字符型输入。表示按字符型输入。普通字符是指在输入数据时按原样输入的字符。普通字符是指在输入数据时按原样输入的字符。而而“&变量变量1 1”、“&变量变量2 2”等则是当用户由键盘上输入数据并等则是当用户由
14、键盘上输入数据并按下回车键后,数据内容就会传送到相应变量的内存单元中。按下回车键后,数据内容就会传送到相应变量的内存单元中。使用使用scanf()scanf()函数时要注意的是,在变量名前面必须加上地址函数时要注意的是,在变量名前面必须加上地址运算符运算符“&173.3数据的输入与输出数据的输入与输出l例3.7由键盘输入两个整数并求其平均值及由键盘输入两个整数并求其平均值及总和。总和。#includeintmain()inta,b;scanf(“%d%d”,&a,&b);/*由键盘输入两个数并赋给变量由键盘输入两个数并赋给变量a、b*/printf(“a+b=%dn”,a+b);/*计算总和并
15、输出内容计算总和并输出内容*/printf(“(a+b)/2=%1fn”,(float)(a+b)/2);/*输出平均值输出平均值*/return0;183.3数据的输入与输出数据的输入与输出193.3数据的输入与输出数据的输入与输出l3.使用scanf()函数必须注意的问题(1)在在scanf()函数函数“格式控制串格式控制串”部分中的每个格式说部分中的每个格式说明符,都必须有一个变量与之对应。而且,格式说明明符,都必须有一个变量与之对应。而且,格式说明符必须要与相应变量的类型一致。符必须要与相应变量的类型一致。(2)scanf()中要求给出变量地址,如只给出变量名则中要求给出变量地址,如只
16、给出变量名则会出错。如语句会出错。如语句“scanf(“%d”,a);”是非法的,应是非法的,应改为改为“scanf(“%d”,&a);”才是合法的。才是合法的。(3)当格式说明符之间没有任何字符时,在输入数据时,当格式说明符之间没有任何字符时,在输入数据时,两个数据之间使用两个数据之间使用“空格空格”、“tab”或或“回车回车”键作键作间隔;如果格式说明符之间包含其他字符,则输入数间隔;如果格式说明符之间包含其他字符,则输入数据时,应输入与这些字符相同的字符作间隔。据时,应输入与这些字符相同的字符作间隔。203.3数据的输入与输出数据的输入与输出(4)可以在格式说明符的前面指定输入数据所占可
17、以在格式说明符的前面指定输入数据所占的列数,系统将自动按此列数截取所需的数据,的列数,系统将自动按此列数截取所需的数据,如:如:scanf(“%2d%3d”,&x,&y);当用户输入当用户输入12345时,系统将自动地把时,系统将自动地把12赋给变量赋给变量x,将,将345赋给变量赋给变量y。这种方式也可用于字符型数据。这种方式也可用于字符型数据的输入。的输入。213.3数据的输入与输出数据的输入与输出lgetchar、putchar及getch函数除了可以使用除了可以使用scanf()函数和函数和printf()函数进行函数进行输入输出外,还可以使用另外一些输入与输出输入输出外,还可以使用另
18、外一些输入与输出字符的函数进行输入输出字符。字符的函数进行输入输出字符。如如getchar()、putchar()、getch()函数。函数。223.3数据的输入与输出数据的输入与输出l1getchar()和putchar()函数利用利用getchar()函数可以从键盘上输入一个字符,函数可以从键盘上输入一个字符,使所输入的字符会立即显示出来,并且当按下使所输入的字符会立即显示出来,并且当按下回车键后,这个字符才会被变量接收。若是同回车键后,这个字符才会被变量接收。若是同时输入数个字符,时输入数个字符,getchar()函数会把第一个读函数会把第一个读取的字符放到指定的变量中,若是程序中使用取
19、的字符放到指定的变量中,若是程序中使用到其它的到其它的getchar()函数,这些剩余的字符则会函数,这些剩余的字符则会被其它的被其它的getchar()函数陆续传送到其指定的变函数陆续传送到其指定的变量中。量中。233.3数据的输入与输出数据的输入与输出lgetchar()函数的格式如下:函数的格式如下:ch=getchar();若要将字符变量的内容输出在屏幕上,可以使用前若要将字符变量的内容输出在屏幕上,可以使用前面介绍过的面介绍过的printf()函数,也可以利用函数,也可以利用putchar()函数函数来实现。来实现。putchar()函数会把字符变量、常量等当成函数会把字符变量、常量
20、等当成参数传递到函数后再输出。参数传递到函数后再输出。putchar()函数的格式如函数的格式如下:下:putchar(ch);243.3数据的输入与输出数据的输入与输出l例例3.8说明说明getchar()函数和函数和putchar()函数的使用函数的使用方法。方法。#includeintmain()charch;printf(“Inputacharacter:”);ch=getchar();/*输入一个字符,并赋给变量输入一个字符,并赋给变量ch*/printf(“nThecharacteryouinputis:”);putchar(ch);return0;253.3数据的输入与输出数据的
21、输入与输出l2getch()函数利用利用getch()函数,可以从键盘上输入一个字符,函数,可以从键盘上输入一个字符,而不需要按下回车键,变量会马上接收这个字而不需要按下回车键,变量会马上接收这个字符,屏幕上也看不到这个被输入的字符。符,屏幕上也看不到这个被输入的字符。getch()函数经常用于用户不希望看到所输入的内容函数经常用于用户不希望看到所输入的内容的时候,如输入密码等。的时候,如输入密码等。getch()函数的格式如函数的格式如下:下:ch=getch();263.3数据的输入与输出数据的输入与输出l例例3.9说明说明getch()函数的使用方法。函数的使用方法。#includein
22、tmain()charch;printf(“Inputacharacter:”);ch=getch();/*输入一个字符,并赋给变量输入一个字符,并赋给变量ch*/printf(“nThecharacteryouinputis:“);putchar(ch);return0;273.43.4程序设计举例程序设计举例l例例3.10输入用分表示的时间数,将其换算成用小输入用分表示的时间数,将其换算成用小时和分表示的时间数,然后输出。例如输入时和分表示的时间数,然后输出。例如输入150分分,换算成,换算成2小时小时30分后输出。程序如下:分后输出。程序如下:#includeintmain()intk,
23、m,n;printf(“输入用分表示的时间数输入用分表示的时间数:”);scanf(“%d”,&k);m=k/60;n=k%60;printf(“n%d分等于分等于%d小时小时%d分。分。n”,k,m,n);return0;283.43.4程序设计举例程序设计举例l例例3.11 3.11 从键盘输入一个小写英文字母,分别以十进制、从键盘输入一个小写英文字母,分别以十进制、八进制、十六进制输出它的八进制、十六进制输出它的ASCIIASCII码值;分别计算以该码值;分别计算以该ASCIIASCII码值为边长和半径的正方形面积和圆面积。码值为边长和半径的正方形面积和圆面积。程序如下:程序如下:#includeintmain()charch;floats1,s2;printf(“Inputacharacter:”);ch=getchar();printf(“n%c,%d,%o,%xn”,ch,ch,ch,ch);s1=ch*ch;s2=3.14*ch*ch;printf(“%f,%fn”,s1,s2);return0;293.5本章小结本章小结l本章介绍了本章介绍了C语言中常用输入语言中常用输入,输出函数的输出函数的使用方法。通过程序实例介绍了常用的顺使用方法。通过程序实例介绍了常用的顺序结构程序设计方法。序结构程序设计方法。30
限制150内