《第1章 C语言程序设计基础知识.ppt》由会员分享,可在线阅读,更多相关《第1章 C语言程序设计基础知识.ppt(74页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
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反码表示法 反码:反码:反码:反码:原码变反码规则为:正数的反码和其原原码变反码规则为:正数的反码和其原原码变反码规则为:正数的反码和其原原码变反码规则为:正数的反码和其原码形式相同,负数的反码是将符号位除外,码形式相同,负数的反码是将符号位除外
26、,码形式相同,负数的反码是将符号位除外,码形式相同,负数的反码是将符号位除外,其他各位逐位取反。其他各位逐位取反。其他各位逐位取反。其他各位逐位取反。二进制真值二进制真值原原 码码反反 码码+1010111+101011101010111010101110101011101010111-1010111-1010111110101111101011110101000101010003232补码表示法n n正整数的补码与原码相同;正整数的补码与原码相同;n n负数的补码等于其反码末位加负数的补码等于其反码末位加1 1。例例例例:X=X=X=X=-0.1011-0.1011-0.1011-0.101
27、1 则则则则 XXXX反反反反=1.0100 =1.0100 =1.0100 =1.0100 XXXX补补补补=1.0101=1.0101=1.0101=1.0101 X=-1011000X=-1011000X=-1011000X=-1011000 则则则则 XXXX反反反反=10100111=10100111=10100111=10100111 XXXX补补补补=10101000=10101000=10101000=10101000 3333补码表示法3.补码:补码:补码:补码:补码规则为:正数的补码和其原码形式相同,补码规则为:正数的补码和其原码形式相同,补码规则为:正数的补码和其原码形式
28、相同,补码规则为:正数的补码和其原码形式相同,负数的补码是将它的原码除符号位以外逐位取反负数的补码是将它的原码除符号位以外逐位取反负数的补码是将它的原码除符号位以外逐位取反负数的补码是将它的原码除符号位以外逐位取反(即即即即0 0变为变为变为变为1 1,1 1变为变为变为变为0)0),最后在末位加,最后在末位加,最后在末位加,最后在末位加1 1。十十十十 进进进进 制制制制二二二二进进进进制真制真制真制真值值值值原原原原 码码码码补补补补 码码码码8686+1010110+101011001010110010101100101011001010110-8686-1010110101011011
29、010110110101101010101010101010127127+1111111+111111101111111011111110111111101111111-127127-11111111111111111111111111111110000001100000011515+0001111+000111100001111000011110000111100001111-1515-00011110001111100011111000111111110001111100013434补码的运算规则如下:(原码减法可用减法可用补码加法做加法做)X+YX+Y补补X X补补Y Y补补该该运运算算
30、规规则则说说明明:任任何何两两个个数数相相加加,无无论论其其正正负负号号如如何何,只只要要对对它它们们各各自的补码进行加法自的补码进行加法运算运算,就可得到正确的结果就可得到正确的结果,该结果是补码形式。该结果是补码形式。X X补补补补X X原原对对于于运运算算产产生生的的补补码码结结果果,若若要要转转换换为为原原码码表表示示,则则正正数数的的结结果果X X补补X X原原;负负数数结结果果,只只要要对对该该补补结结果果再再进进行行一一次次求求补补运运算算,就就可可得得到到负负数数的的原码结果。原码结果。例例:用补码求用补码求X-YXX-YX37Y37Y5151。解解:若若-Y-Y补补11001
31、101,11001101,可得可得X-YX-Y补补X X补补+-Y-Y补补00100101+1100110100100101+110011011111001011110010由于符号位为由于符号位为1 1是负数是负数,所以所以X-YX-Y原原X-YX-Y补补补补1000111010001110则则X-YX-Y-(00001110)-(00001110)2 2-14-143535例例3:3:用补码求用补码求X-YXX-YX37Y37Y5151。解解:若若-Y-Y补补11001101,11001101,可得可得X-YX-Y补补X X补补+-Y-Y补补00100101+110011010010010
32、1+110011011111001011110010由于符号位为由于符号位为1 1是负数是负数,所以所以X-YX-Y原原X-YX-Y补补补补1000111010001110则则X-YX-Y-(00001110)-(00001110)2 2-14-143636原码、反码、补码(续)(续)注意:-0-0与与+0+0在补码表示法中相同,而在原码、反码在补码表示法中相同,而在原码、反码表示却不同。表示却不同。相同位数的二进制补码,表示的范围比原码、相同位数的二进制补码,表示的范围比原码、反码多一个。反码多一个。正数的原码、反码、补码都相等,即表示方法正数的原码、反码、补码都相等,即表示方法只有一种。只
33、有一种。37371 0 1 1 0 0 1 01 1 0 0 1 1 0 11 0 1 1 0 0 1 1原原原原码码码码反反反反码码码码补码补码补码补码-77-77 原码原码反码反码补码补码数据在计算机中的表示方式38382.定点数和浮点数的表示1 1、定点表示方法、定点表示方法 指指约定约定数据中数据中隐含隐含的的小数点位置固定不变小数点位置固定不变。自然数自然数(无符号无符号)整数整数(有符号有符号)纯小数纯小数Sn-1n-1 Sn-2n-2 S0 0Sf f Sn-2n-2 S0 0Sf f S-1-1 S-(n-1)-(n-1)数值数值 数符数符 数值数值 数符数符 数值数值 *定点
34、表示形式定点表示形式:有约定在数值有约定在数值最低位之后最低位之后和和最高位之前最高位之前两种两种3939 *定点数的表示范围:定点数的表示范围:(设数码长度为设数码长度为n n位位)类型类型类型类型编码编码编码编码自然数自然数自然数自然数(无符号无符号无符号无符号)纯整数纯整数纯整数纯整数(有符号有符号有符号有符号)纯小数纯小数纯小数纯小数原码原码原码原码0 0 0 02 2 2 2n n n n-1-1-1-1(无符号编码无符号编码无符号编码无符号编码)-(2-(2-(2-(2n-1n-1n-1n-1-1)-1)-1)-1)+(2+(2+(2+(2n-1n-1n-1n-1-1)-1)-1)
35、-1)-(1-2-(1-2-(1-2-(1-2-(n-1)-(n-1)-(n-1)-(n-1)+(1-2+(1-2+(1-2+(1-2-(n-1)-(n-1)-(n-1)-(n-1)补码补码补码补码-2-2-2-2n-1n-1n-1n-1+(2+(2+(2+(2n-1n-1n-1n-1-1)-1)-1)-1)-1-1-1-1+(1-2+(1-2+(1-2+(1-2-(n-1)-(n-1)-(n-1)-(n-1)2 2、定点数的表示、定点数的表示 采用定点表示格式的数称为定点数,通常有几种数码长度。采用定点表示格式的数称为定点数,通常有几种数码长度。计算机中整数一般用计算机中整数一般用计算机中整
36、数一般用计算机中整数一般用定点数定点数定点数定点数表示表示表示表示。定点数定点数定点数定点数指小数点在数中有固定的位置。指小数点在数中有固定的位置。整数整数(不带符号的整数不带符号的整数)8位:位:0255,16位:位:065535带符号整数带符号整数符号位(符号位(0:正;:正;1:负):负)最高位为符号位(原码表示法)最高位为符号位(原码表示法)8位:位:-128127,16位:位:-32768+327674040 00111001010011100101 数符数符数符数符 阶符阶符阶符阶符阶码阶码阶码阶码尾数尾数尾数尾数n n计算机中实数一般用计算机中实数一般用浮点数浮点数表示表示。浮点
37、数浮点数浮点数浮点数指小数点在数中位置不固定。指小数点在数中位置不固定。w一个一个浮点数浮点数浮点数浮点数由由阶码阶码阶码阶码(指数)和(指数)和尾数尾数尾数尾数两部分组成。两部分组成。w阶码阶码阶码阶码:尾数中的小数点应当向左或向右移动的位尾数中的小数点应当向左或向右移动的位数。数。w尾数尾数尾数尾数:表示数值的有效数字,其小数点约定在数符:表示数值的有效数字,其小数点约定在数符和尾数之间。和尾数之间。例:例:100.101=2+30.1001014141IEEE 754IEEE 754标准标准 *表示格式及数码长度:表示格式及数码长度:有单精度、双精度两种格式及长度有单精度、双精度两种格式
38、及长度 *编码方式:编码方式:数制数制M和和E均采用二进制方式均采用二进制方式(即即R RM M=R=RE E=2)=2);23238 81 1单精度浮点表示格式单精度浮点表示格式数符数符S阶阶E尾数尾数M3232525211111 1双精度浮点表示格式双精度浮点表示格式数符数符S阶阶E尾数尾数M6464 码制码制M为为原码编码原码编码的的定点纯小数定点纯小数(改进了改进了定点位置定点位置),E为为移码编码移码编码的的定点整数定点整数(改进了改进了移码值移码值)42423.非数值的表示数字数字二进制数二进制数字符字符二进制编码二进制编码字符编码:字符编码:字符编码:字符编码:每个字符对应一个整
39、数值每个字符对应一个整数值字符编码标准:字符编码标准:ASCIIASCII码:码:美国标准信息交换代码美国标准信息交换代码(AmericanStandardCodeforInformationInterchange)规定:字节规定:字节(位位)最高位为最高位为,位给出位给出128个编码。个编码。b7b6b5b4b3b2b1b000010101000101014343ASCII码码1、10个十进制数个十进制数2、26个英文字母个英文字母3、34个专用符号个专用符号4、32个控制字符个控制字符共计共计128个,其中个,其中有有95个可打印。个可打印。1、7位二进制表示一个字符。位二进制表示一个字符
40、。2、排列顺序:、排列顺序:b6b5b4b3b2b1b03、b7为为0,表中未给出表示。,表中未给出表示。124444汉字编码汉字字符集与编码19811981年,年,GB2312-80GB2312-80国家标准,其中有国家标准,其中有67636763个汉字和个汉字和682682个非汉字字符,其字符及个非汉字字符,其字符及编码称为编码称为国标码国标码又叫国际交换码。又叫国际交换码。GB2312GB2312字符集的构成:字符集的构成:一级常用汉字一级常用汉字37553755个,按汉语拼音排列个,按汉语拼音排列二级常用汉字二级常用汉字30083008个,按偏旁部首排列个,按偏旁部首排列非汉字字符非汉
41、字字符682682个个45451.1.3计算机运算基础4646二进制数的运算二进制数的运算二进制数的算术运算(加、减、乘、除)11位二进制数算术运算位二进制数算术运算多位二进制数算术运算多位二进制数算术运算二进制数的逻辑运算ANDORNOTANDORNOT4747二进制加法1位二进制数的加法规则为:000 000001 111110 011111 10(0(有进位有进位)多位二进制数的加法:例例1:1:求求11001010B11001010B11101B11101B。解解:被加数被加数1100101011001010加数加数1110111101进位进位)00110000)00110000和和1
42、110011111100111则则11001010B11001010B11101B11101B11100111B11100111B。由由此此可可见见,两两个个二二进进制制数数相相加加时时,每每1 1位位有有3 3个个数数参参与与运运算算(本本位位被被加加数数、加加数数、低低位位进进位位),),从从而而得得到到本本位位和以及向高位的进位。和以及向高位的进位。48481位二进制数减法规则为:110 011111 100000 000001 11(1(有借位有借位)多位二进制数的减法二进制减法 例例2:2:求求10101010B10101010B10101B10101B。解解:被减数被减数 1010
43、101010101010 减数减数 1010110101 借位借位 )00101010)00101010 差差 10010101 10010101 则则10101010B10101010B10101B10101B10010101B10010101B。4949二进制乘法1位二进制乘法规则为:00000010010100100110111 1多位二进制乘法:例例3:3:求求110011B110011B1011B1011B。解解:被乘数被乘数 110011110011 乘数乘数 )1011)1011 110011 110011 110011 110011 000000 000000 )110011)
44、110011 积积 1000110001 1000110001 5050 二二进进制制除除法法的的运运算算过过程程类类似似于于十十进进制制除除法法的的运运算算过程。过程。例例4:4:求求100100B101B100100B101B。解解:000111:0001111011001001011001001011011000100010110111011010110111二进制除法5151二进制数的逻辑运算二进制数的逻辑运算1.1.与与 运算运算(AND)(AND)与与 运运算算又又称称逻逻辑辑乘乘,运运算算符符为为 或或。与与 运运算算的规则如下的规则如下:00000010011010011011
45、1 1 例例:若若 二二 进进 制制 数数 X X 10101111B,Y10101111B,Y01011110B,01011110B,求求 XYXY。1010111110101111 01011110010111100000111000001110则则X X Y Y00001110B00001110B。52522.2.或或 运算运算(OR)(OR)或或 运运算算又又称称逻逻辑辑加加,运运算算符符为为或或。或或 运算的规则如下运算的规则如下:000 000001 11 10 011111 11 1 例例:若若 二二 进进 制制 数数 X X 10101111B,Y10101111B,Y0101
46、1110B,01011110B,求求X XY Y。1010111110101111 01011110010111101111111111111111则则X XY Y11111111B11111111B。53533.3.非非 运算运算(NOT)(NOT)非非 运运算算又又称称逻逻辑辑非非,如如变变量量A A的的 非非 运运算算记记作作。非非 运算的规则如下运算的规则如下:例例:若二进制数若二进制数A A10101111B,10101111B,求求。01010000B01010000B 由由此此可可见见,逻逻辑辑 非非 可可使使A A中中各各位位结结果果均均发发生生反变化反变化,即即0 0变变1,
47、11,1变变0 0。54544.4.异或异或 运算运算(XOR)(XOR)异或异或 运算的运算符为运算的运算符为或或,其运算规则如下其运算规则如下:00000010011101101111110 0 例例:若若二二进进制制数数X X10101111B,Y10101111B,Y01011110B,01011110B,求求 XYXY。101011111010111101011110010111101111000111110001则则XYXY11110001B11110001B。5555C C语言程序举例语言程序举例1.2C语言程序基本知识5656函数体函数体函数首行函数首行编译预处理编译预处理例例
48、例例 1.1 1.1 1.1 1.1 最简单的最简单的最简单的最简单的C C C C程序程序程序程序#include#include#include#include void main()void main()void main()void main()/*/*/*/*主函数主函数主函数主函数*/printf(Helloprintf(Helloprintf(Helloprintf(Hello worldn);worldn);worldn);worldn);/*/*/*/*输出一句话输出一句话输出一句话输出一句话*/程序运行结果:程序运行结果:程序运行结果:程序运行结果:Helloworld提示
49、:printf:输出函数n:换行符/*注释内容*/5757例1.2一个简单的加法计算程序#include#include void main()void main()int a,b,sum;int a,b,sum;/*定义变量*/a=12;a=12;/*给变量赋值*/b=4;b=4;sum=a+b;sum=a+b;printfprintf(sum is (sum is%d%d n,sum);n,sum);/*输出结果*/运行结果:sum is 16 提示:%d:输入输出的格式字符串5858例例1.2一个简单的加法计算程序一个简单的加法计算程序#includevoidmain()intx,y,s
50、um;/定义变量定义变量printf(Inputdata:n);/显示提示信息显示提示信息scanf(%d,&x);/输入一个整数输入一个整数printf(Inputdata:n);/显示提示信息显示提示信息scanf(%d,&y);/输入一个整数输入一个整数sum=x+y;/计算和计算和printf(sum=%dn,sum);/输出和输出和5959例例例例 1.31.3比较任意两个数的大小,求较大数比较任意两个数的大小,求较大数比较任意两个数的大小,求较大数比较任意两个数的大小,求较大数#include#include intmax(intx,inty)intmax(intx,inty)/*