资源描述
单击此处编辑母版标题样式,*,Dos,*教学内容:,1.程序的语句概况及三种基本 (结构化程序设计)的概念;2.几种简单语句,(赋值语句、表达式语句、空语句、复合语句)。3.简单数据输入/输出函数的使用;4.简单的程序设计;,*教学目的:,1.了解 C 语句的概况、三种基本结构的概念;(框图及N-S 图),2.熟练三种基本语句:表达式语句、空语句、复合语句;,3.掌握简单 I/O 函数的用法 (,putchar、printf、getchar、scanf,);,4.掌握简单的程序设计;,5.简单了解,#include,用法;,*课外安排:,1.书面作业:P46 3.2、3.10;,2.课堂作业:P46 3.5、3.7;,3.课外作业:上机P46 3.4、3.6;自习P150 文件包含 处理;,4.上机作业:P168 实验三;,第三章 最简单的C程序设计,*新课引入:,程序的两大部分,现在学习第二部分,如何 对数据进行操作;另外编程的主要目的就是要得结果,故一个完整程序必定要包含有输出语句来输出结果,而另一方面,每次都是求同一问题,不改变原始数据,则总是得到相同结果,程序也失去意义,故一个完整有用的程序,必定要输入各种已知数据,也就必定要有输入语句。,在这一章里,我们主要是来学 习四 个 I/O 函数的用法。,同时了解和掌握一些编程方法 和手段(语句的使用!)。,第三章 最简单的C程序设计,11/19/2024,*教学内容:1.程序的语句概况及三种基本,一、C语句概述:,1.C程序组成,C程序,(1)可由多个源程序文件组成;,(2)每个源程序文件又由多个函数和 预编译命令组成;如:,#define、#include,(3)每个函数由数据定义部分和执行语句组成;,必定有一个,并且只有一个主函数,main,11/19/2024,一、C语句概述:1.C程序组成C程序(1)可由,(4)空语句:,单个分号,前面无任何表达式或控制语句。,例如:i+;,;,空语句不影响任何变量也不做任何事;用于:作被转向点;,构成一个完整结构,但内嵌语句又无需做任何工作;,2.C语句分类:(五大类),(1)九种控制语句:,完成一定的控制功能:,(2)函数调用语句:,如,:printf(This is a,C,programn),(3)表达式语句:,上一章所学的所有表达式,(包括函数调用)在表达式,子的末尾加上一个分号就变成了语句。,(5),用花括号 将多个或零个语句括起就称为,复合语句;,形如 ;;,或 ,分号不可省略,另外:在复合语句中,前面还可包含局部变量的定义(说明),如:i+;x+y;a=3;a+=b=c=5;,赋值语句,11/19/2024,(4)空语句:单个分号,前面无任何表达式或控制语句。,九种控制语句:,if ()else,条件语句,for()for,循环语句,while(),当型循环语句,do while(),直到型循环语句,continue,结束本次循环语句,break,中止执行,switch,或循环语句,switch,多分支选择语句,goto,转向语句,return,函数返回,()中是一个条件表示内嵌的语句,11/19/2024,九种控制语句:if (),二、程序的三种基本结构:,.顺序结构:,设s,1,、s,2,都是顺序结构,执行完语句s,1,后,执行位于s,1,之后的语句s,2,。,控制流程图,入口,S,1,S,2,出口,NS结构化流程图,S,1,S,2,顺序、选择及循环结构,11/19/2024,二、程序的三种基本结构:.顺序结构:设s1、s2都是顺序,.选择结构:,如果逻辑表达式E为真T则执行s,1,否则执行s,2,入口,s,1,E,s,2,出口,T E F,S,1,S,2,T,F,控制流程图,N-S结构化流程图,11/19/2024,.选择结构:如果逻辑表达式E为真T则执行s1否则,若E为真T 则执行s,1,否则按序执行,控制流程图,E,S,1,入口,出口,F,T,N-S结构化流程图,T E F,S,1,11/19/2024,若E为真T 则执行s1 否则按序执行控制流程图ES1入口,多分支,:,if,语句和,switch,语句,e,1,S,1,e,2,S,2,e,3,S,3,e,en s,n,en,+1 S,n+1,N-S结构化流程图,控制流程图,出口,入口,S,n+1,e,S,1,S,2,S,n,e,1,e,2,e,3,e,n,e,n+1,11/19/2024,多分支:if 语句和 switch 语句,.循环结构:,()当型结构:先判断,后执行;,控制流程图,出口,S,E,入口,F,T,N-S结构化流程图,当E为真,S,11/19/2024,.循环结构:()当型结构:先判断,后执行;控制流程图,()直到型:先执行,后判断;,S,E,入口,出口,T,F,S,直到E为真,控制流程图,N-S结构化流程图,.循环结构:,()当型结构:先判断,后执行;,11/19/2024,()直到型:先执行,后判断;SE入口出口TF,在画框图时,不限于用何种语言,也可用人的自然语言,或其它的形象表示,TA,AB,A0,如:,YES,NO,AB,YES A0 NO,TA,或,T=A,A=B,A0?,或:,AB,A0 ,TA,或,注意:,此时必须将赋值式AB,提出作为单独赋值语句否则无法表达!,另外,还可用人的自然语言描述如右:,(1)将 B 的值 赋给 A;,(2)若 A 大于 0 则(3)否则(4);,(3)将 A 的值 赋给 T;,(4);,11/19/2024,在画框图时,不限于用何种语言,也可用人的自然,()语句形如:putchar(C);其中C是字符或整型数据。,.putchar(字符输出函数):,三、数据输出:,两个以显示器为隐含输出设备 的最基本(标准)输出函数,AAA,()另外:在使用该函数之前必须有,#include stdio.h,或#include ,()例如:#includestdio.h注意小写字母 main()char a,b,c;a=A;b=0101;c=0 x41;putchar(a);putchar(b);putchar(c);putchar(015);,执行程序将在屏幕上显示:?,11/19/2024,()语句形如:putchar(C);其中C是字符或整型,.printf (格式输出函数),按指定格式,一次输出多个值!,()格式说明:用及后跟格式字符序列来指明该处将显示的值的形式,()一般格式(语法):,printf,(格式控制,输出表列),()格式控制:用双引号括起的转换控制字符串;,内含说明输出格式转换的格式说明;以及普通字符;,()格式字符:与对应的参数项的值的类型有关,必须一致,并且一一对应。,11/19/2024,.printf (格式输出函数)()格式,整数:(整型):d、o、x、u,md:,m无符号整数,指明域宽,即外部形式应占几位;若实,际位数不小于m则等同于d否则在左边用空格补足m位;,如:inta=123;printf(%d,%2d,%3d,%5dn,a,a,a,a);,则结果显示:123,123,123,_ _123。,ld,及mld:,类似于上述两个,用于long int类型的数据,,在之后加上负号:向左靠齐,右补空!,o、x、u的格式,用法与d类似,不同在于输出时无符号并,且是不同进制;,例:int a;unsigned b;b=a=1;,printf(%o,%x,%d,%un,a,a,a,a);,显示:177777,ffff,-1,65535,d:,按输出项值的实际位数,有几位输出几位;,d:有符号,十进制,o:无符号,八进制,x:无符号,十六进制,u:无符号,十进制,11/19/2024,整数:(整型):d、o、x、umd:m无符号整数,,例如:main()int i;char a;a=A ;i=65;printf (“%c,%d n”,a,a);printf(“%c,%dn”,i,i);两者结果都相同,均为:A,65,另外:,mc,%-mc,在左边(或右边)补 m-1 个空格,一般格式:,m.ns,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,对应字符串型常量,或字符数组首址,并且存有字符串;,11/19/2024,例如:main()int i;char,%-m.nf:,m,总域宽,,n,小数位数(不包括小数点),省略为6 负号:右补空,注意:格式字符必须是小写,并且以%引导,与变量名无关!格式控制中,可夹任 意可见字符或转义字符 控制符。,小心输出项类型与格式说明的要配对。,实数(型):f,(,小数形式),e,(,指数形式),g,(,自适应形式),%f,:,系统自定义域宽整数部分全部满足;小数部分6位,float,有7位有效,,double,有16位有效,。,%g:,自动选取,%f,和,%e,;不输出无意义的零(用空格代替)。,例,:,main()float x,y;x=111111.111;y=222222.222;,printf(%f,x+y);,结果显示:333333.328125,%e:,指数形式;,例:float f;f=123.456;printf(%f,%e,%g,f,f,f);显示结果为:123.456000,1.234560e+002,123.456 _ _ _,11/19/2024,%-m.nf:m总域宽,n小数,四、数据输入:,两个以终端为隐含输入设备的,最基本(标准)输入函数。,.getchar():,返回值为单个字符;,()该字符是执行到本语句时,从键盘输入的;,()必需按(回车)即(Enter)或(Return)键,才接收!,()例:main char c;c=getchar();putchar(c);,()前面必须#include ”stdio.h 同putchar类似,11/19/2024,四、数据输入:两个以终端为隐含输入设备的.getc,()格式字符:d、o、x、u、c、s、f、e,、g,(e,、g,与f同),.,scanf,函数(格式输入函数),整型,d:十进制,o:八进制,x:十六进制,c:单个字符:,键入的数据,按不同进制进行解释转换,/*键入时无需用单引号括起*/,字符串s:,键入时,用空白字符作为起止标志,而不用双引号 括起!录入的字符串送入一字符数组中,并以0作结束标志。,f,和e,、g,等价:,用于接收实数,可以是键入小数或指数形式的数。,()一般形式:scanf(格式控制,地址表列)地址表列:必须是地址;与printf中的有本质的区别!格式控制:与printf 中的含义相同,但内容有区别,。,11/19/2024,()格式字符:d、o、x、u、c、s、f、e、g(e、,()附加的格式说明符:,l 用于输入长整型或双精度,double,写成,%ld、%lo、%lx,或%lf、%le;,h,(与l,相应):用于输入短整型,%hd、%ho、%hx,m,域宽:指明从键盘实际读入的字符个数,如果%后有一个”*”,则表示跳过它指定的列数,()注意点:,指定域宽时,键入时就可不要分隔符,按 个数读,键入数据可用一个或多个空格、Tab、回车键分隔;,当含有其它普通字符时,则键入时必须一一对应完全相同;,对应项必须是地址;目前必须在变量名前加&取地址运算符;,11/19/2024,()附加的格式说明符:l 用于输入长整型或,scanf (%d%d%d ,键入,123,456,7scanf (%2d%3d,scanf (“%2d%*3d%2d”,键入 12,_,345,_,67,则a=12,b=67,()例子:,11/19/2024,scanf
展开阅读全文