
第1章C语言概述?计算机语言? C语言入门C编程? C语言发展史? C语言的功能?电脑程序? C语言程序? C语言程序的基本结构? C语言陈述? C语言的字符集和标识符?算法和算法表示?算法?算法表示2/23/2019?结构化编程方法计算机语言?定义C编程是一种为计算机用户设计的语言工具,用于计算机语言吗?分类?机器语言?汇编语言?高级语言2/23/2019计算机语言: 机器语言?定义C编程具有固定的格式和可以完成一系列操作的特定二进制编码. ?功能难以掌握,容易出错,冗长且繁琐2019/2/23计算机语言: 汇编语言?用助记符而不是指令,数字或符号的操作码定义C编程,以替换指令编程语言中的操作数或操作数存储位置. 例如: 使用ADD替换加法指令的二进制代码;用SUB代替减法指令的二进制代码;功能易于记忆且易于掌握;用汇编语言编写的程序需要先由计算机编译器编译,然后才能由计算机执行,因此执行效率不如机器语言程序高. 2/23/2019计算机语言: 高级语言?定义C程序设计机器语言或汇编语言是一种面向机器的语言,用它们编写程序与特定的计算机指令系统是分不开的.
高级语言是面向过程的语言,独立于机器. 在高级语言中,操作码和地址显示为符号代码或文本. ?具有易于记忆,易于理解和掌握,书写效率高的特点;用高级语言编写的程序需要先编译或解释后才能由计算机执行,因此执行效率不如机器语言程序高. 2/23/2019计算机语言: 高级语言? C类型编程BASIC,PASCAL,FORTRAN,COBOL,C,LISP,PROLOG?高级语言程序执行方法?编译并执行: 首先将源程序转换为机器语言目标程序,然后将每个目标程序连接到可执行程序. •解释和执行: 使用语言解释器解释源程序并同时执行它. 解释后的机器代码在执行期间不会保存,并且该程序在下次运行时需要重新解释. 2019年2月23日C语言介绍: C语言发展历史语言名称ALGOL 60 CPLC编程诞生年份1960年1963年制定者Peter Naur和其他7个国家的13个剑桥大学BCPLB语言19671970-1971 M. RichardsK. ThompsonC语言是可移植的C语言标准C语言ANSI C语言1972-19731977 1978 1983 1987 DMRitchieB.W.Kernighan,DMRitchie美国国家标准协会美国国家标准协会2/23/201987 ANSI CISO C语言1990国际标准组织C语言简介: C语言开发历史语言名称ALGOL 60 CPLC编程功能是面向问题的,与硬件相距甚远,不适合编写系统软件. 它比ALGOL60更接近硬件,但是它庞大且难以简化CPL ---基本组合编程语言更简化的BCPL,可以编写系统软件(UNIX),但是它太简单了,并且功能受到限制. 保留了B和BCPL语言的特性c程序设计语言,克服了这些缺点. UNIX版本5和6的编写简化了C的移植工作. UNIX版本7的编译器是Foundation,C语言考虑了自C语言问世以来的发展. 此外,K&G重新编写了The C编程语言,并提出了一个基于87 ANSI C的新标准作为标准和基础. 诞生了许多C语言系统: Microsoft c,Turbo C,Quick C,Borland C,Visual C,Visual C ++ BCPL B语言C语言可移植C语言标准C语言ANSI C语言87 ANSI C ISO C语言2/23 / 2019 C语言简介: 典型的C语言版本?当前流行的C语言版本C编程Microsoft C,Visual C,Visual C ++(Microsoft); Turbo C,Borland C,Borland C ++(Borland);这些C语言分为DOS版本和WINDOWS版本;有面向过程和面向对象.

?本课程使用Turbo C3.0和Visual c ++ 6.0作为编程实践的动手环境. 2019年2月23日C语言介绍: C语言功能1.语言简洁,紧凑,易于使用,灵活的32个关键字,9种控制语句,可自由编写,接近自然语言C编程2.操作员丰富在34个运算符中,使用非常灵活并且可以构造各种表达式. 3.完整的数据类型标准和用户定义的数据类型可以满足各种编程需求. 4.结构化语言使编写结构化程序变得容易2/23 / 2019C语言介绍: C语言功能5.程序执行效率高,可移植性好. C编程比汇编程序的执行效率低10%到20%,并且可以直接移植到其他机器系统中. 6.与其他高级语言相比,它更接近于机器语言C语言. 它是高级语言中的低级语言,可以实现汇编语言的大部分功能,并且可以直接访问物理硬件. 7.语法不规范,自由度大,调试难度大. 从这个意义上讲,这不是一种``好的''教学语言2/23/2019计算机程序吗?程序类型C编程源程序目标程序可执行程序解释程序编译程序?执行的程序CPU从存储器中读取一条指令,由算术单元和控制器执行相应的操作,读取下一条指令,执行相应的操作,重复该过程,直到程序的最后一条指令为止.
2/23 / 2019C语言程序????源程序目标程序可执行程序编译器C程序2/23 / 2019C语言程序的基本结构? C语言程序示例C编程预处理命令[示例1]一个仅包含一个main()函数的C程序. #include

