C语言程序设计(考研+期末)知识点总结笔记
●第一章程序设计和C语言
●1.1什么是计算机程序
●程序是一组计算机能识别和执行的指令
●1.2什么是计算机语言
●概念
●计算机语言是一种计算机和人都能识别的语言
●发展阶段
●机器语言
●计算机能直接识别和接受的二进制代码称为机器指令
●机器指令的集合就是该计算机的机器语言
●符号语言
●符号语言又称为符号汇编语言或汇编语言
●一条符号语言的指令对应转换为一条机器指令,转换的过程称为“代真”
或“汇编”
●机器语言和汇编语言是完全依赖于具体机器特性的,称为计算机低级语
言
●高级语言
●概念
●这种语言功能很强,且不依赖于具体机器,用它写出的程序对任何型
号的计算机都适用,称为计算机高级语言
●发展阶段
●非结构化的语言
●编程风格随意,没有严格的规范要求,使程序变得难以阅读和维
护
●结构化语言
●规定程序必须由具有良好特性的基本结构构成,程序中的流程不
允许随意跳转,结构清晰,易于编写、阅读和维护
●面向对象的语言
●程序面对的不是过程的细节,而是一个个对象
●1.3C语言的发展及其特点
●C语言的祖先是BCPL语言(Basic Combined Programming Language)
●开发C语言的目的在于尽可能降低用它所写的软件对硬件平台的依赖程度,使
之具有可移植性
●最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的
●C语言是一种用途广泛、功能强大、使用灵活的过程性(procedural)编程语言
●特点
●1.语言简洁、紧凑,使用方便、灵活
●2.运算符丰富
●3.数据类型丰富
●4.具有结构化的控制语句
●5.语法限制不太严格,程序设计自由度大
●6.C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分c语言程序总是从什么开始执行
功能,可以直接对硬件进行操作
●7.用C语言编写的程序可移植性好
●8.生成目标代码质量高,程序执行效率高
●1.4最简单的C语言程序
●stdio.h是standard input&output的缩写
●//单行注释;/**/块级注释
●1.4.2 C语言程序的结构
●一个程序由一个或多个源程序文件组成
●预处理指令
●全局声明
●函数定义
●函数是C程序的主要组成部分
●一个函数包括两个部分
●函数首部
●函数体
●声明部分
●执行部分
●程序总是从main函数开始执行的
●程序中对计算机的操作是由函数中的C语句完成的
●在每个数据声明和语句的最后必须有个分号
●C语言本身不提供输入输出语句
●程序应当包含注释
●1.5运行c程序的步骤与方法
●计算机不能直接识别和执行用高级语言写的指令,必须用编译程序(编译器)
把c源程序翻译成二进制形式的目标程序,然后再将该目标程序与系统的函数
库以及其他目标程序连接起来,形成可执行的目标程序
●步骤
●上机输入和编辑源程序
●对源程序进行编译
●编译程序自动把源程序转换成二进制形式的目标程序(VC++后缀为.obj)
●进行连接处理
●必须把所有的编译后得到的目标模块连接装配起来,再与函数库连接成
一个整体,生成一个可供计算机执行的目标程序,称为可执行程序
●运行可执行程序,得到运行结果
●流程图
●
●1.6程序设计的任务
●问题分析
●设计算法
●编写程序
●对源程序进行编辑、编译和连接
●运行程序,分析结果
●调试(debug)
●调试的过程就是通过上机发现和排除程序中故障的过程
●测试(test)
●测试就是设计多组测试数据,检查程序对不同数据的运行情况,从中尽
量发现程序中存在的漏洞,并修改程序,使之能适用于各种情况
●编写程序文档
●必须向用户提供程序说明书,内容应包括:程序名称、程序功能、运行环境、
程序的装入和启动、需要输入的数据、以及使用的注意事项等
●第二章算法——程序的灵魂
●前言
●一个程序主要包括两个方面的信息
●数据结构
●对数据的描述。在程序中要指定用到哪些数据以及这些数据的类型和数
据的组织形式
●算法
●对操作的描述,即要求计算机进行操作的步骤
●一个程序除了以上两个主要要素外
●结构化程序设计方法
●语言工具
●2.1什么是算法
●含义
●广义地说为解决一个问题而采取的方法和步骤,就称为“算法”
●计算机算法的分类
●数值运算算法
●非数值运算算法
●2.2简单的算法举例
●归纳解题的规律,把具体的问题抽象化,设计出简明的算法
●闰年的条件:能被4整除,不能被100整除或者能被400整除
考虑算法时,应当仔细分析所需判断的条件,如何一步一步缩小检查判断的范
围
●对题目要思考分析,到规律,把题目表示为一般形式,即把问题抽象化
●2.3算法的特性
●一个有效算法应该具有以下特点
●有穷性:一个算法应包含有限的操作步骤,而不能是无限的
●确定性:算法中的每一个步骤应当是确定的,而不应当时含糊的、模棱两可
的
●有零个或多个输入:所谓输入是在执行算法时需要从外界取得必要的信息
●有一个或多个输出:算法的目的是为了求解,“解”就是输出
●有效性:算法中的每一个步骤都应当能有效地执行,并得到确定的结果
●2.4怎样表示一个算法
●用自然语言表示算法
●优点:通俗易懂
●缺点:文字冗长,容易出现歧义
●用流程图表示算法
●规则
●圆角矩形:起止框
●平行四边形:输入输出框
●菱形:判断框
●矩形:处理框
●箭头:流程线
●圆圈:连接点,用来将画在不同地方的流程线连接起来
●注释框
●一个流程图包括
●表示相应操作的框
●带箭头的流程线
●框内外必要的文字说明
●优点:直观形象,比较清楚地显示出各个框之间的逻辑关系
●缺点:占用篇幅较多,尤其当算法比较复杂时,画流程图既费时又不方便
●三种基本结构和改进的流程图
●传统流程图的弊端
●对流程线的使用没有严格限制,难以阅读,也难以修改,算法的可靠性
和可维护性低
●所以必须限制箭头的滥用,规定除几种基本结构
●三种基本结构
●顺序结构
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论