C语言课件 清华大学谭浩强版 第1章_概述
合集下载
C语言第1章C语言程序设计ppt课件
份额。 • 在信息产业最为发达的美国,印度占据其软件销
售市场份额高达60%以上
8
• 印度“硅谷”班加罗尔,可能就在一群横 七竖八躺在马路边的流浪者的正上方,赫 然悬挂着一幅巨大的某某.COM网络公司 的广告牌。
9
中印软硬件对比
2000年上半年 中国
印度
硬件与通信产品 86.12亿美元 出口额
55.9亿美元
20
四、 C语言的特点
1、C语言简洁、紧凑、方便、灵活 C语言一共只有32个关键字,9种控制语句,程序书写自由,
主要用小写字母表示。 #include "stdio.h" void main() {
int a,b, s; scanf("%d,%d",&a,&b); s=a*b; printf("s is %d\n",s);
的目标代码效率低10へ20%。
27
• 8、C语言适用范围大,可移植性好 C语言有一个突出的优点就是适合于多种操 作系统,如DOS、UNIX,也适用于多种机 型。
28
五、 简单的C语言程序介绍
用C语言编写的程序称为C语言源程序, 简称为C程序。
29
【例1.1】输出一行信息。
#include <stdio.h>育 从50年代起在全国陆续建起了6个“印度理工学院” (IIT)。 我国计算机方面的专门人才只有15万人,比印度要少 20万人。
• 语言 几乎人人懂英语是印度发展信息产业上的独有优势。
• 成本 印度编程人员的工资只有发达国家的1/8到1/5
12
1.4 我国软件的发展
• 巨大的内需 • 基础设施不错 • 社会的稳定
}
售市场份额高达60%以上
8
• 印度“硅谷”班加罗尔,可能就在一群横 七竖八躺在马路边的流浪者的正上方,赫 然悬挂着一幅巨大的某某.COM网络公司 的广告牌。
9
中印软硬件对比
2000年上半年 中国
印度
硬件与通信产品 86.12亿美元 出口额
55.9亿美元
20
四、 C语言的特点
1、C语言简洁、紧凑、方便、灵活 C语言一共只有32个关键字,9种控制语句,程序书写自由,
主要用小写字母表示。 #include "stdio.h" void main() {
int a,b, s; scanf("%d,%d",&a,&b); s=a*b; printf("s is %d\n",s);
的目标代码效率低10へ20%。
27
• 8、C语言适用范围大,可移植性好 C语言有一个突出的优点就是适合于多种操 作系统,如DOS、UNIX,也适用于多种机 型。
28
五、 简单的C语言程序介绍
用C语言编写的程序称为C语言源程序, 简称为C程序。
29
【例1.1】输出一行信息。
#include <stdio.h>育 从50年代起在全国陆续建起了6个“印度理工学院” (IIT)。 我国计算机方面的专门人才只有15万人,比印度要少 20万人。
• 语言 几乎人人懂英语是印度发展信息产业上的独有优势。
• 成本 印度编程人员的工资只有发达国家的1/8到1/5
12
1.4 我国软件的发展
• 巨大的内需 • 基础设施不错 • 社会的稳定
}
清华大学C语言谭浩强第一章
整理ppt
8
1.2.1 C程序的实例
例1.1一个简单的C程序。 void main() {
printf("Hello,Human!\n"); /*输出Hello,Human!*/ }
程序的运行结果为: Hello,Human!
整理ppt
9
对上述程序说明如下:
(1)main是主函数的函数名,表示这是一个主函 数。每一个C源程序都必须有且只有一个主函数 main。
• 1972年Ken Thompson与在UNIX系统上的亲密合作者 Dennis Ritchie将B语言改成了C语言;
整理ppt
5
• 1978年,Brain W.Kernighan、Ken Thompson与 Dennis Ritchie合著了著名的《The C Programming Language》,该书介绍的C语言成为 后来广泛使用的C语言版本的基础;
load装入文件pick显示最近装入过的最后9个文件的列表new编辑新文件文件名为nonamecsave将正在编辑的文件存盘write将正在编辑的文件改名存盘directory显示当前工作目录的内容changedir显示当前工作目录的路径名允许把它改为另一个名字osshell暂时退回到dos环境键入exit命令返回turboquit退出turboc返回dos系统整理整理pptppt4242editedit编辑菜单提供输入和编辑程序的功能不含下拉子菜单
• C语言规定,标识符由字母(A~Z,a~z)、数字 (0~9)、下划线(_)组成的字符串,并且其第一个 字符必须是字母或下划线。
• 例如:标识符a, x, x3,BOOK_1,sum5是合法的。而 以下标识符是非法的: ① 3s 以数字开头。 ② s*T 出现非法字符*。 ③ -3x 以减号开头。 ④ bowy-1 出现非法字符-(减号)。
谭浩强C语言课件第1章
8、可移植性好。基本不作修改就可以在不同型号计算 机、不同操作系统上执行。 9、C语言难学
§1.3 简单的C程序
[例1.1] main() {
printf("This is a C program.\n"); } 该程序的作用:在屏幕上输出一行信息: This is a C program.
[例1.2]求两数之和。
main() { int a, b, sum; /* 定义三个整型变量 */
a = 123; b = 456; sum = a + b; printf("sum is %d\n", sum); } 本程序的作用:求两整数a、b之和sum, 并在屏幕上输出sum。
从以上三个例子中,可以看到
1、C程序主要由函数构成,
注意: 有关设计程序的作业,必须经过上机调试!
补充练习:
以下叙述中正确的是: A)构成C程序的基本单位是函数 B)可以在一个函数中定义另一个函数 C)main()函数必须放在其它函数之前 D)所有被调用的函数一定要在调用之前进行
定义。
}
3、一个C程序总是从main( )处开始执行,而不管main() 在源程序中的位置。
4、C程序书写格式自由,一个语句可以占多行,一行也 可以有多个语句。
5、语句和数据定义后必须要有分号言用函数进行输入输出,如scanf()、printf()。 7、C语言用/* */作注释。
§1.4 Turbo C 程序设计环境的上机步骤
一、上机步骤
(Turbo C 环境介绍)
– 1、启动Turbo C: tc↙ 2、编辑源程序。C源程序的文件扩展名必须是.C。 3、编译、连接。按F9进行编译、连接。若源程序无语法 错误,生成可执行文件EXE;若源程序有语法错误,在 Message窗口显示错误信息,此时没有生成可执行文件, 应回到第2步,修改程序的错误,直到无语法错误、生成 可执行文件。 4、执行程序。Ctrl+F9执行程序。如程序未得到预期的 结果,应回到第2步,修改程序的错误。
§1.3 简单的C程序
[例1.1] main() {
printf("This is a C program.\n"); } 该程序的作用:在屏幕上输出一行信息: This is a C program.
[例1.2]求两数之和。
main() { int a, b, sum; /* 定义三个整型变量 */
a = 123; b = 456; sum = a + b; printf("sum is %d\n", sum); } 本程序的作用:求两整数a、b之和sum, 并在屏幕上输出sum。
从以上三个例子中,可以看到
1、C程序主要由函数构成,
注意: 有关设计程序的作业,必须经过上机调试!
补充练习:
以下叙述中正确的是: A)构成C程序的基本单位是函数 B)可以在一个函数中定义另一个函数 C)main()函数必须放在其它函数之前 D)所有被调用的函数一定要在调用之前进行
定义。
}
3、一个C程序总是从main( )处开始执行,而不管main() 在源程序中的位置。
4、C程序书写格式自由,一个语句可以占多行,一行也 可以有多个语句。
5、语句和数据定义后必须要有分号言用函数进行输入输出,如scanf()、printf()。 7、C语言用/* */作注释。
§1.4 Turbo C 程序设计环境的上机步骤
一、上机步骤
(Turbo C 环境介绍)
– 1、启动Turbo C: tc↙ 2、编辑源程序。C源程序的文件扩展名必须是.C。 3、编译、连接。按F9进行编译、连接。若源程序无语法 错误,生成可执行文件EXE;若源程序有语法错误,在 Message窗口显示错误信息,此时没有生成可执行文件, 应回到第2步,修改程序的错误,直到无语法错误、生成 可执行文件。 4、执行程序。Ctrl+F9执行程序。如程序未得到预期的 结果,应回到第2步,修改程序的错误。
C 程序设计谭洁强第1章.ppt
再看程序的第1行“#include <iostream>”,这不是 C++的语句,而是C++的一个预处理命令,它以 “#”开头以与C++语句相区别,行的末尾没有分 号。
#include <iostream>是一个“包含命令”,它的作 用是将文件iostream的内容包含到该命令所在的程 序文件中,代替该命令行。文件iostream的作用是 向程序提供输入或输出时所需要的一些信息。 iostream是i-o-stream 3个词的组合,从它的形式就 可以知道它代表“输入输出流”的意思,由于这类 文件都放在程序单元的开头,所以称为“头文件” (head file)。在程序进行编译时,先对所有的预处 理命令进行处理,将头文件的具体内容代替 #include命令行,然后再对该程序单元进行整体编 译。
(2) 增加了面向对象的机制。
面向对象程序设计,是针对开发较大规模的程序而 提出来的,目的是提高软件开发的效率。
不要把面向对象和面向过程对立起来,面向对象和 面向过程不是矛盾的,而是各有用途、互为补充的。
学习C++,既要会利用C++进行面向过程的结构化 程序设计,也要会利用C++进行面向对象的程序设 计。本书既介绍C++在面向过程程序设计中的应用, 也介绍C++在面向对象程序设计中的应用。
在初学C++时,对本程序中的第1,2行可以不必深究, 只需知道: 如果程序有输入或输出时,必须使用
“#include <iostream>”命令以提供必要的信息, 同时要用“using namespace std;” ,使程序能够使 用这些信息,否则程序编译时将出错。
c语言程序设计第01章PPT教学课件
int max(x,y)
int x,y;
{ int z;
if (x>y) z = x;
else
z = y;
return (z) ;
}
void main( )
{ int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d",c);
}
自定义函数 形参说明 局部变量
将Z值返回
主函数 定义变量 输入a,b值 调max函数 输出C值
2020/12/10
输入:8,5 输出:max=8 6
C程序的基本结构
• C程序是由函数组成
A.至少包含且仅一个main函数 B.可包含若干个其它函数(用户定义的函数) C.可调用库函数(标准C提供100多个库函数,TURBO C提供300多个)
表达式
语句1
语句2
选择结构
11
循环体
真(非0) 循环条件 假(0)
循环结构
2020/12/10
12
PPT教学课件
谢谢观看
Thank You For Watching
13
• C语言没有输入、输出语句
输入、输出由编译系统提供的库函数来完成。
• 对大、小写字母敏感
关键字要小写。通常符号常量大写,变量小写。
• 书写格式自由
提倡用缩进格式。
• 可用“/*”和“ */”对程序作注释
便于程序的阅读、理解。
2020/12/10
8
§1.4 算法和C程序的三种基本结构
算法是为解决一个问题而采取的方法和步骤。 算法的特点:
C语言谭浩强完整课件
着广泛的应用。
计算机系统基本概念
计算机系统的组成
计算机系统由硬件系统和软件系统两大部分组成,硬件系统包括运算器、控制器、存储器 、输入设备和输出设备等五大部分;软件系统包括系统软件和应用软件两大类。
计算机的工作原理
计算机的工作原理可以概括为存储程序控制和程序控制流,即计算机通过执行存储在内存 中的程序来控制各部件协调工作。
在定义数组时,可以直接 对数组进行初始化,也可 以定义后再进行赋值。
一维数组的使用
通过下标访问数组元素, 下标从0开始,最大下标为 数组长度减1。
二维数组与多维数组
二维数组的定义
二维数组可以看作是一个 表格,由行和列组成,每 个元素都有两个下标。
二维数组的初始化
在定义二维数组时,可以 直接对数组进行初始化, 也可以定义后再进行赋值 。
scanf和printf函数都支持 格式化输入输出,可以通 过格式控制符指定输入输 出数据的类型和格式。
格式化输入
格式控制符
C语言提供了一组格式控制符,用于 指定输入输出数据的类型和格式,如 %d表示输入输出整数,%f表示输入 输出浮点数等。
格式化输入
格式化输出
使用printf函数进行格式化输出时, 可以指定输出数据的格式和显示方式 ,如控制小数位数、显示宽度等。
类型。
枚举常量的说明
在枚举类型定义中,可以列 出多个枚举常量,每个常量 对应一个整数值。默认情况 下,第一个枚举常量的值为0 ,后续常量的值依次递增1。
枚举变量的使用
声明枚举类型的变量后,可 以为其赋值。枚举变量的值 只能是枚举常量中定义的值 。使用枚举类型可以提高代 码的可读性和可维护性。
08
文件操作与数据处理
yjs第01章概述
从键盘上输入三个数,求该三个数的平均值。 例1.7 从键盘上输入三个数,求该三个数的平均值。
说明:本程序包含两个函数: 说明:本程序包含两个函数:主函数 main和被调函数 和被调函数average;主函数第四行 和被调函数 ; scanf是调用 语言的标准输入函数;第五 是调用C语言的标准输入函数 是调用 语言的标准输入函数; 行中调用average函数,a, b, c的值分别传 函数, 行中调用 函数 的值分别传 递给函数中的形参a1,b1,c1,返回函数值, 递给函数中的形参 ,返回函数值, 再赋给变量aver;最后输出变量 再赋给变量 ;最后输出变量aver的值 的值 该程序运行情况如下: ,该程序运行情况如下:
sum is 5
float average(float a1,float b1,float c1) , , ) { float aver1 ; aver1=(a1+b1+c1)/3 ; ( ) return(aver1) ; ( ) } main ( ) / * 主程序 * / { float a,b,c,aver ; , , , printf(”Please input a,b,c:”); ( , , : scanf(”%f %f %f ”,&a , &b , &c ) ; ( , aver=average(a,b,c) ; ( , , ) printf(”the average is % 4 . 1 f ”,aver) ; , }
Please input a , b , c : 10.5 The average is 7.6 8.7 3.6
总结C程序的基本结构: 总结 程序的基本结构: 程序的基本结构 程序是由一个或多个函数组成。 (1)C程序是由一个或多个函数组成。函数是 程序的 ) 程序是由一个或多个函数组成 函数是C程序的 基本单位,一个程序至少要包含一个main函数。 函数。 基本单位,一个程序至少要包含一个 函数 (2)函数由两部分组成:函数说明部分、函数体。 )函数由两部分组成:函数说明部分、函数体。 函数说明部分:包括函数名、函数类型、 函数说明部分:包括函数名、函数类型、函数属性 、函数的参数名、参数类型。函数名后必须跟一对圆括 函数的参数名、参数类型。 号作为函数的标志。例如: 号作为函数的标志。例如: float average (float a1, float b1, float c1) , , ) 函数体:由一对打括号{ 扩起来 扩起来, 函数体:由一对打括号 }扩起来,函数体又分为两 部分:变量定义部分、执行部分。 部分:变量定义部分、执行部分。 函数放到何处, 程序总是从 程序总是从main函数开 (3)不论 )不论main函数放到何处,C程序总是从 函数放到何处 函数开 始执行, 函数结束而整个程序结束。 始执行,随main函数结束而整个程序结束。 函数结束而整个程序结束 (4)一个复杂的语句可以写成几行,用反斜杠 \ 表示续 )一个复杂的语句可以写成几行, 几个简单语句也可写在一起,都必须用“ 作为每 行;几个简单语句也可写在一起,都必须用“;”作为每 句结束标志。 句结束标志。 (5)可以用/*……*/对程序任何部分做注释。 )可以用 对程序任何部分做注释。 对程序任何部分做注释
C程序设计教程课件谭浩强第II版第1章清华出版社
相关资源推荐
谭浩强C程序设计教程第 II版第1章清华出版社
谭浩强C程序设计教程第 II版第1章清华出版社配 套习题集
谭浩强C程序设计教程第 II版第1章清华出版社配 套实验指导书
谭浩强C程序设计教程第 II版第1章清华出版社配 套教学视频
谭浩强C程序设计教程第 II版第1章清华出版社配 套课件
谭浩强C程序设计教程第 II版第1章清华出版社配 套考试题库
YOUR LOGO
THANK YOU
汇报人:
C程序设计教程课
05
件使用建议
学习建议
认真学习每一 章的内容,理 解C语言的基 本概念和语法
规则。
动手实践,通 过编写和调试 程序来掌握C 语言的编程技
巧。
遇到问题时, 可以参考教材 中的示例程序 和讲解,也可 以向老师和同
学请教。
定期复习,巩 固所学知识, 提高编程能力。
使用技巧
熟悉C语言的基本语法和规则
顺序结构:按照语句顺序执行 选择结构:根据条件选择执行不同的语句 循环结构:重复执行一段代码,直到满足某个条件 跳转结构:根据条件或需求,跳转到指定的位置执行
C程序设计教程课
03
件特点
结构清晰
内容全面:涵盖 了C语言的基础 知识和编程技巧
逻辑性强:按照 C语言的逻辑结 构进行讲解,易 于理解
实例丰富:提供 了大量的实例和 练习题,便于读 者实践和掌握
适用人群
计算机专业学生
软件工程师
编程爱好者 计算机教师
内容简介
谭浩强教授编写的C程序 设计教程
清华大学出版社出版
适合初学者学习C语言
包括C语言的基本语法、 数据类型、控制结构、函 数等知识点
C程序设计(谭浩强)_第01章_概述
C程序总是从main函数开始执行的 程序总是从main函数开始执行的, main函数 (3) C程序总是从main函数开始执行的,与main函数 的位置无关。 的位置无关。 C程序书写格式自由 一行内可以写几个语句, 程序书写格式自由, (4) C程序书写格式自由,一行内可以写几个语句, 一个语句可以分写在多行上, 程序没有行号。 一个语句可以分写在多行上,C程序没有行号。 每个语句和数据声明的最后必须有一个分号。 (5) 每个语句和数据声明的最后必须有一个分号。 C语言本身没有输入输出语句 语言本身没有输入输出语句。 (6) C语言本身没有输入输出语句。输入和输出的操 作是由库函数scanf printf等函数来完成的 scanf和 等函数来完成的。 作是由库函数scanf和printf等函数来完成的。C 对输入输出实行“函数化” 对输入输出实行“函数化#include <stdio.h> /*求两数之和 求两数之和* void main( ) /*求两数之和*/ { /*声明 定义变量为整型* 声明, int a,b,sum; /*声明,定义变量为整型*/ /*以下 行为C 以下3 /*以下3行为C语句 */ a=123; b=456; sum=a+b; %d\ printf(″sum is %d\n″,sum); } 说明: /*……*/表示注释。注释只是给人 /*……*/表示注释 表示注释。 看的,对编译和运行不起作用。 看的,对编译和运行不起作用。所以可以用 汉字或英文字符表示, 汉字或英文字符表示,可以出现在一行中 的最右侧,也可以单独成为一行。 的最右侧,也可以单独成为一行。
§1-2 C语言的特点
允许直接访问物理地址, (6)允许直接访问物理地址,能进行位操 能实现汇编语言的大部分功能, 作,能实现汇编语言的大部分功能,可直 接对硬件进行操作。兼有高级和低级语 接对硬件进行操作。 言的特点 。 目标代码质量高,程序执行效率高。 (7)目标代码质量高,程序执行效率高。 只比汇编程序生成的目标代码效率低10 只比汇编程序生成的目标代码效率低10 20%。 %-20%。 程序可移植性好(与汇编语言比) (8)程序可移植性好(与汇编语言比)。 基本上不做修改就能用于各种型号的计 算机和各种操作系统。 算机和各种操作系统。
§1-2 C语言的特点
允许直接访问物理地址, (6)允许直接访问物理地址,能进行位操 能实现汇编语言的大部分功能, 作,能实现汇编语言的大部分功能,可直 接对硬件进行操作。兼有高级和低级语 接对硬件进行操作。 言的特点 。 目标代码质量高,程序执行效率高。 (7)目标代码质量高,程序执行效率高。 只比汇编程序生成的目标代码效率低10 只比汇编程序生成的目标代码效率低10 20%。 %-20%。 程序可移植性好(与汇编语言比) (8)程序可移植性好(与汇编语言比)。 基本上不做修改就能用于各种型号的计 算机和各种操作系统。 算机和各种操作系统。
C语言(谭浩强)第01章C语言概述
本文由11ZR贡献 ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。 第一章 C语言概述 语言概述 1.1 C语言出现的历史背景 C语言出现的历史背景 C语言是国际上流行的、很有 发展前途的计算机高级 语言是国际上流行的、 语言。 语言适合于作为“系统描述语 言” 语言。C语言适合于作为“系统描述语言”。它既可以用 编写系统软件,也可以 用来编写应用程序 编写应用程序。 来编写系统软件,也可以用来编写应用程序。 背 景: 背景: 1)操作系统等系统软件以前采用汇编语言编写,而 操作系统等系统软 件以前采用汇编语言编写, 汇编语言编写 汇编语言可读性和可移植性都比较差 可读 性和可移植性都比较差; 汇编语言可读性和可移植性都比较差; 2)而当时的高级语 言难以实现汇编语言的某些功能 内存地址的读写-直接硬件、二进制位的操作), ( 如:内存地址的读写-直接硬件、二进制位的操作), 不适宜编写系统软件。 不适宜 编写系统软件。 C语言的发展历程 语言的发展历程 ALGOL 60 高级语言离 硬件较远 剑桥大学 剑桥大学的 Matin.Richards CPL 较ALGOL60 接近一些硬 件但规模比 较大,难以 实现 BCPL BCPL是对 CPL进行简化 后的一种语 言。 贝尔实验室 Ken.Thompson C语言 语言 精炼很接 近硬件功 能强大 B语言 语言 很简单 很接近硬 件但功能 有限 贝尔实验室的 D.M.RITCHIE C语言的发展历程 语言的发展历程 1972~ ~ 1973年 年 贝尔实验室 D.M.Ritchie 设计出C语言 1973年 年 K.Thompson &D.M.Ritchie 用C改写出 UNIX第五版 1977年 年 出现了不依赖 于具体机器的 的C语言编译文 本《可移植C语 言编译程序》 1978年 年 C语言先后 移植到大、 中、小、微 型机上,独 立于UNIX 和PDP 1978年 年 K&R合著了影 响深远的 《The C Programming Language》 1983年 年 美国国家 标准化协 会制定 ANSI C 1990年 年 国际标准 化组织 ISO制定 ISO C标 准 目前 C C++ Builder Visual C++ Visual C# 微机计算机DOS、Windows平台上常见的 语 、 平台上常见的C语 微机计算机 平 台上常见的 言版本有: 言版本有: Borland公司: Borland公司: 公司 Turbo C Turbo C++ Borland C++ C++ Bu ilder(Windows版本) Builder(Windows版本 版本) Microsoft公司 Microsoft公司: 公司: Microsoft C 版本) Visual C++,Visual C#(Windows版本) C++, C#(Wind ows版本 1.2 C语言的特点 语言的特点 (1)语言简洁、紧凑、使用方便、灵活。 语言一 共只有32 (1)语言简洁、紧凑、使用方便、灵活。C语言一共只有32 语言简洁 个关键 字, 种控制语句,程序书写形式自由, 个关键字,9种控制语句,程序书写形式自由 ,主要用 小写字母表示。相对另一种过程化语言PASCAL, 小写字母表示。相对另一
谭浩强C语言课件第01章
[Return]
1.4 Turbo C V2.0的基本操作 的基本操作
1.运行一个C语言程序的一般过程 2.TC的启动,退出与命令菜单 3.编辑并保存一个C语言源程序 4.编译,连接——单个源程序文件 5.运行与查看结果 6.编辑下一个新的源程序 [Return]
1.运行一个C语言程序的一般过程 运行一个C 运行一个 Turbo C是一个集源程序编辑,编译,连接,运行与调试于一 体, 用菜单驱动的集成软件环境. 运行一个C语言程序的一般过程: (1)启动TC,进入TC集成环境. (2)编辑(或修改)源程序. (3)编译.如果编译成功,则可进行下一步操作;否则,返回 (2)修改源程序,再重新编译,直至编译成功. (4)连接.如果连接成功,则可进行下一步操作;否则,根 据系统的错误提示,进行相应修改,再重新连接,直至连接成功. (5)运行.通过观察程序运行结果,验证程序的正确性.如果 出现逻辑错误,则必须返回(2)修改源程序,再重新编译,连接和 运行,直至程序正确. (6)退出TC集成环境,结束本次程序运行.
如果某条语句很长,一般需要将其分写在几行上. 3.允许使用注释. C语言的注释格式为: /* …… */ 例如,在[案例1.1]和[案例1.2]中,以及本节其它部分给 出的源程序中,凡是用"/*"和"*/"括起来的文字,都是注 释. (1) "/*"和"*/" 必须成对使用,且"/"和"*",以 及"*"和"/"之间不能有空格,否则都出错.
[案例 案例1.3] 改写[案例 案例1.2],交换main()函数和max()函数的前后位置. 案例 案例 源程序略. 程序运行情况: Input the first integer number:6←┘ Input the second integer number:9←┘ max=9 1.函数是C语言程序的基本单位. 函数是C语言程序的基本单位. 函数是 main()函数的作用,相当于其它高级语言中的主程序;其它函数 的作用,相当于子程序. 2.C语言程序总是从 语言程序总是从main()函数开始执行. 函数开始执行. 语言程序总是从 函数开始执行 一个C语言程序,总是从main()函数开始执行,而不论其在程序 中的位置.当主函数执行完毕时,亦即程序执行完毕. 习惯上,将主函数main()放在最前头.
C语言谭浩强完整课件
这种双重性,使它既是成功的系统描述 语言,又是通用的程序设计语言
1.3 C语言的发展及其特点
C语言主要特点:
用C语言编写的程序可移植性好。
C的编译系统简洁,很容易移植到新系统
在新系统上运行时,可直接编译“标准链接 库”中的大部分功能,不需要修改源代码
几乎所有计算机系统都可以使用C语言
1.4.1 最简单的C语言程序举例
#include <stdio.h>
int main( )
{ printf (”This is a C program.\n”); return 0; }
当main函数执行结束前 将整数0作为函数值
1.4.1 最简单的C语言程序举例
#include <stdio.h>
#include <stdio.h> int main( ) { int a,b,sum; a = 123; b = 456; 用sum的值替代 sum = a + b; printf(”sum is %d\n”,sum); return 0; 希望输出的字符 }
例1.3求两个整数中的较大者。 解题思路: 用一个函数实现求两个整数中的较大者 在主函数中调用此函数并输出结果
#include <stdio.h> int main( ) { 因max函数的定义在main函数之后,需声明 int max(int x,int y); int max(int x,int y) int a,b,c; scanf(”%d,%d”,&a,&b); { int z; c = max(a,b); printf("max=%d\n",c); if (x > y) z = x; else z = y; return 0; return(z); } }
1.3 C语言的发展及其特点
C语言主要特点:
用C语言编写的程序可移植性好。
C的编译系统简洁,很容易移植到新系统
在新系统上运行时,可直接编译“标准链接 库”中的大部分功能,不需要修改源代码
几乎所有计算机系统都可以使用C语言
1.4.1 最简单的C语言程序举例
#include <stdio.h>
int main( )
{ printf (”This is a C program.\n”); return 0; }
当main函数执行结束前 将整数0作为函数值
1.4.1 最简单的C语言程序举例
#include <stdio.h>
#include <stdio.h> int main( ) { int a,b,sum; a = 123; b = 456; 用sum的值替代 sum = a + b; printf(”sum is %d\n”,sum); return 0; 希望输出的字符 }
例1.3求两个整数中的较大者。 解题思路: 用一个函数实现求两个整数中的较大者 在主函数中调用此函数并输出结果
#include <stdio.h> int main( ) { 因max函数的定义在main函数之后,需声明 int max(int x,int y); int max(int x,int y) int a,b,c; scanf(”%d,%d”,&a,&b); { int z; c = max(a,b); printf("max=%d\n",c); if (x > y) z = x; else z = y; return 0; return(z); } }
C语言第一章谭浩强PPT课件
第5页/共17页
算法的特性
(1)有穷性 (2)确定性 (3)有效性 (4)有零个或多个输入 (5)有一个或多个输出
第6页/共17页
算法的表示——流程图
起止框
输入/输出框
处理框 判断框
流程线
第7页/共17页
算法的表示——流程图
M(x)=
bx+a2
x≤a
a(c-x)+c2 x>a
开始
输入a,b,c,x
主要内容
一. 二. 三.
简单的C程序介绍 算法和算法的表示 结构化程序设计方法
第1页/共17页
C程序介绍
例1: main( ) {
printf(“This is a C program.\n”); }
向显示器输出: This is a C program.
1、 main为主函 数名。()是函数 的参数部分,内容 可以为空,但括号 不可以省。 2、C程序由函数 构成。一个C程序 有且仅有一个主函 数,C程序总是从 main函数开始执 行。
第2页/共17页
C程序的基本结构
例2、 main() { int a,b,c; a=2;b=3; c=a+b; printf(“%d”,c); }
第3页/共17页
3、书写格式自由。一 行内可以写几个语句, 一个语句可以写在多行 上。 4、每个语句和数据定 义的最后必须有一个分 号 ,包括程序的最后一 个语句。 5、C语言本身没有输 入输出语句。 6、用/*…*/ 对程序进 行注释。
第11页/共17页
程序的三种基本结构
循环结构
a
N 条件
Y
S
b
a
S
条件 N Y b
算法的特性
(1)有穷性 (2)确定性 (3)有效性 (4)有零个或多个输入 (5)有一个或多个输出
第6页/共17页
算法的表示——流程图
起止框
输入/输出框
处理框 判断框
流程线
第7页/共17页
算法的表示——流程图
M(x)=
bx+a2
x≤a
a(c-x)+c2 x>a
开始
输入a,b,c,x
主要内容
一. 二. 三.
简单的C程序介绍 算法和算法的表示 结构化程序设计方法
第1页/共17页
C程序介绍
例1: main( ) {
printf(“This is a C program.\n”); }
向显示器输出: This is a C program.
1、 main为主函 数名。()是函数 的参数部分,内容 可以为空,但括号 不可以省。 2、C程序由函数 构成。一个C程序 有且仅有一个主函 数,C程序总是从 main函数开始执 行。
第2页/共17页
C程序的基本结构
例2、 main() { int a,b,c; a=2;b=3; c=a+b; printf(“%d”,c); }
第3页/共17页
3、书写格式自由。一 行内可以写几个语句, 一个语句可以写在多行 上。 4、每个语句和数据定 义的最后必须有一个分 号 ,包括程序的最后一 个语句。 5、C语言本身没有输 入输出语句。 6、用/*…*/ 对程序进 行注释。
第11页/共17页
程序的三种基本结构
循环结构
a
N 条件
Y
S
b
a
S
条件 N Y b
经典C语言(谭浩强版)第一、二章.幻灯片PPT
C语言程序设计
教材名称: ?C程序设计(第三版)? 谭浩强 清华大学出版社
精品文档
第一章 C语言概述
一、计算机语言
1、机器语言 ——机器指令的集合 2、汇编语言 ——符号化的机器语言 3、高级语言 ——通用自然的算法语言 4、高级语言向机器语言地过渡
高级语言 编译 机器语言 执行 计算结果 源程序 解释 目标程序
}
精品文档
2.3 算法的特性
1. 有穷性:一个算法包含有限的操作步骤 2. 确定性:算法中的每一个步骤是确定的,含义是唯一的 3. 有零个或多个输入 4. 有一个或多个输出 5. 有效性:算法中每一个步骤应能有效运行
精品文档
2.4 算法的表示
1. 用自然语言表示 优点是使用日常用语, 通俗易懂 缺点是文字冗长, 容易出现歧义
说明: 1.C程序由假设干个函数组成 一个程序必须有一个main函数 2.max是用户编写的一个函数 ① 函数首部依次由函数类型、函数名和 函 数参数组成 ② 函数体由说明局部和执行局部组成 说明局部用来定义数据类型 如 int z; 说明了一个实数类型的变量z /*以从执分键行盘局输部入由a假和设b的干数语据句*组/ 成,每条语句 号完毕 /*调用max函数,求较大的数*/
1987 87 ANSI C 1990 ISO C
精品文档
三、C语言特点
1、简练、自由、构造化 2、运算符丰富〔附录Ⅲ〕 3、数据构造丰富 4、可直接对硬件进展操作 5、目标程序质量高
精品文档
四、简单C程序分析
例1.1 打印〔显示〕一串字符 /* example1.1 */ #include <stdio.h> main( ) { printf(“This is an example. \n〞); }
教材名称: ?C程序设计(第三版)? 谭浩强 清华大学出版社
精品文档
第一章 C语言概述
一、计算机语言
1、机器语言 ——机器指令的集合 2、汇编语言 ——符号化的机器语言 3、高级语言 ——通用自然的算法语言 4、高级语言向机器语言地过渡
高级语言 编译 机器语言 执行 计算结果 源程序 解释 目标程序
}
精品文档
2.3 算法的特性
1. 有穷性:一个算法包含有限的操作步骤 2. 确定性:算法中的每一个步骤是确定的,含义是唯一的 3. 有零个或多个输入 4. 有一个或多个输出 5. 有效性:算法中每一个步骤应能有效运行
精品文档
2.4 算法的表示
1. 用自然语言表示 优点是使用日常用语, 通俗易懂 缺点是文字冗长, 容易出现歧义
说明: 1.C程序由假设干个函数组成 一个程序必须有一个main函数 2.max是用户编写的一个函数 ① 函数首部依次由函数类型、函数名和 函 数参数组成 ② 函数体由说明局部和执行局部组成 说明局部用来定义数据类型 如 int z; 说明了一个实数类型的变量z /*以从执分键行盘局输部入由a假和设b的干数语据句*组/ 成,每条语句 号完毕 /*调用max函数,求较大的数*/
1987 87 ANSI C 1990 ISO C
精品文档
三、C语言特点
1、简练、自由、构造化 2、运算符丰富〔附录Ⅲ〕 3、数据构造丰富 4、可直接对硬件进展操作 5、目标程序质量高
精品文档
四、简单C程序分析
例1.1 打印〔显示〕一串字符 /* example1.1 */ #include <stdio.h> main( ) { printf(“This is an example. \n〞); }
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文由xinlanziling贡献 ppt文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机 查看。 第一章 本章要点 C语言的特点 C程序的结构 在计算机上运行C 在计算机上运行C程序的方法 主要内容 1.1 C语言出现的历史背景 1.2 C程序的特点 1.3 简单的C语言程序介绍 简单的 C 运行C 1.4 运行C程序的步骤和方法 1.1 C语言出现的历史背景 C语言是国际上广泛流行的高级语言. C语言是在B语言的基础上发展起来的. B (BCPL)语言是1970年由美国贝尔实验 室设计的, 并用于编写了第一个UNIX操作 系统 ,在PDP 7上实现.优点:精练,接近硬 件,缺点:过于简单,数据无类型. 1973年贝尔实验 室的D.M.Ritchie 在B语言 的基础上设计出了C语言,对B取长补短, 并用之改写了原来 用汇编编写的UNIX,(即 UNIX第5版),但仅在贝尔实验室使用. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 4 1.1C 1.1C语言出现的历史背景 1975年UNIX第6版发布,C优点突出引起关注. 1977年出现了《可移植C语言编译程 序》 , 推动了UNIX在各种机器上实现 ,C语言也得 到推广,其发展相辅相成. 1978年 影响深远的名著《The C Programming Language》由 Brian W.Kernighan和Dennis M .Ritchie 合著,被称为标准C. 之后,C语言先后移植到大,中,小,微型计 算机上,已独 立于UNIX和PDP,风靡世界,成为 最广泛的几种计算机语言之一. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 5 1.1C 1.1C语言出现的历史背景 1983年,美国国家标准化协会(ANSI)根据C语 言 各种版本对C的发展和扩充,制定了新的标 准ANSI C ,比标准C有了很大的发展. 1988 年K & R按照 ANSI C修改了他们的《The C Programming Language》. 1987年,ANSI公 布了新标准——87 ANSI C. 1990年,国际标准化组织接受了87 ANSI C为 ISO C 的标 准(ISO9899—1990). 1994年,ISO又修订了C语言标准. 目前流行的C语言编译系统大多 是以ANSI C为 基础进行开发的. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 6 1.1C 1.1C语言出现的历史背景 说明: 说明: 不同版本的C编译系统所实现的语言 功能和语法规则又略有差别,因此读者 应了 解所用的C语言编译系统的特点(可 以参阅有关手册).本书的叙述基本上以 ANSI C 为 基础. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.cn 7 1.2 C语言的特点 (1)语言简洁,紧凑,使用方便,灵活. 32 个关键字,9种控制语句,程序形式自由. (2)运算符丰富.34种运算符 . (3)数据类型丰富,具有现代语言的各种数据 结构. ( 4)具有结构化的控制语句 ,是完全模块化 和结构化的语言. (5)语法限制不太严格,程 序设计自由度大. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.cn 8 1.2 C语言的特点 (6)允许直接访问物理地址,能进行位操 作,能实现汇编语言的大部分功能,可直 接对硬件进行操作.兼有高级和低级语 言的特点 . (7)目标代码质量高,程序执行效 率高. 只比汇编程序生成的目标代码效率低10 %-20%. (8)程序可移植性1.3 简单的C语言程序介绍 简单的C 小结: 小结: (3) C程序总是从main函数开始执行的,与main函数 的位置无关. (4) C程序书写 格式自由,一行内可以写几个语句, 一个语句可以分写在多行上,C程序没有行号. (5) 每个语句和数据声明的最后必须有一个分号. (6) C语言本身没有输入输出语句.输入 和输出的操 作是由库函数scanf和printf等函数来完成的.C对 输入输出实行"函数化 ". C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.cn 16 1.4 运行C程序的步骤和方法 运行C 1.4.1 运行C程序的步骤 上机输入与编辑源程序 对源程序进行编译 与库函数连 接 运行目标程序 C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.cn 17 1.4 运行C程序的步骤和方法 运行C 1.4.2上机运行C 1.4.2上机运行C程序的方 法 上机运行 目前使用的大多数C编译系统都是集成环境(IDE)的.可 以用不同的编译系统对C 程序进行操作. 常用的有Turbo C 2.0,Turbo C++ 3.0,Visual C++等. Turbo C++ 3. 0:是一个集成环境,它具有方便,直观 和易用的界面,虽然它也是DOS环境下的集成环境 ,但 是可以把启动Turbo C++ 3.0 集成环境的DOS执行文件 tc.exe生成快捷方式,也可 以用鼠标操作. Visual C++:也可以用Visual C++对C程序进行编译. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.cn 18 例:Turbo C++ 3.0的使用 3.0的使用 3.0编译程序装入磁盘某一目录下 将Turb o C++ 3.0编译程序装入磁盘某一目录下 例如: 例如: 放在C盘根目录下一级TC3.0子 目录下. TC3.0子目录下 放在C盘根目录下一级TC3.0子目录下. (1) 进入 进入Turbo C++ 3.0集成环境 集成环境 ①在DOS环境下 环境下 C:\TC3.0>tc ↙ C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.cn 19 ② 在Windows环境下 Windows环境下 找到可执行文件tc.exe,执行该文件. 主菜单:11个菜单项: 主菜单:11个菜单项: File Edit Search Run Compile De bug Project Options Window Help Help C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.cn 20 (2) 编辑源文件 新建:单击"File"菜单下 新建:单击"File"菜单下 的"New", 修改:选择"File"→"Open"(即单击 即单击" 修改:选择"File"→"Open"(即单击 "File" 的下 拉菜单中的"Open"项 修改已有的源程序. 拉菜单中的"Open"项,修改已 有的源程序. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 21 在编辑(EDIT) 状态下光标表示当前进行编辑的位 在编辑 在此位置可以进行插 入,删除或修改, 置,在此位置可以进行插入,删除或修改,直到 自已满意为止. 自已满 意为止. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.cn 22
page 1
言比). 基本上不做修改就能用于各种型号的计 算机和各种操作系统. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 9 1.2 C语言的特点 问题:既然有了面向对象的C++语言, 问题:既然有了面向对象的C++语言,为 C++ 语言 什么还要学习C语言? 什么还要学习C语言? 解释1 解释1:C++是由于开发大型应 用软件的需 要而产生的,并不是所有的人都要去编 写大型软件. 解释2 解释2:面向对 象的基础是面向过程.C++ 是面向对象的语言,C是面向过程的,学 起来比C语言困难得 多,所以不太适合程 序设计的初学者. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 10 说明: 本程序的作用是输出一行信息: 说明: 本程序的作用是输出一行信息: 简 单的C This is a C program. 1.3 简单的C语言程序介绍 #include void main( ) { printf ("This is a C program.\n"); } /*文件包含*/ /*主函数 */ /*函数体开始*/ /*输出语句*/ /*函数体结束*/ 说明: main-主函数名, void-函数类型 说明: 每个C程序必须有一个主函数mai n { }是函数开始和结束的标志,不可省 每个C语句以分号结束 使用标准库函数时应在 程序开头一行写: #include C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 11 说明: 输出一行信息:sum 说明: 输出一行信息:sum is 579 例1.2 求两数之和 #include void main( ) /*求两数之和*/ { int a,b,sum; /*声明,定义变量为整型 */ /*以下3行为C语句 */ a=123; b=456; sum=a+b; printf(〃sum is %d\n〃,sum); } 说明: 说明: /*……*/表示注释.注释只是给人 看的,对编译和运行不起作用.所以 可以用 汉字或英文字符表示,可以出现在一行中 的最右侧,也可以单独成为一行. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 12 程序运行情况如下: 程序运行情况如下: 个数中较大者. 例1.3 求3个数中较大 者. 8,5 ↙(输入8和5赋给a和b) 个数中较大者 ↙(输入 输入8 赋给a #include ma x=8 (输出c的值) (输出 的值) 输出c void main( ) /* 主函数*/ { int max(int x ,int y); / 对被调用函数max的声明 */ int a, b, c; /*定义变量a,b,c */ scanf( 〃%d,%d〃,&a,&b); /*输入变量a和b的值*/ max(a,b); max(a c=max(a,b); /*调用m ax函数,将得到的值赋给c */x, inty); int max(int x,int y) printf(〃max=%d\\n 〃,c); { /*输出c的值*/ } int z; 说明: 说明:本程序包括main和被调用 if (x>y) z=x; 函数max两个函数.max函数的 else z=y; 作用是将x和y中较大者的值赋 retur n (z); 给变量z.return语句将z的值 } 返回给主调函数main. C程序设计(第三版) 程 序设计( 程序设计 第三版) http://ccf.tsinghua.edu.cn 13 1.3 简单的C语言程序介绍 简单的C C程序: 程序: (1) C程序是由函数构成的. 这使得程序容易实现 模块化. (2) 一个函数由两部 分组成: 函数的首部:例1.3中的max函数首部 int max(int x,int y ) 函数体:花括号 内的部分.若一个函数有多个花 括号,则最外层的一对花括号为函数体的范围. 函数体 包括两部分 : 声明部分:int a,b,c; 可缺省 执行部分:由若干个语句组成.可缺省 C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 14 1.3 简单的C语言程序介绍 简单的C 注意: 注意: 函数的声明部分和执行部分都可缺省,例如: void dump ( ) { } 这是一个空函数,什么也不做,但是合法的函数. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.cn
page 1
言比). 基本上不做修改就能用于各种型号的计 算机和各种操作系统. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 9 1.2 C语言的特点 问题:既然有了面向对象的C++语言, 问题:既然有了面向对象的C++语言,为 C++ 语言 什么还要学习C语言? 什么还要学习C语言? 解释1 解释1:C++是由于开发大型应 用软件的需 要而产生的,并不是所有的人都要去编 写大型软件. 解释2 解释2:面向对 象的基础是面向过程.C++ 是面向对象的语言,C是面向过程的,学 起来比C语言困难得 多,所以不太适合程 序设计的初学者. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 10 说明: 本程序的作用是输出一行信息: 说明: 本程序的作用是输出一行信息: 简 单的C This is a C program. 1.3 简单的C语言程序介绍 #include void main( ) { printf ("This is a C program.\n"); } /*文件包含*/ /*主函数 */ /*函数体开始*/ /*输出语句*/ /*函数体结束*/ 说明: main-主函数名, void-函数类型 说明: 每个C程序必须有一个主函数mai n { }是函数开始和结束的标志,不可省 每个C语句以分号结束 使用标准库函数时应在 程序开头一行写: #include C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 11 说明: 输出一行信息:sum 说明: 输出一行信息:sum is 579 例1.2 求两数之和 #include void main( ) /*求两数之和*/ { int a,b,sum; /*声明,定义变量为整型 */ /*以下3行为C语句 */ a=123; b=456; sum=a+b; printf(〃sum is %d\n〃,sum); } 说明: 说明: /*……*/表示注释.注释只是给人 看的,对编译和运行不起作用.所以 可以用 汉字或英文字符表示,可以出现在一行中 的最右侧,也可以单独成为一行. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 12 程序运行情况如下: 程序运行情况如下: 个数中较大者. 例1.3 求3个数中较大 者. 8,5 ↙(输入8和5赋给a和b) 个数中较大者 ↙(输入 输入8 赋给a #include ma x=8 (输出c的值) (输出 的值) 输出c void main( ) /* 主函数*/ { int max(int x ,int y); / 对被调用函数max的声明 */ int a, b, c; /*定义变量a,b,c */ scanf( 〃%d,%d〃,&a,&b); /*输入变量a和b的值*/ max(a,b); max(a c=max(a,b); /*调用m ax函数,将得到的值赋给c */x, inty); int max(int x,int y) printf(〃max=%d\\n 〃,c); { /*输出c的值*/ } int z; 说明: 说明:本程序包括main和被调用 if (x>y) z=x; 函数max两个函数.max函数的 else z=y; 作用是将x和y中较大者的值赋 retur n (z); 给变量z.return语句将z的值 } 返回给主调函数main. C程序设计(第三版) 程 序设计( 程序设计 第三版) http://ccf.tsinghua.edu.cn 13 1.3 简单的C语言程序介绍 简单的C C程序: 程序: (1) C程序是由函数构成的. 这使得程序容易实现 模块化. (2) 一个函数由两部 分组成: 函数的首部:例1.3中的max函数首部 int max(int x,int y ) 函数体:花括号 内的部分.若一个函数有多个花 括号,则最外层的一对花括号为函数体的范围. 函数体 包括两部分 : 声明部分:int a,b,c; 可缺省 执行部分:由若干个语句组成.可缺省 C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.c n 14 1.3 简单的C语言程序介绍 简单的C 注意: 注意: 函数的声明部分和执行部分都可缺省,例如: void dump ( ) { } 这是一个空函数,什么也不做,但是合法的函数. C程序设计(第三版) 程序设计(第三版) 程序设计 http://ccf.tsinghua.edu.cn