版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言教案1-3讲第一讲 计算机基础及C语言概述一、 授课内容1、 授课科目:C语言程序设计2、 授课内容:第一章 C语言概述3、 授课类型:讲授4、 授课时间:2学时5、 主讲教师: 肖飞二、 教学目的与要求1、计算机基础知识2、计算机语言、程序及C语言简单介绍三、 教材分析1、 教材概述:本部分内容讲述计算机基础知识及计算机语言基础知识以及C语言的产生与特点2、 教学重点:C语言的特点3、 教学难点:各种语言之间的不同点四、 教学设想1、 教材处理设想:示例、例题、比喻、比较2、 教学方法设想:讲授为主,辅以常识、实际操作指导3、 教具运用设想:电子幻灯片五、 教学过程1、 导入:由计算机
2、的组成、工作原理引入计算机的语言及C语言。 讲授:(板书)一、 计算机基础知识1、 微型计算机组成由硬件和软件组成硬件包括:中央处理器、存储器、输入、输出设备(重点介绍存储器,用图形方式表示内存储器的结构、存储数据的方式、及地址、数据相关概念并说明外存储器中的内容要经过内存储器后才能给CPU进行处理)软件包括:系统软件(操作系统、语言编译系统、数据库管理系统等)和应用软件2、 计算机的工作原理(1)、采用二进制表示数据和指令(2)、采用存储程序方式(用图形方式表示)(3)、由中央处理器、存储器、输入、输出设备组成二、 什么是语言?什么是计算机语言及语法?语言:一种用来交流的工具,如人与人:汉语
3、、英语等,还有肢体语言;动物与动物之间也有语言,人与动物也有语言。计算机语言:人与计算机交流的工具语法:可以说是用于交流的语言的一种规定。计算机语言也规定了语法,由于计算机比较死,所以只有我们严格按照人与计算机规定的语法时,计算机才能“懂”,才能按人的要求去执行。三、 计算机语言的特点1、 严格按命令执行2、 计算机不会犯错误,只有人编写的命令出错四、 什么是程序?程序怎样生成又怎样执行?1、 由一条条命令(语句)构成,计算机就是严格按照这些命令执行2、 用编辑工具书写(如用C编辑;记事本;以及一些通用的语言编辑器)3、 直接有编辑工具书写的程序计算机不能直接执行(看不懂),必须由另外一种编译
4、工具把程序翻译成等价的计算机能够读懂的另外一种形式,即机器指令。我们通常说的TC编译器就是将编辑器与编译器集成在一起的一种用语编写和编译言程序的一种工具。五、 简单C程序介绍例:1main( ) int a,b,sum; /* 声明3个变量,每个变量在内存中占2个字节 ,用来存储数据 */a=1;b=2; /* 2个语句分别用来给a和b赋值 */sum=a+b; /* 给sum赋值 */printf(“sum is %dn”,sum); 说明:1、main() 是任何C语言程序都不可少的,main称为主函数,任何程序都从它开始执行。2、 C语言由函数构成,上面程序由一个函数构成,函数的基本构成
5、:函数名() 。3、 一个“;”表示一个语句(而且每个语句后面必须有分号),一行可写多个语句,也可写一个,也可不写,书写很自由。4、 printf为输出语句(实际上它是输出函数),它输出后面括号里的字符串,普通字符为原样输出,还有些是按格式输出,比如“%?”及“?”,“?”表示字符。5、 /* */称为注释,仅仅只是给人看,计算机在执行程序的时候首先将它删除6、 计算机执行程序的过程为从上往下执行7、 C语言的字符集简介:字目大小写52个,数字共10个,下画线,特殊符号如:+ * / % = , ; ? 等等8、 标识符的概念:有字母、数字和下画线构成,首字符只能是字母或下画线,不能是数字,它
6、表示的意义就相当于名字,表示程序里面的常量、变量、函数名等等。9、 关键字的概念:关键字是特殊的表示符。这些表示符被系统占有了,我们在定义变量、函数等的时候就不能使用它们,因为他们有特殊的意义。例2 main() int a,b,c;scanf(“%d,%d”,&a,&b); /* 输入语句 */ c=max(a,b); /* 调用函数语句 */ printf(“max=%d”,c); /* 输出语句 */int max(int x,int y) /* max函数 */ int z;if ( x y ) z = x ; /* 选择语句 */else z=y;return(z); /* 此函数的
7、返回值 */五、C语言上机介绍C语言程序要经过以下几个步骤运行: 上机输入和编辑源程序 对源程序进行编译 与库函数连接 运行可执行的目标程序1、 用Truboc C运行C语言程序(1) 调出C程序C:TCTC 或单击桌面上的TC快捷方式(2) 编辑源文件(3) 编译源程序(4) 执行程序2、注意事项:(1)新建一个C文件后,应先保存我们需要保存的文件名(保存是按下F2键或者是打开菜单选择保存),打开菜单按下F10,再用上下左右箭头选择。(2) 书写程序过程中注意格式整齐,并且在书写的过程中边写写保存(即反复按下F2键)。(3)程序写完后,按F2保存一次,再按F9检查错误,当EROORS为0时,
8、按下CTRL+F9运行程序,如果有输入语句,则从键盘上输入数据,输入完后或者没有输入数据,则按下ALT+F5查看运行结果。(4)在调试程序的过程中如果找不到光标无法修改时按下F6。(5)要求每个程序必须有下面部分# include void main( ) /* 声明变量 */ clrscr( ); ;/* 语句部分 */ getch( ) 第二讲 数据类型、运算符与表达式一、授课内容1、授课科目:C语言程序设计2、授课内容:第三章数据类型、运算符与表达式3、课类型:讲授4、授课时间:2学时5、主讲教师: 肖飞二、学目的与要求1、掌握C语言的数据类型、运算符与表达式三、教材分析1、教材概述:本
9、部分内容讲述C语言数据类型运算符与表达式2、教学重点:C语言的数据类型运算符与表达式3、教学难点:熟练运用四、教学设想1、教材处理设想:示例、例题、比喻、比较2、教学方法设想:讲授为主,辅以常识、实际操作指导3、教具运用设想:电子幻灯片五、教学过程1、导入:计算机的主要用途就是用于数据处理,从计算机处理的数据展开讲述 讲授:(板书) 一、 计算机程序的本质对数据的处理,包括2个方面的问题:1、 描述数据(存储数据)2、 处理数据,对数据的加工二、 计算机中的数据计算机中的数据不仅仅指数字、字母,还包括文字、声音、图象等,不管什么数据,都应该清楚它在计算机中是怎样存放的,即我们该怎样去定义描述这
10、些数据。三、数据类型概述单精度型整型字符型基本类型实型双精度型数组类型结构体类型构造类型数据共用体类型类型指针类型空类型四、数据在计算机中表示1、数据在计算机中都用常量和变量来表示,他们分别属于上述类型,有了上述类型后,还可以通过上述类型构成更复杂的数据类型。五、常量与变量5.1常量定义:在程序运行过程中,其值不能变的量称为常量。(有不同类型的常量)如:15、1.3、a、”china”等不同类型的常量。 常量的表示有在程序重直接写出来的,也有通过符号常量的形式表示的,符号常量举例: #define PRICE 30void main() int num,total;num = 10;total
11、 = num * PRICE;printf(“total=%d”,total); 这种以一个标识符代表一个常量的,称为符号常量.注意:符号常量在运行程序之前将有一个替换过程,这个过程是字符串的原样替换,而不不是值的替换。常量的好处就是可以在程序中只需改动一处,其它相同的地方都会自动改正过来。5.2变量 变量:在程序运行过程中可变的量。 每个变量都有一个名字,占有一定的存储单元,变量的值就是存放在存储单元中的值。变量名代表这个值,每个变量都有一个地址,变量名前面加&表示取地址。 常量与变量名都用标识符来表示,不可用保留字。 在程序中数据都是用常量和变量来表示的,对数据的数据在表现形式上也是针对与
12、常量和变量。因为数据存储在内存中,不可能去记住内存的地址和对应的数据,就用常量和变量的这样的符号表示内存中的数据。例如:定义变量a=5,则变量a就表示2个内存单元的值。如: int a=5; a5六、整数类型1、整型常量的表示方法:(1) 十精制整数 如:123(2) 八精制整数 如:0235 (用0作为前导)(3) 十六精制整数 如:0x25f,0x2a(用0x做前导)2、 整型变量(1)整型数据在内存中的存放形式为二精制存放。 0000000000001010 例:int i=10;(2)、整型变量的分类(按数值范围)(1) 基本整型,以int 表示 占2个字节(2) 短整型,以short
13、 int表示 占2个字节(3) 长整型,以long int表示,或以long表示占4个字节 以上3种整型前面再加上unsigned就变成6种类型了。各种类型能够正确表示数的范围由它们分别占用的内存空间打大小有关。3、整型变量的定义int a,b; a,b各占用2个字节unsigned short c,d; c,d各占用2个字节long e,f; e,f各占用4个字节举例:例3.2void main( ) int a,b,c,d; unsigned u; a = 12;b=-24;u=10; c = a+u;d=b+u;printf(“a+u=%d,b+u=%dn”,c,d);运行结果:a+u=
14、22,b+u=-14;4、整型数据的溢出例 整型int变量的最大允许为32767 如果再加1,则输出-32768,有兴趣的同学可自己看课本为什么?5、整型常量的类型5.1一个整数,范围在int(即-32768-32767)之中的话,可以将它赋值给int类型和long类型 5.2超过了int范围,在long范围内,则赋值给long类型 5.3有的计算机版本(如Tuboc C)认为short和int 所占字节相同,则可以相互赋值 5.4整数后面加u或U,则认为它是一个无符号数,整数后面加l或L,则认为是长整数类型。七、实数类型 又称为浮点类型,是数学中实数的一个子集 1、实型常量的表示方法(1)十
15、精制小数形式1123.223(2)指数形式.123e3 表示123 *10 ,对于指数形式,字符E(e)之前必须有数字,E或(e)后面的指数必须为整数。例E8,4.5E+2.7等是错误的。2、实型变量 2.1实型变量在内存种的存放形式(有兴趣的同学查阅资料)2.2实型变量的分类可分为:单精度 float f; 双精度 double df; 长双精度型 long double ldf;各种类型的表示数的范围和精度随编译器不同而不同,一般来说,占的字节越多,表示的数的范围越大且精度越高。 2.3实型数据的舍入误差 由于实型变量提供的存储单元有限,所以在赋值的时候有些数字将被舍去,产生误差。有兴趣的
16、同学查阅相关资料。2.3实型常量的类型许多编译器将实型常量作为双精度来处理。例如:定义一个实型变量f,有:f = 2.45678*4532.65系统先将2个乘数都转换为双精度来相乘,这样提高了精度,但速度变慢,如果不想转换提高速度,则在数字后面加上一个f或F。 八、字符型数据1、字符常量C语言的字符常量是用单撇号括起来的一个字符。如 a 、4一种特殊的字符常量,就是以一个“”开头的字符序列,它是有组合而成的一个特殊字符(表3.3)2、 字符变量字符变量用来存放字符常量,且只能存放一个字符,不能存放一个字符串。char a; a=d;3、 字符数据在内存中的存储形式及其使用方法字符数据在内存中占
17、一个字节,存放的是字符的ASCII码,所以既可以以字符形式输出,也可以以整数形式输出。注意:一个字符占用一个字节,一个字节存储的数的范围是-128127,在这个范围内用字符变量和整型变量来处理都是一样的,如果超过了这个范围,就只能用整型变量来处理了,否则就会对字符变量产生溢出出错。例 大小写字母转换程序voidmain()char c1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;printf(“%c,%cn”,c1,c2); printf(“%d,%d”,d1,d2); 结果输出A,B 65,664、字符串常量字符串常量是一对用双撇号括起来的字符串例:”How do you
18、 do”,”china”可以输出一个字符串常量如:printf(“How do you do”);字符串的存储方式为后面加0结束。当系统遇到一个字符串,处理过程为:1、 首先自动开辟储存空间将字符串常量按顺序存储2、 然后末尾自动加、03、 最后范围这个存储空间的首地址。注意a和“a“的区别。C语言种没有专门的字符串变量,但我们可以通过数组来实现。 九、变量赋初值例:int n=3;int a,b,c=5;int a=3,b=3,c=3;但不能int a=b=c=3; 十、各种类型之间的混合运算C语言种各种不同类型的数据也可以进行相互运算,运算时,级别低的数据先转换成级别高的数据,再进行运算。
19、例如:double f; f=3+4.5f;十一、运算符 C语言中的运算符十分丰富,有如下类型:1、 算术运算符与算术表达式 ( + - * / % ) 3+5 5/3 8%5 a*6+3 a+b/c+d*f 2、 关系运算符号( = = ! = )3、 逻辑运算符( ! & | )4、 位运算符 ( | & )5、 赋值运算符( = 及其扩展赋值运算符)6、 条件运算符 ( ? : )7、 逗号运算符 ( , )8、 指针运算符 (* 和 & )9、 求字节数运算符 ( sizeof )10、 强制类型转换运算符 ( (类型) )11、 分量运算符 ( . - )12、 下标运算符 ( )1
20、3、 其他 ( 如函数调用 )11.1 算术运算符1、 运算符C语言的运算符共有5种+加、-减、*乘、/除、%取余要求:(1)%运算左右两数必须为整型数据(2)两个整数相除,结果为整数,舍去小数部分。如:7/3=2;1/5*5=0;.(3)参加运算的2个数有一个为实数,则结果为double型。(4)字符型数据可以直接和整数混和运算,因为字符型数据是按整数存储的。2、 算术表达式2.1定义:用算术运算符和括号将运算对象(也称操作数)连接起来,符号C语言规则的式子,称为算术表达式。运算对象可以是常量、变量或函数等。例如:a+b+c*3+d*sin(1.4)2.2运算符的优先级和结合性原则是:先加减
21、或乘除(%和乘除一个级别),有括号先算括号,从左至右的结合性。2.3类型转换如果一个运算符两侧的数据类型不同,则先进行类型转换,转换成相同的类型。2.4取副值运算符(-)级别要高于算术运算符如:-a-b*c2.5强制类型转换运算符一般形式:(类型名)(表达式)如:(double)a (int)(x+y) 但(int)x+y是不同的,不能写成int(x)例:void main( ) float x ; int i ; x = 3.6 ; i = (int)x; printf(“x=%f,I=%d”,x,i);注意:这里经过转换后x的值仍然为3.62.6 自加自减运算符+ - 操作对象只能是变量,
22、作用是使变量的值加1或减1例如:int i = 3; i+;i=i+1;i- - i = i 1; + - - 在一个语句种单独使用不管是i+还是+i,的效果是一样的,但是在复合语句里就不同了:如:a = 5; a = 5b = +a; b= a+; 自增自减运算符主要用语循环语句和指针中。3、 有关问题说明:在C语言中,有些运算的顺序会随编译器的不同而不同,如:a = f1( )+f2 ( );(i+)+(i+)+(i+)printf(“%d,%d”,i,i+);十二、赋值运算符和赋值表达式1、赋值运算符:为“=“,它的作用是将一个数据或者是一个表达式的值赋值给一个变量,例如:x=5 y =
23、 3*x+62、赋值表达式(1) 赋值表达式构成:变量 赋值运算符表达式 例如:x=y+5 注意:这里的表达式也可以是一个赋值表达式:例如:a=b=10 ; x=y=z=5;(2) 优先级 赋值运算符优先级低于算术运算符、关系运算符和逻辑运算符 x = y 0) t=a;四、数据输入输出的概念及在C语言中的实现输入:计算机主机通过输入设备接收数据叫输入;输出:计算机主机向输出设备输出数据叫输出。C语言的输入/输出都是通过函数来实现的。例:putchar() 输出字符getchar() 输入字符puts() 输出字符串gets() 输入字符串scanf() 格式输入printf() 格式输出在使
24、用C语言库函数时,要使用”#include”将有关头文件包括到用户源文件中#include 这样才能调用相关函数。五、字符数据的输入输出C语言不提供输入输出语句,输入输出由函数来实现,这些函数都包含在函数库里面,我们在使用时应该先声明。1、 putchar函数从终端输出一个字符 例4、1(P71)#include main( ) char a,b,c; a=B;b=O;c=Y; putchar(a);putchar(b);putchar(c); 运行结果:BOY 也可以输出字符常量。如putchar(a);输出控制字符: putchar(n);putchar(101) 输出字符A putcha
25、r(015) (输出回车,不换行,使输出的当前位置移到本行开头)2、 getchar函数一般格式: getchar( )从终端输入一个字符 例 4、2(P72) #include main( ) char c;c=getchar( );putchar(c); 运行结果:输入a,输出a; 注意1、 getchar函数输入字符时,要按下回车键才能响应,如果用2个getchar函数输入数据要小心。2、调用这两个函数要加头文件。六、格式输出printf函数1、 printf函数的一般格式为:printf(格式控制,输出表列)如:printf(“%d,%cn”,i,c);1.1 格式控制:用“”括起来的
26、字符串,包括2个部分:1. 格式说明,有%和格式字符组成,如%d,%c,%f等2. 普通字符,即需要原样输出的字符1.2 “输出表列”是需要输出的数据,可以是表达式例:printf(“My age is %d”,age);输出: My age is 202、格式字符(1) d格式符1)%d2)%md m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格;若大于m,则按实际位数输出 例如:假设:a=123;d=12345; printf(“%4d,%4d”,a,b); 输出结果: 123,12345 (2) o格式符 以8进制形式输出整数。将符号位也一起作为八精制数数输出。 int a
27、=-1; printf(“%d,%o”,a,a); 存储形式:1111 1111 1111 1111 结果:-1,(3) x格式符,以十六进制数形式输出整数。也将符号位作为十六精制数。 int a=-1; printf(“%x,%o,%d”,a,a,a); 输出结果:ffff , , -1;(4) u格式符,用来输出unsigned型数据,即无符号数,以十进制形式输出 例4 .3(P74) main( ) unsigned int a=65535; int b=-2; printf(a=%d,%o,%x,%un”,a,a,a,a); printf(“b=%d,%o,%x,%un”,b,b,b,
28、b);运行结果:a=-1 , , ffff , 65535 b=-2 , , fffe , 65534(5)C格式符,用来输出一个字符,也可以以C格式符输出一个整数,输出此整数相对应的 ASCII码例4.4(P75) main( ) char c=a; int i=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,i,i); 运行结果:a,97 a,97(6)S格式符,用来输出一个字符串。(见课本75页)1)%s2)%ms 输出的字符串占m列,不足则左补空格,超过则突破m的限制。3)%-ms 与上一样,不过是右补空格。4)%m.ns 输出占m列,只取左端n个字
29、符。n个字符在m列的右侧,左补空格。5)%-m.ns 与上一样,右补空格。例如:printf(“%3s,%7.2s,%.4s,%-5.3sn”,”china”,”china”,”china”,”china”,”china”); 输出结果:china, ch,chin,chi(7)f格式符,用来输出实数,以小数形式输出 1)%f 整数部分原样输出,小数部分输出6位,但并非所有数字都为有效数字 单精度实数为7位,双精度为16位 例如: main( ) float x,y; x=11111.111;y=.222; printf(“%f”,x+y); 结果:.32815 2)%m.nf 输出数据共占m
30、列,其中有n位小数,数值长度小于m,左补空格 3)%-m.nf 与%m.n基本相同,就是输出数据向左靠,右补空格例如: float f=123.456;printf(“%f%10f%10.2f%.2f%-10.2f”,f,f,f,f,f);(8)e格式符,以指数形式输出(9)g格式符,用来输出实数,根据数值的大小自动选f格式或e格式使用printf函数输出时,应注意数据匹配(见课本78页),几点说明:(1) 除了X,E,G外,其他格式符必须用小写。(2) 可以在printf格式字符串中加转义字符。(3) 格式符中间加其他符号可看作修饰符,原样输出。如果想输出“%”,可应用两个”%”即%七、scanf函数1、一般形式(格式控制,地址表列)例如:int a, b;float c,d;char ch;scanf(“%d,%d,%f,%f,%,%c”,&a,&b,&c,&d,&ch);例4.9用scanf函数输入数据main( ) int a,b,c; scanf(“%d%d%d”,&a,&b,&c); printf(“%d,%d,%d”,a,b,c);输入:3 4 5输出:3,4,5main( ) int a,b,c; scanf(“%d,%d,%d”,&a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 挪威邮轮活动方案策划(3篇)
- 施工方案审查指引(3篇)
- 未来医药营销方案(3篇)
- 橡胶胎膜施工方案(3篇)
- 河水中施工方案(3篇)
- 特色医护活动方案策划(3篇)
- 立面格栅施工方案(3篇)
- 综合观测应急预案(3篇)
- 节能防腐施工方案(3篇)
- 营销订台方案(3篇)
- 中药泡洗相关知识
- 2022-2024北京高三一模物理汇编:压轴选择
- 人教版六年级下册《体育与健康》水平三篮球18课时大单元教案
- CJJT 182-2014 城镇供水与污水处理化验室技术规范
- 两单两卡安全培训
- 2023年陕西省西安新城区校园招聘高层次及特殊紧缺人才(15人)笔试历年难、易点深度预测(共500题含答案解析)模拟试卷
- ATLAS空压机常见故障分析和处置
- 220kV变电站220kV母差B套保护装置换型工程四措一案
- 2023届二轮复习 第四单元 第9课 走向整体的世界 学案
- 2023版思想道德与法治专题1担当复兴大任 成就时代新人PPT
- 现代设计理论与方法(上)
评论
0/150
提交评论