C语言程序设计电子教案.doc
《C语言程序设计电子教案.doc》由会员分享,可在线阅读,更多相关《C语言程序设计电子教案.doc(35页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流C语言程序设计【精品文档】第 35 页C语言程序设计第1章 基本概念本章主要内容 明确C语言的产生及发展史 了解C语言特点 掌握C语言的表述环境 明确C语言及其程序的基本形式1.1 C语言的产生及发展史C语言属于ALGOL语言族系, 产生于1972年. 是编程者设计的一种结构化程序设计语言. 它首先是为了编写PDP-11型计算机上的UNIX操作系统而产生出来, 但后来发展成为一种独立的程序设计语言, 并广泛地应用在大型, 小型,微型计算机上.1967年英国剑桥大学的Matin Richards对CPL语言做了简化,推出了BCPL语言。1970年美国贝尔实
2、验室的Ken Thompson以BCPL语言为基础,又做了进一步简化,设计出了很简单的而且很接近硬件的B语言,并用B语言写了第一个UNIX操作系统,在PDP-7上实现。1972年至1973年间,贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言。C语言的设计者Dennis M. Ritchie1973年,K.Thompson和D.M.Ritchie两人合作把UNIX的90以上用C改写,即UNIX第5版,由此确立了C语言的地位。Ritchie和Thompson在开发UNIXC语言的设计者D.M.Ritchie和Unix的设计者Ken Thompson接受美国国家技术勋章C语言是一种
3、中级语言, 它介于高级语言(BASIC,FORTRAN .)和低级语言(汇编语言)之间. 它即具有高级语言功能(直接的人-机对话和数学计算),又具有低级语言功能(移位,位处理), 从而使其功能大大地增强, 成为一种先进的程序设计语言.1.2 C语言特点 语言简炼 使用的关键字仅为27个, 而BASIC语言为150多个. 利用符号代替语句,表达简洁. 许多工作由大量的库函数完成, 并且库函数可以自定义, 所以C语言的关键字及其功能是无限的. 功能强 它集高级语言的特点和低级语言的特点于一身, 即能完成高语言的功能 又能完成低级语言的功能, 是一种强功能的语言. 由它编写的软件有: UNIX, d
4、BASE III, C编译. 模块化结构 C语言支持各种库函数和用户定义的函数(模块)相互调用构成程序, 完 成功能. 并且, 不允许嵌套定义, 因此, 具有很强的模块化结构. 移植性好 利用C语言编的程序不加改动或稍加改动, 就可以由一个环境移植到另一个环境上. 因为, 不同计算机上的C语言编译代码的80%左右相同. C语言及其程序的基本形式这里介绍几个简单的C语言程序,从中明确C语言及其程序的基本形式。例 1.1main ( ) printf (“This is a C program.n);本程序的作用是输出以下一行信息,主要说明C语言程序的基本组成部分,C语言程序的具体形式。例.mai
5、n ( ) /* 求两数之和*/ int a,b,sum; /* 这是定义变量*/ a=123; b=456;/* 为变量赋初值*/ sum=a+b; /* 将两个变量的值相加后赋给另一个变量*/ printf (“sum is %dn”, sum);/* 输出相加后的结果*/本程序的作用是说明一个较为全面的C语言程序,以及注释的使用。第2章 数据类型、运算符与表达式本章主要内容 理解数据类型引入的目的、意义和具体类型 明确常量与变量 掌握C语言的运算符和表达式表2.1 基本数据类型大千世界存在着各种各样、各种类型的数,人们利用不同类型的数去描述不同的事物。然而,哪些“类型”的数据可以在C语言
6、中使用?C语言中允许使用的“类型”又是什么呢? 3.1.1 数据类型:某一类数据(值)的特征形式(表示意义、取值范围、符号取向). 基本形:整数(int)、浮点(float)、字符(char)、无值(void)。构造(组合、集合)型:数组、结构(struct)联合(union)、枚举(enum)。指针类型空类型1. 1.整数和整数类型整数在C语言中称为“整型常量”,因为它即表示了值,又表示了一定的意义。类型字节数取值范围signed int2-32768 - 32767Unsigned int20 - 65535signed shot int2-32768 - 32767Unsigned sh
7、ot int20 - 65535long int4-2147483648 - 2147483647Unsigned long int40 - 4294967295注:方括弧内的部分是可以省略的。例如:signed shot int 与shot等价,尤其是 signed 是完全多余的,一般都不写signed。2. 浮点类型(float)类型字节数有效数字取值范围float46 7-3.4X10(-38) - 3.4X10(38)double815 16-1.7X10(-308) - 1.7X10(308)long double1618 - 19-1.2X10(-4932) - 1.2X10(49
8、32)3. 字符类型(char)类型字节数意义char1表示一个字符2.2 常量与变量在3.1节学习了几种数据的类型,可以用它们表示客观世界中的数值。那么,如果要表示客观世界中的“事物”(事和物)怎么办?C语言中使用“量”来表达客观事物,其中,自身数值不变的量用“常量”表示,自身数值变化的量用“变量”表示。因此,为了全面地表达客观事物,在C语言中则必须使用(定义)常量和变量(表示事和物)。同时,给出它们的类型(表示数值)。3.2.1 常量:程序执行中其值不变的量。 类型:一般(短整)常量、长整常量、浮点常量、字符常量、字符串常量。符号常量定义式: #define 符号常量名;例: #defin
9、e PI 3.14 意义:3.2.2 变量:程序在执行过程中其值变化的量。 类型:一般(短整)变量、长整变量、浮点变量、字符变量、字符串变量。定义式: 数据类型 变量名; 例: int k; 意义:定义整型变量k。3.2.3 变量赋初值在C语言中常需要对变量预先设置初值,可以使用数的三种表示形式:十进制数、八进制数、十六进制数和数据类型为变量赋初值。例3.1#define PRICE 30main ()int num,total;num=10;total=num*PRICE;printf (“total=%dn”,total);本程序的作用是说明常量的定义、赋值和使用。例3.2main ( )
10、 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);本程序的作用是说明整型变量的定义、赋初值、运算和其值的输出。例3.3main ( ) char c1,c2; c1=97; c2=98; printf (“%c %cn”,c1,c2);printf (“%d %dn”,c1,c2);本程序的作用是说明字符型变量的定义、赋初值和输出。例3.4main ( ) int a=3; float f=3.1415926;char c=a; printf (“nnn%d %f %cn”
11、,a,f,c);本程序的作用是说明整型、字符、浮点变量的定义、赋初值和输出。注:标识符:由字母、数字和下线符构成,标志和识别一定意义的字符串。 类型:关键字、特定字、一般标识符(由用户设定)。 作用:代表常量、变量、数据类型、函数名字。关键字:在C语言中,具有严格特定含义的标识符。 见教材 P365 附录B2.3 运算符 在客观事物使用数和量表示完以后,还要对它们进行处理,进行运算,这就要涉及C语言中的运算符。还要表达它们之间的关系,又要用到C语言中的表达式。那么C语言中提供了哪些运算符和表达式让我们使用呢?3.3.1 运算符C语言中的运算符分为以下几类:1. 1.算术运算符 + - * /
12、%2. 2.关系运算符 = = !=3. 3.逻辑运算符 & | !4. 4.位运算符 | &5. 5.赋值运算符 =6. 6.条件运算符 ? :7. 7.逗号运算符 ,8. 8.指针运算符 * &9. 9.求字节数运算符 sizeof10. 10.强制类型转换 (类型)11. 11.分量运算符变 . - 12. 12.下标运算符 13. 13. 其它 函数调用运算符 ( )见教材 P365 附录C3.3.2 算术运算符 自增、自减算术运算符+i; -i; 意义:在使用i之前,先使i的值加1(减1)。i+; i-; 意义:在使用i之后,使i的值加1(减1)。 例: int m,n,s,t,k=
13、10; m=+k; n=k+; s=-k; t=k-;3.3.3 复合运算符 a+=3; 等价于 a=a+3; x*=y+8; 等价于 x=x*(y+8); x%=3; 等价于 x=x%3; 2.4 表达式表达式:使用运算符将运算(操作)对象连接起来的、符合C语法规则的式子。算术表达式、逻辑表达式、字位表达式、强制类型转换表达式、逗号(顺序)表达式、赋值表达式、条件表达式、指针表达式。例3.5main ( ) int a,b,c; float d,f=3.1415926; a=b=c=9; d=a/f; printf (“nnn%d %d %d %f n”,a,b,c,f);printf (“
14、n%f n”,d);本程序的作用是说明赋值表达式、算术表达式的使用。例3.6main ( ) int m=10;n=3; int s,t; s=m/2; t=n%2; printf (“nnn%d %d n”,s,t);本程序的作用是说明除法运算符和取余运算符的区别。例3.7main ( )int i,j,k,l;i=2,j=3;k=i+;l=-j;printf (“%d %d %d %d”,i,j,k,l);本程序的作用是说明自加、自减运算符的使用。例3.8main ()int num=1,total=11;num+=5;total%=num;printf (n %d %dn,num,tot
15、al);本程序的作用是说明复合运算符的使用。例3.9main ( ) float x; int i; x=3.6; i=(int)x; printf (“n x=%f i=%dn”,x,i);本程序的作用是说明强制类型转换的问题。2.5 逗号运算符与逗号表达式以前我们学过 + - * /(特别) %(特别) = % 要求两边的操作数必须是整数如: 5%3 结果为 2 这个运算符通常用作判断一个数是否能被另一个数整除。这节课我们学习逗号运算符,我们通过逗号表达式来看一下逗号运算符是怎么回事。逗号表达的定义:用逗号连接的表达式,叫逗号表达式格式: 表达式1, 表达式2, 表达式3, 表达式4,表达
16、式n逗号表达式的运算顺序:表达式1 表达式2 表达式3表达式4表达式n逗号表达式结果:最后一个表达式的结果将作为整个表达式的结果。例1、 例1、看如下程序,写出结果#include stdio.hmain()int k;k=(2+3,7,0,88);printf(k=%dn,k); /结果是 88例2、 例2、看如下程序,写出结果#include stdio.hmain()int k;k=2+3,7,88;printf(k=%dn,k); /结果是 5说明:赋值符号的优先级要高于逗号运算符,逗号运算符的优先级在所有的运算符当中是最低的。 例3、看如下程序,写出结果#include stdio.
17、hmain()int k,i=5;k=(i+,i+,i+5); / k=(i=i+1),(i=i+1),(i+5);printf(k=%dn,k); /结果为 12例4、看如下程序,写出结果#include stdio.hmain()int k,i=5;k=i+,i+,i+5; / k=(i=i+1),(i=i+1),(i+5);printf(k=%dn,k);复习以前的知识运算符+ 和 - - 运算的规则是一样的,我们以+为例进行讲解。+运算符只能用于单变量身上,如i+, (a+b)+ 这样写就不对了。用于单变量身上表示单变量本身自增1。自增运算符有两种情况,一种作为前缀,别一种作为后缀。一
18、、当+作为前缀或是后缀时,变量执行的结果都是一样的#include stdio.hmain()int i=5;i+;printf( %d n,i); / 6 #include stdio.hmain()int i=5;+i;printf( %d n,i); / 6 说明:无论是前缀还是后缀,i+(或+i) 都是使i自增1(i=i+1)二、+作为前缀与+作为后缀,表达式的值是不一样的#include stdio.hmain()int k,i=5;k=i+;printf(%d %d n,k,i); /5 6#include stdio.hmain()int k,i=5;k=+i;printf(%d
19、 %d n,k,i); / 6 6说明:在上面的两个程序中,K存放的都是自增表达式的值,两个自增表达式的值是不同的。 (1) +i K得到的是i自增后的结果,我们用一句话表示:先运算,后取值。(2) (2)i+K得到的是i自增后前的结果,我们用一句话表示:先取值,后运算。总结一下:i+ 和 +i 主要区别只是表达式的值不同,但是他们功能是一样的,都是使i自增1.第三章 顺序结构在这一章中,我们主要讲printf和scanf的使用,若在程序中使用printf和scanf,则应在程序的第一行用#include 将”stdio.h”文件包含进来。3.2 数据输出3.2.1 printf函数的使用以前
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 电子 教案
限制150内