C语言学习教案Lecture.ppt

上传人:小飞机 文档编号:5426294 上传时间:2023-07-05 格式:PPT 页数:50 大小:303.99KB
返回 下载 相关 举报
C语言学习教案Lecture.ppt_第1页
第1页 / 共50页
C语言学习教案Lecture.ppt_第2页
第2页 / 共50页
C语言学习教案Lecture.ppt_第3页
第3页 / 共50页
C语言学习教案Lecture.ppt_第4页
第4页 / 共50页
C语言学习教案Lecture.ppt_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《C语言学习教案Lecture.ppt》由会员分享,可在线阅读,更多相关《C语言学习教案Lecture.ppt(50页珍藏版)》请在三一办公上搜索。

1、一、目的1.了解C程序的组成,初步掌握语句的分类;2.理解结构化程序设计方法、程序的三种基本控制结构;3.掌握putchar和getchar函数的使用方法;4.熟练应用printf和scanf函数编程;5.理解、掌握顺序结构程序的设计步骤,能独立编写顺序结构的程序;6.养成良好的编程习惯,保证程序的正确性。,概述,二、本章内容、重点、难点,内容:变量定义、赋值语句、输入输出语句。输出函数 printf(“格式控制”,输出列表)输入函数 scanf(“格式控制”,地址列表)难点是格式控制,地址列表,概述,例:#include main()int a=3,b=-5,c;c=a*b/2;printf

2、(c=%dn,c);,开始,结束,顺序结构:就是程序中的语句按先后顺序逐条执行的结构。,概述,3.1.1 C程序的组成 C程序:由一个或多个“*.C”文件组成*.C文件:由预编译命令、函数组成。其中:,预编译命令 如:#define、#include 函数 包含一个主函数、一个或多个其它函数 函数:由说明部分、语句组成,3.1 C语句概述,C语言源程序是由语句构成的。,预编译命令函数1函数m,程序的组成,f1.c,f2.c,fn.c,预编译命令main()函数1函数n,说明部分语句,3.1 C语句概述,3.1.2 C 语句的分类,按功能可分成:表达式语句 描述要执行的操作运算。流程控制语句 描

3、述程序执行的走向。,3.1 C语句概述,3.1 C语句概述,3.2.1 什么是结构化程序设计,结构化程序设计的思想:不用或少用无条件转向语句(goto语句);改善并统一每个模块的控制结构及模块间的联系。,3.2 结构化程序设计,结构化程序设计:是一种程序设计技术,采用:自顶向下、模块化、逐步细化、结构化编程的设计方法。运用:顺序、分支、循环三种控制结构。控制遵循的原则是:单入口、单出口。结构化程序设计强调程序设计的风格和程序结构的规范化,提倡清晰的结构。,3.2 结构化程序设计,3.2.2 三种基本结构,1.三种基本结构,3.2 结构化程序设计,2.流程图表示,顺序结构,选择结构,循环结构,当

4、型,直到型,3.2 结构化程序设计,输出:从内存 外设(打印、显示、存盘)。输入:从外设 内存。C语言用编译系统提供的函数实现输入输出。没有输入输出语句。,3.3 数据输出,3.3.1 putchar函数(单个字符输出函数),格式:putchar(字符变量|字符常量)功能:向终端输出一个字符。含控制和转义字符。说明:终端默认为是显示器。,变量 常量,例:char c=8;putchar(c);putchar(A);注意:该函数包含在 stdio.h头文件中。,3.3 数据输出,例3-1 用putchar函数输出字符。,#include main()char a=O,b=K,c=!;putcha

5、r(a);putchar(b);putchar(c);/*输出一个回车符*/putchar(n);,3.3 数据输出,/*用8进制表示字符A*/putchar(101);/*用16进制表示字符z*/putchar(x7a);/*用8进制表示回车换行*/putchar(015);putchar(012);getch();,putchar 功能简单,只能输出一个字符;完全可被 printf代替;但优点是:生成的代码短,3.3.2 printf函数(格式输出函数),1.一般格式:printf(“格式控制符”,输出列表)功能:将输出列表项按格式控制符给定的格式输出。说明:格式控制符 用双引号括起来的字

6、符串。有3种:格式声明符,如:%c、%d、%f、%s等。为输出列表指定输出格式。普通字符,原样输出。转义字符,按转义输出。如:n、015等。,3.3 数据输出,输出列表 是要输出的常量或表达式。输出列表项与格式符从左到右一一匹配。其中:个数相等时,按格式符类型一一输出;输出列表个数格式符个数时,多余的不输出;格式符个数输出列表个数时,多余的乱输出。应确保:输出列表个数=格式符个数,以免出错。,3.3 数据输出,对不同类型的数据使用不同的格式符,常用有9种:,2.格式字符与格式修饰符,3.3 数据输出,说明:,数据类型必须与格式字符匹配,以免出错;用“X”时,输出用大写字母 AF表示1015;用

