第1章 C语言程序设计基础知识.ppt
《第1章 C语言程序设计基础知识.ppt》由会员分享,可在线阅读,更多相关《第1章 C语言程序设计基础知识.ppt(74页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、C语言程序设计语言程序设计邹细勇邹细勇13136135851/86875657赛博南楼赛博南楼220-1计算机语言由二进制编码表示机器指令如:10000000 加 10010000 减用助记符号表示机器指令如 ADD AX,105须经汇编程序翻译成机器语言程序才能执行面向机器的语言程序设计是数据被加工的过程计算机接受,理解和执行的语言C+,C#,Java每一条语句对应一组机器指令,须经翻译程序翻译成机器语言程序才能执行C语言源程序,须经C语言编译程序(编译器),将源程序翻译成机器语言程序(目标程序),通过连接程序生成可执行程序3 3语言、编译程序n n计算机语言计算机语言计算机语言计算机语言(
2、程序设计语言):人和计算机交流信息使(程序设计语言):人和计算机交流信息使(程序设计语言):人和计算机交流信息使(程序设计语言):人和计算机交流信息使用的语言。用的语言。用的语言。用的语言。n n分类分类分类分类:机器机器机器机器语语语语言言言言是一种用二是一种用二是一种用二是一种用二进进进进制代制代制代制代码码码码0000和和和和1111形式表示的,形式表示的,形式表示的,形式表示的,能被能被能被能被计计计计算机直接算机直接算机直接算机直接识别识别识别识别和和和和执执执执行。行。行。行。汇编语汇编语汇编语汇编语言言言言是一种用助是一种用助是一种用助是一种用助记记记记符表示的面向机器的程序符表
3、示的面向机器的程序符表示的面向机器的程序符表示的面向机器的程序设设设设计语计语计语计语言。机器不能直接言。机器不能直接言。机器不能直接言。机器不能直接识别识别识别识别和和和和执执执执行,必行,必行,必行,必须须须须由由由由 汇编汇编汇编汇编程程程程序序序序(或或或或汇编汇编汇编汇编系系系系统统统统)翻翻翻翻译译译译成机器成机器成机器成机器语语语语言程序才能运行。言程序才能运行。言程序才能运行。言程序才能运行。高高高高级语级语级语级语言言言言是一种比是一种比是一种比是一种比较较较较接近自然接近自然接近自然接近自然语语语语言和数学表达式的言和数学表达式的言和数学表达式的言和数学表达式的一种一种一种
4、一种计计计计算机程序算机程序算机程序算机程序设计语设计语设计语设计语言。言。言。言。计计计计算机不能算机不能算机不能算机不能识别识别识别识别和和和和执执执执行,行,行,行,要把用高要把用高要把用高要把用高级语级语级语级语言言言言编编编编写的源程序翻写的源程序翻写的源程序翻写的源程序翻译译译译成机器指令,通成机器指令,通成机器指令,通成机器指令,通常有常有常有常有编译编译编译编译和解和解和解和解释释释释两种方式。两种方式。两种方式。两种方式。4 4C语言的发展6363年年6767年年7070年年7272年年7878年年ALGOL60ALGOL60CPLCPLBCPLBCPLBB语言语言 C C语
5、言语言 可移植可移植(标准(标准C C)8383年年8787年年9999年年ANSICANSIC87ANSIC87ANSICC99C99【名词名词】ALGOLALGOL(algorithmiclanguagealgorithmiclanguage算法语言算法语言)CPLCPL(combinedprogramminglanguagecombinedprogramminglanguage复合编程语言复合编程语言),),剑桥剑桥剑桥剑桥 BCPLBCPL(basicbasic复合编程语言),复合编程语言),剑桥剑桥剑桥剑桥 B,B,贝尔实验室贝尔实验室贝尔实验室贝尔实验室,KenThompsonKe
6、nThompson C,C,贝尔实验室贝尔实验室贝尔实验室贝尔实验室,D.M.RitchieD.M.Ritchie 标准标准标准标准C C,BrianBrianW.KernighanW.Kernighan和和和和 DennisM.RitchieDennisM.Ritchie,TheCProgrammingLanguageTheCProgrammingLanguage,19781978,19881988 ANSIANSI(美国国家标准化协会)(美国国家标准化协会)5 5C语言的特点较高的可移植性生成的目标代码质量高、程序执行效率高保留了低级语言的特性:可访问硬件/内存、位运算语法简洁灵活,程序设
7、计的自由度大运算符和数据类型丰富,功能强大流行的操作系统核心部分几乎无一例外的选择流行的操作系统核心部分几乎无一例外的选择了了C C语言语言6 632个关键字:(由系统定义,不能重作其它定义由系统定义,不能重作其它定义)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunsignedunionvoidvolatilewhile7 79种控制语句:if()elsefor()w
8、hile()dowhile()continuebreakswitchgotoreturn8 834种运算符:算术运算符:算术运算符:+-*/%+-+-*/%+-关系运算符:关系运算符:=!=!=逻辑运算符:!逻辑运算符:!&|&|位运算符位运算符 :|&|&赋值运算符:赋值运算符:=及其扩展及其扩展条件运算符:条件运算符:?:?:逗号运算符:逗号运算符:,指针运算符:指针运算符:*&求字节数求字节数 :sizeofsizeof强制类型转换:强制类型转换:(类型)类型)分量运算符:分量运算符:.-.-下标运算符:下标运算符:其它其它 :()-()-9 9教材和参考书目教材和参考书目教材(Text
9、Book)C C语言程序设计,陆蓓,科学出版社语言程序设计,陆蓓,科学出版社参考书目(Reference)TheCProgrammingLanguageTheCProgrammingLanguage,K&RK&RC C语言程序设计,谭浩强,清华大学出版社语言程序设计,谭浩强,清华大学出版社1010考核方法及成绩评定考核类别:考试考核形式:闭卷成绩评定:百分制:平时表现10%,实验20%,期末考试60%1111课程教学学时安排总课时56学时:理论课38,实验181 1 C C语言程序设计基础知识语言程序设计基础知识2 2 基本数据类型与常用库函数基本数据类型与常用库函数3 3 表达式表达式4 4
10、 控制结构与语句控制结构与语句5 5 函数函数6 6 数组数组7 7 编译预处理编译预处理8 8 指针指针9 9 结构体结构体1010共用体、枚举和位运算共用体、枚举和位运算1111文件文件1212注意如果对某些语句了解的不是很透彻,最好自己编些小程序去理解这些语句的执行情况适当更改例题中的某些参数,可以帮助你更好的理解语句千万别忘记网络1313第1章C语言程序设计基础知识了解计算机语言和程序执行;了解C程序基本结构;了解使C程序在计算机上执行的步骤和C程序编译器的使用;了解C语言的特点。14141.1计算机基础知识数制(计数制)指用一组固定的符号和统一的规则来表示数值的方法。计算机只认识计算
11、机只认识 0 0 和和 1 1,任何信息必须转换,任何信息必须转换成二进制形式数据后才能由计算机进行处理、成二进制形式数据后才能由计算机进行处理、存储和传输。存储和传输。1515二进制数的特点:最多只有两个不同的数字符号,即最多只有两个不同的数字符号,即 0 0 和和 1 1。逢二进一。逢二进一。(基数为二,逢二进一,借一为二。基数为二,逢二进一,借一为二。基数为二,逢二进一,借一为二。基数为二,逢二进一,借一为二。)二进制优点:0 0,1 1两个状态易物理实现;两个状态易物理实现;运算规则简单。运算规则简单。算术运算与逻辑运算容易沟通。算术运算与逻辑运算容易沟通。1.二进制数1616进位计数
12、制的三要素:进位计数制的三要素:数位:数码在一个数中所处的位置。数位:数码在一个数中所处的位置。数位:数码在一个数中所处的位置。数位:数码在一个数中所处的位置。基数:每个数位上所能使用的数码的个数。基数:每个数位上所能使用的数码的个数。基数:每个数位上所能使用的数码的个数。基数:每个数位上所能使用的数码的个数。位权:处在某一位上的位权:处在某一位上的位权:处在某一位上的位权:处在某一位上的11所表示的数值的大小。所表示的数值的大小。所表示的数值的大小。所表示的数值的大小。(N N进制数中,整数部分第进制数中,整数部分第进制数中,整数部分第进制数中,整数部分第i i位的位的位的位的位权为位权为位
13、权为位权为N Ni-1i-1,小数部小数部小数部小数部分第分第分第分第j j位的位权为位的位权为位的位权为位的位权为N N-j-j。十进制十进制十进制十进制(101.1)(101.1)10101101102 20100101 11101100 0110110-1-1二进制二进制二进制二进制(101.1)(101.1)2 212122 202021 112120 01212-1-1(5.5)(5.5)1010八进制八进制八进制八进制(101.1)(101.1)8 818182 208081 118180 01818-1-1(65.125)(65.125)1010十六进制十六进制十六进制十六进制(
14、101.1)(101.1)16161161162 20160161 11161160 0116116-1-1(257.0625)(257.0625)10102.二进制与其它数制1717二进制数与其它数制的对照表十进制二进制八进制十六进制00000001000111200102230011334010044501015560110667011177810001089100111910101012A11101113B12110014C13110115D14111016E15111117F18183.不同进制数之间的转换二进制二进制八进制八进制十进制十进制十六进制十六进制1919十进制整数转换为二进
15、制整数规则:规则:规则:规则:除二取余,直到商为零为止,倒排。除二取余,直到商为零为止,倒排。w例:将十进制数例:将十进制数例:将十进制数例:将十进制数8686转化为二进制转化为二进制转化为二进制转化为二进制2|8602|4312|2112|1002|512|202|110所以所以,(86)10=(1010110)22020规则:规则:乘二取整,直到小数部分为零或给定的精度为止,顺排。例:将十进制数例:将十进制数0.8750.875转化为二进制数转化为二进制数0.875 21.750.75 21.50.5 21.0所以所以(0.875)10=(0.111)2十进制小数转换为二进制小数2121例
16、:例:例:例:(1999.8)(1999.8)1010=1=1 10103 3+9+9 10102 2+9+9 10101 1+9+9 10100 0+8+8 1010-1-1权(1101.1)2=1 23+1 22+0 21+1 20+1 2-1=(8+2+1+0.5+0.25)10=(11.75)10二进制数转换为十进制数n n规则:规则:规则:规则:按按权权展开,求和。展开,求和。2222二进制转换为八进制方法三合一法三合一法整数部分:自右向左整数部分:自右向左,三个一组,不够补零,三个一组,不够补零,每组对应一个八进制数码。每组对应一个八进制数码。小数部分:自左向右,三个一组,不够补零
17、,小数部分:自左向右,三个一组,不够补零,每组对应一个八进制数码。每组对应一个八进制数码。例如:将(例如:将(10100101.1011110100101.10111)22转换成八进制数。转换成八进制数。(10100101.1011110100101.10111)22=(010(010 100100 101101.101101 110110)2 2=(245.56245.56)8 82323方法一分为三法一分为三法八进制八进制0123456701234567二进制二进制 000001010011100101110111000001010011100101110111例如:将(例如:将(207.
18、54207.54)8 8转换成二进制:转换成二进制:207.54207.54010000111.101100010000111.101100所以,所以,(207.54)8=(010000111.101100)2=(10000111.1011)2八进制转换为二进制2424二进制转换为十六进制方法四合一法四合一法整数部分:自右向左,四个一组,不够补零,每组对应一整数部分:自右向左,四个一组,不够补零,每组对应一个十六进制数码。个十六进制数码。小数部分:自左向右,四个一组,不够补零,每组对应一小数部分:自左向右,四个一组,不够补零,每组对应一个十六进制数码。个十六进制数码。例:例:(11001111
19、.01111)(11001111.01111)2 2=(=(11001100 11111111.01110111 10001000)2 2=(CF.78)=(CF.78)16162525十六进制转换成二进制方法一分为四法一分为四法十六进制01234567二进制00000001001000110100010101100111十六进制89ABCDEF二进制10001001101010111100110111101111例如例如(1E4.2A1E4.2A)1616=(00010001 11101110 01000100.00100010 10101010)2 2=(111100100.0010101
20、111100100.0010101)2 226261.1.2数值与非数值的表示2727n n原码:将整数化为二进制数,符号位置原码:将整数化为二进制数,符号位置原码:将整数化为二进制数,符号位置原码:将整数化为二进制数,符号位置0 0(正数)(正数)(正数)(正数)或或或或1 1(负数)(负数)(负数)(负数)n n负数的反码:符号位为负数的反码:符号位为负数的反码:符号位为负数的反码:符号位为1 1,绝对值部分与原码相反。,绝对值部分与原码相反。,绝对值部分与原码相反。,绝对值部分与原码相反。n n负数的补码表示:负数的补码表示:负数的补码表示:负数的补码表示:符号位符号位符号位符号位也是也
21、是也是也是11,其余为反码其余为反码其余为反码其余为反码的的的的最低位加最低位加最低位加最低位加11。1.原码、反码、补码的表示2828原码表示法n n原码的最高位为符号位;其余的位是真值原码的最高位为符号位;其余的位是真值原码的最高位为符号位;其余的位是真值原码的最高位为符号位;其余的位是真值X X X X的绝对值。的绝对值。的绝对值。的绝对值。n n定点小数定点小数定点小数定点小数(纯小数纯小数纯小数纯小数)的原码的原码的原码的原码 XXXX原原原原=X X X X 1X 1X 1X 1X 0 0 0 01-X=1+|X|1-X=1+|X|1-X=1+|X|1-X=1+|X|0 0 0 0
22、 X-X-X-X-1 1 1 1n n定点整数定点整数定点整数定点整数的原码的原码的原码的原码 XXXX原原原原=X X X X 2 2 2 2n n n nX X X X 0 0 0 02 2 2 2n n n n-X=2-X=2-X=2-X=2n n n n+|X|+|X|+|X|+|X|0 0 0 0 X-2 X-2 X-2 X-2n n n n例例例例+0.1001+0.1001+0.1001+0.1001 原原原原0.10010.10010.10010.1001;-0.1001-0.1001-0.1001-0.1001 原原原原1.10011.10011.10011.1001例例例例
23、 x x x x=-1011101=-1011101=-1011101=-1011101 原原原原 =11011101=11011101=11011101=11011101 2929原码表示法1.1.原码:原码:原码:原码:用最高位表示符号位,符号位为用最高位表示符号位,符号位为用最高位表示符号位,符号位为用最高位表示符号位,符号位为0 0,则,则,则,则表示正数;符号位为表示正数;符号位为表示正数;符号位为表示正数;符号位为1 1,则表示负数。,则表示负数。,则表示负数。,则表示负数。十十十十 进进进进 制制制制二二二二进进进进制真制真制真制真值值值值原原原原 码码码码87871010111
24、10101110101011101010111-8787-101011110101111101011111010111127127111111111111110111111101111111-127127-1111111111111111111111111111110 0000000000000000000000000000000-0 0-0000000000000010000000100000003030反码表示法n n正数正数的反码同原码;的反码同原码;n n负数负数的反码只需将其相应正数的原码按位求反;的反码只需将其相应正数的原码按位求反;n n负数的反码是将该负数的原码符号位不变,其负
25、数的反码是将该负数的原码符号位不变,其他位取反。他位取反。例例例例:X=-1101001X=-1101001X=-1101001X=-1101001 则则则则-X-X-X-X原原原原=01101001=01101001=01101001=01101001 XXXX反反反反=10010110=10010110=10010110=10010110 3131反码表示法 反码:反码:反码:反码:原码变反码规则为:正数的反码和其原原码变反码规则为:正数的反码和其原原码变反码规则为:正数的反码和其原原码变反码规则为:正数的反码和其原码形式相同,负数的反码是将符号位除外,码形式相同,负数的反码是将符号位除外
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第1章 C语言程序设计基础知识 语言程序设计 基础知识
限制150内