C语言程序设计
项目一 密码编译 任务1:密码信息的输出 要求: 概述 项目一 密码编译 任务1:密码信息的输出 要求: 信息输出:Hello,everyone!This class is important!Good luck! 解决问题需要的知识点: 1、掌握C程序的结构; 2、掌握程序的输出函数。
概述 问题: 学习一门新课首先要解决什么问题? (1)What? (2)Why? (3)How? ??
项目一 密码编译 任务1:密码信息的输出 ——第1章 C语言概述 章节主要内容 1.1 程序设计与C语言 1.2 C程序初识 1.3 程序设计方法与算法 1.4 C程序运行环境与学习方法
概述 程序演示: 1 简单的信息输出 2 计算能力 3 判断能力
概述 程序演示1:简单的信息输出
概述 程序演示2:计算——加法运算
程序演示3:判断——Tom和Jerry谁年长一些呢? 概述 程序演示3:判断——Tom和Jerry谁年长一些呢?
概述 思考: 什么是程序?什么是程序设计? ??
概述 1.1 程序设计与C语言 程序与程序设计语言 C语言的发展与特点
第1章 C语言概述 章节主要内容 1.1 程序设计与C语言 1.2 C程序初识 1.3 程序设计方法与算法 1.4 C程序运行环境与学习方法 第1章 C语言概述 章节主要内容 1.1 程序设计与C语言 1.2 C程序初识 1.3 程序设计方法与算法 1.4 C程序运行环境与学习方法
广义:程序是用语言、文字、图表等方式表达解决某个问题的方法和步骤,是对所要解决问题的各个对象和处理规则的描述。 概述 1.1.1 程序与程序设计语言 1.程序 (1)程序的概念: 广义:程序是用语言、文字、图表等方式表达解决某个问题的方法和步骤,是对所要解决问题的各个对象和处理规则的描述。 狭义:可以连续执行的一条条指令的集合。 (2)程序的公式表示: 沃思: 程序=数据结构+算法 对数据处理的描述 对数据的描述
2.程序设计语言 (1)程序设计的概念 (2)程序设计语言的分类 机器语言 汇编语言 高级语言 (3)解释型语言与编译型语言 概述 2.程序设计语言 (1)程序设计的概念 (2)程序设计语言的分类 机器语言 汇编语言 高级语言 (3)解释型语言与编译型语言 mov ax 1 mov bx 2 add ax bx int x,y; x=1; y=2; x=x+y;
1.1.2 C语言的发展与特点 1. C语言的发展简史 产生背景 产生过程 C标准 概述 1.1.2 C语言的发展与特点 1. C语言的发展简史 产生背景 产生过程 C标准 标准C: K&R合著《The C Programming Language》 ANSI C: 1983年 87 ANSI C: 1987年 1990年国际标准的ISO C Ken.Thompson Dennis.M.Ritchie
2.C语言的特点 1.语言简洁、紧凑,使用方便、灵活 2.运算符极其丰富 3.数据结构类型丰富 4.具有结构化的控制语句 概述 2.C语言的特点 1.语言简洁、紧凑,使用方便、灵活 2.运算符极其丰富 3.数据结构类型丰富 4.具有结构化的控制语句 5.生成的目标代码质量高,程序执行效率高。 6.语法限制不太严格,程序设计自由度大。 7.可移植性好(较之汇编语言)。 8.可以直接对硬件进行操作
项目一 密码编译 任务1:密码信息的输出 ——第1章 C语言概述 章节主要内容 1.1 程序设计与C语言 1.2 C程序初识 1.3 程序设计方法与算法 1.4 C程序运行环境与学习方法
概述 1.2 C程序初识 回顾简单C程序案例 C程序基本结构 程序设计步骤
概述 1.2.1 C程序案例 例:输出信息。 注释 编译预处理 函数 语句
1.2.2 C程序基本构成 1.函数与主函数 2.程序语句 3.注释 4.编译预处理命令(使用库函数) C程序由语句组成 概述 1.2.2 C程序基本构成 1.函数与主函数 2.程序语句 3.注释 4.编译预处理命令(使用库函数) 程序由一个或多个函数组成 有且仅有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。 C函数由函数名、形式参数和函体三部分组成,其格式:函数名([形式参数]) { 函数体 } 用/* */进行多行注释 用//进行单行注释 不能嵌套 不产生编译代码 C程序由语句组成 用“;”作为语句终止符 非法 例: /*This is the main /* of example1.1*/ */ 变量定义部分 实现函数功能的语句
5. C程序的格式特点 优秀程序员的素质之: 习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式 概述 void main(void) { int i , j , sum; sum=0; for(i=1; i<10;i++) for(j=1;j<10;j++) sum+=i*j ; } printf(“%d\n”,sum); main( ) { ………………. ……………… ………….. ……… ………. …………… ……………. ………………. ……………….. } 5. C程序的格式特点 习惯用小写字母,大小写敏感 不使用行号,无程序行概念 一行可写多条语句 一条语句也可写在几行上 可使用空行和空格 常用锯齿形书写格式 优秀程序员的素质之: 使用TAB缩进 { }对齐 用锯齿形书写格式 有足够的注释 有适当的空行
概述 1.2.3 程序设计步骤 1.需求分析 2.数据结构 3.算法 4.编码 5.调试 记录 6.整理记录资料
项目一 密码编译 任务1:密码信息的输出 ——第1章 C语言概述 章节主要内容 1.1 程序设计与C语言 1.2 C程序初识 1.3 程序设计方法与算法 1.4 C程序运行环境与学习方法
概述 1.3 程序设计方法与算法 程序设计方法 算法
1.3.1 程序设计方法 1.结构化程序设计方法 2.面向对象程序设计方法 3.二种程序设计方法的比较 C是一种面向过程的语言 概述 1.3.1 程序设计方法 1.结构化程序设计方法 2.面向对象程序设计方法 3.二种程序设计方法的比较 C是一种面向过程的语言 (1)结构定理 (2)结构化程序设计的主要特点: 三种基本结构 自顶向下,逐步求精和模块化 三个特征: (1)封装性 (2)继承性 (3)多态性
1.3.2 算法 1.概念 2.分类 3.基本特性 4.评价 5.描述 有效性: 计算机执行后能否得到确定的结果 误差 概述 1.3.2 算法 1.概念 2.分类 3.基本特性 4.评价 5.描述 有效性: 计算机执行后能否得到确定的结果 误差 效率问题:时间特性、空间特性、最优性 可维护性:可读性、易编码、易调试 健壮性: 对非法数据的处理 算法是解决问题的逻辑步骤,是对特定问题求解步骤的一种描述。 计算机算法是用程序解决问题的逻辑步骤,是指令的有限序列。 有穷性:算法中包含有限个步骤,且每一步骤在合理的时间内能完成 确定性:算法中的每一条指令有确切的含义 可行性:算法中指定的操作是计算机可以实现的 有零个或多个输入 有一个或多个输出 数值运算算法:求解数值 非数值运算算法:事务管理领域 ①自然语言 ② 流程图 ③ 伪代码 ④ 计算机语言
项目一 密码编译 任务1:密码信息的输出 ——第1章 C语言概述 章节主要内容 1.1 程序设计与C语言 1.2 C程序初识 1.3 程序设计方法与算法 1.4 C程序运行环境与学习方法
概述 1.4 C程序运行环境 C程序上机步骤 Turbo C
1.4.1 C程序上机步骤 1.4 C 运行环境 开始 编辑 源程序 .c 编译 是 目标程序 有错? .obj 否 可执行 连接 目标程序 概述 开始 编辑 1.4.1 C程序上机步骤 源程序 .c 编译 目标程序 .obj 是 有错? 否 连接 可执行 目标程序 .exe 库函数和 其它目标程序 执行 结果正确? 否 是 结束
1.4 C 运行环境 概述 1.4.2 Turbo C Turbo C是一个集成化的工具环境,将编辑、编译、连接、调试工具集于一身,用户可以方便地在窗口方式下连续进行编辑、编译、连接、调试和运行程序。
1.4 C 运行环境 概述 Turbo C 2.0 界面
第1章 C语言概述——总结 内 容 总 结 程序、程序设计、程序设计语言; C程序结构(函数、语句、预编译命令、注释); 知 程序设计方法(面向过程与面向对象)和算法; 开发环境——Turbo C 2.0。 内 容 总 结 知 识 点 C程序的结构(函数、语句、预编译命令、注释,C 程序的书写格式) ; 算法:算法的描述(流程图); 开发环境(使用及上机步骤——编辑、编译、连接、 运行)。 重 难 点