C语言教程(谭浩强).pdf

所需积分/C币:48 2017-03-23 14:42:52 5.03MB PDF
收藏 收藏
举报

C语言教程(谭浩强).pdf
3.32整型变量 34实型数据 37 4.1实型常量的表示方法 37 342实型变量 …38 343实型常数的类型 3.5字符型数据 非非非 ··…··:···········::·:: ……39 3.5.1字符常量 39 3.52转义字符… 40 353字符变量 3.54字符数据在内存中的存储形式及使用方法 41 3.5.5字符串常量 42 3.6变量赋初值…… 42 3.7各类数值型数据之间的混合运算… 3.8算术运算符和算术表达式 …44 3.8.1C运算符简介 3.8.2算术运算符和算术表达式 …45 3.9赋值运算符和赋值表达式… 47 3.10逗号运算符和号衣达式 49 3.11小结… 1, 丰 49 3.11.1C的数据类型 3.112基木类型的分类及特点………… 3.113常量后缀… ……50 3.11.4常量类型… …………50 3.1.5数据类型转换 3.11.6运算符优先级和结合性 3.11.7表达式… ………………………50 4最简单的C程序设计一顺序程序设计……………………… …………51 4.1C语句概述 4.2赋值语句………… ………52 43数据输入输出的概念及在C语言中的实现 44字符数据的输入输出…… 54 441 putchar函数(字符输出函数) …54 44.2 getchar函数(键盘输入函数) 54 4.5格式输入与输出 45. I printf函数(格式输出函数) …55 452 scanf函数(格式输入函数)… …58 4.6顺序结构程序设计举例……… …62 5分支结构程序… 5.1关系运算符和表达式…… 1关系运算符及其优先次序 512关系表达式 5.2逻辑运算符和表达式 ……………………65 52.1逻辑运算符极其优先次序 65 5.22逻辑运算的值 …65 523逻辑表达式 …66 53if语句… 67 53.1i语句的三种形式 67 5.3.2if语句的嵌套…… 533条件运算符和条件表达式 54 switch语句 非非非非非非 55程序举例… 74 6循环控制 76 6.1概述 6.2goto语句以及用goto语句构成循环…… 76 63 while语句…… 64d0- whilc语句…… 6.5for语句 6.6循环的嵌套…………… 84 6.7几种循环的比较 ++++++“+++·+·+;++ …84 68 break和 continue语句 84 68.1 brcak语句 68.2 continue语句 85 69程序举例 1, 丰 7数组… 7.1—维数组的定义和引用 ……………89 71.1维数组的定义方式…… 7.12维数组元素的引用 ……90 71.3一维数组的初始化 7.14维数组程方举例 72二维数组的定义和引用 72.1二维数组的定义 ,,非 7.22二维数组元素的引用 …94 723二维数组的初始化………………………………………………95 724维数组程序举例… 96 7.3字符数组 …96 7.3.1字符数组的定义……… 96 7.3,2字符数组的初始化 73.3字符数组的引用 7 7.34字符串和字符中结束标志… 98 7.3.5字符数组的输入输出 98 73.6字符串处理函数 ···:*::·· …99 74程序举例 75本章小结 …………105 8函数 8.1概述…… 106 8.2函数定义的一般形式 107 83函数的参数和函数的值 83.1形式参数和实际参数 8.3.2函数的返回值 …110 84函数的调用 84.1函数调用的一般形式 842函数调用的方式…… 843被调用函数的声明和函数原型 8.5函数的嵌套调用… ………………113 8.6函数的递归调用 114 8.7数组作为数参数… ………117 88局部变量和全局变量 122 8.8.1局部变量… 122 882全局变量………… 89变量的存储类别… 89.1动态存储方式与静态动态存储方式… 8.92auto变量……… 125 893用 static声明局部变量 ……126 8.94 register变量… …127 895用 extern声明外部变量 …127 9预处理命令 …129 9.1概述 1, 丰 9,2宏定义… 129 921无参宏定义… ………129 922带参宏定义 ……………………………………………………132 文件包含 …136 94条件编译 ……136 95本章小结 …………138 10指针 10.1地址指针的基本概念 ,非丰:丰非 非·非申,丰:· 140 10.2变量的指针和指向变量的指针变量 10.2.1定义一个指针变量……………… 141 10.22指针变量的引用 142 10.23指针变量作为函数参数 145 10.24指针变量几个问题的进一步说明… 10.3数组指针和指向数组的指针变量 151 10.3.1指向数组元素的指针 10.3.2通过指针引用数组元素 10.3.3数组名作函数参数 ……155 10.3.4指向多维数组的指针和指针变量………………………………161 104字符串的指针指向字符串的针指变量 164 10.4.1字符串的表小形式 10.42使用字符串指针变量与字符数组的区别 10.5函数指针变量…… 10.6指针型函数 10.7指针数组和指向指针的指针 10.7.1指针数红的概念 170 10.7.2指向指针的指针…… 10.73main函数的参数…… 175 10.8有关指针的数据类型和指针运算的小结 …176 10.8.1有关指针的数据类型的小结… 176 l0.82指针运算的小结…… 177 10.8.3void指针类型 非非 …177 11结构体与共用体 178 111定义一个结构的一般形式 178 112结构类型变量的说明 11.3结构变量成员的表示方法 180 114结构变量的赋值 115结构变量的初始化 1.6结构数组的定义 182 11.7结构指针变量的说明和使用…… 184 11.7.1指向结构变量的指针 ……184 11.7.2指向结构数组的指针……… 11.73结构指针变量作函数参数 ……………………………………186 1.:8动态存储分配…… …………187 119链表的概念… 丰 1.10枚举类型… 191 1110.1枚举类型的定义和枚举变量的说明…… ………191 11.10.2枚举类型变量的赋值和使用…… 111类型定义符typ 193 12位运算……… 194 12.1位运算符C语言提供了六种位运算符:……………… 194 12.1.1按位与运算… 12.1.2按位或运算…… 非·非申,丰:· 12.1.3按位异或运算… 12.1.4求反运算……………………………… 195 12.1.5左移运算 195 12.1.6右移运算 122位域(位段) 12.3本章小结 199 13文件……… 200 13.1C文件概述…… 200 13.2文件指针 13.3文件的打开与关闭 ···:*::·· ……………………201 133.1文件的打开( fopen函数 201 1332文件关闭函数( fclose函数) 13.4文件的读写……… 203 134.1字符读写函数 fgetc和 fputc 134.2字符串读写函数 fgets和 fputs 1343数据块读写函数fead和 fwtrite 1344格式化读写函数fanf和 fprintf… 09 13.5文件的随机读写 13.5.1文件定位 2l1 13.52文件的随机读写 211 13.6文件检测函数 13.6.1文件结束检测函数feof函数 136.2读写文件出错检测函数…… 13.6.3文件出错标志和文件结束标志置0函数 13.7C库文件 138本章小结… 14 C语言教程讲义 2007年7月26日 C语言教程 1C语言概述 11C语言的发展过程 C语言是在70年代初问世的。九七八年由美国电话电报公司(AT&T贝尔实验室止 式发表了C语言。同时由B. KErnighan和 D.M. Ritchit合著了著名的“THEC PROGRAMMING LANGUAGE”一书。通常简称为《K&R》,也有人称之为《K&R》标准。 但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准协会( American National standards institute)在此基础上制定了一个C语言标准,于一九人三年发表。通常 称之为 ANSI C 12当代最优秀的程序设计语言 早期的C语言主要是用」UNIX系统。由」C语言的强大功能和各方面的优点逐渐为 人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算 机上得到了广泛的使用,成为当代最优秀的程序设计语言之 1.3C语言版本 目前最流行的C语言有以下几种: Microsoft o或称MSC Borland Turbo c或称 Turbo C °AT&TC 这些C语言版本不仅实现了 ANSI O标准,而目在此基础上各自作了一些扩充,使之更 加方便、完关 14C语言的特点 C语言简洁、紧凑,使用方使、灵活。 ANSIC一共只有32个关键字 auto brcak casc char const continuc default do double else enum extern float goto if Int long register return short signed static sizof struct switch typedef union unsigned void volatile while 9种控制语句,稈序书写自由,主要用小写字母表示,压缩了一切不必要的成分。 Turbo c扩充了11个关键字: asm cdecl far C语言教程讲义 2007年7月26日 hugeinterrupt near pa asca 注意:在C语言中,关键字都是小写的。 2·运算符丰富。共有34种。C把括号、赋值、逗号等都作为运算符处理。从而使C的运 算类型极为丰富,可以实现其他高级语言难以实现的运算。 3·数据结构类型丰富。 4·只有结构化的控制语句。 5·语法限制不太严格,程序设计自由度大 6·C语言允许直接访问物理地址,能进行位(bi)操作,能实现汇编语言的大部分功能 可以直接对硬件进行操作。因此有人把它称为中级语言。 7·生成目标代码质量髙,程序执行效率髙。 8·与汇绵语言相比,用C语言与的程序可移植性好。 但是,C语言对程序员要求也高,程序员用C写程序会感到限制少、灵活性大,功能 强,但较其他高级语言在学习上要困难些 5面向对象的程序设计语言 在C的基础上,一九八三年又由贝尔实验室的 Bjarne Trou-stup推出了C++。C++进 步护充和完善了C语言,成为一种面向对象的程序设计语言。C++目前流行的最新版本是 Borland C++, Symantec C++FL Microsoft VisualC++ C++提出了一些更为深入的概念,它所支持的这些面冋对象的概念容易将问题空间直接 地映射到程序空间,为程序员提供了一种与传统结构程序设计不同的思维方式和编程方法 因而也增加了整个语言的复杂性,掌握起来有一定难度。 1.6C和C+十 但是,C是C-+的基础,C++语言和C语言在很多方面是兼容的。因此,掌握了C语言, 再进一步学习CH1就能以一种熟悉的语法来学习面向对象的语言,从而达到事半功倍的目 的 1.7简单的C程序介绍 为了说明C语言源程序结构的特点,先看以下儿个程序。这几个程序由简到难,表现了 C语言源程序在组成结构上的特点。虽然有关内容还未介绍,但可从这些例子中了解到组成 个C源程序的基本部分和书写格式。 【例1.1】 main( printf"|界,您好!n"); main是主函数的函数名,表示这是一个主函数 每一个C源程序都必须有,且只能有一个主函数main函数)。 ●函数词用语句, printf函数的功能是把要输出的内容送到显小器去显小 C语言教程讲义 2007年7月26日 printf函数是一个由系统定义的标准函数,可在程序中直接调用。 【例1.2】 #include< math. h> #include<stdio.h> main doublc x.s. print["input number: \n") scanf("lf, &x) s=sin(x); printf"sine of %lf is %lfn,x,S); include称为文件包含命令 扩展名为h的文件称为头文件 ●定义两个实数变量,以被后面程序使用 显示提示信息 ●从键盘获得一个实数x 求x的止弦,并把它赋给变量s 显示程序运算结果 main函数结束 程序的功能是从键盘输入一个数x,求x的正炫值,然后输出结果。在main(之前的两 行称为预处理命令(详见后面)。预处理命令还有其它几种,这里的 include称为文件包含命 令,其意义是把尖括号>或引号"内指定的文件包含到本程序来,成为本程序的部分。被 包含的文件通常是由系统提供的,其扩展名为.h。因此也称为头文件或首部文件。C语言的 头文件中包括了各个标准库函数的函数原型。因此,凡是在程序中调用一个库函数时,都必 须包含该函数原型所在的头文件。在木例中,使用了三个库函数:输入函数scan,正弦函 数sin输出函数 printf。sin函数是数学函数,其头文件为 math. h文件,因此在程序的主函数 前用 include命令包含了math.h。 scanf和 printf是标准输入输出函数,其头文件为 stdio.h, 在主函数前也用 include命令包含了 stdio . h文件。 需要说明的是,C语言规定对 scanf和 printf这两个函数可以省去对其头文件的包含命 令。所以在本例中也可以朋去第二行的包含命令# include<stdio. h>。 同样,在例1.1中使用了 printf函数,也省略了包含命令 在例题中的主函数体中又分为两部分,一部分为说明部分,另一部为分执行部分。说明 是指变量的类型说明。例题1.1中未使用任何变量,因此尢说明部分。C语言规定,源程序 屮所有用到的变量都必须先说明,后使用,否则将会出错。这一点是编译型高级程序设计语 言的个特点,与解释型的BASC语言是不同的。说明部分是C源程序结构中很重要的组 成部分。本例中使用了两个变量x,s,用来表示输入的自变量和sin函数值。由于sin函数 要求这两个量必须是双精度浮点型,故用类型说明符 double米说明这两个变量。说明部分 后的四行为执行部分或称为执行语句部分,用以完成程序的功能。执行部分的第一行是输出 语句,调用 printf函数在显示器上输出提示字符串,请操作人员输入自变量ⅹ的值。第二行 为输入语句,调用 scant函数,接受键盘上输入的数并存入变量x中。第三行是调用sin函 数并把函数值送到变量s中。第四行是用 printf函数输出变量s的值,即x的正弦值。程序 结束 运行本程序时,首先在显小器屏幕上给出提小串 input number,这是由执行部分的第一

...展开详情
试读 127P C语言教程(谭浩强).pdf
立即下载 低至0.43元/次 身份认证VIP会员低至7折
    一个资源只可评论一次,评论内容不能少于5个字
    nyj981 非常好的资源,谢谢分享
    2019-05-19
    回复
    img
    xietao3

    关注 私信 TA的资源

    上传资源赚积分,得勋章
    最新推荐
    C语言教程(谭浩强).pdf 48积分/C币 立即下载
    1/127
    C语言教程(谭浩强).pdf第1页
    C语言教程(谭浩强).pdf第2页
    C语言教程(谭浩强).pdf第3页
    C语言教程(谭浩强).pdf第4页
    C语言教程(谭浩强).pdf第5页
    C语言教程(谭浩强).pdf第6页
    C语言教程(谭浩强).pdf第7页
    C语言教程(谭浩强).pdf第8页
    C语言教程(谭浩强).pdf第9页
    C语言教程(谭浩强).pdf第10页
    C语言教程(谭浩强).pdf第11页
    C语言教程(谭浩强).pdf第12页
    C语言教程(谭浩强).pdf第13页
    C语言教程(谭浩强).pdf第14页
    C语言教程(谭浩强).pdf第15页
    C语言教程(谭浩强).pdf第16页
    C语言教程(谭浩强).pdf第17页
    C语言教程(谭浩强).pdf第18页
    C语言教程(谭浩强).pdf第19页
    C语言教程(谭浩强).pdf第20页

    试读已结束,剩余107页未读...

    48积分/C币 立即下载 >