第3章程序设计初步_2.ppt_第1页
第3章程序设计初步_2.ppt_第2页
第3章程序设计初步_2.ppt_第3页
第3章程序设计初步_2.ppt_第4页
第3章程序设计初步_2.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

,第3章程序设计初步,本章概述本章的学习目标主要内容,本章概述,本章主要介绍以下内容:常用的输入输出函数简单顺序结构程序设计举例,本章的学习目标,本章教学目的:掌握赋值语句的使用方法,掌握putchar、getchar、printf、scanf函数的使用方法,能编写简单的程序。本章教学重点:printf、scanf函数的使用方法本章教学难点:printf、scanf函数的使用方法,主要内容,3.1C语句概述3.2顺序结构程序设计3.3数据的输入与输出3.4程序设计举例,3.1C语句概述,3.1.1C语句的种类在C程序中,共有如下五种C语句组成:1表达式语句由一个表达式的后面加上一个分号构成的语句2函数调用语句由函数名、实际参数加上“;”组成。其一般形式为:“函数名(实际参数表);”。,3控制语句控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。C语言有九种控制语句。可分成以下三类:(1)条件判断语句:if语句、switch语句(2)循环执行语句:dowhile语句、while语句、for语句(3)转向语句:break语句、continue语句、goto语句、return语句4复合语句把多个语句用括号括起来组成的语句称为复合语句。在程序中应把复合语句看成是单条语句,而不是多条语句,例如5空语句只有“;”组成的语句称为空语句,3.1C语句概述,3.1.2C程序的赋值语句说明:1.由于在赋值符“=”右边的表达式可以是另一个赋值表达式,因此,下述形式“变量=(变量=表达式);”是成立的,从而形成嵌套的形式。其展开之后的一般形式为:“变量=变量=表达式;”2.注意在变量说明中给变量赋初值和赋值语句的区别。给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类型变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。,3.1C语句概述,3.在变量说明中,不允许连续给多个变量赋初值。如下述说明是错误的:“inta=b=c=5;”,必须写成“inta=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.1已知长方形的长和宽,计算其周长和面积。流程图如图3.2所示,程序如下。,#includeintmain()floatx,y,c,area;printf(输入长和宽:);scanf(%f,%f,运行情况如下:输入长和宽:3.0,4.0周长是:14.000000面积是:12.000000,图3.2计算周长和面积的流程图,3.3数据的输入与输出,在语言中,所有的数据输入输出都是由库函数完成的,因此都是函数调用语句。本节主要介绍常用的格式输出函数printf()、格式输入函数scanf()及字符输入函数getchar()、getch()和字符输出函数putchar()。,3.3数据的输入与输出,3.3.1printf函数1printf()函数的一般形式printf函数的调用格式为:printf(“格式控制串”,输出表列);“格式控制串”用于指定输出格式。它必须用双引号括起来,由格式说明符、普通字符和转义字符组成。,3.3数据的输入与输出,例3.2写出下面程序的输出结果。程序代码如下:#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;,程序的输出结果如下:659765,97A,aa=65,b=97,3.3数据的输入与输出,2.printf函数格式说明(1)整型数据输出的格式字符整型的输出形式有四种:带符号的十进制整型形式、无符号的十进制整型形式、无符号的十六进制形式和无符号的八进制形式。分别使用格式字符d、u、x或X和o。其中x表示以小写形式输出十六进的af,X表示以大写形式输出。(2)字符型数据输出的格式字符在输出字符型数据时,若要输出一个字符,则使用格式字符c;若要输出一串字符,则要使用格式字符s。,3.3数据的输入与输出,(3)实型数据输出的格式字符实型数据输出的格式字符有f、e或E、g或G几种方式。其中格式字符f表示以小数形式输出实数;格式字符e或E表示以指数形式输出实数;格式字符g或G表示输出时自动选择使用格式字符f或e。,例3.3写出下面程序的输出结果。,#includeintmain()inta,b;charc;floats1,s2,sum;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);return0;程序运行结果如下:65A3177775180.150002A65,3.3数据的输入与输出,3转义字符在printf()函数中,也可以使用转义字符(在第二章中已经介绍),转义字符是一个以“”开头的字符序列。在表2.2中已列出常用的转义字符。4修饰字符在printf()函数中,所有的输出格式都是以“%”开始,再接一组有意义的字母。若想使数据按固定的字段长度输出,可以在“%”后面加上输出长度的数值。如“%3d”,表示输出十进制整数时,长度共占3列;“%6.3f”则表示输出浮点数时,长度包括小数点共有6列,小数点前占2列,小数占3列。,例3.4写出如下程序的执行结果。,#includeintmain()printf(whatdoyoulike?);return0;程序输出结果如下:Whatdoyoulike?,printf()函数的修饰符,例3.5写出下面程序的输出结果。,#includeintmain()inti=56,j=13;floatf=12.3456;printf(i=%-4d,i);printf(j=%4dn,j);printf(f=%6.2fn,f);return0;输出结果如下:i=56j=13f=12.35,例3.6写出下面程序的输出结果。,#includeintmain()inta=2,b=8;floatx=123.4567,y=-567.123;charc=A;longd=1234567;unsignedlonge=65535;printf(%3d%3dn,a,b);printf(%-12f,%-12fn,x,y);printf(%7.2f,%7.2fn,x,y);printf(%e,%10.2en,x,y);printf(%c,%d,%o,%xn,c,c,c,c);printf(%ld,%lo,%lxn,d,d,d);printf(%u,%o,%xn,e,e,e);printf(%s,%5.3sn,computer,computer);return0;,程序的运行结果如下:28123.456703,567.122986(计算机表示实数不精确,所以显示结果有误差)123.46,-567.12(列宽为7,小数点后取两位)1.234567e+002,-5.67e+002A,65,101,411234567,4553207,12d68765535,177777,ffffcomputer,com(按%5.3s格式输出“computer”,取“computer”前3个字符,列宽为5),3.3数据的输入与输出,3.3.2scanf函数格式输入函数scanf()的作用是在终端设备上,以指定的格式输入一个或多个任意类型的数据。,3.3数据的输入与输出,1scanf()函数的一般格式scanf()函数的调用格式scanf(“格式控制串”,scanf(“%d%d”,3.3数据的输入与输出,3.3数据的输入与输出,3.使用scanf()函数必须注意的问题(1)在scanf()函数“格式控制串”部分中的每个格式说明符,都必须有一个变量与之对应。而且,格式说明符必须要与相应变量的类型一致。(2)scanf()中要求给出变量地址,如只给出变量名则会出错。如语句“scanf(“%d”,a);”是非法的,应改为“scanf(“%d”,”才是合法的。(3)当格式说明符之间没有任何字符时,在输入数据时,两个数据之间使用“空格”、“tab”或“回车”键作间隔;如果格式说明符之间包含其他字符,则输入数据时,应输入与这些字符相同的字符作间隔。,3.3数据的输入与输出,(4)可以在格式说明符的前面指定输入数据所占的列数,系统将自动按此列数截取所需的数据,如:scanf(“%2d%3d”,若要将字符变量的内容输出在屏幕上,可以使用前面介绍过的printf()函数,也可以利用putchar()函数来实现。putchar()函数会把字符变量、常量等当成参数传递到函数后再输出。putchar()函数的格式如下:putchar(ch);,3.3数据的输入与输出,例3.8说明getchar()函数和putchar()函数的使用方法。#includeintmain()charch;printf(“Inputacharacter:”);ch=getchar();/*输入一个字符,并赋给变量ch*/printf(“nThecharacteryouinputis:”);putchar(ch);return0;,3.3数据的输入与输出,2getch()函数利用getch()函数,可以从键盘上输入一个字符,而不需要按下回车键,变量会马上接收这个字符,屏幕上也看不到这个被输入的字符。getch()函数经常用于用户不希望看到所输入的内容的时候,如输入密码等。getch()函数的格式如下:ch=getch();,3.3数据的输入与输出,例3.9说明getch()函数的使用方法。#includeintmain()charch;printf(“Inputacharacter:”);ch=getch();/*输入一个字符,并赋给变量ch*/printf(“nThecharacteryouinputis:“);putchar(ch);return0;,3.4程序设计举例,例3.10输入用分表示的时间数,将其换算成用小时和分表示的时间数,然后输出。例如输入150分,换算成2小时30分后输出。程序如下:#includeintmain()intk,m,n;printf(“输入用分表示的时间数:”);scanf(“%d”,3.4程序设计举例,例3.11从键盘输入一个小写英文字母,分别以十进制、八进制、十六进制输出它的ASCII码值;分别计算以该ASCII码值为边长和半

温馨提示

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

评论

0/150

提交评论