1、单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第,*,页,C语言程序设计,第3章 程序设计初步,第3章 程序设计初步,本章概述,本章的学习目标,主要内容,1,本章概述,本章主要介绍以下内容:,常用的输入输出函数,简单顺序结构程序设计举例,2,本章的学习目标,本章教学目的:,掌握赋值语句的使用方法,掌握putchar、getchar、printf、scanf函数的使用方法,能编写简单的程序。,本章教学重点:printf、scanf函数的使用方法,本章教学难点:printf、scanf函数的使用方法,3,主要内容,3.1 C语句概述,3.2 顺序结构程序设计,
2、3.3 数据的输入与输出,3.4 程序设计举例,4,3.1 C语句概述,3.1.1 C语句的种类 在C程序中,共有如下五种C语句组成:,1表达式语句,由一个表达式的后面加上一个分号构成的语句,2函数调用语句,由函数名、实际参数加上“;”组成。其一般形式为:“函数名(实际参数表);”。,3控制语句,控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。C语言有九种控制语句。可分成以下三类:,4复合语句,把多个语句用括号括起来组成的语句称为复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句,例如,5空语句,只有“;”组成的语句称为空语句,5,3.1 C语句概述
3、C,程序的赋值语句,说明:,1.,由于在赋值符,“=”,右边的表达式可以是另一个赋值表达式,因此,下述形式“变量,=(,变量,=,表达式,);,”是成立的,从而形成嵌套的形式。其展开之后的一般形式为:“变量,=,变量,=,表达式,;,”,2.,注意在变量说明中给变量赋初值和赋值语句的区别。给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类型变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。,6,3.1 C语句概述,3.在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的:“int a=b=c=5;”,必须写成“int a=5,b=5,c=5;”,而赋值语句允许连续赋值
4、4.注意赋值表达式和赋值语句的区别,赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。,语句“if(x=y+5)0)z=x;”是合法的,它的功能是,若表达式“x=y+5”大于0则z=x。语句“if(x=y+5;)0)z=x;”是非法的,因为“x=y+5;”是语句,不能出现在表达式中。,7,3.2 顺序结构程序设计,通常,结构化程序设计包括下列三种基本结构,即顺序结构、选择结构和循环结构。它们的结构流程图如下图所示:,8,3.3 数据的输入与输出,在语言中,所有的数据输入输出都是由库函数完成的,因此都是函数调用语句。本节主要介绍常用的格式输出函数,printf(
5、),、格式输入函数,scanf(),及字符输入函数,getchar(),、,getch(),和字符输出函数,putchar(),。,9,3.3 数据的输入与输出,3.3.1,printf函数,1 printf()函数的一般形式,printf函数的调用格式为:,printf(“格式控制串”,输出表列);,“格式控制串”用于指定输出格式。它必须用双引号括起来,由格式说明符、普通字符和转义字符组成。,10,3.3 数据的输入与输出,3.3.1,printf函数,写出下面的程序的输出结果。,#include,int main(),int a=65,b=97;,printf(“%d%dn”,a,b);,
6、printf(“%d,%dn”,a,b);,printf(“%c,%cn”,a,b);,printf(“a=%d,b=%d”,a,b);return 0;,11,3.3 数据的输入与输出,2.,printf函数 格式说明,(1)整型数据输出的格式字符,整型的输出形式有四种:带符号的十进制整型形式、无符号的十进制整型形式、无符号的十六进制形式和无符号的八进制形式。分别使用格式字符d、u、x或X和o。其中x表示以小写形式输出十六进的af,X表示以大写形式输出。,(2)字符型数据输出的格式字符,在输出字符型数据时,若要输出一个字符,则使用格式字符c;若要输出一串字符,则要使用格式字符s。,12,3.
7、3 数据的输入与输出,(3)实型数据输出的格式字符,实型数据输出的格式字符有f、e或E、g或G几种方式。其中格式字符f表示以小数形式输出实数;格式字符e或E表示以指数形式输出实数;格式字符g或G表示输出时自动选择使用格式字符f或e。,13,3.3 数据的输入与输出,3转义字符,在printf()函数中,也可以使用转义字符(在第二章中已经介绍),转义字符是一个以“”开头的字符序列。在表2.2中已列出常用的转义字符。,4修饰字符,在printf()函数中,所有的输出格式都是以“%”开始,再接一组有意义的字母。若想使数据按固定的字段长度输出,可以在“%”后面加上输出长度的数值。如“%3d”,表示输出
8、十进制整数时,长度共占3列;“%6.3f”则表示输出浮点数时,长度包括小数点共有6列,小数点前占2列,小数占3列。,14,printf()函数的修饰符,15,3.3 数据的输入与输出,scanf,函数,格式输入函数,scanf(),的作用是在终端设备上,以指定的格式输入一个或多个任意类型的数据。,16,3.3 数据的输入与输出,1,scanf(),函数的一般格式,scanf(),函数的调用格式,scanf,(“格式控制串”,,&,变量,1,,,&,变量,2,,,);,“格式控制串”用于指定输入格式,它必须用双引号括起来,由格式说明符、普通字符组成。,格式说明符由,%,和格式字符组成,用于说明输
9、入数据的格式。如“,%d,”表示按十进制整型输入,“,%c,”表示按字符型输入。,普通字符是指在输入数据时按原样输入的字符。,而“,&,变量,1,”、“,&,变量,2,”等则是当用户由键盘上输入数据并按下回车键后,数据内容就会传送到相应变量的内存单元中。使用,scanf(),函数时要注意的是,在变量名前面必须加上地址运算符“,&,17,3.3 数据的输入与输出,例,3.7,由键盘输入两个整数并求其平均值及总和。,#include,int main(),int a,b;,scanf(“%d%d”,/*由键盘输入两个数并赋给变量a、b*/,printf(“a+b=%dn”,a+b);/*计算总和并
10、输出内容*/,printf(“(a+b)/2=%1f n”,(float)(a+b)/2);/*输出平均值*/,return 0;,18,3.3 数据的输入与输出,19,3.3 数据的输入与输出,3.使用scanf()函数必须注意的问题,(1)在scanf()函数“格式控制串”部分中的每个格式说明符,都必须有一个变量与之对应。而且,格式说明符必须要与相应变量的类型一致。,(2)scanf()中要求给出变量地址,如只给出变量名则会出错。如语句“scanf(“%d”,a);”是非法的,应改为“scanf(“%d”,”才是合法的。,(3)当格式说明符之间没有任何字符时,在输入数据时,两个数据之间使用
11、空格”、“tab”或“回车”键作间隔;如果格式说明符之间包含其他字符,则输入数据时,应输入与这些字符相同的字符作间隔。,20,3.3 数据的输入与输出,(4)可以在格式说明符的前面指定输入数据所占的列数,系统将自动按此列数截取所需的数据,如:,scanf(“%2d%3d”,&x,&y);,当用户输入12345时,系统将自动地把12赋给变量x,将345赋给变量y。这种方式也可用于字符型数据的输入。,21,3.3 数据的输入与输出,getchar、putchar及getch函数,除了可以使用scanf()函数和printf()函数进行输入输出外,还可以使用另外一些输入与输出字符的函数进行输入输出
12、字符。,如getchar()、putchar()、getch()函数。,22,3.3 数据的输入与输出,1getchar()和putchar()函数,利用getchar()函数可以从键盘上输入一个字符,使所输入的字符会立即显示出来,并且当按下回车键后,这个字符才会被变量接收。若是同时输入数个字符,getchar()函数会把第一个读取的字符放到指定的变量中,若是程序中使用到其它的getchar()函数,这些剩余的字符则会被其它的getchar()函数陆续传送到其指定的变量中。,23,3.3 数据的输入与输出,getchar()函数的格式如下:,ch=getchar();,若要将字符变量的内容输出
13、在屏幕上,可以使用前面介绍过的printf()函数,也可以利用putchar()函数来实现。putchar()函数会把字符变量、常量等当成参数传递到函数后再输出。putchar()函数的格式如下:,putchar(ch);,24,3.3 数据的输入与输出,例3.8 说明getchar()函数和putchar()函数的使用方法。,#include,int main(),char ch;,printf(“Input a character:”);,ch=getchar();/*输入一个字符,并赋给变量ch*/,printf(“nThe character you input is:”);,putc
14、har(ch);,return 0;,25,3.3 数据的输入与输出,2getch()函数,利用getch()函数,可以从键盘上输入一个字符,而不需要按下回车键,变量会马上接收这个字符,屏幕上也看不到这个被输入的字符。getch()函数经常用于用户不希望看到所输入的内容的时候,如输入密码等。getch()函数的格式如下:,ch=getch();,26,3.3 数据的输入与输出,例3.9 说明getch()函数的使用方法。,#include,int main(),char ch;,printf(“Input a character:”);,ch=getch();/*输入一个字符,并赋给变量ch*
15、/,printf(“nThe character you input is:“);,putchar(ch);,return 0;,27,3.4,程序设计举例,例3.10 输入用分表示的时间数,将其换算成用小时和分表示的时间数,然后输出。例如输入150分,换算成2小时30分后输出。程序如下:,#include,int main(),int k,m,n;,printf(“输入用分表示的时间数:”);,scanf(“%d”,m=k/60;,n=k%60;,printf(“n%d分等于%d小时%d分。n”,k,m,n);,return 0;,28,3.4,程序设计举例,例3.11 从键盘输入一个小写英
16、文字母,分别以十进制、八进制、十六进制输出它的ASCII码值;分别计算以该ASCII码值为边长和半径的正方形面积和圆面积。,程序如下:,#include,int main(),char ch;float s1,s2;,printf(“Input a character:”);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);,return 0;,29,3.5 本章小结,本章介绍了C语言中常用输入,输出函数的使用方法。通过程序实例介绍了常用的顺序结构程序设计方法。,30,
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818