C语言程序设计第1章C语言概述第2章数据类型、运算符、表达式、赋值语句、输入输出第3章TurboC2.0集成环境简介第4章分支结构第5章循环结构第6章函数、存储类和预处理程序第7章数组第8章指针第9章常用库函数和软件开放概述第10章结构和杂类第11章文件第12章基于BorlandC++Builder的Windows程序设计第章1C语言概述为什么要学习C语言C语言的一个简单实例编辑、编译、连接、运行一个C语言程序学习C语言所需的必备知识1.1.1C语言的历史1.1.2C语言的历史1.1为什么要学习C语言第章1C语言概述计算机语言从第二次世界大战以后,经历了戏剧性的发展过程。从机器语言到汇编语言和高级语言。C语言语言是与硬件无关的。有许多独特的优点。机器语言汇编语言高级语言为什么要学习C语言C语言的一个简单实例编辑、编译、连接、运行一个C语言程序学习C语言所需的必备知识第章1C语言概述C语言作为程序员的首选语言之一,其特点如下:(1)具有现代化程序设计语言的特征(2)用途广泛(3)语言简洁,具备底层处理功能、可执行代码质量高(4)可移植性好为什么要学习C语言C语言的一个简单实例编辑、编译、连接、运行一个C语言程序学习C语言所需的必备知识第章1C语言概述【例1.1】C语言的一个简单实例。#includestdio.hmain(){inta,b,sum;printf(”EnterTwoNumbers:”);scanf(”%d%d”,&a,&b);sum=a+b+6;printf(”Thesumis%d\n”,sum);}程序运行结果如下:EnterTwoNumbers:6428Thesumis98为什么要学习C语言C语言的一个简单实例编辑、编译、连接、运行一个C语言程序学习C语言所需的必备知识第章1C语言概述具体过程如下:(1)编辑源程序,完成后将源程序以扩展名.c存盘。(2)对源程序进行编译,即将源程序转换为扩展名为.obj的二进制代码。若源程序有错,必须予以修改,然后重新编译。(3)对编译通过的源程序连接,即加入库函数和其它二进制代码生成可执行程序。连接过程中,可能出现未定义的函数等错误,为此,必须修改源程序,重新编译和连接。(4)执行生成的可执行代码,若不能得到正确的结果,必须修改源程序,重新编译和连接。若能得到正确结果,则整个编辑、编译、连接、运行过程顺利结束。为什么要学习C语言C语言的一个简单实例编辑、编译、连接、运行一个C语言程序学习C语言所需的必备知识第章1C语言概述1.4.1数制1.4.2数制之间的转换1.4学习C语言所需的必备知识1.4.3整数的原码、反码、补码的表示为什么要学习C语言C语言的一个简单实例编辑、编译、连接、运行一个C语言程序学习C语言所需的必备知识第章1C语言概述1.十进制数十进制由0~9十个数字组成,运算规则是逢十进一。2.二进制数二进制的基数是2,所使用的数字只有:0和1。运算规则是逢二进一。3.八进制数八进制的基数是8,所使用的数字为0、1、2、3、4、5、6、7。其运算规则是逢八进一。4.十六进制数十六进制的基数是16,它使用的数字字符为0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。其中A~F分别代表十进制数的10~15。其运算规则是逢十六进一。为什么要学习C语言C语言的一个简单实例编辑、编译、连接、运行一个C语言程序学习C语言所需的必备知识第章1C语言概述5.数制标记方法为了区分不同进制的数据,我们可以用圆括号将数据括起来,在括号的右下角以数字2、8、10、16表示该数代表的进制。如(100)2,(261)8,(192)10,(1FA)16分别代表的是二进制的100八进制的261十进制的192十六进制的1FA。为什么要学习C语言C语言的一个简单实例编辑、编译、连接、运行一个C语言程序学习C语言所需的必备知识第章1C语言概述1.二进制数转换成十进制数(111.011)2=(1×22+1×21+1×20+0×2-1+1×2-2+1×2-3)10=(7.375)102.十六进制数转换成十进制数(2AB.C)16=(2×162+10×161+11×160+12×161)10=(683.75)103.十进制整数转换成二进制数十进制整数转换成二进制数可采用“除2取余法”,直至商为0,如将十进制数28转换成二进制数:(28)10=(11100)2为什么要学习C语言C语言的一个简单实例编辑、编译、连接、运行一个C语言程序学习C语言所需的必备知识第章1C语言概述注意,最后得到的余数是高位数,因此(28)10=(11100)2为什么要学习C语言C语言的一个简单实例编辑、编译、连接、运行一个C语言程序学习C语言所需的必备知识第章1C语言概述一般计算机中用16位或32位来表示整数,位数越多,能表示数的范围就越大。我们知道,整数有正负之分,为此,我们可以用一个二进位作为符号位,一般总是最高位,当符号位为“0”是表示正数,符号位为“1”时表示负数。例如,当我们用16位来表示一个整数时,有0000000000101011=+431000000000101011=-43上述表示法,称为整数的原码表示法。为什么要学习C语言C语言的一个简单实例编辑、编译、连接、运行一个C语言程序学习C语言所需的必备知识第章1C语言概述整数也可采用反码表示法,对于负整数来说,符号位作为“1”,但绝对值部分正好与原码相反(即0变为1,1变为0)。因此:(-43)原=1000000000101011(-43)反=1111111111010100而实际上,整数在机器内大多用补码表示,对负整数而言,符号位仍为1,但绝对值部分却是反码的最低位加1得到的结果,因此(-43)补=1111111111010101注意,对正整数而言,其原码、反码、补码均相同。为什么要学习C语言C语言的一个简单实例编辑、编译、连接、运行一个C语言程序学习C语言所需的必备知识第章2数据类型、运算符、表达式、赋值语句、输入输出C语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例C语言的词法单位可分成6类:1.关键词2.标识符3.常量4.字符串5.运算符6.分割符第章2数据类型、运算符、表达式、赋值语句、输入输出【例2.1】C语言的一个简单例子。#includestdio.hmain(){inta,b,sum;printf(”Entertwonumbers:”);scanf(”%d%d”,&a,&b);sum=a+b+6;printf(”Thesumis%d\n”,sum);}C语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出其中:int是关键词,sum是标识符,6是常量,“Entertwonumbers”是字符串,+是运算符,(是分割符。C语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出关键字:autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoIfintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunionunsignedvoidvolatilewhileC语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出标识符:是用户自行定义的符号,用来标识常量、变量、函数、标号等。命名规则:由字母或下划线开头,后跟零个或多个字母、下划线和数字的符号序列。1、不能是C的关键字2、第一个字符必须是字母或下划线3、中间不能有空格。4、长度一般不超过32个字符。5、大小写敏感。MyAge,myage*所有符号必须先定义/说明而后使用C语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出分隔符:[](){}*.:=;#C语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出2.2.1整型2.2.2浮点型2.2数据类型2.2.3字符型C语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出基本型:int短整型:shortint或short长整型:longint或long无符号:无符号型的整数必须是正数或零。无符号型又可细分为:无符号整型:unsignedint无符号短整型:unsignedshort无符号长整型:unsignedlongC语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出数据类型所占位数数的范围intshortlongunsignedunsignedshortunsignedlong161632161632-32768~32767-32768~32767-2147483648~21474836480~655350~655350~4294967295整型的表示范围:C语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出表示实型数据单精度:float双精度:double浮点型的表示范围:数据类型有效数字所占位数数的绝对值范围float6~73210-38~1038double15~166410-308~10308C语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出字符型:char一般用8位来存放一个字符存放的是该ASCII码值(即整数)可把字符型看作一种特殊的整型C语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出2.3.1常量2.3.2变量2.3常量和变量C语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出常量:指在程序运行过程中,其值不能被改变的量。整型常量:由一个或多个数字组成,可以带正负号。其中以字母o开头的为八进制数,以0x或0X开头的为十六进制数,否则就是十进制数。•下列常量都是合法常量:32767-3140o516o170x1c0d0x4600•在整型常数后跟有l或L时,表示该整型常量是长整型常量。49876L0X4F8DAC语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出浮点常量:表示有十进制形式和指数形式两种下列常量都是合法的浮点常量:3.14-9.5681.5E52.9E-7注意:指数形式的浮点常量E或e前面必须有数字,E后面必须为整数。因此,E8、6E7.8都不是合法的浮点常量。C语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出字符型常量:用单引号括起来的单一字符如’S’、’s’,它们分别代表大小写字母s。一个字符常量的值就是该字符的ASCII码值,如’2’的值就是50。C语言的词法单位数据类型常量和变量运算符和表达式变量初始化和赋值语句数据输出数据输入程序实例第章2数据类型、运算符、表达式、赋值语句、输入输出特殊形式的字符型常量\030代表ASCII码为8进制数30的字符,即