C语言讲稿文档格式.docx
- 文档编号:6417606
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:25
- 大小:60.11KB
C语言讲稿文档格式.docx
《C语言讲稿文档格式.docx》由会员分享,可在线阅读,更多相关《C语言讲稿文档格式.docx(25页珍藏版)》请在冰点文库上搜索。
C语言本身也在发展,20世纪80年代中期,出现了面向对象的程序设计的概念。
贝尔实验室的B.stroustrup博士借鉴了Simula67中的类的概念。
将面向对象的语言成份引入到C语言中,设计出了C++语言,C++语言赢得了广大程序员喜爱,不同的机器不同的系统几乎都支持C++语言,同时,C++语言也得到了国际标准化组织(ISO)的认可。
C/C++语言对新的形成的语言也有较大的影响力。
20世纪90年代中期以来,Internet日益普及,用于Internet开发的JAVA语言渐为人们所熟知,事实上,JAVA语言与C++语言极为相似,熟悉C++语言的程序员在很短的时间内就能掌握JAVA。
C语言的特点:
C语言是目前最流行的、也是最优秀的一种高级程序设计语言。
它于1972年在美国的贝尔实验室问世,后来历经发展和完善。
它不仅具有高级语言的易学、易用、可移植性强等优点,而且具有低级语言的执行效率高、可对硬件直接进行操作等优点受到了广大计算机应用人员的喜爱,同时C语言几乎任何一种机型、任何一种操作系统都支持C语言的开发。
总的来说,C语言具有以下几方面的特点:
1.比其它高级语言更接近硬件,比低级语言更接近算法,程序易编、易读、易查错、易修改。
可以说兼有高级语言和低级语言的优点,允许直接对位、字节和地址进行操作。
2.数据类型和运算符十分丰富,程序设计和算法描述更为简单和方便。
3.语法结构十分简单,语句数目少,简单易学。
4.C语言是面向结构化程序设计的语言,提供了完整的程序控制语句(选择语句和循环语句),很适合结构化的程序设计方法,生成的目标代码质量高。
5.它是一种模块化程序设计语言,适合大型软件的研制和调试。
它提供了大量的库函数供调用,简化了程序设计工作。
学习C语言所需的知识
1.弄清数据在内存中的表示方法,数据在计算机内部是用二进制来表示的,为了便于问题描述,常常还用到十六进制和八进制;
2.数制及转换(二进制、十进制、八进制、十六进制)
3.整数的原码、补码、反码表示
整数有正负之分,用一个二进制位作为符号位,一般总是最高位,当符号位为“0”时为正数,符号位为“1”时为负数。
用16位来表示一个整数时有:
0000000000101011=+43
1000000000101011=-43
上述表示法,称为整数的原码表示法。
整数的反码表示法是:
符号位作为“1”,绝对值部分正好与原码相反(即0变为1,1变为0)
(-43)原=1000000000101011
(-43)反=111111*********0
但在计算机内部整数大多数用补码表示,对符号位作为“1”,绝对值部分却是反码的最低位加1得到的结果,因此
(-43)补=111111*********1
对正整数而言,其原码、反码、补码均相同
对于补码的知识,是C语言的必备的知识
C程序的上机步骤:
在TurboC的环境下若要得到运行结果
1.将源程序输入到计算机内称为编辑阶段,它将产生出以‘.C’为扩展名的源程序文件。
2.将源程序翻译成计算机能识别的二进制目标代码称为编译阶段,因为源程序不能直接执行,须将它翻译成机器能识别的目标程序,它会产生出以;
‘.OBJ’为扩展名的目标程序文件。
3.目标文件不是可执行文件,不能直接运行,还要把目标和系统提供的库函数等连接起来此过程为连接阶段,它将产生‘.EXE’为扩展名的可执行程序文件
4.运行可执行文件获得结果称为执行阶段
总之:
C程序的上机运行要经历上述四个步骤即:
编辑、编译、连接、运行过程运行图如下:
编辑编译连接运行
第2章C语言的程序基本结构
C程序是由C语句组成的语句序列,C语言程序是由函数组成的,每一个函数完成相对独立的功能,函数是C语言程序的基本模块单元。
通常一个C程序包括一个或多个函数,其中必定有一个函数为主函数,其函数名为main。
main是函数名,函数名后面的一对圆括号“()”是用来写函数的参数的。
参数可以有,也可以没有,但圆括号不能省略。
C语言程序中的函数,都由函数头与函数体两部分组成,函数头包含函数类型、函数名、函数参数及其类型说明表等;
函数体是指函数头下面由一对花括弧括起来的那一部分内容,里面内容是对函数内部所用变量进行的说明各是对函数所要完成工作的语句描述要特别强调的是,在C程序中,每一个语句都以分号“;
”结束。
例如:
以下几个C程序函数类型
[例题1]
函数头intsquare(inty)
{
intz;
变量说明
函数体z=y*y;
语句
return(z);
}
[例题2]求三个实数的平均值,三个实数由键盘输入
/*定义主函数*/
main()
{floatx,y,z,a;
/*定义四个存放实数的变量x,y,z,a*/
scanf(“%f,%f,%f,&
x,&
y,&
z);
/*输入三个实数并存放到变量x,y,z中*/
a=(x+y+z)/3;
/*计算x,y,z的平均值存入变量a中*/
printf(“%f\n”,a);
}/*输出变量a中的三个实数的平均值*/
[例题3]求三个实数的平均值,三个实数由键盘输入
/*定义一个名为avg的函数,函数有三个形式参数x1,x2,x3,函数的返回值为实数*/
floatavg(x1,x2,x3)
floatx1,x2,x3;
floata1;
a1=(x1+x2+x3)/3;
return(a1);
a=ave(x,y,z);
/*调用函数ave计算平均值存入变量a中*/
}
[例题4]求三个整数的最大的最小值,三个数由键盘输入
/*定义一个名为max的函数,其功能是返回三个形式参数中的最大值*/
intmax(i1,i2,i3)
inti1,i2,i3;
{intm1;
if((i1>
=i2)&
&
(i1>
=i3))m1=i1;
if((i2>
=i1)&
(i2>
=i3))m1=i2;
if((i3>
(i3>
=i2))m1=i3;
return(m1);
/*定义一个名为min的函数,其功能是返回三个形式参数中的最小值*/
intmin(i1,i2,i3)
if(i1<
=i2)
elsem1=i3;
elseif(i2<
=i3)m1=i2;
return(m1);
/*主函数*/
{intx,y,z,a;
a=max(x,y,z);
printf(“max=%d\n”,a);
a=min(x,y,z);
printf(“min=%d\n”,a);
从上述三例中,可以看出:
●C程序由若干个函数构成的。
每个C程序有且仅一个主函数,该主函数的函数名规定为main。
函数是C程序的基本单位。
●除主函数以外,可以没有其他函数如[例题2],也可以有一个或多个其它函数如[例题3][例题4]
●每个函数(包括主函数)的定义分为两部分:
说明部分和函数体。
●函数体中的数据说明语句,必须位于可执行语句之前。
换句话说,数据说明语句不能与可执行语句交织在一起。
●语句的最后总要有一个“分号(;
)”,作为结束
●可以用‘/**/’作为“注释”用于说明该段程序的功能
●书写灵活,在一行可以写多个语句,一个语句也可写在多行上
●C程序的执行总是从主函数开始,并在主函数中结束。
主函数的位置为任意的;
即函数的定义次序不影响其引用次序。
其它函数总是通过函数调用语句来执行的,因此,一个C程序实质上是一系列相互独立的函数的定义,函数之间只存在引用和被引用的关系。
●主函数可以调用任何非主函数;
任何非主函数都可以互相调用,但是不能调用主函数。
●C语言编译系统区分字母大小写。
C语言把大小写字母视为两个不同的字符,并规定每条语句或数据说明均以分号(;
)结束。
分号是语句不可缺少的组成部分
●一个C程序可以由一个文件组成,也可以由若干个文件组成。
每个文件中包含一个或多个函数。
当一个C程序由多个文件组成时,每个文件进行编译(生成.obj文件),再通过连接合并成一个可执行文件(生成.exe文件),然后运行。
C语言的基本词法
C语言是一种计算机语言,也要先学基本字符,基本词类字符集
一、C语言的字符集:
在C语言程序中允许出现的所有基本字符的组合称为C语言的字符集。
C语言的字符集就是ASCII字符集,它由数字、英文字母、图形符号以及转义字符四部分组成。
1.数字(0~9)
2.大小写英文字母(52个)A~Z;
a~z
3.键盘符号(33个)
4.转义字符:
由“反斜杠字符(\)”开始后跟单个字符或若干字符组成的,通常用来表示键盘上的控制代码或特殊符号,如回车换行符,响铃符号等
二、保留字:
在C语言的程序中有特殊含义的英语单词称为“保留字”,主要用于构成语句成份,进行存储类型和数据类型定义的那些单词,有时也称为“关键字”;
C语言的保留字只能小写
C语言保留字如下:
Auto自动extern外部sizeof计算字节数break中止float浮点static静态case情况for对于struct结构char字符goto转向switch开关contiune继续int整形typedef类型定义const常量if如果union共用default缺省long长整型unsigned无符号do做register寄存器void空double双精型return返回volatile可变的else否则short短整型while当enum枚举signed带符号
标识符:
标识符是用户自定义的一种字符序列,通常用来表示程序中需要辩认的对象所取的名称,如符号常量、变量、数组、函数标号等对象的名字的字符序列;
C语言规定,标识符是由字母或下划线(_)开头,后面跟零个或多个字母、数字、下划线组成的一串符号。
在TurboC中,最长的标识符可达32个字符;
正确的的标识符:
sumIa2a_2_a2_a_2
不正确的的标识符:
2a(非字母或下划线的开头)
a?
(含有非字母、数字、下划线的字符:
?
)
c.g(含有非字母、数字、下划线的字符:
.)
a-2(含有非字母、数字、下划线的字符:
-)
#abc(含有非字母、下划线开头的字符:
#)
C语言是区分大小写的如int为保留字Int则为标识符,原则上用大写字母来表示常量标识符,而用小写字母表示变量和其他类型标识符;
由于标识符主要是用来命名,所以用户应选取有意义的标识符,以便在程序中能从标识符看出所标识的对象。
增加程序的可读性
C语言规定用户选取的标识符不能是C语言规定的保留字
C语言规定所有的符号必须先定义/说明而后使用。
C程序的书写格式:
标识符的大小写是有区别的。
如A和a表示两个不同的变量,
C程序语句用分号(;
)结束,分号是C语句的必要组成部分
C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。
在程序中可以对程序进行注释,注释部分必须用符号“/*和*/括起来,但/**/要成对出现
C语言的词类
主要分为下列几种
常量
在程序中其值不发生变化的数据
变量
用来存放程序运行中变化的数据,如原始数据、中间结果、最终结果等
运算符
用来表示简单加工计算的符号如加(+)减(—)乘(*)除(/)
函数调用
形如“函数名(实际参数表)”的式子,它代表调用指定函数后获得的结果
表达式
用常量、变量、函数调用、运算符组成的式子。
用来表示简单的加工计算;
保留字
在程序或语句中,用于表示特定语法含义的英语单词
C语言的基本语句
(1)数据定义语句:
用于定义程序中使用的各种能存放数据的对象的名称和特性
(2)赋值语句:
如“变量=表达式”的语句
(3)函数调用语句:
如“函数名(实际参数表)”的语句
(4)表达式语句:
(5)流程控制语句:
用于控制程序执行过程的语句
(6)复合语句:
用花括号括住的若干个任意语句
(7)空语句:
无任何操作的语句
(8)其他语句:
包括编译预处理命令、类型定义语句等
第3章数据类型、运算符、表达式
§
3.1C语言的数据类型:
数据类型是指数据的内在表现形式,即是数据在加工计算中的特征就是数据类型。
在C语言中,为解决具体问题,要采用各种类型的数据,数据的类型不同,它所表达的数据范围、精度、和所占据的存储空间均不同。
在高级语言编写程序中,必须在程序中做好两件事:
一是描述数据,二是描述数据的加工方法,前者是通过数据定义语句实现的,后者是通过若干执行语句,包括用各种运算符构成的表达式来实现的
C语言常用的数据类型有(基本类型、构造类型、指针类型、空类型)其中整型、实型、字符型称为基本类型。
整型
整型可分为四种:
基本型、长整型、短整型和无符号型
1.基本型用int表示
2.长整型用longint或long表示
3.短整型用shortint或short表示
4.无符号型无符号型的整数必须是正数或是零。
实型(浮点型)
实型(浮点型)用来表示实型数据,它又分为两种:
单精型和双精型,分别用float和double表示,它们的有效数字分别为7位和15位
字符型
字符型用char表示,一般用8位来存放一个字符,实际上存放的是它的ASCII码值(即一个整数)。
因此,字符型和整型关系密切,可把字符型看成一种特殊的整型
C语言提供的类型如下:
整型(int)
单精型(float)
实型(浮点)
基本类型双精型(double)
字符(char)
枚举型
数组型
构造类型结构体型
数据类型共用体型
指针类型
空类型
我们将整型和实型合称为“数值型”,把数值型和字符型合称为“基本数据类型”
构造类型是指由若干个相关的基本类型数据组合在一起形成的一种复杂的数据类型。
数组是由相同的数据组合而成:
如若干个人的年龄的组合即为一个数组
结构型是由不同的数据类型组合而成的:
如人的姓名(字符串)、性别(字符型)、年龄(整型)、基本工资(实型)组合在一起,构成一个结构型数据。
共用型是若干个数据不同时使用时,让它们占用相同的内存区域,以便节省内存,这些数据组合在一起就是“共用型”共用型中的数据可以是同类型的数据也可以是不同类型的数据。
指针型是一种简单的数据类型,它是用来表示内存地址的。
指针类型的数据可以表示基本类型数据的地址,也可以表示结构类型数据的首址的其中某个具体数据的地址。
枚举型是指在某个数据在程序运行过程中,只取固定的几个值,就可以把这几个值列出来以后这个数据只能到这几个值中的某一个
空类型是从语法完整性的角度给出的一种数据类型,表示该处不需要具体的数据值,因而没有数据类型。
对每个数据都要在内存中(个别数据可能在寄存器中)分配若干个字节,用于存放该数据;
数据所占用的内存字节数称为该数据的“数据长度”。
不同的数据的长度是不同的,因此,C语言规定每使用一个数据之前,必须对数据的类型加以定义,以便为其安排长度合适的内存。
一般用8位来存放一个字符,实际上存放的是该ASCII码值(即一个整数),因此,字符型和整型关系非常密切,可以把字符型看成一种特殊的整型。
各种整型数据所占位数及数的范围
数据类型
所占位数
数的范围
Int
16
-32768~32767
Short
Long
32
-2147483648~2147483647
Unsigned
0~65535
Unsignedshort
Unsignedlong
0~4294967295
各种实型数据所占位数及数的范围
有效数字
Float
7
10-38~1038
Double
64
15
10-308~10308
3.2常量与变量
C语言中数据有常量与变量之分,
一、常量:
在程序执行过程中其值保持不变的数据称为“常量”。
常量也称为常数。
在C语言中常量包括整型、实型(浮点型)、字符常量、字符串常量和符号常量这些数据类型。
常量是不需要事先定义的,只要在程序中需要的地方直接写出该常量即可。
整型常量:
即整常数,由一个或多个数字组成,可以带正负号。
其中数字0开头的为八进制数,以0X或0x开头的为十六进制数,否则为十进制数。
十进制数:
25,3.14,-32768,0等
八进制数:
0124表示八进制的124,-0111表示八进制的-111
分别表示十进制数的84和–73
十六进制数:
0x15表示十六进制的15,-0x12表示
十六进制的-12
分别表示十进制数的21和–18
在整型常量后跟有字母l或L时,表示整常量是长整型量
4987L,0X4F8DAL
整型常量在微机中占用2个字节,不管是十进制数、八进制
数、十六进制数
实型(浮点型)常量:
实型常量也称为(浮点型)常量在C语言中实型常量只使用十进制数它的书写方法有两种形式:
一般形式和指数形式。
一般形式的实数:
它由整数、小数点、小数三部分组成,小数点是必须的整数和小数可以省略如:
12.345、–1.2345、0.618、.123、123.等
指数形式实数:
由尾数、小写字母e或大写字母E、以及指数三部分组成、字母e或大写字母E必须有。
尾数可以为整数也可以为实数,指数部分只能是整数(可以有“+”“-”符号)公式为:
尾数×
10指数如:
2.75e、36.E-5、.123E+4为合法指数形式,而1234、.E-8、e3、8.75e3.3等都为不合法指数形式
字符常量:
是用两个单引号前后括住的单个字符来表示的,如:
‘b’、‘G’、‘%’、‘1’‘=’。
在C语言中字母是区分大小写的所以‘A’与‘a’是不同的字符常量
在内存中每个字符常量都占有一个字节,具体存放的是该字符对应的ASCII代码值
字符串常量:
是用两个双引号前后括住的零个或多个字符来表示的。
“abc”、“12345”、“abCDEF”
字符串长度:
一个字符串常量中所包含的字符个数称为该字符串的长度,其中每个转义字符只当一字符。
“abc”、“abCDEF”、“\\ABCD\\”、“\101\”的长度分别为3、6、6、4见例chxu\Name14,oo3
符号常量:
符号常量是常量的另一种写法,在程序中为了明确看出某些常量所表达的对象,可以用特定的标识符来表示这些常量。
通常是在程序的开头先定义所有的符号常量,程序中凡有使用这些常量的地方都可以写成对应的标识符如:
#definePI3.14159和#defineR10则分别定义了符号常量PI和R的值分别为3.14159和10程序中使用符号常量有两点好处:
一是修改程序方便,二是为了阅读方便
二、变量:
是指在程序运行过程中其值可以发生改变的量。
通常是用来保存程序运行过程中的输入数据计算获得的中间结果各最终结果。
变量可以为任何一种数据类型。
基本数据类型、数组型、结构型、共用型等构造类型和指针型、枚举型。
通常将具有某种类型的变量就叫做该类型的变量。
长整型变量、指针变量、字符型变量等,但是,字符串只能是常量,C语言中没有字符串变量。
一个变量由一个名字来标识,此名字称为该变量的标识符,其取名规则同标识符,其中的英文字母常用小写,一般取名建议见名取意,以便让程序更加明了
变量在内存中占据一定的存储单元,该存储单元中存放变量的值。
注意:
变量名和变量值是两个不同的概念,变量名与内存中的某一存储单元相联系,而变量值是指存放在该存储单元中的数据的值,因此,同
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 讲稿