欢迎来到得力文库 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
得力文库 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    谭浩强语言总结资料讲解.docx

    • 资源ID:17167007       资源大小:388.68KB        全文页数:20页
    • 资源格式: DOCX        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    谭浩强语言总结资料讲解.docx

    精品名师归纳总结谭浩强 C 语言总结可编辑资料 - - - 欢迎下载精品名师归纳总结C 语言程序设计课程设计报告姓名:杨钧翔学号: 20228110254区队:四第一部分 C 语言程序设计学问点梳理注 C 语言程序设计所涉及到的重要学问点及对这些学问点的懂得一、程序设计1、运算机语言(1) )机器语言用二进制表示的,能被运算机识别、接受的代码称为机器指令。机器指令的集合就是 运算机语言(如: 10110110000000)(2) )汇编语言为客服机器语言的缺点,用符号语言来表示指令(英文字母、数字)的符号 语言为符号汇编语言(又称低级语言)。一条符号语言指令对应转换为一条机器指令。转换的过程称为 “代真”或“汇编 ”(3) )高级语言客服低级语言的缺点,接近人们习惯用的自然语言和数学语言。用英语单词表示的指令及语句。功能性强,不依靠于具体机器,对任何型号运算机都适用(或做很少修改)。 C 语言、FORTRAN 、QBASIC C 语言特点 语言简洁、紧凑,使用便利、敏捷 运算符丰富 数据类型丰富具有结构化的掌握语句 语法限制不太严格,程序设计自由度大C 语言答应直接拜访物理的址,能进行位( bit )操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作 用 C 语言编写的程序可移植性好 生成目标代码质量高,程序执行效率高可编辑资料 - - - 欢迎下载精品名师归纳总结2、运行 C 程序的步骤及方法上机输入和编辑源程序,以文件形式存档。.c作为后缀,生成源程序文件f.c对源程序进行编译。进行预处理,连接其它部分组成完整的、可进行正式编译的源程序(检查、转换)进行连接处理。把全部编译后得到的目标模块连接装配,与函数库想连接成一个整体,生成一个可供运算机执行的目标程序运行可执行程序,得到运行结果。二、算法1、算法的概念广义的说是 解决一个问题所采纳的方法和步骤(太极拳动作图解、乐谱) 运算机算法分为两大类: 1.数值运算算法(求数值解)2非. 数值运算算法(常用于事务治理领域)2、算法的特性有穷性:一个算法应包含有限的操作步骤确定性:算法中的每一个步骤都应当是确定的,而不是模糊的、模棱两可的(算法的含义应当是唯独的,而不应当产生“歧义性 ”)有零个或多个输入:在执行算法时需要从外界取得必要的信息有一个或多个输出:有效性:算法中的每一个步骤都应当有效的执行,并得到确定的结果可编辑资料 - - - 欢迎下载精品名师归纳总结3、算法描述(1) 自然语言即人们日常使用的语言。用自然语言表示通俗易懂,但文字冗长,有歧义。在描述包含分支和循环时不便利(2) 流程图流程图是用一些图框来表示各种操作。用图形法表示算法,直观形象,易于懂得。流程图包括: 表示操作的框 带剪头的流程线(流程线不要遗忘画箭头, 反应流程的先后) 框内外必要的文字说明流程图三种基本结构:可编辑资料 - - - 欢迎下载精品名师归纳总结次序结构挑选结构循环结构: 当型( while )循环;直到until 型循环N-S 流程图 表示算法:全部算法写在一个矩形框内N-S 流程图用以下的流程图符号:1次序结构2挑选结构3循环结构特点:比文字描述直观、形象、易于懂得。比传统流程图紧凑易画,废止了 流程线,算法由各个基本结构按次序组成。流程图中的上下次序就是执行时的 次序。表示的算法都是结构化的算法。结构化的算法是由一些基本结构次序组成的。在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基 本结构范畴之内可编辑资料 - - - 欢迎下载精品名师归纳总结三种基本结构的图示:次序结构挑选结构循环结构的图示:当型 While 型循环结构直到型 Until 型循环(3) 伪代码:介于自然语言和运算机语言之间的文字和符号来描述算法。它不用图形符号,书写便利,格式紧凑,修改便利,简洁看懂,便于向运算机语言算法过渡。可编辑资料 - - - 欢迎下载精品名师归纳总结伪代码写算法并无固定的、严格的语法规章,可以用多种语言。只需把意思表达清晰,便于书写和阅读,书写的格式要写成清晰易读的格式用伪代码写的算法易于修改设运算法的目的是为了实现算法,所以不仅要考虑如何设计一个算法,也要 考虑如何实现一个算法。在用流程图或伪代码描述一个算法后仍要转换成C 语句。三、基本数据类型及 C 语句可编辑资料 - - - 欢迎下载精品名师归纳总结§ 3.1C的数据类型C语言供应了以下一些数据类型。整型int可编辑资料 - - - 欢迎下载精品名师归纳总结基本类型数据类型构造类型指针类型字符型char 实型(浮点型) 数组类型结构类型struct联合类型union枚举类型enum单精度实型float双精度实型double可编辑资料 - - - 欢迎下载精品名师归纳总结空类型( 无值类型)void可编辑资料 - - - 欢迎下载精品名师归纳总结§3.3整型数据. 整数类型的有关数据:类型类型说明符长度基本型短整型int short22字节字节长整型long4字节无符号整型unsigned2字节数的范畴- 32768 32767- 215215- 1- 231231- 10 65535可编辑资料 - - - 欢迎下载精品名师归纳总结无符号短整型unsigned short2字节0 65535无符号长整型unsigned long4字节0( 232 - 1)可编辑资料 - - - 欢迎下载精品名师归纳总结§3.4浮点型数据2浮点型变量的分类浮点型变量分为单精度( float型)、双精度(double 型)和长双精度型( long double )三类形式。类型位数float32double 型64long double12810数的范畴10- 37 103810- 30710308- 4931104932有效数字67 位1516位1819位§ 4.1C语句概述C程序源程序文件 1源程序文件 2源程序文件 n预处理命令数据声明函数 1函数n函数首部函数体数据声明执行语句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 语句【1】if (表达式)语句 1 明有 else句子部分【2】if (表达式) 语句 1可编辑资料 - - - 欢迎下载精品名师归纳总结Else语句 2【3】if (表达式)语句 1Else if 表达式 2 语句 2Else if 表达式 3 语句 3Else if 表达式 m 语句 mElse语句 m+1(2) Switch 语句(3) Switch 表达式Case 常量 1 : 语句 1 Case 常量 2 : 语句 2Case 常量 n : 语句 n Default : 语句 n+13、循环结构4、模块化程序设计 函数在前面已经介绍过,源程序是由函数组成虽然在前面各章的程序中大都只有一个主函数 main,但有用程序往往由多个函数组成。可编辑资料 - - - 欢迎下载精品名师归纳总结数是源程序的基本模块,通过对函数模块的调用实现特定的功能。语言 中的函数相当于其它 高级语言的子程序。语言不仅供应了极为丰富的库函数如 Turbo C,MS C 都供应了三百多个库 函数,仍答应用户建立自己定义的函数。把自己的算法编成一个个相对独立的函数模块,然后用调用的方法来使用函 数。可以说程序的 全部工作都是由各式各样的函数完成的,所以也把语言称为函数式语言。 由于采纳了函数模块式的结构,语言易于实现结构化程序设计。使程序的层次结构清晰,便于程序的编写、阅读、调试。在语言中可从不同的角度对函数分类。从函数定义的角度看,函数可分为库函数和用户定义函数两种。 1 库函数:由系统供应,用户无须定义,也不必在程序中作类型说明,只需在程序前包含有该函数原型的头文件即可在程序中直接调用。在前面各章的例题中反复用到 printf 、scanf、getchar、 putchar、gets、puts、strcat等函数均 属此类。 2 用户定义函数:由用户按需要写的函数。对于用户自定义函数,不仅要在程序中定义函数本身,而且在主调函数模块中仍必需对该被调函数进行类型说明,然后才能使用。语言的函数兼有其它语言中的函数和过程两种功能,从这个角度看,又可 把函数分为有返 回值函数和无返回值函数两种。1 有返回值函数:此类函数被调用执行完后 将向调用者返回一个执行结果,称为函数返回值。如数学函数即属于此类函数。可编辑资料 - - - 欢迎下载精品名师归纳总结用户定义的这种要返回函数值的函数,必须在函数定义和函数说明中明确返回值的 类型。无返回值函数:此类函数用于完成某项特定的处理任务,执行完成后不向调用者返 回函数值。这类函数类似于其它语言的过程。由于函数无须返回值,用户在定义此 类函数时可指定它的返回为“空类 型”,空类型的说明符为“void”。从主调函数和被调函数之间数据传送的角度看又可分为无参函数和有参函数 两种。 1 无参函数:函数定义、函数说明及函数调用中均不带参数。主调函数和被调函数之 间不进行参数传送。此类函数通常用来完成一组指定的功能,可以返回或不返回函 数值。 2 有参函数:也称为带参函数。在函数定义及函数说明时都有参数,称为形式参数简称为形参 。在函数调用时也必需给出 参数,称为实际参数 简称为实参 。进行 函数调用时,主调函数将把实参的值传送 给形参,供被调函数使用。语言供应了极为丰富的库函数,这些库函数又可从功能角度作以下分类。 1 字符类型分类函数:用于对字符按ASCII 码 分类:字母,数字,掌握字符,分隔符, 大小写字母等。 2 转换函数:用于字符或字符串的转换。在字符量和 各类数字量 整型,实型等 之间 进行转换。在大、小写之间进行转换。3 目录路径函数:用于文件目录和路径操作。 4 诊断函数:用于内部错误检测。图形函数:用于屏幕治理和各种图形功5可编辑资料 - - - 欢迎下载精品名师归纳总结能。 6 输入输出函数:用于完成输入输出功能。7 接口函数:用于与DOS,BIOS 和硬件的接 口。 8 字符串函数:用于字符串操作和处理。9 内存治理函数:用于内存治理。 10 数学函数:用于数学函数运算。11 日期和时间函数:用于日期,时间转换操作。 12 进程掌握函数:用于进程治理和控制。 13 其它函数:用于其它各种功能。§8.1 概述一个较大的程序可分为如干个程序模块 ,每一个模块用来实现一个特定的功能。在高级语言中用子程序 实现模块的功能。子程序由函数来完成。一个程序可由一个主函数和如干个其他函数构成。函数间的调用关系由主函数调用其他函数,其他函数也可以相互调用。同一个函数可以被一个或多个函数调用任意多次。五、派生数据类型1、数组:一批具有同名的同属性的数据组成一个数组。一维数组 类型符 数组名常量表达式 数组名的命名规章和变量名相同,遵循标识符命名规章在定义数组时, 需要指定数组中元素的个数, " " 中的常量表达式用来表示元素个数,即数组长度。 常量表达式中可以包括常量和符号常量。如:int a4+5可编辑资料 - - - 欢迎下载精品名师归纳总结引用数组名下标定义数组时用到的 " 数组名常量表达式 "和引用数组元素时用的数组名下标形式相同,但含义不同。初始化时给数组中的一部分元素赋值,系统会给其余元素赋值为0。二维数组:类型说明符,数组名常量表达式常量表达式。行列 用矩阵行式表示二维数组,是规律上的概念,能形象的表示出行列关系,而在内存中,各元素是连续存放的,不是二维的,是线性的。引用数组名下标下标。假如对全部元素赋初值(即供应全部初始数据),就定义数组时对第一组的长度可以不指定,但其次维的长度不能省。字符数组(用来存放字符数据的数组)假如初值个数小于数组长度,就只将这些字符赋给数组中前面那些元素,其余的元自动定为空字符(即0)假如供应的初值个数与预定的数组长度相同,在定义时可以省略数组长度,系 统会自动依据初值个数确定数组长度。在 C 语言中,是将字符串作为字符数组来处理的。以字符0作为终止标志,用字符常量可使字符数组初始化字符数组的输入输出: .逐个字符输入输出。 .将整个字符串一次输入或输出。系统把空格字符作为输入的字符串之间的的分隔符scanf 函数中的输入项假如是字符数组名,不要再加的址符&字符串处理函数 puts (字符数组)用 puts 函数输出的字符串可以包含转义字符 gets(字符数组)从终端输入一个字符串到字符数组,并且得到一个函数值,该涵数值是字符数组的起始的址。用puts 和 gets函数只能输出或输入一个字符串 字符串连接函数 strcat(字符数组 1,字符数组 2)可编辑资料 - - - 欢迎下载精品名师归纳总结把两个字符数组中的字符串连接起来,把字符串2 接到字符串 1 的后面,结果放在字符数组 1 中,函数调用后得到一个函数值 字符数组 1 的的址strcpy(字符数组 1,字符串 2)将字符串 2 复制到字符数组 1 中去。不能用赋值语句将一个字符串常量或字符数组直接给一个字符数组。可以用strncpy 函数将字符串 2 中前几个字符复制到字符数组 1 中去,但复制的字符数n 不应余外 str1 中原有的字符(不包括 0) strcmp(字符串,字符串 2)如全部相同,就认为两个字符串相。如显现不相同的字符,就以第一对不相同的字符比较结果为准,在英文字典中位置在后面的 “大”strlen(字符数组)测试字符串的长度strlur(字符串)将字符串中大写字母换成小写字母strupr(字符串)将字符串中小写字母换成大写字母在使用字符串处理函数时,应当在程序文件的开头用#include “string.h”2、指针指针是一个的址,而指针变量是存放的址的变量“*表”示“指向 ”类型名 * 指针变量名。指针变量中只能存放的址(指针),不要将一个整数赋给一个指针变量指针变量作为函数参数函数的调用可以(只可以)得到一个返回值(即函数值)而使用指针变量作参数可以得到多个变化了的值。通过指针引用数组: p+1 指向同一数组中的下一个元素。 p-1 指向同一数组中的上一个元素。直接用 p2-p1 就可以知道他们所指元素的相对距离 * (p-)相当于先对 p 进行“*运”算,在使 p 自减二维数组 a的有关指针可编辑资料 - - - 欢迎下载精品名师归纳总结* ( 1+2),* (* (a+1)+2),a1 2表示 1 行 2 列元素的值。留意:不要把 &a i简洁的懂得为 ai 元素的物理的址,由于并不存在a i这样一个实际的数据储备单元。它只是一种的址的运算方法,能得到第i行的首的址。 &ai和 ai 的值是一样的,但他们的含义是不相同的。&a i或 a+i 指向行,而 a i或* a+i指向列。当列下标为 0 时, &ai和ai (即 a i+j)值相同,即他们表示同一的址,但应留意他们所指的对象是不同的,即指针的基类型是不同的,*( a+i)只是 ai 的另一种表示形式,不要简洁的认为 * (a+i)是“a+i所”指单元中的内容。在一维数组中 a+i 所指的是一个数组元素的储备单元,在该单元中有具体值。对二维数组 a+i 不是指向具体储备单元而是指向行。在二维数组中 a+i;a i;* ( a+i) ;&ai;&a i 0的值相同通过指针引用字符串。在 C 语言中,字符串是存放在字符数组中的。 用字符数存放一个字符串,可以通过数组名和下标引用字符串一个字符,也可以通过数组名和格式声明 “%s”输出该字符串用字符指针变量指向一个字符串常量,通过字符指针变量引用字符串常量。“ while(*from.=0 )”和“ while(*from ) ”是等价的数组可以在定义时对各元素赋初值,但不能用赋值语句对字符数组中全部元素整体赋值。字符数组中各元素的值是可以转变的(可以对他们再赋值),到字符指针变量指向的字符串常量中的内容是不行以被取代的3、结构体:由不同类型数据组成的组合型的数据结构,就称为结构体。其次部分 XX 程序的设计与实现可编辑资料 - - - 欢迎下载精品名师归纳总结(注:对所设计及实现的程序进行具体介绍,具体实现代码建议以代码文件另外提交)一、功能介绍运算输入日期是该年的第几天二、涉及到的数据类型整型三、程序算法(或流程)描述begin a=year b=month c=day switch b=1,sum=0 b=2,sum=31 b=3,sum=59 b=4,sum=90b=5,sum=120 b=6,sum=151 b=7,sum=181 b=8,sum=212 b=9,sum=243 b=10,sum=273 b=11,sum=304 b=12,sum=334 sum=sum+ cif a/400=0;a/4=0,a/100.=0 printf sumelse if b>2 sum=sum+1 printf sumelse sum=sum printf sumend四、程序代码 见源文件 xxx.c五、运行结果举例第三部分 总结可编辑资料 - - - 欢迎下载精品名师归纳总结(注:设计及实现 xxx 程序的心得体会,学习 C 语言程序设计的心得体会、疑问、建议等)学习 C 语言需要有实践。上机不断的犯错、改正、犯错、改正,我们才能真正的学好它。设计一个程序需要有一个清晰的思路,从问题的实际动身,一步一步往下走。面对复杂的问题可以采纳分步法。从上到下或者从下到下,由部分到整体,逐一完成。没有实践就不会有成果。可编辑资料 - - - 欢迎下载

    注意事项

    本文(谭浩强语言总结资料讲解.docx)为本站会员(Che****ry)主动上传,得力文库 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知得力文库 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于得利文库 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

    © 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

    黑龙江省互联网违法和不良信息举报
    举报电话:0468-3380021 邮箱:hgswwxb@163.com  

    收起
    展开