主要功能是整个程序的组织者. 它直接或间接地协调其他功能的组织以一定顺序工作以完成总体任务; C语言遵循“使用前定义”的原则. 通常,要使用符号,应在使用前对其进行定义. 如果主功能出现在其他功能之前,请声明以下功能; 2/23/2019? C语言程序从主要功能开始,从执行C语言程序的基本结构到设计C语言源程序,到可以执行的程序通常需要执行以下步骤: C语言中的C编程,编辑,编译,链接和执行功能2/23 / 2019C语言?直观地描述C编程函数就像一个处理处理器,它可以接收要处理的数据,也可以输出所需的处理结果,图像如下: 输入: 参数函数2/23/2019输出: 函数类型C语言函数?函数C编程的通用格式函数类型函数名称(函数参数){函数体: 通过声明,语句和注释;} 2/23 / 2019C语言函数?函数C编程示例void main(){printf(“一个简单的C程序!\ n”);} float max(float x,float y){if(x> y)return(x);否则返回(y);} 2/23 / 2019C语言函数?函数由语句组成吗?每个语句必须以分号“;”结尾. C编程一行可以包含一个语句或多个语句;或一个语句(\)的多行?注释有两种形式/ * * /: 用于注释;它可以出现在引号之外的任何位置,并且可以出现空格; //: 用于一行注释;注释不是程序的必要部分,注释的存在不影响程序的编译和执行.
但是注释可以提高程序的可读性. ? C语言的大多数功能都是通过函数实现的. C语言通常提供通用功能的函数;要使用这些功能,请在主功能之前包含用于声明这些功能的头文件;例如,#include

