第03章 程序设计初步_第1页
第03章 程序设计初步_第2页
第03章 程序设计初步_第3页
第03章 程序设计初步_第4页
第03章 程序设计初步_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章 程序设计初步,本章教学目的: 掌握顺序结构程序的设计,熟练掌握数据的输入与输出。本章教学重点: 顺序结构程序设计、数据的输入与输出。本章教学难点: printf()函数、scanf()函数。,内容提要,C语句概述 顺序结构程序设计 数据的输入与输出 顺序结构程序设计举例,3.1 C语句概述,3.1.1 C语句的种类,一个C程序应包括数据描述和数据操作两部分,其中数据描述部分在程序中由数据定义来实现,数据操作部分由语句来实现。在C程序中,共有如下五种C语句组成:,1表达式语句,由一个表达式加上一个分号构成的语句。,i=i+1 (是表达式)i=i+1; (是语句)“x+y;” 也是一个语句,作用是完成x+y的操作,是合法的。,3.1.1 C语句的种类,2函数调用语句,由函数名、实际参数加上“;”组成。其一般形式为:“函数名(实际参数表);”。例如 printf(“This is a C Program”);,3控制语句,控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。C语言有九种控制语句。可分成以下三类:,(1)条件判断语句 if语句,switch语句。(2)循环执行语句 do while语句,while语句,for语句。(3)转向语句 break语句,goto语句,continue语句,return语句。,3.1.1 C语句的种类,4复合语句,把多个语句用括号括起来组成的语句称为复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句,例如 z=x+y; c=a+b; printf(“%d%d”,z,c); 复合语句内的各条语句都必须以“;”结尾,在括号“”外不能加分号。,3.1.1 C语句的种类,5空语句,只有“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。例如,语句“while(getchar()!=n) ; ”,它的的功能是,只要从键盘输入的字符不是回车则重新输入。这里的循环体为空语句。,3.1.2 C程序的赋值语句,赋值语句是由赋值表达式再加上分号构成的表达式语句。 其一般形式为: 变量=表达式;,在赋值语句的使用中需要注意以下几点: 1. 在赋值符“=”右边的表达式可以是另一个赋值表达式,因此, “变量=(变量=表达式);”是成立的,从而形成嵌套的形式。展开之后的一般形式为:“变量=变量=表达式; ”例如: a=b=c=5;它等效于: c=5; b=c; a=b;,3.1.2 C程序的赋值语句,2.注意在变量说明中给变量赋初值和赋值语句的区别。给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类型变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。,3.在变量说明中,不允许连续给多个变量赋初值。 如下述说明是错误的:“int a=b=c=5;”,必须写成“int a=5, b=5,c=5;”,而赋值语句允许连续赋值。,4.注意赋值表达式和赋值语句的区别,赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。 语句“if(x=y+5)0) z=x;”是合法的,它的功能是,若表达式“x=y+5”大于0则z=x。语句“if(x=y+5;)0) z=x;”是非法的,因为“x=y+5;”是语句,不能出现在表达式中。,3. 2 顺序结构程序设计,通常,结构化程序设计包括下列三种基本结构,即顺序结构、选择结构和循环结构。它们的结构流程图如下图所示:,3. 2 顺序结构程序设计,顺序结构程序一般由三部分组成:数据的输入、数据的处理和数据的输出。数据的输入是把已知的数据输入到计算机中(变量);数据的处理是对输入的数据,依照某种算法进行相应的运算,得出问题的答案;数据的输出是指把得出的答案以某种方式表示出来。,3. 2 顺序结构程序设计,例3.1 已知长方形的长和宽,计算其周长和面积。,分析:设x表示长方形的长,y表示长方形的宽,c表示长方形的周长,area表示长方形的面积。则c=2*(x+y),area=x*y。,写程序,3.3 顺序结构程序设计,在语言中,所有的数据输入输出都是由库函数完成的,因此都是函数调用语句。本节主要介绍常用的格式输出函数printf()、格式输入函数scanf()及字符输入函数getchar()、getch()和字符输出函数putchar()。,3.3.1 printf()函数,printf()函数称为格式输出函数,其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。,1printf( )函数的一般形式 printf(“格式控制串”,输出表列);,“格式控制串”用于指定输出格式。必须用双引号括起来,由格式说明符、普通字符和转义字符组成。 格式说明符由“%”和格式字符组成,用于说明输出数据的类型、形式、长度、小数位数等。 普通字符是指在输出数据时按原样输出的字符,在显示中起提示作用。 输出表列中列出了所要输出的数据项,可以是变量,字符串,表达式等。其个数必须与格式字符串所说明的输出参数个数一样多, 各参数之间用“,”分开, 且顺序一一对应。,3.3.1 printf()函数,例3.2 写出下面的程序的输出结果。,#include void main()int a=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);,程序演示3-2,3.3.1 printf()函数,2. printf()函数的格式字符,在printf()命令里,不同类型的数据内容,其输出也会不同。,3.3.1 printf()函数,例3.3 写出下面程序的输出结果,#include void main() int a,b; float s1,s2,sum; char c; a=65;b=-3; s1=123.4;s2=56.75; sum=s1+s2; c=A; printf(“%d %c%d %o %f %c %d”,a,a,b,b,sum,c,c); ,程序演示3-3,3.3.1 printf()函数,3转义字符,在printf()函数中,也可以使用转义字符,转义字符是一个以“”开头的字符序列。,例3.4 写出如下程序的执行结果。,#include void main( ) printf(“what do you like?”);,程序演示3-4,3.3.1 printf()函数,4修饰字符,在printf( )函数中,所有的输出格式都是以“%”开始,再接一组有意义的字母。若想使数据按固定的字段长度输出,可以在“%”后面加上输出长度的数值。如“%3d”,表示输出十进制整数时,长度共占3列;“%6.3f”则表示输出浮点数时,长度包括小数点共有6列,小数点前占2列,小数占3列。,要特别注意的是,若是整数部分超过可以显示的长度时,则以实际数据来显示。此外,在小数点部分,若是指定显示的位数比实际位数少的时候,会将小数部分四舍五入至指定显示的位数。,3.3.1 printf()函数,4修饰字符,例3.5 写出下面的程序的输出结果。,#include void main( ) int i = 56, j=13; float f=12.3456; printf(“i=%-4d”, i); printf(“j=%4dn”,j); printf(“f=%6.2fn”,f);,程序演示3-5,3.3.1 printf()函数,4修饰字符,3.3.1 printf()函数,4修饰字符,例3.6 写出下面的程序的输出结果。,程序演示3-6,3.3.2 scanf()函数,格式输入函数scanf( )的作用是在终端设备上,以指定的格式输入一个或多个任意类型的数据。,1scanf()函数的一般格式,scanf(“格式控制串”,&变量1,&变量2,);,“格式控制串”用于指定输入格式,它必须用双引号括起来,由格式说明符、普通字符组成。 格式说明符由%和格式字符组成,用于说明输入数据的格式。 普通字符是指在输入数据时按原样输入的字符。而“&变量1”、“&变量2”等则是当用户由键盘上输入数据并按下回车键后,数据内容就会传送到相应变量的内存单元中。使用scanf()函数时要注意的是,在变量名前面必须加上地址运算符“&”。,3.3.2 scanf()函数,例3.7 由键盘输入两个整数并求其平均值及总和。,# include void main ( )int a,b;scanf(“%d %d”, /*输出平均值*/,程序演示3-7,3.3.2 scanf()函数,2scanf()函数的输入格式,scanf()函数所使用的输入格式和printf()函数很像。,scanf()函数常用的输入格式字符,3.3.2 scanf()函数,2scanf()函数的输入格式,scanf()函数的修饰符说明,3.3.2 scanf()函数,3. 使用scanf()函数必须注意的问题,(1)在scanf()函数“格式控制串”部分中的每个格式说明符,都必须有一个变量与之对应。而且,格式说明符必须要与相应变量的类型一致。(2)scanf()中要求给出变量地址,如只给出变量名则会出错。 (3)当格式说明符之间没有任何字符时,在输入数据时,两个数据之间使用“空格”、“tab”或“回车”键作间隔;如果格式说明符之间包含其他字符,则输入数据时,应输入与这些字符相同的字符作间隔。而在输入字符型数据时,由于“空格”也作为有效字符输入,因此,不需要用“空格”作间隔。 (4)可以在格式说明符的前面指定输入数据所占的列数,系统将自动按此列数截取所需的数据,3.3.3 getchar、putchar及getch函数,1getchar()和putchar()函数,利用getchar()函数可以从键盘上输入一个字符,输入的字符会立即显示出来,并且当按下回车键后,这个字符才会被变量接收。若是同时输入数个字符,getchar()函数会把第一个读取的字符放到指定的变量中,若是程序中使用到其它的getchar()函数,这些剩余的字符则会被其它的getchar()函数陆续传送到其指定的变量中。,getchar()函数的格式如下: ch=getchar( );,putchar()函数会把字符变量、常量等当成参数传递到函数后再输出。putchar()函数的格式如下: putchar(ch);,3.3.3 getchar、putchar及getch函数,例3.8,#include void main( )char ch; printf(“Input a character:”); ch=getchar( ); /*输入一个字符,并赋给变量ch*/ printf(“nThe character you input is:”); putchar(ch);,程序演示3-8,3.3.3 getchar、putchar及getch函数,2getch()函数,利用getch()函数,可以从键盘上输入一个字符,而不需要按下回车键,变量会马上接收这个字符,屏幕上也看不到这个被输入的字符。getch()函数经常用于用户不希望看到所输入的内容的时候,如输入密码等。getch()函数的格式如下: ch=getch();,3.3.3 getchar、putchar及getch函数,例3.9,#include void main( ) char ch; printf(“Input a character:”); ch=getch(); /*输入一个字符,并赋给变量ch*/ printf(“nThe character you input is: “); putchar(ch);,程序演示3-9,3.4 顺序结构程序设计举例,例3.10 用程序实现例3.1,#include void main() float x, y,c,area;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论