270 likes | 507 Views
C 程序设计 伍 俊 明 wujunming@126.com. yue. C 程序设计. 教学内容 第 1 章 C 语言概述 第 2 章 程序的灵魂 —— 算法 第 3 章 数据类型、运算符 与表达式 第 4 章 最简单的 C 程序设计 —— 顺序程序设计 第 5 章 选择结构程序设计 第 6 章 循环控制. 第 7 章 数组 第 8 章 函数 第 9 章 预处理命令 第 10 章 指针 第 11 章 结构体与共用体 第 12 章 位运算 第 13 章 文件. C 程序设计.
E N D
C程序设计伍 俊 明wujunming@126.com yue 计算机工程学院 伍俊明
C程序设计 • 教学内容 • 第1章 C语言概述 • 第2章 程序的灵魂 ——算法 • 第3章 数据类型、运算符 与表达式 • 第4章 最简单的C程序设计 ——顺序程序设计 • 第5章 选择结构程序设计 • 第6章 循环控制 • 第7章 数组 • 第8章 函数 • 第9章 预处理命令 • 第10章 指针 • 第11章 结构体与共用体 • 第12章 位运算 • 第13章 文件 计算机工程学院 伍俊明
C程序设计 • 考核方式 • 考试成绩:70% • 平时:30% • 考勤:10% • 作业:10% • 实验:10% • 注意 • 认真听课勤思考 • 认真领会多练习 • 发现问题早解决 • 体验成功乐享受 计算机工程学院 伍俊明
教材与参考文献 • 教材 • C程序设计(第三版),谭浩强,清华大学出版社,2009.10 • 参考书 • C语言程序设计 (第二版), 李春葆,清华大学出版社,2006 • C语言大学实用教程(第2版),苏小红等,电子工业出版社,2007.2 • C语言程序设计教程(第3版) ,谭浩强等,高等出版社,2006.12 • C语言程序设计教程,冉崇善,机械工业出版社,2009.12 计算机工程学院 伍俊明
第1章 C语言概述 • 本章教学内容: • 1.1 C语言出现的历史背景 • 1.2 C语言的特点 • 1.3 简单的C语言程序介绍 • 1.4 运行C程序的步骤与方法 • 本章教学内容: • C语言的特点 • C语言程序的结构 计算机工程学院 伍俊明
1.1 C语言出现的历史背景 • C语言是国际上广泛流行的高级语言 • B(BCPL)语言是1970年由美国贝尔实验室设计的, 并用于编写了第一个UNIX操作系统,在PDP 7上实现。 • 1973年贝尔实验室在B语言基础上设计出了C语言,用于UNIX第5版的设计与开发。 • 1977年出现了《可移植C语言编译程序》。 • 1978年K&R合著“The C Programming Language” • 美国相继推出’83 ANSI C,’87 ANSI C,C89。 • ISO推出C90,C99。 • C语言有许多实现版本——多种编译系统。 计算机工程学院 伍俊明
1.2 C语言的特点 • 举例: #include <stdio.h> void main() { int sum, i; i=1; sum=0; while (i<=100) { sum=sum+i; i++; } } 计算机工程学院 伍俊明
1.2 C语言的特点 • 语言简洁、紧凑,使用方便、灵活——32个关键字 • 运算符丰富——34种运算符 • 数据类型丰富——标准类型、自定义类型 • 具有结构化的控制语句 • 语法限制不太严格,程序设计自由度大 • C语言允许直接访问物理地址,可对硬件直接操作 • 生成目标代码质量高,程序执行效率高 • C语言编写的程序可移植性好,基本不需修改 计算机工程学院 伍俊明
1.3 简单的C语言程序介绍 输出:我们一定能够学好C语言! • 例1 #include <stdio.h> void main( ) { printf(“我们一定能够学好C语言!\n”); } /*文件包含*/ /*主函数 */ /*函数体开始*/ /*输出语句*/ /*函数体结束*/ • 说明: main-主函数名, void-函数类型 • 每个C程序必须有一个主函数main • { }是函数开始和结束的标志,不可省 • 每个C语句以分号结束 • 使用标准库函数时应在程序开头一行写: • #include <stdio.h> 计算机工程学院 伍俊明
1.3 简单的C语言程序介绍 输出:sum=579 • 例2:求两数之和 #include <stdio.h> void main( ) { int a, b, sum; a=123; b=456; sum=a+b; printf(“sum=%d\n”, sum); } /*求两数之和*/ /*定义a、b、sum三个整型变量*/ 说明: /*……*/表示注释,帮助读者理解程序,对编译和运行不起作用。注释可以是单行注释,也可以是多行注释。 试问: 如何求三个整数之和呢? 计算机工程学院 伍俊明
1.3 简单的C语言程序介绍 • 例3:求两个数中的较大者 /*功能:输出两个数的较大数 */ #include <stdio.h> main( )/* 主函数 */ { int max(int x, int y);/* max()函数声明 */ int a,b,c; scanf(“%d, %d”,&a,&b); /* 由键盘输入a、b的值 */ c = max(a,b); /* 调用max函数,求a和b中大数 */ printf(“max = %d\n",c); } 程序运行情况: 4, 8↙ max=8 int max(int x, int y)/* 用户自行设计的max()函数 */ { int z; if (x>y) z=x; else z=y; return(z); /*返回z值 */ } 试问: 如何求三个整数最大数呢? 计算机工程学院 伍俊明
1.3 简单的C语言程序介绍 • C语言程序的特点 • C程序由函数构成,每个函数完成相对独立的功能 • 每个C程序必须有而且只能有一个main函数(主函数) • 一个C程序可由一个main函数和多个用户自定义函数组成(如例3) • C程序总是从main函数开始执行,执行中既可以调用系统函数(如printf函数),也可以调用户自定义函数(如max函数) • 预编译处理命令总是放在程序的开头(注释语句除外) • C语言程序区分大小写字母,所以A和a是不同的对象 自定义函数1、自定义函数2、…自定义函数n的声明 main(…) {……} 自定义函数1的定义 …… 自定义函数n的定义 计算机工程学院 伍俊明
1.3 简单的C语言程序介绍 • C语言函数的一般结构 • 由函数首部和函数体组成 • 函数首部指定函数返回值类型,函数名,函数参数名与参数类型 int max(int x, int y) • 函数体从 { 开始,到 } 结束 • 函数内有语句,语句之间用分号隔开 • 数据定义和声明语句序列,如:int a,b,c; • 可执行语句序列,如: avg=(a+b+c)/3; 函数类型 函数名 ([函数形式参数表]) /*函数首部*/ { [数据定义和声明语句序列;] 可执行语句序列; } 计算机工程学院 伍俊明
1.3 简单的C语言程序介绍 • C程序组织风格 对于一个复杂的C程序,建议C程序的一般结构为: • 第一部分: 注释:对程序功能、作者、更改日期、版本等信息的说明 • 第二部分:必要的编译预处理命令 • 第三部分:类型和全局变量定义 • 第四部分:子函数声明 • 第五部分:主函数 • 第六部分:子函数定义 计算机工程学院 伍俊明
1.3 简单的C语言程序介绍 • 编程风格标识符命名规范 • 标识符命名应采用有意义的名称,反映其代表的实际内容或功能。 • 变量名应反映其作用,必要时可以采用缩写形式,但缩写规则要一致。 • 对于全局变量,应通过注释对变量的作用进行说明;函数名采用反映函数功能的单词组合,以下划线或大小写间隔方式。 • 常量或类型采用大写字母命名。 • 此外应注意: C语言区分大小写,C标准对标识符的长度没有限制,但是有些编译程序只能识别前31个字符。 计算机工程学院 伍俊明
1.3 简单的C语言程序介绍 • 程序书写风格 • 使用必要的注释,主要包括 • 程序首部注释 • 函数首部注释 • 程序体中注释 • 适当利用空格、空行和缩进来提高程序可读性。 • 在不同函数定义之间使用空行进行分隔,增加视觉效果。 • 对于条件语句和循环语句,可通过空格及缩进表示出程序的逻辑层次。 • 对于复杂的表达式,使用括号明确表示求值顺序。 • 对输入和输出语句应尽量方便用户的操作,尺量给出必要的提示 计算机工程学院 伍俊明
1.3 简单的C语言程序介绍 • 案例:计算个人所得税 /********** 程序1-4 ***************************/ /* 程序名 : exam1_4.cpp */ /* 功能 :根据个人收入计算应钠所得税 */ /* 作者 :liqin */ /* 时间 :2004年6月7日 */ /**************************************************/ /* 定义起征点:syi 和各段税率pi */ # define sy1 1000 # define sy2 1500 # define sy3 4000 # define p1 0.05 /* 1000~1500元按5%征收*/ # define p2 0.1 /* 1500~4000元按10%征收*/ # define p3 0.2 /* 4000元以上部分按20%征收*/ 计算机工程学院 伍俊明
1.3 简单的C语言程序介绍 /*主函数*/ main() { float salary; /*salery为收入*/ float tax=0; /*应纳所得税*/ printf(“\n Input salary : ”); scanf(“%f”,&salary); if (salary>sy3) /*月收入>4000时*/ tax=(sy2-sy1)*p1+(sy3-sy2)*p2+(salary-sy3)*p3; else if (salary>sy2) /*月收入在1500~4000时*/ tax=( sy2-sy1)*p1+(salary-sy2)*p2; else if (salary>sy1) /*月收入在1000~1500时*/ tax=(salary-sy1)*p1; printf(“\n taxi=%.2f”,tax); /*输出应纳所得税和实得工资*/ printf(“\n salary=%.2f”,salary-tax); } 计算机工程学院 伍俊明
1.4 运行C程序的步骤与方法 1.4.1 C程序的运行步骤 • 编辑程序 • 输入、修改源程序 • 编译程序 • 生成目标代码 • 如有问题返回修改 • 连接库函数 • 生成可执行文件 • 运行程序 • 产生结果 • 如有错误返回修改 计算机工程学院 伍俊明
1.4 运行C程序的步骤与方法 1.4.2 C程序的开发过程 分析课题需求 系统规划设计 详细设计 编程调试 测试 运行 计算机工程学院 伍俊明
1.4 运行C程序的步骤与方法 1.4.3 运行VC++6.0 (1)启动VC++6.0 双击桌面VC++6.0图标或程序MSVStudio6.0VC++6.0 计算机工程学院 伍俊明
1.4 运行C程序的步骤与方法 (2)创建C程序源文件 FilesNewC++ Source File 计算机工程学院 伍俊明
1.4 运行C程序的步骤与方法 (3)确定源文件的位置与名字 存放到“d:盘中的“C实验教程”文件夹的c1.cpp中” 计算机工程学院 伍俊明
1.4 运行C程序的步骤与方法 (4)编辑C程序 在程序区中编辑、修改c语言程序 计算机工程学院 伍俊明
1.4 运行C程序的步骤与方法 (5)编译和运行C程序 BuildCompile c1.cpp,产生c1.exe 计算机工程学院 伍俊明
1.4 运行C程序的步骤与方法 (6)运行C程序 BuildExecute c1.exe 计算机工程学院 伍俊明
第1章 C语言概述 作业 P13 • 第1题(1.6):编写一个C程序,输入a、b、c三个值,输出其中最大者——上机题 • 第2题:编写一个C程序,输入a、b、c三个值,输出三者之积 计算机工程学院 伍俊明