第1章概论C语言课件.ppt
《第1章概论C语言课件.ppt》由会员分享,可在线阅读,更多相关《第1章概论C语言课件.ppt(63页珍藏版)》请在三一办公上搜索。
1、2022/12/11,华中科技大学计算机学院C语言课程组,1,C语言与程序设计The C Programming Language,第1章 概论华中科技大学计算机学院,2022/12/11,华中科技大学计算机学院C语言课程组,2,主要内容,程序设计语言与程序设计学习C语言程序设计的第一个例子。C语言的产生与发展,C语言的语言特征,C语言的标准。计算机硬件系统的组成,数的编码表示以及数在内存中的表现形式。算法的概念及其表示方法。对C语言程序设计作了概略性的介绍。同时介绍了N进制数,数之间转换的方法,以及原码、补码、反码及其相关运算。,2022/12/11,华中科技大学计算机学院C语言课程组,3,
2、1.1 程序设计语言与程序设计,计算机语言包括机器语言、汇编语言和高级语言这三类语言。如果不涉及汇编语言,程序设计语言往往就是指高级语言。 程序设计语言是以具有特定语义的符号为基本构成单位、以语法为程序构成规律、专门用于定义、组织、并完成各种各样的计算任务而形成的体系。,2022/12/11,华中科技大学计算机学院C语言课程组,4,程序与程序设计,程序是用程序设计语言表示的计算机解题算法或计算机解题任务。程序设计是将解题任务转变成程序的过程。Nell Dale等人指出:程序就是要求计算机执行的指令序列。程序设计就是如何计划、安排计算机必须遵循的操作步骤及顺序的过程。,2022/12/11,华中
3、科技大学计算机学院C语言课程组,5,1.2 学习C语言程序设计的第一个例子,例1.1 输入自己的名字的汉语拼音,要计算机问候自己并且输出这是自己学习C语言的第一个程序的句子。,2022/12/11,华中科技大学计算机学院C语言课程组,6,例1.1的程序,#include void show(char str);int main(void) char name20; printf(Input your name please!n); gets(name); printf(Hello %s!n,name); show(name); return 0;void show(char str) prin
4、tf(This is the first program for %s to learn C programming!n,str); 源程序ex1_1.c,2022/12/11,华中科技大学计算机学院C语言课程组,7,操作例1.1的程序,双击Visual C+ 6.0(即VC 6.0)图标打开VC 6.0 选File,再选下拉菜单中的New,在New窗口中的Project页(缺省)中选择Win32 Console Application(选中变蓝),并且在Project Name编辑框中输入工程名,如:Myproject。再单击OK按钮,在打开的窗口中单击An empty project(缺省
5、),再单击Finish按钮。在打开的窗口中单击OK按钮。此时VC将创建一个空的工程。单击FileView,选中Source Files(变成蓝色),选File,再选下拉菜单中的New,单击C+ Source File(变成蓝色),在File编辑框中输入hello.c,2022/12/11,华中科技大学计算机学院C语言课程组,8,操作例1.1的程序,点开Source Files目录,可以看见hello.c文件,双击hello.c,在右侧文本编辑区域输入例1.1中的源程序。选Build,再选下拉菜单中的Rebuild All。此时VC编译器将对源程序进行编译、链接,并且生成名字为Myproject
6、.exe的可执行文件。选Build,再选Execute Myproject.exe运行Myproject.exe程序,2022/12/11,华中科技大学计算机学院C语言课程组,9,例1.1的程序的结果,人机交互与运行结果如下:Input your name please!Ping Li(此为输入信息)Hello Ping Li!This is the first program for Ping Li to learn C programming!,2022/12/11,华中科技大学计算机学院C语言课程组,10,#include stdio.h /*文件包含编译预处理命令 */void sho
7、w(char str); )/*函数原型说明语句 */int main(void) /*主函数 */ char name20; )/*声明语句 */ printf(“Input your name please!n”); )/*输出提示 */ gets(name); )/*读取用户名字 */ printf(Hello %s!n,name); /* 输出Hello和用户名 */ show(name); /*调用show函数 */ return 0;void show(char str) )/*show函数的定义 */ printf(“This is the first program for %
8、s to learn C programming!n”,str); /* 上行尾的是续行标志 */ 直接打开ex1_1.c,里面有详细注释源程序ex1_1.c,1.2.2 解释分析第一个C程序,2022/12/11,华中科技大学计算机学院C语言课程组,11,1.3 C语言的产生、发展与语言特征1.3.1 C语言的产生与发展,FORTRAN(1957年)ALGOL 60(1960年) 传统C或K&R C(1978)CPL(1963年) ANSI C(1989,美国国家标准)BCPL(1967年) 标准 C(ISO/IEC 9899:1990,俗称C90)B(1969年-1970年) 标准 C(I
9、SO/IEC 9899:1999俗称C99)C(1971年-1973年) 最新标准 C(ISO/IEC 9899:2011俗称C11)图1.1 C语言的继承、产生与发展历程,2022/12/11,华中科技大学计算机学院C语言课程组,12,1.3 C语言的产生、发展与语言特征1.3.1 C语言的产生与发展,Matin Richards(BCPL语言),Ken Thompson(B语言),Dennis M. Ritchie(C语言,C语言之父,UNIX之父),2022/12/11,华中科技大学计算机学院C语言课程组,13,1.3.2 C语言的标准化,以1978年K&R C为代表的C语言被称为传统的
10、C语言 1989年底公布美国第一个C语言的国家标准ANSI 89,简称C89 1990年,国际标准化组织ISO将其接受为C语言的国际标准,称为ISO/IEC 9899-1990。它是C语言的第一个国际标准,也称为标准C,简称C90。 ISO/IEC在1995年公布了一个新的C语言标准草案,称为C95,供讨论和征求意见。接着ISO/IEC在1998年又公布新标准的草案WG14/N843和WG14/N897,进一步就C语言标准的完善征求意见。ISO/IEC于1999年12月公布了C语言国际标准ISO/IEC 9899:1999 (E)。它是C语言国际标准9899的第二版。 ISO/IEC于2011
11、年12月公布了C语言国际标准ISO/IEC 9899:2011。它是C语言国际标准9899的第三版。,2022/12/11,华中科技大学计算机学院C语言课程组,14,1.3.3 C语言的特征,语言简洁紧凑目标代码质量高语言表达能力强 流程控制结构化 弱类型 “中级语言”特性 书写自由、使用灵活 可移植性好,2022/12/11,华中科技大学计算机学院C语言课程组,15,1.4 计算机系统及内存编址,一台计算机硬件系统由CPU、内存、外存、其他I/O设备和总线组成。CPU 又称为中央处理器 。 CPU又是由运算器、控制器、指令计数器、内部寄存器、标志寄存器等部件组成。 内存又称为内存储器,用以存
12、放程序和数据。总线是用以连接计算机各个部件的线路,它完成各个部件之间的信息传送。根据传送信号种类的不同,总线又分成地址总线、数据总线和控制总线。,2022/12/11,华中科技大学计算机学院C语言课程组,16,内存编址,内存容量,字长,内存以字节为单位线性连续编址。即按照0 x0000,0 x0001,0 x0002,的方式;从低地址端开始向高地址端为每一个内存字节进行顺序连续编号。1024个字节称为1K字节,1024K字节称为1M字节,1024M字节称为1G字节。1024G字节称为1T字节。 CPU数据总线的宽度(bit数)称为计算机的机器字长。对位,机器字长为字节;对位,机器字长为字节;对
13、位,机器字长为字节。,2022/12/11,华中科技大学计算机学院C语言课程组,17,外存和其他I/O设备,外存指计算机的外存储器。常用的硬盘、软盘、U盘、光盘、以及磁盘阵列都属于外存。外存存储的信息在断电之后仍然能够保存。 其他I/O设备 :键盘 ,显示器 ,打印机 ,绘图仪,2022/12/11,华中科技大学计算机学院C语言课程组,18,1.5 数和字符的编码表示,1.5.1 进位计数制数量用于描述事物的多少。数目则是表示事物的个数。而表示数目的符号则是数字,往往简称为数。一个数在不同的进位制下具有不同的表示,因而形成数制的概念。数制是关于记数的法则。根据进位基数的不同,常用的有十进制、二
14、进制、八进制、十六进制等。,2022/12/11,华中科技大学计算机学院C语言课程组,19,1. 二进制数及其运算,1)二进制数二进制数是由0和1组成的数字串。对于一个二进制数来讲,它具有两个下面基本特点:(1) 只有0和1两个不同的数字符号。(2) 逢2进位1。,2022/12/11,华中科技大学计算机学院C语言课程组,20,二进制数的权值,对由进位计数制描述的数来讲,一个数字符号在该数的不同的数位具有不同的权(也称为权值或基值),因此所表现的值是不一样的。二进制数也是如此。二进制数中不同的数位所具有的权值见教材表1.1 二进制数的权值. 二进制数整数(10110110)2的值是:(1011
15、0111)2=127+026+125+124+023+122+121+120=(183)10而带二进制小数的二进制数(1011.1101)2的值是:(1011.1101)2=123+022+121+120+12-1+12-2+02-3+12-4=(11.8125)10,2022/12/11,华中科技大学计算机学院C语言课程组,21,2)二进制数的运算,二进制加法规则有四条: 0+0=0 0+1=1+0=1 1+1=0 向高位进位1 1+1+1=1 向高位进位1二进制减法规则也有四条: 0-0=0 1-1=0 1-0=1 0-1=1 向高位借位1,2022/12/11,华中科技大学计算机学院C语
16、言课程组,22,二进制加法举例,例1.2 二进制加法举例,求(10110111)2+(01011011)2的和。1 0 1 1 0 1 1 1+ 0 1 0 1 1 0 1 1进位 1 1 1 1 1 1 1 1 0 0 0 1 0 0 1 0所以,(10110111)2+(01011011)2=(100010010)2,2022/12/11,华中科技大学计算机学院C语言课程组,23,二进制减法举例,例1.3 二进制减法举例,求(10110111)2-(01011011)2的差。借位 1 0 1 1 0 0 01 0 1 1 0 1 1 1- 0 1 0 1 1 0 1 1 0 1 0 1 1
17、 1 0 0所以,(10110111)2-(01011011)2=(01011100)2,2022/12/11,华中科技大学计算机学院C语言课程组,24,2. 八进制数及其运算,八进制数是由0到7组成的数字串。八进制数具有如下两个基本特点:(1) 只有0,1,2,3,4,5,6,7八个不同的数字符号。(2) 逢8进位1。在C语言中,通过加前导零的方式来表示一个数是八进制数。如:0136表示的是八进制数(136)8。,2022/12/11,华中科技大学计算机学院C语言课程组,25,3十六进制数及其运算,将4位二进制数组合成为十六进制数。与二进制、八进制数类似,十六进制数也有两个基本特点:(1)只
18、有0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F十六个不同的数字符号(AF也可以采用小写英文字母af)。这十六个数字符号与二进制、八进制、十进制数之间的关系如表1.2所示。(2)逢16进位1。在C语言中,通过加前导0 x或前导0X的方式来表示一个数是十六进制数。如:0 x2d5b表示的是十六进制数(2d5b)16。0XABCD也是合法的十六进制数。,2022/12/11,华中科技大学计算机学院C语言课程组,26,表1.2十六进制的16个不同数字符号与十进制、八进制、二进制数之间的关系,2022/12/11,华中科技大学计算机学院C语言课程组,27,十六进制加减法运算举例,例1.
19、5 十六进制加减法运算举例,求0XABCD与(2d5b)16的和,以及0XABCD与(2d5b)16的差。解 0XABCD+(2d5b)16=0XD928 0XABCD-(2d5b)16=0 x7E72,2022/12/11,华中科技大学计算机学院C语言课程组,28,1.5.2 进位制数之间的转换,1. 十进制整数转换为二进制整数,2022/12/11,华中科技大学计算机学院C语言课程组,29,进位制数之间的转换,2. 二进制整数转换为十进制整数用按权展开的方式即可求得该数的十进制表示。例1.7 二进制数(10111101)2转换为十进制数。解 (10111101)2 =127+026+125
20、+124+123+122+021+120=128+32+16+8+4+1=(189)10,2022/12/11,华中科技大学计算机学院C语言课程组,30,进位制数之间的转换,3. 二进制整数转换为八进制整数二进制数转换为八进制数可以采用3位分组法。从整数部分的最低位起,每3位分成1组,高位部分不足3位则通过加前导0的方式补足3位,然后把每3位二进制数用对应的八进制数来表示即可。例1.8 将二进制整数(10111101)2转换为八进制整数。解 (10111101)2=(010 111 101)2= (275)8,2022/12/11,华中科技大学计算机学院C语言课程组,31,进位制数之间的转换,
21、4. 八进制整数转换为二进制整数八进制整数转换为二进制整数只需要将每一位八进制数用对应的二进制数表示即可。例1.9 将八进制数(177777)8转换为二进制数。解 (177777)8=(001 111 111 111 111 111)2=(1111111111111111)2,2022/12/11,华中科技大学计算机学院C语言课程组,32,进位制数之间的转换,5. 二进制整数转换为十六进制整数将二进制整数转换为十六进制整数采用4位分组法。4位二进制数的不同取值可以一一对应的完整描述十六进制中的09和AF。方法: 从整数部分的最低位起,每4位分成1组,高位部分不足4位则通过加前导0的方式补足4位
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 概论 语言 课件

链接地址:https://www.31ppt.com/p-1624509.html