2 C程序结构和设计方法.

Slides:



Advertisements
Similar presentations
甘肃工业职业技术学院信息工程系 2009 年 12 月 张燎 内容提要 ★程序设计语言的发展 ★ C 语言发展史 ★ C 语言程的特点 ★ 学好 C 语言的重要性 ★ C 语言基本结构 ★ C 语言的开发环境 第一章 C 语言概述.
Advertisements

主讲:王幸民 理学院计算机基础教学部.
计算机基础 与应用案例教程 第一篇 基础理论篇 第4章 计算机软件系统.
C语言程序设计 主讲教师 :张群燕 电话:
培养目标 1.建立基本的程序设计概念体系,掌握基础程序设计方法。
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
第一章 C语言概述 计算机公共教学部.
杨玉蓓 主讲 武汉工程大学邮电与信息工程学院
编译原理上机实习
新世代計算機概論 第14章 程式語言.
全国计算机等级考试 二级基础知识 第二章 程序设计基础.
计算机基础知识 丁家营镇九年制学校 徐中先.
第三章 控制结构.
C++程序设计 第二讲 清华大学软件学院.
第3章 C 語言的基本知識.
《计算机应用》课程电子教案 [沈阳电大第二届电子教案大赛] 沈阳广播电视大学 机电系 刘玉香 沈阳电大 机电系 刘玉香.
授课老师:龚涛 信息科学与技术学院 2018年3月 教材: 《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第三章 C++中的C 面向对象程序设计(C++).
2 C++ 的基本語法和使用環境 親自撰寫和執行程式是學好程式語言的不二法門。本章藉由兩個簡單的程式,介紹C++ 程式的基本結構和開發環境,讓初學者能逐漸建立使用C++ 的信心。
C 语 言 程 序 设 计 王曙燕 主 编 曹 锰 副主编 王小银负责ppt的制作
程序设计基础.
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第二章 Java语言基础.
C++语言程序设计 第二章 C++简单程序设计.
CPU结构和功能.
第四章 附件 (应用程序软件包).
C语言程序设计 (第二版) 主编 王曙燕 科学出版社.
第1章 概述 本章要点: C语言程序结构和特点 C语言程序的基本符号与关键字 C语言程序的编辑及运行 学习方法建议:
C++语言程序设计 C++语言程序设计 第七章 类与对象 第十一组 C++语言程序设计.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
C语言概述 第一章.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
第 二 章 数据类型、运算符与表达式.
C语言程序设计.
第一章 程序设计和C语言 主讲人:高晓娟 计算机学院.
C语言程序示例: 1.输入10个数,按从小到大的顺序排序。 2.汉诺塔问题。.
C 语言程序设计 程序的循环结构 电大崇信县工作站 梁海亮.
程式語言 程式語言發展史 資料型態 程式指令 程序定義和使用.
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
第3 语言翻译问题 [学习目标]:学习和掌握语言的语法的基本概念和基本要素,理解翻译的步骤;学习和掌握BNF文法。
7.1 C程序的结构 7.2 作用域和作用域规则 7.3 存储属性和生存期 7.4 变量的初始化
C程序设计.
第一章 C语言概述 教师:周芸.
C语言程序设计 李祥 QQ:
C++语言程序设计教程 第2章 数据类型与表达式 第2章 数据类型与表达式 制作人:杨进才 沈显君.
实验三 16位算术逻辑运算实验 不带进位控制的算术运算 置AR=1: 设置开关CN 1 不带进位 0 带进位运算;
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第二章 Java语法基础.
第一章 C语言概述 目录 什么是语言、程序 C语言的历史与发展 C语言的书写形式与程序结构 运行C语言的步骤与方法
C++程序设计 吉林大学计算机科学与技术(软件)学院.
第二章 类型、对象、运算符和表达式.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
ASP.NET实用教程 清华大学出版社 第4章 C#编程语言 教学目标 教学重点 教学过程 2019年5月5日.
#include <iostream.h>
第二章 Java基本语法 讲师:复凡.
第二章 Java基本语法 讲师:复凡.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
第二节 C语言的特点.
第1章程序设计和C语言.
单片机应用技术 (C语言版) 第4章 C51程序设计入门
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
基本知识 数据类型、变量、常量、运算符.
第2章 Java语言基础.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 Java基础语法 北京传智播客教育
实验六、COM类型病毒分析实验 实验开发教师: 刘乃琦 谌黔燕.
第2章 Arduino编程.
Presentation transcript:

