您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 谭浩强-C语言程序设计基础教程
第一章主要内容1.1计算机与程序、程序设计语言1.2C语言出现的历史背景1.3C语言的特点1.4简单的C语言程序1.5运行C程序的步骤和方法1.1计算机与程序、程序设计语言计算机与程序:要让计算机按照人们的愿望工作,必须由人们事先编制好程序,并输入到计算机,让计算机执行程序才能产生相应的操作结果。程序设计语言:一个型号机器语言的指令的集合称为该计算机的机器语言;用一些特定的“助记符号”代替0和1来表示指令的程序设计语言称为汇编语言;接近于人们习惯使用的自然语言(英文)和数学语言称为“高级语言”。1.2C语言出现的历史背景C语言是国际上广泛流行的高级语言。C语言是在B语言的基础上发展起来的。B(BCPL)语言是1970年由美国贝尔实验室设计的,并用于编写了第一个UNIX操作系统。优点:简单,接近硬件,缺点:过于简单,功能有限。1972年至1973年贝尔实验室的D.M.Ritchie在B语言的基础上设计出了C语言,并用之改写了原来用汇编编写的UNIX。后来,C语言多次做了改进,但主要还是在贝尔实验室使用。1.2C语言出现的历史背景1977年出现了《可移植C语言编译程序》,推动了UNIX在各种机器上实现,C语言也迅速得到推广,其发展相辅相成。1978年在BrianW.Kernighan和DennisM.Ritchie合著的影响深远的名著《TheCProgrammingLanguage》中介绍的C语言成为后来广泛使用的C语言版本的基础,被称为标准C。1978年以后,C语言先后移植到大、中、小、微型计算机上,风靡世界,成为最广泛的几种计算机语言之一。1.2C语言出现的历史背景1983年,美国国家标准化协会(ANSI)根据C语言各种版本对C的发展和扩充,制定了新的标准ANSIC,比标准C有了很大的发展。1987年,ANSI公布了新标准——87ANSIC。1989年,ANSI又公布了一个新的C语言标准—C891990年,ISO接受C89作为国际标准通常称为C901999年,ISO对C语言标准进行修订,在基本保留原来的C语言特征的基础上,增加了一些面向对象的特征,简称为C99。目前流行的C语言编译系统大多是以C89为基础进行开发的。1.3C语言的特点(1)语言简洁、紧凑,使用方便、灵活。32个关键字、9种控制语句,程序形式自由(2)运算符丰富。34种运算符(3)数据类型丰富,提供整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型等,能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。(4)C语言是完全模块化和结构化的语言。(5)语法限制不太严格,程序设计自由度大。1.3C语言的特点(6)允许直接访问物理地址,可直接对硬件进行操作。兼有高级和低级语言的功能。(7)目标代码质量高,程序执行效率高。只比汇编程序生成的目标代码效率低10%-20%。(8)用C语言编写的程序可移植性好。基本上不做修改就能用于各种型号的计算机和各种操作系统。1.4简单的C语言程序例1.1#includestdio.hvoidmain(){printf(ThisisaCprogram.\n);}/*文件包含*//*主函数*//*函数体开始*//*输出语句*//*函数体结束*/说明:main-主函数名,void-函数类型每个C程序必须有一个主函数main{}是函数开始和结束的标志,不可省每个C语句以分号结束使用标准库函数时应在程序开头一行写:#includestdio.h说明:本程序的作用是输出一行信息:ThisisaCprogram.例1.2求两数之和#includestdio.hvoidmain()/*求两数之和*/{inta,b,sum;/*声明,定义变量为整型*//*以下3行为C语句*/a=123;b=456;sum=a+b;printf(″sumis%d\n″,sum);}说明:/*……*/表示注释。注释只是给人看的,对编译和运行不起作用。所以可以用汉字或英文字符表示,可以出现在一行中的最右侧,也可以单独成为一行。说明:输出一行信息:sumis579例1.3求2个数中较大者。#includestdio.hvoidmain()/*主函数*/{intmax(intx,inty);/对被调用函数max的声明*/inta,b,c;/*定义变量a、b、c*/scanf(″%d,%d″,&a,&b);/*输入变量a和b的值*/c=max(a,b);/*调用max函数,将得到的值赋给c*/printf(″max=%d\\n″,c);/*输出c的值*/}程序运行情况如下:8,5↙(输入8和5赋给a和b)max=8(输出c的值)intmax(intx,inty){intz;if(xy)z=x;elsez=y;return(z);}max(intx,inty)max(a,b);说明:本程序包括main和被调用函数max两个函数。max函数的作用是将x和y中较大者的值赋给变量z。return语句将z的值返回给主调函数main。1.4简单的C语言程序C程序:(1)C程序是由函数构成的。这使得程序容易实现模块化。(2)一个函数由两部分组成:函数的首部:例1.3中的max函数首部intmax(intx,inty)函数体:花括号内的部分。若一个函数有多个花括号,则最外层的一对花括号为函数体的范围。函数体包括两部分:声明部分:inta,b,c;可缺省执行部分:由若干个语句组成。可缺省1.4简单的C语言程序小结:(3)C程序总是从main函数开始执行的,与main函数的位置无关。(4)C程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上,C程序没有行号。(5)每个语句和数据声明的最后必须有一个分号。分号是C语句的必要组成部分。即使是程序中最后一个语句也应包含分号。1.4简单的C语言程序小结:(6)C语言本身没有输入输出语句。输入和输出的操作是由库函数scanf和printf等函数来完成的。C对输入输出实行“函数化”。(7)可以用/*……*/对C程序中的任何一行或数行做注释。一个好的、有使用价值的源程序都应当加上必要的注释,以增加程序的可读性。1.5运行C程序的步骤和方法1.5.1运行C程序的步骤•上机输入与编辑源程序•对源程序进行编译•与库函数连接•运行目标程序1.5运行C程序的步骤和方法1.5.2上机运行C程序的方法目前使用的大多数C编译系统都是集成环境(IDE)的。可以用不同的编译系统对C程序进行操作常用的有TurboC2.0、TurboC++3.0、VisualC++6.0等前一段时间,TurboC2.0用得比较多,但TurboC2.0是用于DOS环境的,不能用鼠标进行操作,很不方便,所以今年来不少人改为用TurboC++3.0或VisualC++6.0对C程序进行编译第二章主要内容2.1C语言的数据类型2.2常量与变量2.3整型数据2.4浮点型数据2.5字符型数据2.6各类数值型数据间的混合运算2.7算术运算符和算术表达式2.8逗号运算符和逗号表达式2.1C的数据类型C语言提供了以下一些数据类型。数据类型构造类型指针类型空类型(无值类型)void枚举类型enum数组类型结构类型struct联合类型union基本类型整型int字符型char实型(浮点型)单精度实型float双精度实型double2.2常量与变量2.2.1常量在程序运行过程中,其值不能被改变的量称为常量常量区分为不同的类型:整型100,125,-100,0实型3.14,0.125,-3.789字符型‘a’,‘b’,‘2’说明:符号常量为了使用方便,可用一个符号名来代表一个常量。例2.1在程序中使用符号常量#definePRICE30#includestdio.hvoidmain(){intnum,total;num=10;total=num*PRICE;printf(″total=%d\n″,total);}符号常量:用一个标识符代表一个常量。符号常量的值在其作用域内不能改变,也不能再被赋值。运行结果:total=300说明:程序中用#define命令行定义PRICE代表常量30,此后凡在本文件中出现的PRICE都代表30,可以和常量一样进行运算说明:如再用赋值语句给PRICE赋值是错的PRICE=40;/*错误,不能给符号常量赋不能对符号常量指定类型intPRICE;/*错误,PRICE不是变量,不能指定类型*/2.2常量与变量2.2.2变量变量代表内存中具有特定属性的一个存储单元,它用来存放数据,也就是变量的值,在程序运行期间,这些值是可以改变的。变量名实际上是一个以一个名字对应代表一个地址,在对程序编译连接时由编译系统给每一个变量名分配对应的内存地址。从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。2.2常量与变量2.2.2标识符变量的名字必须符合C语言对标识符的规定。用来标识对象名字(包括变量、函数、数组、类型等)的有效字符序列。C语言中,有3类标识符:关键字,系统预定义的标识符,用户标识符。C语言规定标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。2.2常量与变量变量命名的规定:变量的名字必须符合C语言对标示符得规定例:sum,_total,month,Student_name,lotus_1_2_3,BASIC,li_lingM.D.John,¥123,3D64,ab2.2常量与变量注意:编译系统将大写字母和小写字母认为是两个不同的字符。建议变量名的长度最好不要超过8个字符。在选择变量名和其它标识符时,应注意做到“见名知意”,即选有含意的英文单词(或其缩写)作标识符。要求对所有用到的变量作强制定义,也就是“先定义,后使用”。2.3整型数据2.3.1整型常量的表示形式整型常量即整常数。在C语言中,整常数可用以下三种形式表示:(1)十进制整数。如:123,-456,4。(2)八进制整数。以0头的数是八进制数。如:0123表示八进制数123,等于十进制数83,-011表示八进制数-11,即十进制数-9。2.3整型数据2.3.1整型常量的表示形式(3)十六进制整数。以0x开头的数是16进制数。如:0x123,代表16进制数123,等于十进制数291。-0x12等于十进制数-10。2.3.2整型变量整型变量用来存放整数。整型变量的基本类型符为int。C语言中有以下3类整型变量:基本整型,短整型,长整型。2.3整型数据2.3.2整型变量注意:ANSIC标准没有具体规定以上各类数据所占内存的字节数而是由各计算机系统自行决定。TurboC中,int型和short型数据都是2个字节,即16个二进制位。long型数据是4个字节,32位。而VC++则给short型数据分配2个字节,16位,int和long型数据都是4个字节,32位。2.3整型数据2.3.2整型变量一般情况下,存储整数时存储单元中的第一个二进位用来代表数值符号,而在实际应用中,变量的值常常是正的,所以存储单元全部用来存储数值本身,此定义无符号整数。所以归纳起来,在C语言中,可以定义和使用6种整型变量共六种有符号基本整型有符号短整型有符号长整型无符号基本整型无符号短整型无符号长整型(signed)int(signed)short(int)(signed)long(int)unsignedintunsignedshort(int)unsignedlong(int)注意:括号表示其中的内容是可选的.2.3整型数据2.3.2整型变量整数类型的有关数据:类型类型说明符长度数的范围基本型int2字节-32768~32767短整型short2字节-215~215-1长整型long4字节-231~231-1无符号整型unsigned2字节0~65535无符号短整型unsignedshort2字节0~65535无符号长整型unsignedlong4字节0~(232-1)例2.2整
本文标题:谭浩强-C语言程序设计基础教程
链接地址:https://www.777doc.com/doc-3872117 .html