1、C程序设程序设计基础计基础C C语言基础语言基础程序设计基础程序设计基础2 2程序设计基础程序设计基础 概述概述v 什么是程序? 让计算机执行特定任务的指令序列。v 什么是程序设计语言? 一组用来定义计算机程序的语法规则。v为什么学习C语言? 功能强大、语句简洁,使用方便 可直接访问内存地址,位运算 生成的目标代码质量高,程序运行效率高 具有结构化的控制语句,程序的可移植性好程序设计基础程序设计基础3 3二、教学内容安排 基本概念(2讲) 1. 程序设计基础 2. C语言的基本元素 流程设计(4讲) 3. 分支结构 4. 循环结构 数据组织方式(4讲) 5. 数组 6. 结构 7. 枚举、联合
2、、位域程序设计基础程序设计基础 课程概述课程概述程序设计基础程序设计基础4 4二、教学内容安排 模块化(4讲)8. 函数与函数调用9. 预编译处理 高阶数据结构(5讲)10. 指针11. 链表12. 文件 编程案例(1讲)13. 文件案例综合分析程序设计基础程序设计基础 课程概述课程概述程序设计基础程序设计基础5 5三、教学要求 课前预习、课堂积极思考、课后加强练习; 理性思维、强化实践; 良好的学习心态; 做学问,要又学又问; 实践出真知; 养成良好的编程习惯。程序设计基础程序设计基础 课程概述课程概述程序设计基础程序设计基础6 6四、课程考试程序设计基础程序设计基础 课程概述课程概述卷面考
3、试上机考试平时成绩50%期末成绩50%作业和课堂表现CC语言基础语言基础Lesson 1 Lesson 1 程序设计基础程序设计基础8 8主要内容主要内容程序设计基础程序设计基础1程序设计语言程序设计语言2C语言简介语言简介3实验环境实验环境4程序设计基础程序设计基础9 91 1、程序设计基础、程序设计基础v 什么是程序? 让计算机执行特定任务的指令序列。v 程序设计的基本步骤 了解问题、详细设计确定算法 实施编程实现、程序调试 测试投入试运行 日常维护 升级优化程序设计基础程序设计基础1010开始、终止框开始、终止框 处理框处理框 决策框决策框 输入输入/ /输出输出 流向流向 连接点连接点
4、 1 1、程序设计基础、程序设计基础常用流程图符号常用流程图符号程序设计基础程序设计基础1111开始开始大小写转换大小写转换小写?小写?结束结束输出字符输出字符否否输入字符输入字符是是1 1、程序设计基础、程序设计基础 从屏幕输入一个字母,从屏幕输入一个字母,如果是小写字母,直接输出,如果是小写字母,直接输出,如果是大写字母,将其改为如果是大写字母,将其改为小写字母输出。小写字母输出。算法流程图算法流程图程序设计基础程序设计基础1212v 程序结构 物理结构,指程序外在形式,即程序块与程序块之 间的组织关系。 ( b ) 层 次 式 结 构 ( a ) 模 块 式 结 构 程 序 块 1 程
5、序 块 2 程 序 块 3 程 序 块 n 主 程 序 子 程 序 1 子 程 序 2 子 程 序 1 1 子 程 序 1 2 子 程 序 2 1 子 程 序 1 2 1 1 1、程序设计基础、程序设计基础 (b)层 次 式 结 构 (a)模 块 式 结 构 程 序 块 1 程 序 块 2 程 序 块 3 程 序 块 n 主 程 序 子 程 序 1 子 程 序 2 子 程 序 11 子 程 序 12 子 程 序 21 子 程 序 121 程序设计基础程序设计基础1313各种结构可以相互嵌套各种结构可以相互嵌套不同的结构控制不同的程序流程(执行路线)不同的结构控制不同的程序流程(执行路线)v 程
6、序结构 逻辑结构,指同一程序块内语句的执行次序,以及块与块的执行次序。顺序结构分支结构循环结构子程序(子函数)结构 1 1、程序设计基础、程序设计基础程序设计基础程序设计基础1414v 程序结构 逻辑结构顺序结构语句语句1语句语句2 语句语句3 语句语句4 1 1、程序设计基础、程序设计基础程序设计基础程序设计基础1515v 程序结构 逻辑结构分支结构语句语句1语句语句2条件条件1 1、程序设计基础、程序设计基础程序设计基础程序设计基础1616v 程序结构 逻辑结构循环结构循环体语句循环体语句1循环体语句循环体语句2控制条件控制条件 1 1、程序设计基础、程序设计基础程序设计基础程序设计基础1
7、717v 程序结构 逻辑结构子程序结构子程序1 1、程序设计基础、程序设计基础程序设计基础程序设计基础1818主要内容主要内容程序设计基础程序设计基础1程序设计语言程序设计语言2C语言简介语言简介3实验环境实验环境4程序设计基础程序设计基础19192.1 2.1 程序设计语言程序设计语言v定义:定义: 一组用来定义计算机程序的语法规则。一组用来定义计算机程序的语法规则。冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPU程序设计基础程序设计基础20202.2 2.2 程序设计语言的发展程序设计语言的发展机器语言汇编语言高级语言面向过程面向对象CPU指令系统,
8、由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A, B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象程序设计基础程序设计基础2121经过编译程序生成机器语言程序,再将一个或几个目标程序与标准库函数程序连接,构成完整的可执行程序。如PASCAL、C边解释边执行,不产生目标程序文件。如JAVA2.2 2.2 程序设计语言的发展程序设计语言的发展机器语言汇编语言高级语言解释型编译型程序设计基础程序设计基础2222主要内容主
9、要内容程序设计基础程序设计基础1程序设计语言程序设计语言2C语言简介语言简介3实验环境实验环境4程序设计基础程序设计基础2323vBCPL语言(语言(Basic Combined Programming Language):): 1967年,年, Martin Richards,为编写操作系统和编译器,为编写操作系统和编译器而开发。而开发。vB语言(取语言(取BCPL的第一个字母):的第一个字母): Ken Thompson,贝尔实验室,是,贝尔实验室,是BCPL的一个副本(的一个副本(修改版)。修改版)。vC语言(取语言(取BCPL的第二个字母):的第二个字母): 1972 由贝尔实验室的由
10、贝尔实验室的Dennis Ritchie开发。开发。3.13.1、C C语言的发展简史语言的发展简史程序设计基础程序设计基础2424vKernighan & Ritchie C 20世纪世纪70年代末期形成的(传统年代末期形成的(传统“C”)。)。vANSI C标准(标准标准(标准C) 1983年,美国国家标准委员会(年,美国国家标准委员会(ANSI)制订标准。)制订标准。v新新ANSI C 1987年,对年,对ANSI C重新修订,目前流行版本的基础。重新修订,目前流行版本的基础。vC+ 语言语言 20世纪世纪80年代初,贝尔实验室,扩充支持面向对象的年代初,贝尔实验室,扩充支持面向对象的程
11、序设计的功能。程序设计的功能。vISO/IEC9899:2011文档定义最新版本文档定义最新版本C113.1 C3.1 C语言的发展简史语言的发展简史程序设计基础程序设计基础25253.2 3.2 创建创建C C程序程序源程序目标程序可执行程序其它目标程序test.ctest.objtest.exe编辑编译链接执行程序设计基础程序设计基础26263.3 3.3 创建第一个创建第一个C C程序程序 #include /文件包含命令 void main ( ) printf ( This is a C Program. ); 程序入口输入/输出库文件输出函数注释程序设计基础程序设计基础2727v
12、标准库标准库 标准库定义了编写C程序时需要的常量、符号和函数。 标准库在一系列标准文件头文件中指定,头文件的扩展名总是.h。 库提供了大多数程序员都可能需要的功能,比如数学运算、输入输出功能。 比如附录C中:stdio.h math.h3.4 3.4 标准库的概念标准库的概念程序设计基础程序设计基础2828(1)一主多子 一个主函数main(必有),和若干个函数(可有可无)(3)函数之间可夹杂说明性)函数之间可夹杂说明性语句语句 变量定义,函数声明,预编译命令变量定义,函数声明,预编译命令(2)函数与函数,物理上并列、逻辑上嵌套)函数与函数,物理上并列、逻辑上嵌套调用调用3.5 3.5 函数及
13、模块化编程函数及模块化编程程序设计基础程序设计基础2929 全局变量定义或说明; sub1 ( 形式参数表 ) 局部变量定义; 语句序列; subn ( 形式参数表 ) 局部变量定义; 语句序列; main( ) 局部变量定义; 语句序列; C程序的一般结构程序的一般结构sub1( )sub2( )subn( )main( ) 逻辑结构逻辑结构嵌套调用嵌套调用各函数物理结构各函数物理结构平行,次序无关平行,次序无关3.5 3.5 函数及模块化编程函数及模块化编程程序设计基础程序设计基础3030int a ,b ; /定义外部变量(全局量)int sumab(int x,int y) /定义子函
14、数 return ( x+y ) ; /返回函数值 void main ( ) /定义主函数 int sum; /定义局部量sum(整型) a=12; b=34; /*给全局变量a,b赋值*/ sum=sumab(a,b); /调用sumab ( ) printf ( a+b=%dn , sum);3.5 3.5 函数及模块化编程函数及模块化编程程序设计基础程序设计基础3131v易读性 语句行首对齐方式(语句排版格式) 适当地加以注释 合理地使用标识符v可维护性 采用“自顶向下”和“自底向上”相结合的结构化程 序设计方法 事先考虑周全,少打“补丁”v用户界面 要注意用户界面的设计,力求界面良好
15、 程序要有容错性 使用分支结构时要合理安排处理次序3.6 C3.6 C程序的设计风格程序的设计风格程序设计基础程序设计基础3232主要内容主要内容程序设计基础程序设计基础1程序设计语言程序设计语言2C语言简介语言简介3实验环境实验环境4程序设计基础程序设计基础33334.1 实验环境 版权所有 不得擅用 vVisual C+6.0Visual C+6.0(以下简称(以下简称VCVC) 集成开发环境集成开发环境 编辑、编译、链接、执行编辑、编译、链接、执行 可视化调试环境可视化调试环境用鼠标双击用鼠标双击“桌面桌面”上的上的VC图标图标,进入环境,进入环境程序设计基础程序设计基础3434图图 1
16、.24.1 实验环境 程序设计基础程序设计基础3535图图 1.3程序设计基础程序设计基础3636图图 1.4File 菜单:文件操作等菜单:文件操作等程序设计基础程序设计基础3737图图 1.5Edit 菜单:编辑查找菜单:编辑查找程序设计基础程序设计基础3838图图 1.6View 菜单:窗口设置等菜单:窗口设置等程序设计基础程序设计基础3939图图 1.7Insert 菜单:资源加入等菜单:资源加入等程序设计基础程序设计基础4040图图 1.8Project 菜单:工程管理等菜单:工程管理等程序设计基础程序设计基础4141图图 1.9Build 菜单:编译链接调试菜单:编译链接调试程序设
17、计基础程序设计基础4242图图 1.10Tools 菜单:调试工具、系统配置等菜单:调试工具、系统配置等程序设计基础程序设计基础4343图图 1.4图图 1.11Window 菜单:窗口管理菜单:窗口管理程序设计基础程序设计基础4444图图 1.12Help 菜单:帮助信息菜单:帮助信息程序设计基础程序设计基础4545Visual Studio 6.0Visual Studio 6.0编辑源程序浏览源程序结果输出程序设计基础程序设计基础4646Visual Studio 6.0Visual Studio 6.0程序设计基础程序设计基础4747小结小结v程序设计基础程序设计基础 基本概念、基本结
18、构基本概念、基本结构v程序设计语言的发展程序设计语言的发展vC C语言简介语言简介 发展历史、特点发展历史、特点 C C程序的基本结构、编译链接、编程风格程序的基本结构、编译链接、编程风格v实验环境与课程实验实验环境与课程实验 VC 6.0VC 6.0程序设计基础程序设计基础4848作业作业v1 1、编写一个程序,运行时输出、编写一个程序,运行时输出“请输入用请输入用户名:户名:”。v2 2、求、求5!5!的算法用流程图表示的算法用流程图表示程序设计基础程序设计基础4949信息处理信息处理学号排序学号排序成绩排序成绩排序成绩统计成绩统计信息管理信息管理添加添加学员信息学员信息删除删除学员信息学
19、员信息修改修改学员信息学员信息信息显示信息显示全部输出全部输出分页浏览分页浏览系统登录系统登录功能导航功能导航成绩单成绩单自动生成自动生成信息数据信息数据自动备份自动备份信息数据信息数据手工恢复手工恢复4.24.2、课程实验、课程实验程序设计基础程序设计基础5050求5!的算法用流程图表示开始1t2ii+1ii5结束t*it输出tYN程序设计基础程序设计基础5151六、课程考试程序设计基础程序设计基础 课程概述课程概述程序设计基础程序设计基础5252二、教学目标 掌握程序设计的基本概念与基本方法 理解编程解题的思路与典型方法 培养计算思维能力 提高分析问题解决问题的能力 建立算法意识,培养良好的思维习惯程序设计基础程序设计基础 课程概述课程概述程序设计基础程序设计基础5353三、教学重点 程序设计的基本概念、基本方法; C语言的基本概念、语法; 解决实际问题的编程实践过程; 养成良好的编程风格与习惯; 思维方法的学习、训练; 创新思维的培养、鼓励。程序设计基础程序设计基础 课程概述课程概述