2 C程序结构和设计方法

C程序结构和设计方法 C语言发展历史 C语言概述 C程序的基本结构 程序设计方法

2.1 C语言发展历史 程序设计语言的发展 冯.诺依曼结构: 程序设计是数据被加工的过程 计算机 运算器 控制器 存储器 主机: I/O设备:键盘、显示器等 中央处理器CPU 机器语言 汇编语言 高级语言 面向过程 面向对象 1946年,第一台电子计算机问世,应用领域迅速扩大,软硬件飞速发展,程序设计语言相继问世。 程序设计语言:将自然语言形式化为有格式的语言 1。机器语言: 计算机能够认识的语言 计算机的基础是数字电路 机器语言就是数字电路里的电信号 将在《计算机组成》课程中学习 都是二进制文件 一条机器语言成为一条指令 指令是不可分割的最小功能单元 定义:一种CPU的指令系统,由该CPU可识别的0、1序列构成的指令码组成。 特点: 执行效率高 不直观,不易查错,生产效率低。 2。汇编语言 定义:用助记符号描述的指令系统 生产效率高,质量好,执行效率较高; 要经汇编程序汇编成目标程序(机器语言)才能执行,依赖硬件。 (面向机器的语言----依CPU不同而异) 3。高级语言 编程效率高,不必考虑硬件; 执行效率低,要经编译、连接后才能执行。 面向过程的程序设计语言 认为解题过程是数据被加工的过程 程序=数据结构+算法 C语言是面向过程的高级语言 面向对象的程序设计语言 一种结构模拟方法。认为:现实世界由对象组成,对象是数据和方法的封装体;客观世界可以分类,每个对象是类的一个实例。 特点:比面向过程的语言更清晰、易懂,适宜编更大规模程序,是程序设计的主流 程序设计语言基本成分: 。数据成分 。运算成分 。控制成分 。传输成分 程序设计语言定义:用于书写计算机程序的语言。通常指实现高级语言。 语言的基础是一组记号与一组规则。 程序设计语言包括: 语法:记号的组合规则 语义:记号的特定意义 语用:程序与使用者的关系 面向机器的语言 CPU指令系统,由0、1序列构成的指令码组成 如:10000000 加 10010000 减 客观世界可以分类,对象是类的实例 对象是数据和方法的封装 对象间通过发送和接受消息发生联系 用助记符号描述的指令系统 如 ADD A, B 程序设计关键是定义类,并由类派生对象 > >

C程序结构和设计方法 52 54 56 58 60 62 64 66 68 70 72 74 76 78 80 82 84 86 88 90 92 94 96 Ada Modula-2 Pascal ALGOL60 ALGOL68 CPL BCPL B C C++ Smalltalk 80 Java Simula 67 QBASIC VB BASIC ANSI-BASIC FORTRAN90 FORTRAN FORTRAN77 PL/1 COBOL LISP PROLOG < >

C语言发展过程 产生背景 产生过程 C标准 < > 时间:1972~1973 地点:美国贝尔实验室 目的:UNIX操作系统 设计人: Ken.Thompson和Dennis.M.Ritchie C标准 标准C: K&R合著《The C Programming Language》 ANSI C: 1983年 87 ANSI C: 1987年 1990年国际标准的ANSI C < >

2.2 C语言概述 语言简洁、紧凑、灵活 运算符和数据类型丰富 程序设计结构化、模块化 生成目标代码质量高 可移植性好 > > < >

32个关键字:(由系统定义,不能重作其它定义) C程序结构和设计方法 32个关键字:(由系统定义,不能重作其它定义) auto break case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void volatile while <

9种控制语句: if( )~else~ continue for( )~ break while( )~ switch do~while( ) return goto <

