资源预览内容
第1页 / 共38页
第2页 / 共38页
第3页 / 共38页
第4页 / 共38页
第5页 / 共38页
第6页 / 共38页
第7页 / 共38页
第8页 / 共38页
第9页 / 共38页
第10页 / 共38页
亲,该文档总共38页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Powered by Jollyseen(2011)第1章 简单C语言程序设计n 1.1 C语言程序体验 n 1.2 数据类型与运算符 n 1.3 数据输入/输出函数 n 1.4 软件与程序概述Powered by Jollyseen(2011)1.1 C语言程序体验n 案例1:已知长度和宽度,计算矩形面积l 数据、数据的存储与数据的提供( 确定数据类型、数据结构等) l 算法(确定计算公式、解题步骤) l 编写源程序(C语言/程序结构)、 程序开发环境(平台)(输入源程序 、编译源程序(生成目标程序)、链 接并生成可执行程序)及运行可执 行程序,查看(分析)运行结果Powered by Jollyseen(2011)#include main() float a,b,area; /*数据定义(类型、存储)*/a=1.2; b=3.6; /*数据设置(提供)*/area=a*b; /*数据处理(计算)*/printf(“Area=%fn“,area);/输出结果(数据 ) 案例1源程序/问题:程序的局限性?Powered by Jollyseen(2011)n 案例2:输入两个整数,计算并输出它们的和n 关注和比较:数据类型(关键字)、标识符的 命名(存储数据的变量名)、输入输出的格式#include main() int x,y,sum; printf(“Enter two integers:“);scanf(“%d%d“,sum=x+y; printf(“Sum=%dn“,sum); 案例2源程序Powered by Jollyseen(2011)n C语言最初源于描述和实现Unix操作系 统,后来随着Unix的普及而受到关注,具 有高效、灵活、功能丰富、表达能力强等 诸多优点。最佳入门语言n 既可用于编写系统软件,也用于数据处理 、数值计算等领域的应用软件,许多高校 的程序设计首选C语言,等级考试二级C等Powered by Jollyseen(2011)C语言历史相关背景知识n 1960年出现的ALGOL-60(面向问题)推进 了高级语言发展。1967年英国剑桥大学的 Martin Richard(对CPL进行了简化改进) 设计出BCPL(Basic Combined Programming Language)。1970年美国贝尔实验室的Ken Thompson在BCPL基础上改进并推出了取 BCPL的第一个字母命名的B语言,与BCPL 一样,也是一种无数据类型程序设计语言, 并用B语言编写了UNIX操作系统Powered by Jollyseen(2011)n 1972年至1973年,美国贝尔实验室的 Dennis. M.Ritchie设计出了C语言(取BCPL 中第二个字母命名,吸收了BCPL和B语言许多 思想,又具有数据类型(整型、浮点类型等) ) n 1973年Ken Thompson和D. M.Ritchie两人 合作将用汇编语言编写的UNIX的90%以上的 代码重新用C语言编写,即UNIX 5。 n 后来C语言做了多次改进,但都是限于在贝尔 实验室内部使用,直到1975年用C语言写的 UNIX 6 公布,C语言引起业内人士广泛关注, 1978年以后,C语言已经先后移植到大、中、 小型计算机和微机上并已独立于UNIX操作系统Powered by Jollyseen(2011)n 1978年Brian W. Kernighan和Dennis M. Ritchie(即K&R)合著了影响深远的著作 The C Programming Language,所介 绍C语言成为后来广泛使用的C语言基础,称 为传统C。后来相继出现许多C语言版本,如Microsoft C、Turbo C、 Quick C等,语法上基 本相同,库函数数量及功能上有很大的区别 n 1983年美国国际标准化协会(ANSI)制定 新的标准,称为ANSI C,称为标准C语言。 1990年国际标准化组织(ISO)基于87 ANSI C制定出ISO C,是目前流行C编译系统基础Powered by Jollyseen(2011)n 高级语言:如早期ALGOL-60(面向问题) Basic(解释性语言)、Fortran(面向科学 计算等)、Cobol(面向事务处理)、Pascal (里程碑、结构化)、经典C(最著名OSUnix副产品)、C+、C#、Java(面向对象 语言)以及当今可视化高级语言Visual Basic、 Visual C+、Deiphi、PowerBuilder等,还 有许多面向Web应用的脚本语言和开发环境 等Powered by Jollyseen(2011)n 高级语言中:语句是构成源程序的基本 单位,一条语句通常会被编译或解释为 多条机器指令。程序设计人员编写设计 语句必须严格遵循语言词法、语法规则n 数据是程序的处理对象,数据类型则是 高级语言确定数据范围、数据占据存储 空间大小及所能进行的计算的重要要素Powered by Jollyseen(2011)n 大多数高级语言都共同具有的特性:(1)基本符号集(2)基本元素:数、名字 ( 定义变量、函数等)、字符串等(3 )基本数据类型(4)构造类型, 数组 、结构体等(5)运算符与表达式:如算 术/关系/逻辑运算等(6)语句(如赋值 /条件/循环等)(7)库函数(由系统提 供)、自定义函数(8)注释Powered by Jollyseen(2011)n 一个C语言程序由若干个函数组成,至少 含主函数main(程序执行的入口和出口 )n 以下是只有主函数的简单C程序结构: 预处理语句 main() 数据说明部分执行语句序列 Powered by Jollyseen(2011)预处理命令等 函数类型 main()数据说明部分执行语句部分 函数类型 fun_1(形式参数表)数据说明部分执行语句部分 函数类型 fun_n(形式参数表)数据说明部分执行语句部分 n 含有多个 函数的C 程序结构Powered by Jollyseen(2011)n 完整的理解C语言程序:可以由一个或 多个程序文件组成,可以包含一个或 多个函数,但只能有一个main函数( 位置并不固定,其名字不能它用)。 函数(文件)可以单独编译,但是在 一个函数中不能定义另外一个函数n 课程程序组成将重点基于一个文件、 文件中有一个函数或多个函数的模式Powered by Jollyseen(2011)1.4 软件与程序概述n 引言:计算机软件技术是计算机技术的重要 组成部分,计算机技术的应用很大程度上与 其密切相关。计算机软件技术是软件开发、 使用等相关多种技术的统称,包括操作系统 、程序设计语言、算法与数据结构、数据库 、多媒体、软件工程等,软件的使用涉及质 量、可靠性、知识产权及道德、法律等因素1、软件与程序概念 2、软件的分类 3、程序设计与软件开发Powered by Jollyseen(2011)n 什么是软件?软件由哪三个要素组成?(1)程序:计算机为完成特定的计算或功能 所执行的指令(Instruction)序列 l 源程序(Source Program,用高级语言或汇编语言编写、可阅读的文本文件, 但计算机不能直接执行。软件源代码少见 ) l 可执行程序(Executable Program,将源程序经翻译、链接处理后生成的二进制 代码文件,计算机能执行,但不可阅读)1、软件与程序概念Powered by Jollyseen(2011)(2)数据:程序处理(加工)的对象或结果。 数据通常按一定的模式组织与存储的(数据 结构研究的范畴),数据结构对程序(软件 )及程序设计(软件开发)有很大的影响(3)文档:软件开发、维护和使用的相关图文 资料,包括对程序(软件)和数据的描述等l普通用户获取的软件文档很有限,如安装 使用说明书等。软件公司在软件(程序) 的开发过程中需要建立完善的文档Powered by Jollyseen(2011)n 总结:据软件定义,一方面软件核心是程序, 无论从个体(计算机系统中某一个软件或程序 )还是从整体含义(计算机系统中所有各类软 件或程序集合)理解,软件即程序(如在计算 机中安装一个程序或安装一个软件),因此有 时并不严格区分。另一方面软件与程序有着不 同的内涵和外延。程序侧重描述软件实现的语 言代码,但软件外延广泛,有学科和产业含义 ,如研究、开发、维护及使用软件(程序)涉 及各种理论、方法、原则、技术而构成的计算 机软件学科及软件行业、软件产业等。例如软 件工程专业以及产业中的软件公司等。 Powered by Jollyseen(2011)n 软件相关概念:抽象性、复杂性、开发模式 、知识产权以及工作与存储空间等l 软件的抽象性:软件是一种无形、不可 触摸、不会产生“磨损”的信息和逻辑产品 (“比特”集), 通过文件(及图标) 、 运行时用户界面(CUI、GUI、BUI)、 功能与用户体验感知软件的作用、存在Powered by Jollyseen(2011)n 例如:源程序或可执行程序均以文件形式 存储于存储体中(硬盘等),不同OS的 文件管理系统(模块)管理文件的方式有 很大的不同,不同高级语言源程序的扩展 文件名也不同。如C语言源程序为.c,可 执行程序的文件扩展名通常为.exePowered by Jollyseen(2011)n 如文字处理程序Word 2003、浏览器程序 都是最常用的程序文件,它们的文件名分 别为winword.exe和iexplore.exe,在DOS 与Windows下的显示、运行对比如下CUIPowered by Jollyseen(2011)开始|程序(程序的安装指向位置)程序文件 快捷方式 (桌面)Powered by Jollyseen(2011)n 程序的.exe文件的 磁盘安装存储位置GUIPowered by Jollyseen(2011)n DOS的命令提示符环境下Windows的 “运行”窗口Powered by Jollyseen(2011)l 软件的复杂性:软件是人们(软件开发 团队)通过脑力劳动把知识与技术转化 为信息所产生的知识产品,这个转化的 过程称为软件开发。软件复杂性源自于 问题或任务本身及软件开发过程复杂性 (软件开发与程序设计是不同的概念)Powered by Jollyseen(2011)l 软件的开发模式:迄今软件开发几乎完全 依赖人类手工模式完成,尽管有软件工程 、自动化工具的辅助与支撑,软件开发小 组和团队协作可以一定程度上提高开发效 率n 软件开发工作量大、周期长且成本高, 工作辛苦乏味,极具挑战性。如微软开发 团队早期招聘:只前50,3%,在盖茨的 带领下几十年来创造了无数软件帝国神话Powered by Jollyseen(2011)n 如开发操作系统(OS):从概念形成、 架构、开发实现到发布通常需要历时数年n 对于用户的应用软件:希望能在连续几代 的操作系统上工作,操作系统平台的改变 必须尽可能保持软件的“后向兼容性”n 专有操作系统或专有软件(商业软件等) 开发是采用软件公司团队的集中式、市场 与商业利益驱动模式,开发成本用户埋单Powered by Jollyseen(2011)n 开源软件则是基于“软件自由”的信仰和源 代码公开,从而实现“免费软件”目标,它 通常是依赖互联网、吸收全世界各地的 程序员的非集中式软件开发(生产)方式n 专有软件如Windows操作系统数千万行 代码是一个被严守的商业秘密,至今只有 被严格审查的少数外部人员在高度机密的 条件下才能看到其源代码。而开源软件的 源代码是完全公开的,任何人可免费
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号