7、“E”或“G”输出时,指数用大写字母表示;格式控制字符串中可以使用转义字符。,3.3 数据输出,整型类,%d 格式 输出十进制有符号整数,与修饰符组合有6种形式:,3.3 数据输出,例,int a=123,b=4567;long c=123456,d=654321;printf(“%d%dn”,a,b);printf(“%5d%2dn”,a,b);printf(“%-5d%-5dn”,a,b);printf(“%ld%ldn”,c,d);printf(“%-8ld%8ld”,c,d);,输出:1234567 1234567123 4567 123456 654321,3.3 数据输出,%o、%

8、x、%u格式 输出八进制、十六进制、无符号整数。与“l”、”m”、”-”符号结合,有类似%d的六种格式。输出的八进制、十六进制数不另带符号,符号位作为八进制、十六进制数的一部分输出。利用不同的输出格式,可以方便的实现不同数值之间的转换。,3.3 数据输出,例3-2:输入十进制整数,分别以八进制、十六进制和无符号形式输出。说明:因为系统对不同进制的数不做任何标识,本例在各数前面补充输出字符0、0 x、u。main()int a;printf(“a(-3276832767)=?”);scanf(“%d”,3.3 数据输出,运行结果如下:a(-3276832767)=?5678a=5678 0130

9、56 0 x162e u5678a(-3276832767)=?-1a=-1 0177777 0 xffff u65535-1绝对值原码 取反-1 补码 如果看成有符号数就是-1;无符号数就是65535。16个1用八进制表示为177777;用十六进制表示为ffff。,3.3 数据输出,实型类,输出单精度、双精度数使用相同的三种输出格式。%f 以小数形式输出实数*%f格式 按系统默认精度输出实数。靠左放。单精度型输出6位小数,有效位数为7位;双精度输出有效位数16位,小数也是6位。整数部分全部输出,小数部分不一定全部有效。例如:float x=1234567.890123;double y=12

10、34567.890123;printf(“x=%ft y=%fn”,x,y);输出为 x=1234567.875000 y=1234567.890123,3.3 数据输出,*%m.nf格式 输出占m列宽度,其中:小数为n位,第n+1位自动四舍五入;小数点占1位;右对齐输出;数据长度m时,左端补空格。*%-m.nf格式 含义同上。左对齐输出;数据长度m时,右端补空格。,3.3 数据输出,例3-3:输出实数时指定小数位。,main()float f=123.456;printf(“%ft%10ft%10.2ft%.2ft%-10.2f t%10.0fn”,f,f,f,f,f,f);,3.3 数据输

11、出,*%e 以标准指数格式输出实数。其中:小数点前仅1位非0数字;系统自动指定小数位数为56位(TC为5位);指数部分占:e占1位、指数符号1位、指数占24位;例:printf(“%e”,123.456789);输出:1.23457e+02/*Turbo C*/注意:不同系统有区别。,%e 以指数形式输出实数,3.3 数据输出,*%m.ne、%-m.ne格式 含义同前。其中:n 小数位数,有些系统少1位,TC即为n-1位 当不指定n时,TC自动取n=5;m 实际长度,按实际长度。例:若 f=123.456;printf(“%e%10e%10.2e%.2e%-10.2e”,f,f,f,f,f);

12、输出如下:1.23456e+021.23456e+021.2e+021.2e+021.2e+02 11列 11列 10列 7列 10列,3.3 数据输出,%g 格式,根据数值大小,自动选取%f或%e格式中宽度较小的一种,且省略尾部无意义的0。例:double x=1234567890.123,y=4.56,z=78.9000;printf(“%f=%f%e=%e%g=%g y=%g z=%g”,x,x,x,y,z);输出结果:%f=1234567890.123000%e=1.23457e+09%g=1.23457e+09 y=4.56 z=78.9,3.3 数据输出,%c 格式 输出一个字符。

13、整型数的值在0255范围内时,可用字符形式输出,系统自动输出其ASCII码字符;字符型数据也可以用整型数格式输出,系统按1字节数处理;也可以指定输出字符占的列数。如:printf(“%3ct%-3c”,a,a);结果为:aa,字符类,左对齐,3.3 数据输出,%s 格式 按紧凑格式输出字符串。例:printf(“%s%sn”,”CHINA”,”OK!”);结果:CHINAOK!*%ms 输出占m列;右对齐,不足左补空格;超过m按实际长度输出。%-ms 左对齐,不足右补空格;其余同%ms。*%m.ns 从串中左取n个字符,按m列输出;右对齐,不足左补空格。%-m.ns 左对齐,不足右补空格;其余

14、同%m.ns,3.3 数据输出,#define W“CHINA”main()printf(“%3s,%7.2s,%.4S,%-5.3Sn”,W,W,W,W);输出结果:CHINA,CH,CHIN,CHI,3.3 数据输出,3.4.1 getchar 函数(单字符输入函数),格式:getchar()功能:从终端输入一个字符。终端:一般指键盘。,用途:可为字符变量、整型变量赋值;也可出现在表达式中。,3.4 数据输入,例3-9:输入4个字符,可是字母、数字,查看结果。#include main()char c;int i;c=getchar();printf(c=%-4c,c);i=getchar

15、();printf(i=%-5d,i);printf(c1=%-4cc2=%cn,getchar(),getchar();getch();/*从键盘上输入ABCD*/,3.4 数据输入,函数多次出现时,应将所有取值一次全部从键盘输完,否则所按的回车键有可能成为函数值;函数每次从缓冲区取一个字符为值;getchar和putchar配合使用,如:c=getchar();putchar();putchar(getchar();4.函数最常用在if或while语句中,如:if(ch=getchar()!=#)while(ch=getchar()!=#,注意:,3.4 数据输入,3.4.2 getch

16、与getche函数,1.getch()函数 格式:getch()功能:等待击键,如解决输出屏幕一闪而过的问题。执行过程:程序执行碰到此函数时,停留在输出屏幕(用户),当单击任意一键后,立即返回到编辑界面。按的键不显示出来。2.getche()函数 格式:getche()功能、执行过程:同上。区别是:按的键显示出来。,3.4 数据输入,例3-4:显示15的平方。按任意键结束程序运行。,#includemain()int i;for(i=1;i=5;i+)printf(%d*%d=%dt,i,i,i*i);getch();/*运行后显示结果,按任一键后返回到编辑屏幕*/,3.4 数据输入,3.4.

17、3 scanf函数(格式输入函数),1.一般格式:scanf(“格式控制”,地址列表)功能:一次可以输入任何类型的多个数据。,说明:“格式控制”:含义类似printf函数;地址列表:若干个地址。可以是变量的地 址或字符串的首地址。,3.4 数据输入,例:int a,b,*p1=说明:变量的地址是在编译连接阶段分配的;输入数据时,分隔两个数值型数据可用:一个或多个空格 回车换行键 Tab键,3.4 数据输入,格式控制,格式控制符 类似printf函数,3.4 数据输入,说明:,“格式控制”中若有其它字符,应一并输入 scanf(“a=%d,b=%d”,&a,&b)则应输入:a=3,b=4输入数据

18、时不能规定精度,但可指定所占列数:scanf(“%7.2f”,&a)scanf(“%4d%3d”,&a,&b)若输入:12345678 则:a1234 b 567,3.4 数据输入,对unsigned型变量所需的数据,可用%u、%d或%o、%x格式输入。如果在%后有一个*号,表示跳过它指定的列数:scanf(“%2d%*3d%2d”,若输入:12 345 678 则:a 12 b67 其中:%*3d表示读入三位整数,但不赋给任何变量。,3.4 数据输入,输入多个数据时,必须注意数据之间的分隔符:数值型、字符串型数据间,用空格或回车键分隔;字符型数据间不加任何分隔符;若数值型、字符串型、字符型数

19、据混合输入,最好将字符型集中前置,数值型、字符串型集中后置。输入数据时,字符型之间仍不加任何分隔符,后面数据都用空格分隔。为了醒目,可在scanf函数前用printf做输入提示。,3.4 数据输入,地址列表,由若干个地址组成。,3.4 数据输入,2.举例,例3-5-2 对输入的十进制、八进制、十六进制数,都以十进制输出。#includemain()int a,b,c;printf(a,b,c=);scanf(%d%o%x,3.4 数据输入,例 3-6-2 格式控制中含有非格式字符时的输入方法。#includemain()int a,b;scanf(a=%d,b=%d,运行程序必须输入(假如给

20、a 123、b 456为值):a=123,b=456,3.4 数据输入,例3-7-1 多个“%c”格式连用,输入时无分隔符。#includemain()char a,b,c;scanf(%c%c%c,3.4 数据输入,3.4.4 顺序结构程序设计一般步骤,可包含头文件或宏定义可同时赋初值可用赋值语句、输入语句注意类型转换、取值范围考虑精度、类型,3.4 数据输入,例3-9-3 输入三角形三边长,求面积。分析:用三边求面积公式 s=(a+b+c)/2 开方函数:sqrt()在头文件“math.h”中,所以要用include;程序如下:,3.4 数据输入,#include#include math.hmain()float a,b,c,s,area;printf(a,b,c=);scanf(%f%f%f,3.4 数据输入,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号