34种运算符: < 算术运算符:+ - * / % ++ -- 关系运算符:< <= == > >= != C程序结构和设计方法 34种运算符: 算术运算符:+ - * / % ++ -- 关系运算符:< <= == > >= != 逻辑运算符:! && || 位运算符 :<< >> ~ | ^ & 赋值运算符:= 及其扩展 条件运算符:?: 逗号运算符:, 指针运算符:* & 求字节数 :sizeof 强制类型转换:(类型) 分量运算符:. -> 下标运算符:[] 其它 :( ) - <

< C 数 据 类 型 基本类型 构造类型 指针类型 空类型void 定义类型typedef 数值类型 字符类型char 枚举类型enum 整 型 浮点型 单精度型float 双精度型double 短整型short 长整型long 整型int 数组 结构体struct 共用体union <

2.3 C程序的基本结构 例 第一个程序 Hello,World! /* example The first C Program*/ #include <stdio.h> main() { printf(“Hello,World!”); } 注释 编译预处理 函数 语句 输出: Hello,World! >

/* example1.1 calculate the sum of a and b*/ #include <stdio.h> /* This is the main program */ main() { int a,b,sum; a=10; b=24; sum=add(a,b); printf(”sum= %d\n",sum); } /* This function calculates the sum of x and y */ int add(int x,int y) { int z; z=x+y; return(z); 例 预处理命令 注释 函数 语句 运行结果: sum=34 >

