




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 程序设计初步 本章教学目的: 掌握顺序结构程序的设计,熟练掌握数据的输入与输出。本章教学重点: 顺序结构程序设计、数据的输入与输出。本章教学难点: printf()函数、scanf()函数。本章作业: 教材第29页 3.1的1、2、3题、3.2的1、4、5题。3.1 C语句概述语句概述3.1.1 C语句的种类语句的种类 一个C程序应包括数据描述和数据操作两部分,其中数据描述部分在程序中由数据定义来实现,数据操作部分由语句来实现。在C程序中,共有如下五种C语句组成: 1表达式语句表达式语句由一个表达式加上一个分号构成的语句。 i=i+1 (是表达式)i=i+1; (是语句)“x+y;”
2、也是一个语句,作用是完成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、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程序的赋值语句程序
4、的赋值语句 赋值语句是由赋值表达式再加上分号构成的表达式语句。 其一般形式为: 变量变量=表达式表达式; 在赋值语句的使用中需要注意注意以下几点: 1. 在赋值符“=”右边的表达式可以是另一个赋值表达式,因此, “变量=(变量=表达式);”是成立的,从而形成嵌套的形式。展开之后的一般形式为:“变量=变量=表达式; ”例如: a=b=c=5;它等效于: c=5; b=c; a=b;3.1.2 C程序的赋值语句程序的赋值语句 2.注意在变量说明中给变量赋初值和赋值语句的区别。给变量赋初值是变量说明的一部分,赋初值后的变量与其后的其它同类型变量之间仍必须用逗号间隔,而赋值语句则必须用分号结尾。 3.
5、在变量说明中,不允许连续给多个变量赋初值。 如下述说明是错误的:“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 顺序结构程序设计顺序结构程序设计 通常,结构化程序设计包括下列三种基本结构,即顺序结构、选择结构和循环结
6、构。它们的结构流程图如下图所示: 3. 2 顺序结构程序设计顺序结构程序设计 顺序结构程序一般由三部分组成:数据的输入、数据的处理和数据的输出。数据的输入是把已知的数据输入到计算机中(变量);数据的处理是对输入的数据,依照某种算法进行相应的运算,得出问题的答案;数据的输出是指把得出的答案以某种方式表示出来。 3. 2 顺序结构程序设计顺序结构程序设计 例例3.1 已知长方形的长和宽,计算其周长和面积。分析:设x表示长方形的长,y表示长方形的宽,c表示长方形的周长,area表示长方形的面积。则c=2*(x+y),area=x*y。写程序3.3 顺序结构程序设计顺序结构程序设计 在语言中,所有的数
7、据输入输出都是由库函数完成的,因此都是函数调用语句。本节主要介绍常用的格式输出函数printf()、格式输入函数scanf()及字符输入函数getchar()、getch()和字符输出函数putchar()。3.3.1 printf()函数函数 printf()函数称为格式输出函数,其功能是按用户指定的格式,把指定的数据显示到显示器屏幕上。 1printf( )函数的一般形式函数的一般形式 printf(“格式控制串格式控制串”,输出表列,输出表列); “格式控制串”用于指定输出格式。必须用双引号括起来,由格式说明符、普通字符和转义字符组成。 格式说明符由“%”和格式字符组成,用于说明输出数据
8、的类型、形式、长度、小数位数等。 普通字符是指在输出数据时按原样输出的字符,在显示中起提示作用。 输出表列中列出了所要输出的数据项,可以是变量,字符串,表达式等。其个数必须与格式字符串所说明的输出参数个数一样多, 各参数之间用“,”分开, 且顺序一一对应。 3.3.1 printf()函数函数 例例3.2 写出下面的程序的输出结果。#include int 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); getch();
9、 return 0; 程序演示3-23.3.1 printf()函数函数 2. printf()函数的格式字符函数的格式字符在printf()命令里,不同类型的数据内容,其输出也会不同。 格式字符输出形式说明格式字符输出形式说明c字符s字符串d带符号十进制整数u无符号十进制整数e浮点数,指数e的形式g输出%f与%e较短者E浮点数,指数E的形式G输出%f与%E较短者f浮点数,小数点形式x无符号十六进制整数,小写输出af表示o无符号八进制整数X无符号十六进制整数,大写输出AF 3.3.1 printf()函数函数 例例3.3 写出下面程序的输出结果#include int main()int a,
10、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); getch(); return 0; 程序演示3-33.3.1 printf()函数函数 3转义字符转义字符 在printf()函数中,也可以使用转义字符,转义字符是一个以“”开头的字符序列。 例例3.4 写出如下程序的执行结果。#include int main( ) printf(“what do you like?”); getch(); retur
11、n 0; 程序演示3-43.3.1 printf()函数函数 4修饰字符修饰字符 在printf( )函数中,所有的输出格式都是以“%”开始,再接一组有意义的字母。若想使数据按固定的字段长度输出,可以在“%”后面加上输出长度的数值。如“%3d”,表示输出十进制整数时,长度共占3列;“%6.3f”则表示输出浮点数时,长度包括小数点共有6列,小数点前占2列,小数占3列。 要特别注意的是,若是整数部分超过可以显示的长度时,则以实际数据来显示。此外,在小数点部分,若是指定显示的位数比实际位数少的时候,会将小数部分四舍五入至指定显示的位数。 3.3.1 printf()函数函数 4修饰字符修饰字符例例3
12、.5 写出下面的程序的输出结果。#include int main( ) int i = 56, j=13; float f=12.3456; printf(“i=%-4d”, i); printf(“j=%4dn”,j); printf(“f=%6.2fn”,f); getch(); return 0; 程序演示3-53.3.1 printf()函数函数 4修饰字符修饰字符修饰符功能举例-向左对齐%-3d+将数值的正负号显示出来%+5d空数值为正值时,留一格空格;为负值时,显示负号% 6f0在固定字段长度的数值前空白处填上0,与 - 同时使用,此功能无效%07.2fm(正整数) 数据输出的最
13、小宽度,当数值的位数大于所给定的字段长度时,字段会自动加宽它的长度%9d.n(正整数) 数值以%e,%E及%f形式表示时,可以决定小数点后所要显示的位数%4.3f字母l用于长整型整数,可以加在格式字符d,o,x,u前面%1u3.3.1 printf()函数函数 4修饰字符修饰字符例例3.6 写出下面的程序的输出结果。#include int main()int a=2,b=8;float x=123.4567,y=-567.123;char c=A;long d=1234567;unsigned long e=65535;printf(“%3d%3dn”,a,b);printf(“%-10f,
14、%-10fn”,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,%xn”,d,d,d);printf(“%u,%o,%xn”,e,e,e);printf(“%s,%5.3sn”,“computer”, “computer”);return 0;程序演示3-63.3.2 scanf()函数函数 格式输入函数scanf( )的作用是在终端设备上,以指定的格式输入一个或多个任意类型的数据。 1scanf()函数的一般格式函数的一般格式scan
15、f(“格式控制串格式控制串”,&变量变量1,&变量变量2,);); “格式控制串”用于指定输入格式,它必须用双引号括起来,由格式说明符、普通字符组成。 格式说明符由%和格式字符组成,用于说明输入数据的格式。 普通字符是指在输入数据时按原样输入的字符。而“&变量1”、“&变量2”等则是当用户由键盘上输入数据并按下回车键后,数据内容就会传送到相应变量的内存单元中。使用scanf()函数时要注意注意的是,在变量名前面必须加上地址运算符“&”。 3.3.2 scanf()函数函数 例例3.7 由键盘输入两个整数并求其平均值及总和。# include int ma
16、in ( )int a,b;scanf(“%d %d”, &a,&b); /*由键盘输入两个数并赋给变量a、b*/printf(“a+b=%dn”,a+b); /*计算总和并输出内容*/printf(“(a+b)/2=%1f n”,(float) (a+b)/2); /*输出平均值*/getch();return 0; 程序演示3-73.3.2 scanf()函数函数 2scanf()函数的输入格式函数的输入格式 scanf()函数所使用的输入格式和printf()函数很像。scanf()函数常用的输入格式字符函数常用的输入格式字符 格式字符输入说明格式字符输入说明c字符o八进
17、制整数d十进制整数s字符串e,f,g浮点数u无符号十进制整数E,G浮点数x,X十六进制整数3.3.2 scanf()函数函数 2scanf()函数的输入格式函数的输入格式 scanf()函数的修饰符说明函数的修饰符说明 修饰符说明修饰符说明字符l输入长整型数据域宽m指定输入数据所占列数h输入短整型数据*表示输入项在读入后不赋给相应的变量3.3.2 scanf()函数函数 3. 使用使用scanf()函数必须注意的问题函数必须注意的问题(1)在scanf()函数“格式控制串”部分中的每个格式说明符,都必须有一个变量与之对应。而且,格式说明符必须要与相应变量的类型一致。(2)scanf()中要求给
18、出变量地址,如只给出变量名则会出错。 (3)当格式说明符之间没有任何字符时,在输入数据时,两个数据之间使用“空格”、“tab”或“回车”键作间隔;如果格式说明符之间包含其他字符,则输入数据时,应输入与这些字符相同的字符作间隔。而在输入字符型数据时,由于“空格”也作为有效字符输入,因此,不需要用“空格”作间隔。 (4)可以在格式说明符的前面指定输入数据所占的列数,系统将自动按此列数截取所需的数据 3.3.3 getchar、putchar及及getch函数函数 1getchar()和和putchar()函数函数 利用getchar()函数可以从键盘上输入一个字符,输入的字符会立即显示出来,并且当
19、按下回车键后,这个字符才会被变量接收。若是同时输入数个字符,getchar()函数会把第一个读取的字符放到指定的变量中,若是程序中使用到其它的getchar()函数,这些剩余的字符则会被其它的getchar()函数陆续传送到其指定的变量中。 getchar()函数的格式如下: ch=getchar( ); putchar()函数会把字符变量、常量等当成参数传递到函数后再输出。putchar()函数的格式如下: putchar(ch); 3.3.3 getchar、putchar及及getch函数函数 例例3.8#include int main( )char ch; printf(“Input
20、 a character:”); ch=getchar( ); /*输入一个字符,并赋给变量ch*/ printf(“nThe character you input is:”); putchar(ch); getch(); return 0; 程序演示3-83.3.3 getchar、putchar及及getch函数函数 2getch()函数函数 利用getch()函数,可以从键盘上输入一个字符,而不需要按下回车键,变量会马上接收这个字符,屏幕上也看不到这个被输入的字符。getch()函数经常用于用户不希望看到所输入的内容的时候,如输入密码等。getch()函数的格式如下: ch=getch(); 3.3.3 getchar、putchar及及getch函数函数 例例3.9#include int main( )cha
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 畜牧养殖合作与产品供应保障协议
- 水利水电工程前沿研究领域试题及答案
- 经济法概论案例辨析试题及答案
- 月嫂证考试试题及答案
- 深圳市安全考试试题及答案
- 市政工程团队合作试题及答案2025
- 2019-2025年主治医师之消化内科主治306练习题(二)及答案
- 2025年工程经济潜在问题试题及答案
- 2025年经济法概论考试趋势分析与试题及答案
- 2019-2025年监理工程师之交通工程目标控制综合练习试卷A卷附答案
- 桥梁检测和维护知识试题及答案
- 中考体育前家长会课件
- 2024年江苏南通醋酸纤维有限公司招聘笔试真题
- 2024年中国工程院战略咨询中心劳动人员招聘真题
- 2024年烟台龙口市卫生健康局所属事业单位招聘工作人员真题
- 2025福建漳州漳浦金瑞集团招聘20人笔试参考题库附带答案详解
- 地下综合管廊建设PPP项目施工组织设计
- 二零二五版官方离婚协议书
- 2024婚姻家事法律服务业白皮书
- 山东铁投集团招聘招聘笔试真题2024
- 天猫公司转让合同协议
评论
0/150
提交评论