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