C语言程序设计课程设计报告
第一部分 C语言程序设计知识点梳理
注 C语言程序设计所涉及到的重要知识点及对这些知识点的理解
一、程序设计
1、计算机语言
1机器语言
2汇编语言
为客服机器语言的缺点,用符号语言来表示指令英文字母、数字的符号语言为符号汇编语言又称低级语言; 一条符号语言指令对应转换为一条机器指令;转换的过程称为“代真”或“汇编”
3高级语言
客服低级语言的缺点,接近人们习惯用的自然语言和数学语言;用英语单词表示的指令及语
句;功能性强,不依赖于具体机器,对任何型号计算机都适用或做很少修改;〔C语言、FORTRAN、QBASIC…〕
C语言特点①语言简洁、紧凑,使用方便、灵活②运算符丰富③数据类型丰富④具有结构化的控制语句⑤语法限制不太严格,程序设计自由度大⑥C语言允许直接访问物理地址,能进行位bit操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作⑦用C语言编写的程序可移植性好⑧生成目标代码质量高,程序执行效率高
2、运行C程序的步骤及方法
①上机输入和编辑源程序,以文件形式存档; .c作为后缀,生成源程序文件
②对源程序进行编译;进行预处理,连接其它部分组成完整的、可进行正式编译的源程序 检查、转换
③进行连接处理;把所有编译后得到的目标模块连接装配,与函数库想连接成一个整体,生成一个可供计算机执行的目标程序
④运行可执行程序,得到运行结果;
二、算法
1、算法的概念
广义的说是 解决一个问题所采用的方法和步骤太极拳动作图解、乐谱
计算机算法分为两大类:1.数值运算算法求数值解
2.非数值运算算法常用于事务管理领域
2、算法的特性
①有穷性:一个算法应包含有限的操作步骤
②确定性:算法中的每一个步骤都应当是确定的,而不是含糊的、模棱两可的算法的含义应
当是唯一的,而不应当产生“歧义性”
③有零个或多个输入:在执行算法时需要从外界取得必要的信息
④有一个或多个输出:
⑤有效性:算法中的每一个步骤都应当有效的执行,并得到确定的结果
3、算法描述
1自然语言
即人们日常使用的语言;用自然语言表示通俗易懂,但文字冗长,有歧义;在描述包含分支和循环时不方便
2流程图
流程图是用一些图框来表示各种操作;用图形法表示算法,直观形象,易于理解;
流程图包括:①表示操作的框②带剪头的流程线流程线不要忘记画箭头,反应流程的先后③
框内外必要的文字说明
流程图三种基本结构:
①顺序结构
②选择结构
③循环结构:{ⅰ当型while循环; ⅱ直到until型循环}
N-S流程图 表示算法:全部算法写在一个矩形框内
特点:比文字描述直观、形象、易于理解;比传统流程图紧凑易画,废除了流程线,算法由各个基本结构按顺序组成;流程图中的上下顺序就是执行时的顺序;表示的算法都是结构化的算法; 结构化的算法是由一些基本结构顺序组成的;在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构范围之内
3伪代码:介于自然语言和计算机语言之间的文字和符号来描述算法;它不用图形符号,书写方便,格式紧凑,修改方便,容易看懂,便于向计算机语言算法过渡;
伪代码写算法并无固定的、严格的语法规则,可以用多种语言;只需把意思表达清楚,便于书写和阅读,书写的格式要写成清晰易读的格式
用伪代码写的算法易于修改
设计算法的目的是为了实现算法,所以不仅要考虑如何设计一个算法,也要考虑如何实现一个算法;在用流程图或伪代码描述一个算法后还要转换成C语句;
三、基本数据类型及C语句
C语句分为以下5类
⑴控制语句
①if…else… 条件语句
②for… 循环语句
③while… 循环语句
④do…while 循环语句
⑤contiune 结束本次循环语句
⑥break 终止执行switch或循环语句
⑦switch 多分支选择语句
⑧return 从函数返回语句
⑨goto 转向语句,在结构化程序中基本不用goto语句
⑵函数调用语句; 函数调用语句由一个函数加一个分号构成,如: printf“how do you do”;
⑶表达式语句;在表达式语句由一个表达式加一个分号构成,最典型的是,由赋值表达式构成一个赋值语句; 如:a=3 是一个赋值表达式
而 a=3; 是一个赋值语句
一个表达式的最后加一个分号就成了一个语句
⑷空语句;什么也没有; 用来作为流程的转向点,也可以用来作为循环语句中的循环体
⑸复合语句 ;用“{}”把一些语句和声明括起来成为复合语句
四、结构化程序设计
1、顺序结构
:各语句是按从上到下的顺序执行的,执行完上一个语句就自动执行下一个语句,是五条件的,不必作任何判断;
2、选择结构
:
需要根据某个条件是否满足来判断是否执行指定的操作任务,或者从给定的两种或多种操作选择其一;
(1) If 语句
1if表达式语句 1 明有 else 句子部分
2if表达式
语句 1
Else
语句 2
3if表达式语句 1
Else if 表达式2 语句2
Else if 表达式3 语句3
……
Else if 表达式m 语句m
Else 语句m+1
(2) Switch语句
(3) Switch 表达式
{
Case 常量1 : 语句1
Case 常量2 : 语句2
……
Case 常量n : 语句n
Default : 语句n+1
}
3、循环结构
4、模块化程序设计——函数
在前面已经介绍过,C源程序是由函数组成
while语句怎么用自然语言虽然在前面各章的程序中大都只有一个主函 数main,但实用程序往往由多个函数组成;
数是C源程序的基本模块,通过对函数模块的调 用实现特定的功能;C语言中的函数相当于其它 高级语言的子程序;C语言不仅提供了极为丰富 的库函数如Turbo C,MS C都提供了三百多个库 函数,还允许用户建立自己定义的函数;
把自己的算法编成一个个相对独立的函数模块, 然后用调用的方法来使用函数;可以说C程序的 全部工作都是由各式各样的函数完成的,所以也 把C语言称为函数式语言; 由于采用了函数模块式的结构,C语言易于 实现结构化程序设计;使程序的层次结构清晰, 便于程序的编写、阅读、调试; 在C语言中可从不同的角度对函数分类;
从函数定义的角度看,函数可分为库函数和用 户定义函数两种; 1 库函数:由C系统提供,用户无须定义, 也不必在程序中作类型说明,只需在程 序前包含有该函数原型的头文件即可在 程序中直接调用;在前面各章的例题中 反复用到printf、scanf、getchar、 putchar、gets、puts、strcat等函数均 属此类; 2 用户定义函数:由用户按需要写的函数; 对于用户自定义函数,不仅要在程序中 定义函数本身,而且在主调函数模块中 还必须对该被调函数进行类型说明,然 后才能使用;
C语言的函数兼有其它语言中的函数和过程两 种功能,从这个角度看,又可把函数分为有返 回值函数和无返回值函数两种; 1 有返回值函数:此类函数被调用执行完后 将向调用者返回一个执行结果,称为函数 返回值;如数学函数即属于此类函数;
用户定义的这种要返回函数值的函数,必 须在函数定义和函数说明中明确返回值的 类型;
无返回值函数:此类函数用于完成某项特定的处理任务,执行完成后不向调用者返 回函数值;这类函数类似于其它语言的过 程;由于函数无须返回值,用户在定义此 类函数时可指定它的返回为“空类 型”, 空类型的说明符为“void”;
从主调函数和被调函数之间数据传送的角度看 又可分为无参函数和有参函数两种; 1 无参函数:函数定义、函数说明及函数调 用中均不带参数;主调函数和被调函数之 间不进行参数传送;此类函数通常用来完 成一组指定的功能,可以返回或不返回函 数值; 2 有参函数:也称为带参函数;在函数定义 及函数说明时都有参数,称为形式参数 简称为形参;在函数调用时也必须给出 参数,称为实际参数简称为实参;进行 函数调用时,主调函数将把实参的值传送 给形参,供被调函数使用;
C语言提供了极为丰富的库函数,这些库函数 又可从功能角度作以下分类; 1 字符类型分类函数:用于对字符按ASCII码 分类:字母,数字,控制字符,分隔符, 大小写字母等; 2 转换函数:用于字符或字符串的转换;在 字符量和各类数字量整型,实型等之间 进行转换;在大、小写之间进行转换; 3 目录路径函数:用于文件目录和路径操 作; 4 诊断函数:用于内部错误检测;
图形函数:用于屏幕管理和各种图形功
5
能; 6 输入输出函数:用于完成输入输出功能; 7 接口函数:用于与DOS,BIOS和硬件的接 口;
8 字符串函数:用于字符串操作和处理; 9 内存管理函数:用于内存管理; 10 数学函数:用于数学函数计算; 11 日期和时间函数:用于日期,时间转换操 作; 12 进程控制函数:用于进程管理和控制; 13 其它函数:用于其它各种功能;
五、派生数据类型
1、数组:一批具有同名的同属性的数据组成一个数组;
⑴一维数组 类型符 数组名常量表达式
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论