《中南大学c语言(陈老师)第1章-引言》由会员分享,可在线阅读,更多相关《中南大学c语言(陈老师)第1章-引言(51页珍藏版)》请在金锄头文库上搜索。
1、Company LOGO C语言程序设计 陈晓方 中南大学 信息科学与工程学院 雷琪 (leiqi) * 中南大学 信息科学与工程学院 课程目标 熟悉Turbo C 的上机操作环境 C语言的基本概念 会读、会编、会调试C语言 多上机实践 2 Company LOGO C语言程序设计 第一章 引 言 陈晓方 中南大学 信息科学与工程学院 * 中南大学 信息科学与工程学院 目 录 C程序的执行和集成开发环境 C程序格式和结构特点 C语言特点 C语言发展历史 简单C语言程序 4 v什么是计算机程序? 程序:一组计算机能识别和执行的指令 只要让计算机执行这个程序,计算机就会自动地、 有条不紊地进行工作
2、 计算机的一切操作都是由程序控制的,离开程序, 计算机将一事无成 1.1 C语言发展历史 * 中南大学 信息科学与工程学院 5 程序设计语言的发展 机器语言 汇编语言 高级语言 面向过程 面向对象 CPU指令系统,由0、1序列构成的指令码组成 如:10000000 加 10010000 减 用助记符号描述的指令系统 如 ADD A, B 面向机器的语言 程序设计是数据被加工的过程: 结构化语言与非结构化语言 客观世界可以分类,对象是类的实例 对象是数据和方法的封装 对象间通过发送和接受消息发生联系 程序设计关键是定义类,并由类派生对像 1.1 C语言发展历史 * 中南大学 信息科学与工程学院
3、自然语言和数学语言 6 v 产生背景:最初的C语言只是为描述和实现UNIX操作系统提 供一种工作语言而设计的。 v 产生过程 时间:19721973 地点:美国贝尔实验室 目的:UNIX操作系统 设计人: Ken.Thompson和Dennis.M.Ritchie v C标准 标准C: K 15 16 * 中南大学 信息科学与工程学院 1.3 简单的C语言程序介绍 /* example1.2 calculate the cos(x)*/ #include #include main() double x,s; printf(”input number”); scanf(“%lf”, s=cos
4、(x); printf(”cos(%lf) is %if n,x,s); 16 17 * 中南大学 信息科学与工程学院 1.3 简单的C语言程序介绍 /* example1.3 calculate the sum of a and b*/ #include /* This is the main program */ main() int a,b,c; printf(”Please input value of a and b: n”); scanf(“%d %d”, c=add(a,b); printf(”sum= %dn,c); /* This function calculates th
5、e sum of x and y */ int add(int x,int y) return(x+y); 17 1.4 C程序的结构 一个C语言程序包含以下几个部分 : 1. 文件包含部分 2. 预处理部分 3. 变量说明部分 4. 函数原型声明部分 5. 主函数部分 6. 函数定义部分 关于结构的说明: 1. 并不是所有C语言程序都 包含6个部分 2. C语言程序后缀为.c 3. 主函数形式: main() 变量说明部分 程序语句部分 * 中南大学 信息科学与工程学院 18 /* example1.1 The first C Program*/ #include int main() pr
6、intf(“Hello,World!”); return 0; 注释 编译预处理 函数 语句 输出: Hello,World! 1.4 C程序的结构 * 中南大学 信息科学与工程学院 19 例 求两个整数之和。 解题思路: u设置3个变量 ua和b用来存放两个整数 usum用来存放和数 u用赋值运算符“=”把结果传送给sum * 中南大学 信息科学与工程学院 20 #include int main( ) int a,b,sum; a = 123; b = 456; sum = a + b; printf(”sum is %dn”,sum); return 0; 定义整型变量a,b,sum 对
7、变量a,b赋值 将a与b的和赋给sum 21 #include int main( ) int a,b,sum; a = 123; b = 456; sum = a + b; printf(”sum is %dn”,sum); return 0; 用sum的值替代 希望输出的字符 22 例 求两个整数中的较大者。 解题思路: u用一个函数实现求两个整数中的较大者 u在主函数中调用此函数并输出结果 * 中南大学 信息科学与工程学院 23 #include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, c = max(a,b
8、); printf(max=%dn,c); return 0; int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); 主函数 max函数 24 #include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, c = max(a,b); printf(max=%dn,c); return 0; int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); 将x和y中较大者
9、值返回给主函数 25 #include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, c = max(a,b); printf(max=%dn,c); return 0; int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); 26 #include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, c = max(a,b); printf(max=%dn,c); retur
10、n 0; int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); 因max函数的定义在main函数之后,需声明 27 #include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, c = max(a,b); printf(max=%dn,c); return 0; int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); 输入函数 28 #include int ma
11、in( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, c = max(a,b); printf(max=%dn,c); return 0; int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); 输入语句 29 #include int main( ) int max(int x,int y); int a,b,c; scanf(”%d,%d”, c = max(a,b); printf(max=%dn,c); return 0; int max(int x,int y) int z; if (x y) z = x; else z = y; return(z); 输入的数据 放到a,b中 输入格式 a的地址 30 #i