格式特点 main( ) { ………………. ……………… ………….. ……… …………… ………………. } 养成良好的编程习惯: C程序结构和设计方法 格式特点 习惯用小写字母,大小写敏感 不使用行号,无程序行概念 可使用空行和空格 常用锯齿形书写格式 main( ) { 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( ) { ………………. ……………… ………….. ……… …………… ………………. } 养成良好的编程习惯: 使用TAB缩进 {}对齐 有足够的注释 有合适的空行 < >

结构特点 函数与主函数 程序语句 注释 非法 例: /*This is the main /* of example1.1*/ */ C程序结构和设计方法 结构特点 函数与主函数 程序由一个或多个函数组成 必须有且只能有一个主函数main() 程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。 程序语句 C程序由语句组成 用“;”作为语句终止符 注释 /* */为注释,不能嵌套 不产生编译代码 非法 例: /*This is the main /* of example1.1*/ */ 编译预处理命令 < >

C程序结构和设计方法 2.4 程序设计方法 明确问题需求 分析问题 设计解决问题的算法 自顶向下、逐步求精的设计方法 算法描述 程序编制

C程序结构和设计方法 例题:求绿色这片地中马铃薯的产量 A E D B C

C程序结构和设计方法 大致分为以下三个步骤 计算该地块面积 折合成亩 求总产量

A E D B C C程序结构和设计方法 使用海伦公式S= 求边AB的长度 两点间距离公式 计算三角形ABE面积 求边BE的长度 求p 求出S 两点间距离公式 计算三角形ABE面积 计算三角形BDE面积 计算三角形BCD面积 计算该地块面积 折合成亩 求总产量 A B D C E

DOS(Disk Operating System)基础 DOS基本概念 C程序结构和设计方法 DOS(Disk Operating System)基础 DOS基本概念 对计算机系统软硬件资源进行控制与管理 是用户和计算机间的接口 MS-DOS和PC-DOS DOS的组成 引导程序 I/O设备管理程序:IO.SYS 或 IBMBIO.COM 文件管理和功能调用程序:MSDOS.SYS或IBMDOS.COM 命令处理程序:COMMAND.COM 引导程序:0面0道1扇区,系统启动时自动装入内存,并负责装入DOS其他部分 IO。SYS:DOS与BIOS低级接口,BIOS是驻留在ROM的基本输入输出系统,IO。SYS负责在外部设备和计算机之间读写数据,用于管理键盘、显示器、打印机、通讯设备等 MSDOS。SYS:DOS核心负责磁盘数据的组织及存取;提供彝族内部功能,用户可调用(系统功能调用) COMMAND。COM:键盘命令处理程序,DOS最外层,用户与DOS间接口

DOS文件 文件概念:存储在磁盘上的一组相关信息 文件名 : 〈文件标识符〉[.〈扩展名〉] 文件名中的通配符 C程序结构和设计方法 DOS文件 文件概念:存储在磁盘上的一组相关信息 文件名 : 〈文件标识符〉[.〈扩展名〉] 例 磁盘上有如下文件: ABCD.XYZ CBCD.XYZ ABCT.XYZ ABTTS.XYZ ABID.XYZ TEXTS.TXT ABYD.TXT ABCD.BAS 1. ?B?D.XYZ 2. AB*.XYZ ABCD.XYZ ABCD.XYZ ABID.XYZ ABCT.XYZ CBCD.XYZ ABID.XYZ ABTTS.XYZ 3. *.TXT ABYD.TXT TEXTS.TXT 4. *.* 所有文件 文件名中的通配符 用途:指定文件组,避免重复操作 ? 与 * DOS中常用扩展名及其表示文件类型 .COM 系统程序文件 .EXE 可执行文件 .BAT 批处理文件 .BAK 备份文件 .TXT 文本文件 .SYS 系统文件 .OBJ 目标文件 .LIB 库文件 .DAT 数据文件 .C C源程序文件 最长8个字符 可用字符: 英文字母 数字0~9 其它字符: $ @ _ ! # % & { } ( )等 不可用字符:“ . / \ [ ] : | < > + = ; , 空格 DOS设备名:CON LPT1 PRN AUX COM NUL A:~Z: 可省略 1~3个字符 表示文件类型

DOS目录 用途: 对文件进行有效组织管理 树型目录结构 根目录 \ USER DOS TC WANG ZHAO ZHANG INCLUDE LIB DOC EXE CODE SYS 子目录 当前目录:用户目前正在其中工作的目录 路径 绝对路径:以根目录为起点的路径 相对路径:从当前目录开始的路径 例 绝对路径 \USER\ZHAO\DOC\ch1.doc 例 若当前目录为TC 相对路径 INCLUDE\stdio.h

DOS命令 内部命令:在COMMAND.COM中,驻留内存 外部命令:以文件形式驻留在磁盘(.com .exe .bat) 常用的内部命令: DIR 显示磁盘文件目录 COPY 拷贝文件 TYPE 显示文本文件 RENAME 更改文件名 DEL 删除磁盘文件 DATE 显示和设置日期 TIME 显示和设置时间 CLS 清除显示屏幕 常用的外部命令: FORMAT 磁盘格式化 DISKCOPY 软盘间拷贝 XCOPY 拷贝目录和文件 PRINT 打印文件 FDISK 硬盘分区 常用DOS命令 例 A:\> FORMAT A: /S/V 格式化A驱软盘,将DOS系统文件存入, 并为其加上卷标 文件操作命令: TYPE 显示文件内容 例 C:\>TYPE A:\HELLO.C REN 更改文件名 例 C:\>REN C:\*.TXT *.TMP DEL 删除文件 例 C:\>DEL A:\*.* COPY 复制文件 例 C:\>COPY C:\TC\*.C A: XCOPY 复制子目录及文件 例 C:\>XCOPY \USER A: /S 目录操作命令: DIR 显示目录清单 例 C:\>DIR A:\*.C /P MD 建立子目录 例 C:\>MD \WINZIP CD 改变当前目录 例 C:\>CD \TC RD 删除子目录 例 C:\>RD \USER\WANG TREE 显示目录结构 例 C:\>TREE C: /F 系统服务命令: DATE 显示和设置日期 TIME 显示和设置时间 CLS 清屏幕 磁盘操作命令: FORMAT 磁盘格式化 例 A:\>FORMAT A: /S DISKCOPY 复制软盘 例 A:\>DISKCOPY A: B: XCOPY /S 表示复制子目录,但若为空子目录,则不复制 /S/E表示复制子目录,空子目录,也复制 DIR /P 显示一屏,换页 /W TREE /F显示目录结构及文件