C程序设计? C语言字符集是构成标识符和运算符的基本单位. 2/23 / 2019C字符集? C语言字符集C编程C语言字符集是ASCII代码字符集的子集,主要包括: (1)26个英文字母(区分大小写)(2)10个数字(0〜9)(3)下划线和特殊符号(+-* /%〜 C程序设计示例: sin,tan,log等具有与数学相同的含义; fclose,fopen用于关闭和打开文件. 这些预定义标识符的数量因系统而异. 预定义标识符与关键字不同,用户可以分配新的含义,但是不建议这样做. 标识符的2/23 / 2019C: 用户定义的标识符用户遵循自己的意愿并需要定义标识符C编程用户定义的标识符的基本原理(1)遵守标识符号组成的规则; (2)绝对避免与关键字重复名称; (3)尽量避免使用带有预定义标识符的重复名称; [示例]确定以下字符序列是否为合法标识符: p2p,?,?,Sin?,Int,INT,sin,a [2],* b2 / 23 / 2019C的标识符[示例3]标识符sin和cos被重命名并且程序是正确的;如果将它们更改为int,并且在编译期间会发生错误. C编程#include 计算机程序是数据结构之上的算法,即: 程序=数据结构+算法2/23/2019计算机算法可分为两大类: 数值算法和非数值算法. 算法示例[示例4]任意给定正整数n,在序列1 -1 / 2、1 / 3,-1 / 4,...中找到前n个项的和. C程序设计分析: 正处理对象的负项交替出现,后一项的分母比前一项的分母大1. 找出前n个项的总和. 算法: 让sum代表所需的总和,并且sum的初始值为0;然后求和是在逐一找到序列的每个项目后将总和相加的结果. 令item代表第k个项目,则当k为奇数时,item为正,否则为负. 令k从1开始并增加1. 当k变为n时,求和. 据此可以设计以下算法: 2/23/2019算法示例(1)以整数n读取(2)sum = 0(3)k = 1(4)如果k为奇数,item = 1 / k 否则item = -1 / k(5)sum = sum + item(6)将k增加1: k = k + 1(7)如果k不大于n,则继续(4)〜(6);否则结束,输出结果C / 23/2019算法的编程特性1.有限性: 算法应在有限数量的步骤后结束C程序设计. 2.确定性: 算法的每一步应清晰无歧义3.有效性: 该算法应能够有效运行并给出预期结果. 4.输出: 该算法应具有一个或多个输出. 2/23/2019算法的表示形式?自然语言表示C程序设计该算法以自然语言表示和描述. 由于自然语言的含义不准确,因此无法在计算机上实现此方法. ?计算机语言符号严格按照其语法编写与算法相对应的程序. 这是我们编程的目标. 但是,直接直接编写算法的计算机语言程序通常很困难,并且需要过渡. 以下方法可以理解为从自然语言到计算机语言的过渡的表示方法2/23/2019?流程图表示C程序设计流程图是一种算法表示方法,它以图形方式表示算法的操作. 常用的图形由美国国家标准协会(ANSI)开发并认可. 主要有以下几种类型: 启动和停止框输入和输出框处理框判断框流线2/23/2019算法表示?上例中的流程图C开始读取nsum = 0 k = 1Yk是奇数Nitem = 1 / k sum =和+项目k = k + 1item = -1 / kk> n? YN2 / 23/2019算法表示结束吗?使用基本结构改进的流程图C程序设计在流程图表示方法中,对生产线的使用没有任何限制,这可能导致任意的流向并降低可读性. 1966年,Bohra和Jacopini提出了以下五个改进的基本结构: (1)顺序结构(2)双分支选择结构(3)单分支选择结构(4)当前类型的圆形结构(5)直至类型的圆形结构2019/2/23表示算法? 5种改进的基本结构的C编程AB序列结构A p BA p双分支选择结构单分支选择结构A p N当前类型的圆形结构YA p Y直到类型的圆形结构N2 / 23/2019算法代表了五个特征基本结构: C编程(1)只有一个入口和一个出口(2)结构的每个部分都可以执行,而不会产生无限循环. 重要结论: (1)由5种组成. 由基本结构顺序组成的算法结构可以解决任何复杂的问题. (2)由五个基本结构序列组成的算法称为结构化算法2/23/2019. 表示算法? N-S流程图表示不带流水线的结构化流程图称为N-S流程图. 与上述5种基本结构相对应的NS基本为: C进行类型循环结构到类型循环结构时的编程序列结构选择结构NS流程图表示的算法显然是建立P时的结构化算法A BPYA AN B 2 / 23 / 2019A,直到建立P. 示例4的NS流程图用于读取nC. 编程YSum = 0K = 1 k是奇数Nitem = 1 / kitem = -1 / ksum =和+项目k = k + 1直到k> n2 / 23/2019算法表示[示例5]用于确定质数的NS流程图C编程2/23/2019算法的表示形式?伪代码表示法C流程图的优点是直观,准确,但突出的缺点是难以绘画,并且不容易修改. 伪代码表示法克服了这些缺点. 伪代码表示法是自然语言表示法和计算机语言表示法之间的表示. 它写得像论文一样,从上到下都很容易. 示例4的伪代码表示如下: 2/23/2019算法的表示开始读取整数n开始输入n将sum的初始值设置为0C编程sum = 0k = 1如果k为奇数number,item = 1 / k item = -1 / k将k的初始值设置为1请执行以下操作: 如果k为奇数,则设置item = 1 / k如果k为偶数,则设置item = -1 / k sum = sum +项目,直到k> n打印求和的值结束elseseum = sum +项目,直到k> nprint sum结束2/23/2019算法表达式摘要?记法摘要C程序设计(1)流程图表示法和NS流程图表示法应精通一本,我们将在以后使用; (2)伪代码符号也应该很熟悉,因为它使用起来非常方便,并且在许多其他场合也使用过; (3)与精算法对应的算法表示也很简单;算法的质量取决于掌握数学知识和基础,因此必须重视数学知识的学习. 2/23/2019编程方法?使用结构化算法编写的计算机程序是结构化程序. 在编写结构化程序时,通常使用结构化编程方法. 这种方法的基本思想是将给定的问题分解为一系列小的,易于编程的解决方案,包括层次(垂直方向)和阶段(水平方向)问题,然后与这些分解后的小问题相对应,设计一个结构化的算法,最后用语言描述算法. 这样的编程方法是C程序设计的一种结构化编程方法. 2/23/2019?结构化编程思想的实施方式与另一基本结构功能不可分离,这将在以后介绍. 编程摘要学习编写程序就像学习编写文章. 写一篇文章,一个接一个地学习单词,短语,句子,段落,语法等. 要编写程序,您必须先逐步学习字符集,标识符,句子,函数和语法. 以下是程序与文章之间的类比: 第2/23 / 2019C条程序设计段落句子单词单词程序功能语句标识符字符集练习1. C语言的功能. 2. C语言程序的结构. 3. C语言标识符和组成方法. 4.算法的常用表示方法. 5.结构化程序设计方法. 6.从设计算法到可执行程序,需要执行哪些步骤. 7.练习P36 2.4.C程序设计2/23/2019
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-197947-1.html
人不犯我