




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
*教学内容:
1.C程序的语句概况及三种基本(结构化程序设计)的概念;
2.几种简单语句,(赋值语句、表达式语句、空语句、复合语句)。
3.简单数据输入/输出函数的使用;
4.简单的程序设计;*教学目的:
1.了解C语句的概况、三种基本结构的概念;(框图及N-S图)2.熟练三种基本语句:表达式语句、空语句、复合语句;3.掌握简单I/O函数的用法(putchar、printf、getchar、scanf);4.掌握简单的程序设计;5.简单了解#include用法;*课外安排:1.书面作业:P463.2、3.10;2.课堂作业:P463.5、3.7;3.课外作业:上机P463.4、3.6;自习P150"文件包含"处理;4.上机作业:P168实验三;第三章最简单的C程序设计*新课引入:
程序的两大部分,现在学习第二部分,如何对数据进行操作;另外编程的主要目的就是要得结果,故一个完整程序必定要包含有输出语句来输出结果,而另一方面,每次都是求同一问题,不改变原始数据,则总是得到相同结果,程序也失去意义,故一个完整有用的程序,必定要输入各种已知数据,也就必定要有输入语句。在这一章里,我们主要是来学习四个I/O函数的用法。同时了解和掌握一些编程方法和手段(语句的使用!)。第三章最简单的C程序设计1/16/2023一、C语句概述:
1.C程序组成C程序(1)可由多个源程序文件组成;(2)每个源程序文件又由多个函数和预编译命令组成; 如:#define、#include(3)每个函数由数据定义部分和执行语句组成;必定有一个,并且只有一个主函数main1/16/2023(4)空语句:单个分号,前面无任何表达式或控制语句。
例如:i++;;空语句-不影响任何变量也不做任何事;
用于:①作被转向点;②构成一个完整结构,但内嵌语句又无需做任何工作;2.C语句分类:(五大类)(1)九种控制语句:完成一定的控制功能:(2)函数调用语句:如:printf("Thisisa
C
program\n")(3)表达式语句:上一章所学的所有表达式,(包括函数调用)在表达式子的末尾加上一个分号就变成了语句。(5)用花括号{}将多个或零个语句括起就称为复合语句;形如{~;~;~;…;~;}或{}分号不可省略另外:在复合语句中,前面还可包含局部变量的定义(说明)如:i++;x+y;a=3;a+=b=c=5;
赋值语句1/16/2023二、程序的三种基本结构:1.顺序结构:设s1、s2都是顺序结构,执行完语句s1后,执行位于s1之后的语句s2。
控制流程图入口S1S2出口N—S结构化流程图S1S2顺序、选择及循环结构1/16/20232.选择结构:
①如果逻辑表达式E为真T则执行s1否则执行s2
入口s1Es2出口TEFS1S2TF控制流程图N-S结构化流程图1/16/2023②若E为真T则执行s1否则按序执行控制流程图ES1入口出口FTN-S结构化流程图TEFS1
1/16/20233.循环结构:(1)当型结构:"先判断,后执行";控制流程图出口SE入口FTN-S结构化流程图当E为真S1/16/2023(2)直到型:"先执行,后判断";SE入口出口TFS直到E为真控制流程图N-S结构化流程图3.循环结构:(1)当型结构:"先判断,后执行";1/16/2023
在画框图时,不限于用何种语言,也可用人的自然语言,或其它的形象表示T←AA←BA>0如:YESNOA←BYESA>0NOT←A或T=AA=BA>0?或:>≤A←B>A>0≤T←A或注意:此时必须将赋值式A=B提出作为单独赋值语句否则无法表达!另外,还可用人的自然语言描述如右:(1)将B的值赋给A;(2)若A大于0则(3)否则(4);(3)将A的值赋给T;(4)...;1/16/20232.printf(格式输出函数)—按指定格式,一次输出多个值!(3)格式说明:用%及后跟格式字符序列来指明该处将显示的值的形式(1)一般格式(语法):printf(格式控制,输出表列)(2)格式控制:用双引号括起的转换控制字符串;内含说明输出格式转换的格式说明;以及普通字符;(4)格式字符:与对应的参数项的值的类型有关,必须一致,并且一一对应。1/16/2023
①整数:(整型):d、o、x、u%md:m-无符号整数,指明域宽,即外部形式应占几位;若实际位数不小于m则等同于%d否则在左边用空格补足m位;如:inta=123;printf("%d,%2d,%3d,%5d\n",a,a,a,a);
则结果显示:123,123,123,__123。%ld及%mld:类似于上述两个,用于longint类型的数据,
在%之后加上负号:向左靠齐,右补空!o、x、u的格式,用法与d类似,不同在于输出时无符号并且是不同进制;例:inta;unsignedb;b=a=-1;printf("%o,%x,%d,%u\n",a,a,a,a);显示:177777,ffff,-1,65535%d:按输出项值的实际位数,有几位输出几位;d:有符号,十进制o:无符号,八进制x:无符号,十六进制u:无符号,十进制1/16/2023例如:main(){inti;chara;a=′A′;i=65;
printf(“%c,%d\n”,a,a);printf(“%c,%d\n”,i,i);}
两者结果都相同,均为:A,65
另外:%mc,%-mc在左边(或右边)补m-1个空格一般格式:%[-]m[.n]s
n-无符号整数,指明截取输出串左端的位数;
printf("%s,%4s,%4.2s,%-4.2s,%2s\n","123", "45","4567","4567","123");结果显示:123,__45,__45,45__,123
实际串长不包括双引号及内存中的串尾结标志'\0'
②字符:③字符串:%c-单个字符,对应字符型或值域为[0,255]的整型即当成ASCII对应字符串型常量,或字符数组首址,并且存有字符串;1/16/2023四、数据输入:两个以终端为隐含输入设备的最基本(标准)输入函数。
1.getchar():返回值为单个字符;(1)该字符是执行到本语句时,从键盘输入的;(2)必需按(回车)即(Enter)或(Return)键,才接收!(3)例:main{charc;c=getchar();putchar(c);}(4)前面必须#include”stdio.h"/*同putchar类似*/1/16/2023(2)格式字符:d、o、x、u、c、s、f、e、g(e、g与f同)2.scanf函数(格式输入函数)
①整型d:十进制o:八进制x:十六进制c:单个字符:键入的数据,按不同进制进行解释转换/*键入时无需用单引号括起*/②字符串s:键入时,用空白字符作为起止标志,而不用双引号括起!录入的字符串送入一字符数组中,并以'\0'作结束标志。③f和e、g等价:用于接收实数,可以是键入小数或指数形式的数。(1)一般形式:scanf(格式控制,地址表列)
地址表列:必须是地址;与printf中的有本质的区别!
格式控制:与printf中的含义相同,但内容有区别。1/16/2023(3)附加的格式说明符:
①l用于输入长整型或双精度double写成%ld、%lo、%lx
或%lf、%le;
②h(与l相应):用于输入短整型%hd、%ho、%hx
③m域宽:指明从键盘实际读入的字符个数
④如果%后有一个”*”,则表示跳过它指定的列数
(4)注意点:②指定域宽时,键入时就可不要分隔符,按个数读
①键入数据可用一个或多个空格、Tab、回车键分隔;③当含有其它普通字符时,则键入时必须一一对应完全相同;
④对应项必须是地址;目前必须在变量名前加&取地址运算符;1/16/2023五、简单程序设计方法:
1.几个步骤:
(1)审题;
(2)列出已知各未知想求的项;
(3)写出对应的公式;
(4)设想手工解题步骤;
(5)将其转化成框图;
(6)用C语言实现(编程);
(7)自我阅读,设计录入数据的格式及设想数据输出的样式,并写出!
(8)上机验证你的设想是否正确;
1/16/20232.例如:求输入三角形的三边长,求三角形面积。(1)已知:三角形三边长,设为a、b、c-录入项
(2)求:三角形的面积:认为area-输出项
(3)数学公式:海伦公式,半周长s=(a+b+c)/2;面积(4)算法思路及框图:
读入三角形三边长a、b、c求半周长s=….求面积area=….(输出)写三条边长a、b、c写面积area1/16/2023(7)结果显示:a=___3.00,b=___4.00,c=___5.00area=___6.00
#include"math.h"
main(){floata,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=(a+b+c)/2.0;/*同一水平线*/
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f,_b=%7.2f,c=%7.2f\n",a,b,c);
printf("area
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论