ImageVerifierCode 换一换
格式:DOC , 页数:29 ,大小:120KB ,
资源ID:4497866      下载积分:5 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4497866.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     留言反馈    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(c语言基础知识.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

c语言基础知识.doc

1、(word完整版)c语言基础知识C语言期末复习之基础知识篇-杨士帅一 C语言概述 程序:一组计算机能够识别和执行的指令。指令的有序的集合。 计算机语言:人和计算机交流信息,计算机和人都能识别的语言 C语言的注释:/单行注释/*/多行注释。 C语言的结构:1. 由一个或多个源程序文件组成.2. 函数是C程序的基本单位。3. 一个C程序至少含有一个main函数,也可以由一个main函数和若干个其他函数组成.4. C的这些特点容易实现程序的模块化。5. C程序总是从main函数开始执行,而且不论main函数的位置如何。 每个语句和数据的定义后面必须有一个括号。 C语言本身没有输入输出函数,输入输出操

2、作是库函数scanf和printf提供的。二 数据的类型和运算(一) 常量:在程序运行的过程中,其值不能被改变。1. 整型常量:1000。2. 实型常量:0。34,12。34e3.3. 字符常量:a,n.4. 字符串常量:“boy。5. 符号常量:#define PI 3.1416(二) 变量:在程序运行期间,变量的值是可以改变的。1. 变量必须先定义后使用。2. 刚定义尚未赋值的变量具有随机值。3. 定义变量要同时定义名字和类型。4. 变量名和变量值是两个不同的概念。i. 变量名实际是以这个名字代表一个内存地址。ii. 变量值就是该内存单元当前存储的值.(三) 标识符:一个对象的名字。1.

3、只能由字母,数字和下划线三种字符组成,而且第一个字符必需为字母或下划线。2. 标识符的长度无限制,但不能以关键字作为标识符。3. 不合法的标识符:M.D。John,33,3D64,Include。(四) 数据类型:就是对数据分配储存单元的安排,包括储存单元的长度以及数据的存储形式。数据类型宽度Char1BShort int 2BInt4BLong int4BFloat4BDouble8BLong double80B整数的默认时signed,各整数类型均可加修饰符unsigned表示无符号整数类型,unsigned int可以简写成unsigned。1. 整型: 一个十进制数是0到9的序列。 十

4、六进制应该加前缀0x。如:0xfa,0xAE03 八进制应该加前缀0。如:030. 使用科学记数法,e/E的后面绝对不能在跟小数,且E/e的前面必须有值。2. 字符型: 用单引号括起来的单个字符。如:a,0.实际上存储的是该数据的ASCII码。所以也可以把他们看成是整型量,C语言容许对整型变量赋以字符型,也允许对字符变量赋以整形值.3. 转义字符:转义字符含义bBackspacetTabn换行r回车”双引号单引号反斜杠4. 字符串: C语言中并没有字符串类型,用字符数组来处理字符串. 字符串是由一对双引号括起来的字符数列。 字符串常量和字符常量的区别: 字符常量由单引号括起来,字符串常量由双引

5、号括起来. 字符常量只能是单个字符,字符串常量则可以是一个或多个字符。 字符常量占一个字节的内存空间,字符串所占的内存空间常量等于字符串中的字符数加一。增加的一个字节中存放字符0. ASCII为0,这是字符串结束的标志。 Ex: a在内存中占一个字节,“a”在内存中占2个字节。5. 符号常量: 在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义:define 标识符常量名 常量值 define是一条预处理命令,称为宏定义命令,其功能是把该标识符定义为其后的常量值。习惯上常量的标识符用大写字母,而变量名用小写字母。(五) 运算符:1. 算术运算符: 整数除法

6、:两个整数相除的结果为整数。Ex:5/3=1,舍去小数部分.-5/3=-1,向零取整. 浮点除法:保证除数和被除数中至少有一个是浮点数。Ex:5/4。0=1.25. 模运算要求运算元为整数,结果也是整数。Ex:5%3=2. C语言没有乘方运算,但pow函数可以实现乘方运算。pow(x,y)x的y次方.include.算数运算符的优先级与结合性:先乘除后加减,从左至右。 不同类型数据的混合运算:类型的自动转换,编译系统会自动把各操作系统操纵数转化为操作数中最长的类型.EX:若int型与float或double型数据进行运算时,系统会自动把int与float型数据转化为double型,然后在进行运

7、算,结果时double型.2. 自加自减运算符: i+,i-:在使用i之后将i的值加/减1。 +I,-i:在使用i之前,先将i的值加/减1.3. 强制类型转换:(double)a将a转化为double类型。短类型长类型 安全长类型-短类型 有可能会丢失数据。4. 运算符的优先级:1,()、(结构体成员运算符)、(指向结构体成员运算符) 2,单目运算符 !(非)、(自减)、(自加)、(按位取反) 、正号(+)、负号(-)3,算术运算符 *、 %、 /,+、4,关系运算符 、 、 =、 ,=,=,=,!=.用来比较两个操作数之间的关系,运算结果为1或0。6. 逻辑运算符:!,&,|。用来实现逻辑运

8、算和逻辑判断。用非0表示逻辑值的true,用0表示逻辑值的false。7. 条件运算符:三目运算符:表达式a?表达式b:表达式c若表达式的值非0,则返回表达式b的值;若表达式的a的值为0,则返回表达式c的值。8. 逗号运算符:用来将若干独立的表达式分隔并连接构成一个逗号表达式.9. 赋值运算符:变量=表达式。右结合性。三 输入输出函数(一) 控制台I/O:程序与外界交流。(二) C语言中所有的I/O都是由库函数完成的,要用include将相关头文件包含在源文件当中。使用标准输入输出函数时要用到stdio.h文件。(三) 格式输出函数:printf(“格式控制字符串”,表达式列表)。格式字符意义

9、d,i以带符号的十进制输出整数o以八进制形式输出无符号整数(不带前缀0)X,x以十六进制的无符号数输出整数(不带前缀0x)u以无符号的十进制形式输出整数f以小数的形式输出单,双精度实数,隐含6位小数E,e以指数的形式输出单,双精度实数G,g以%f或e中较短的输出宽度输出单、双精度实数c输出单个字符s输出字符串格式修饰符: m.nlf,mld字符说明l用于输出长整形数据以及double型数据m数据显示的最小宽度n对实数,表示输出n位小数.对字符串,表示截取的字符个数。-输出的数字或字符在显示宽度区域内左对齐。 未指定输出宽度m,则按实际位数输出。 未指定小数位数,默认6位。 宽度计算中小数点要占

10、一位。 若数据实际宽度比制定宽度要小,默认右对齐,即左补空格。有修饰符-,则左对齐,即右补空格。 若数据的实际宽度比指定宽度大,则按实际宽度输出。4格式输入函数:用户用指定的格式从盘上把数据输入到指定的变量中.scanf(“格式控制字符,变量地址列表); 在scanf语句的格式字符串中,如果没有非格式字符在“%ddd”之间做输入时的间隔,在输入时要用一个或一个以上的空格或回车或TAB键作为输入数据之间的间隔。 scanf函数中的格式控制后面应当是变量地址,而不是变量名。 不能用格式控制来规定输入数据的精度。 : scanf(%7.2f,&a); scanf(f, &a); 如果输入在格式控制字

11、符串中除了格式字符还有其它字符,那么在输入时这些字符将被作为间隔符,要输入相同的字符。 scanf(“a=%d,b=%d,a,&b)a=12,b=34在输入数据时遇到以下情况,则认为是一个数据输入的结束:遇到空格键,回车键,tab键。满足域宽,如%4d,输入4位结束。遇到非法字符。 在输入字符型数据时,若格式控制字符中没有非格式字符,则认为所有输入的字符均为有效字符。 如: scanf(”%ccc,a,b,&c);l 只有当输入为:def 时(即:不能有间隔),才能把d赋于a,e赋予b,f赋予c。四 流程控制(一) 顺序: 按语句的先后顺序依次执行。 复合语句:可用括起来的多个语句,构成一个复

12、合语句。在C语言中复合语句被认为是一条语句。(二) 分支:if语句:实现两个分支的选择结构。最常用的3种if语句的形式:1. if (表达式) 语句1 (没有else子句)2。 if (表达式) 语句1 else 语句2 (有else子句)3。 if(表达式) 语句 else if(表达式) 语句 else if(表达式) 语句 else if(表达式) 语句 else 语句m+1IF嵌套:在if语句中又包含一个或多个if语句称为if语句的嵌套。else总是与它上面最近的为配对的if配对.if( ) if( ) 语句1 else 语句2 else if( ) 语句3 else 语句4 Swit

13、ch语句:实现多分支的选择结构。根据表达式的值,使流程跳转到不同的语句.switch语句的一般格式:switch(表达式) case 常量1 :语句1 case 常量2 :语句2 case 常量n :语句n default : 语句n+1switch语句中表达式和常量可以是整形以及字符型。任何两个case后面的常量不可有相同的值.先计算表达式的值,在根据表达式的值转向不同的分支。每个case分支的语句无需用括起来。每个case分支都是入口点。break语句时转移语句,即跳出switch,无break语句,将执行入口点之后的所有语句.(三) 循环: While(表达式) 语句先判断循环条件表达式

14、的值,若为真,则执行循环体;若为假则不执行循环体语句。 do循环体语句whilie(表达式)先无条件执行一次循环体,然后在判断循环条件是否成立。 For(表达式1;表达式2;表达式3)循环体语句。表达式1:为循环变量设置初始值。表达式2:判断是否继续循环。表达式3:修改循环变量的值。循环嵌套:一个循环体内又包含另一个完整的循环结构,称之为循环嵌套。内层循环中还可以嵌套循环,这就是多层循环。3种循环可以互相嵌套。三种循环的比较: 一般情况下,三种循环可以互相代替。 循环中应包含使循环趋于结束的语句。 用while和dowhile循环变量操作应在while和dowhile之前完成。而for语句可以

15、在表达式1中实现循环变量的初始化. Break:从循环体中强行退出,结束整个循环。 Continue:停止本次循环,直接开始下次循环.五 函数使用角度来看函数包括库函数和用户自定义函数。库函数:由C系统提供,用户无须定义,也不必在程序中作类型说明,只需在程序中包含有该函数的头文件即可在程序中直接调用。用户自定义函数:用户按照需要自己编写的函数.从函数形式来看:函数分为无参数函数和有参数函数.无参数函数:无参数函数一般用来执行一组操作。无参数函数可以带回或不带回函数值.有参数函数:在调用函数时,主调函数要通过参数向被调函数传递数据。函数可以带回或者不带回函数值。一般情况下,被调函数会返回一个函数

16、值,供主函数使用。一个C程序由一个或多个程序模块组成,每一个程序模块作为一个源程序文件。对较大的程序,一般不希望将所有的内容都放在一个文件中,而是将它们分别放在若干个源文件当中,由若干个源文件组成一个C程序。一个源程序文件由一个或多个函数及其他相关语句组成。一个源程序文件是一个编译的单位,在程序进行编译是以源程序文件为单位进行编译的,而不死以函数为单位进行编译的。C程序的执行是从main函数开始的,如果在main函数的执行过程中调用其他函数,调用函数结束后流程返回到main函数,main函数结束时整个程序运行结束。所有函数都是平行和平等的,即在定义函数时是分别进行的,互相独立的,一个函数并不从

17、属于另一个函数,即函数不能嵌套定义。函数间可以互相调用,但不能调用main函数,main函数是被操作系统所调用。定义函数:C语言要求在程序中遇到的所有函数,必须先定义后使用。函数的定义指明了函数名,函数返回值类型,函数实现的功能以及参数的个数与类型,将这些信息通知给编译系统。函数定义格式:类型名 函数名(形式参数表列)函数体类型说明了函数返回值的类型,它可以是任何有效类型,如果省略,默认为int。参数列表使用逗号分割变量表,各变量表由类型和变量名组成,参数列表可以为空,表示无参,但此括号不能省略,不管定义还是声明时,每个函数参数必须同时含有类型和参数名.空函数:中类容为空,调用函数,什么也不做

18、,目的时方便以后对功能的扩充,而不会影响程序的结构。函数的返回:return 表达式。用途:使得本函数立即退出,返回到调用语句的地方,返回一个值。函数可以用两种方法停止运行并返回到调用它的地方:执行到函数最后一个语句。遇到return语句,函数的返回值是靠return语句获得的.如果不希望函数有返回值,将函数类型声明为void。除了类型为void函数外,其他函数均有返回值,该值由return语句决定,如果没有return语句函数将返回一个不确定的值。如果函数没有指明函数返回值的类型,默认为int。当函数的返回值不是整型时,应该:明确说明函数的类型。函数声明位于第一次调用之前。参数传递:C语言中

19、的函数调用传递参数是按值传送。如果实参的修改通过形参带回主调函数,用指针.用数组作为函数参数时,就把数组的地址传给了参数。函数的作用域:每个函数都是一个独立的代码块,一个函数的代码属于该函数专有。一个代码块中定义的变量成为局部变量,局部变量随代码块的产生而产生,随代码块的退出而消亡。函数的形参也是局部变量.在任何一个函数之外定义的变量成为全局变量,可以被任何一个函数访问,修改.在函数内部用存储类型符static说明变量不随函数的运行,退出而产生,消亡。但仍然只能在函数内部访问它。如果全局变量和局部变量同名,局部变量屏蔽全局变量。函数的嵌套调用:C语言容许在一个在一个函数的定义中出现对另一个函数

20、的调用。这样就出现了函数的嵌套调用。即在被调函数中又调用其他函数.六 数组数组是一组有序数据的集合,下标代表了数据在数组中的序号。用数组名和下标唯一确定数组中的元素。数组中每一个元素都必须属于同一个数据类型。一维数组的定义:类型 数组名 常量表达式数组名的命名规则与变量命名规则相同,数组也必须先定义后使用。数组类型实际上是数组元素的取值类型。对于同一数组,其所有元素的数据类型都是相同的。数组民是用户定义的标识符,不能与其他变量名相同。定义数组时,方括号必须是一个常量表达式,表示数据的元素个数,也称为数组长度。可以是符号常量或常量表达式,但不能时变量.一维数组的使用:使用数组就是使用他的元素.数

21、组的元素和普通变量一样,只不过是名字有些特殊。数组元素的一般表示形式:数组名下标序号使用数组时,数组下标可以是常量,变量和表达式,从0开始。一维数组的初始化:Int a10=0,1,2,3,4,5,6,7,8,9;可以只给部分元素赋值,当中元素少于元素个数时,系统自动给前面元素赋值,其余元素自动赋0。Int a10=1,2,3,4,5;只能给逐个元素赋值,而不能给数组整体赋值。 给十个元素全部赋3,只能写为:int a10=3,3,3,3,3,3,3,3,3,3; 而不能写为:int a10=3; 在定义数组时,若要给全部元素赋值,可以省略数组元素的长度。 如: int a5=1,2,3,4,

22、5; 可写为: int a=1,2,3,4,5;二维数组的定义:类型 变量名 常量表达式1 常量表达式2二位数组的使用:数组名 下标1下标2数组中元素顺序:C语言中,二维数组是按行储存的。l int a34a00a01a02a03a10a11a12a13a20a21a22a23二维数组的初始化:Int a53= =80,75,92, 61,65,71, 59,63,70, 85,87,90, 76,77,85;如对全部元素赋值,行下表可以省略,但列下表不能省略。 int a33=1,2,3,4,5,6,7,8,9; 可以写为: int a3=1,2,3,4,5,6,7,8,9;字符数组:cha

23、r c10;字符数组的初始化:如果初始值小于数组长度,则将这些字符赋给数组中前面的那些元素,其余元素自动定位空字符。字符0作为字符串的结束标志。字符串处理函数:输入字符串到字符数组.scanf(%s”,字符数组名);gets(字符数组名);l char st20; gets(st); scanf(“%s”, st);把字符数组中存放的字符串输出: printf(“%s”, 字符数组名) puts(字符数组名)l char st20=”China”; puts(st); printf(“%s”, st); includestract(字符串1,字符串2)把字符串2链接到字符串1后面。Strcpy

24、(字符串1,字符串2)把字符串2的内容拷贝的字符串1(覆盖)strcmp(字符串1,字符串2)按照ASCII码顺序比较两个字符串,返回比较结果。字符串1=字符串2,返回值=0;字符串1字符串2,返回值0;字符串1字符串2,返回值num来代替。结构体变量做函数参数:用结构体变量的成员作参数:例如,用stu1.num或stu2.name作函数实参,将实参值传给形参用结构体变量做参数:用结构体变量做实参时,将结构体变量所占的内存单元的内容全部按顺序传给形参,形参也必须是同类型的结构体变量.用指向结构体变量:指针做实参,将结构体变量的地址传给形参。八 指针内存单元的地址称之为指针.变量A中存放变量B的

25、地址,称A是B的指针,即A指向B。定义指针变量:Type *nametype可以时C语言中的任何一种类型。指针运算符:一元运算符,返回变量的内存地址。*一元运算符,返回指针所指向变量的值。指针指向变量:Int a;Int p;P=&a;指针赋值:与其他变量一样,指针变量也可以出现在赋值语句中,将一个指针变量的值赋给另一个指针变量。指针运算:+和Int p,当前p的值为2000,由于整型数占4个字节,p+的值将变成2004,p-值将变为1996.p每递增一次就指向下一个整形数,递减时也一样。指针比较:int p=10,*q=20; if(pq)l 比较的是两个指针所指向的内存地址的大小指针与数组

26、:指针与数组是紧密相连的。一个变量有地址,一个数组包含若干个元素,每个元素都有相应地址,指针变量可以指向数组元素。Int a10;数组名a其实就是一个地址值,记录的数组开始的地址,即a0地址。通过指针引用数组元素:() 下标法,如ai形式 () 指针法,如(a+i)或(p+i)指针数组:指针可以像任何数据类型一样构成数组。Int *x10定义的是一个包含10个整型指针的数组.Ex:要将变量a的地址给数组中的第三个元素。l x2=a;l a的值为:*x2多级间指指向指针的指针可以构造一个指针指向另一个指针,后者指向目标值.指针的初值:指针可以看作是一种特殊的变量类型,没有赋值的指针是一个随机值,

27、而指针的指向错误会带来严重的错误。给一个指针赋初值null,将使这个指针为空,即哪也不指。动态内存分配:变量都是非静态的局部变量,系统将它们分配在内存中动态存储区中,这个存储区称之为栈区。C语言还允许用户建立自己的内存动态分配区,以存放一些临时用的数据,这些数据需要时可随时开辟内存空间,不需要时可随时释放内存空间.这些数据是临时存放在一个特别的自由存储区,称为堆区动态内存分配由库函数实现:malloc,calloc,realloc,free。包含在头文件#includestdlib.h中。Mallocvoid malloc(unsigned int size);其作用时内存的动态存储区中分配一

28、个长度为size的连续空间.函数的返回值为所分配区域的第一个字节的地址,或者说,此函数是一个指针型函数,返回值的指针指向该分配域的开头位置。malloc(100); 开辟一个100字节的临时内存分配区,函数值为其第1个字节的地址l 注意:函数返回的指针的基类型是void,即不指向任何类型的数据,只提供一个地址l 如果此函数执行失败(如:内存空间不足),则函数返回空指针(NULL)Callocl 其函数原型为: void calloc(unsigned n,unsigned size); 其作用实在内存中动态存储区连续分配n个长度为size的连续空间,这个空间一般比较大,足以保存一个数组。函数返

29、回值指向所分配域起始位置的指针,如果分配不成功,返回NULLP=calloc(50,4);开辟50X4个字节的临时分配域,把起始位置赋给变量p。Freel 其函数原型为: void free(void p); 其作用时释放变量p所指向的动态空间,使这部分空间释放后就能重新被其他变量所使用。p是调用calloc和malloc函数得到的返回值.free函数无返回值。Rellocl 其函数原型为:void realloc(void p,unsigned int size);对于已经用calloc或malloc分配好的内存空间,若想改变其大小,可以用realloc重新分配。realloc函数将p所指向的动态空间大小改变为size,若成功返回值为p,若分配不成功返回值为NULL。

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服