![[课件资料]C语言复习_第1页](http://file.renrendoc.com/FileRoot1/2019-11/24/e23900b7-fa6e-4d38-b220-146baae6d8b5/e23900b7-fa6e-4d38-b220-146baae6d8b51.gif)
![[课件资料]C语言复习_第2页](http://file.renrendoc.com/FileRoot1/2019-11/24/e23900b7-fa6e-4d38-b220-146baae6d8b5/e23900b7-fa6e-4d38-b220-146baae6d8b52.gif)
![[课件资料]C语言复习_第3页](http://file.renrendoc.com/FileRoot1/2019-11/24/e23900b7-fa6e-4d38-b220-146baae6d8b5/e23900b7-fa6e-4d38-b220-146baae6d8b53.gif)
![[课件资料]C语言复习_第4页](http://file.renrendoc.com/FileRoot1/2019-11/24/e23900b7-fa6e-4d38-b220-146baae6d8b5/e23900b7-fa6e-4d38-b220-146baae6d8b54.gif)
![[课件资料]C语言复习_第5页](http://file.renrendoc.com/FileRoot1/2019-11/24/e23900b7-fa6e-4d38-b220-146baae6d8b5/e23900b7-fa6e-4d38-b220-146baae6d8b55.gif)
已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言复习,1、基本数据类型,简单数据类型四种:char(字符型)int(整型)float(单精度浮点型)double(双精度浮点型)注意:所有变量在使用前,必须加类型说明。格式为:类型变量名表,复杂类型:数组(一维、二维)字符串:字符型数组,“0”作结束标志结构:struct,算术运算符:一元:取负()二元:、*、/、%(取模或求余)关系运算符和逻辑运算符关系6个:、=、4)取地址运算符和间接访问运算符:语句1;else语句2;,3、流程控制,2)循环语句whiledo-whilefor,3)开关语句switch(条件表达式)case常量表达式1:语句1;break;case常量表达式2:语句2;break;case常量表达式n:语句n;break;default:语句n+1;,3、流程控制,4)转移语句:break、continue、gotobreak;continue;goto标号;,指针也是一种变量,它用于存放另一个变量在内存的地址。是一种间接访问变量或对象的方法。,指针的定义例:intx;/定义x为整型变量int*px;/定义px为指向某整型变量的指针px=/将px所指向的内容赋给y,所以y=x,*;,4、指针,对指针变量的定义:int*pi;/指向整型的指针char*pc;/指向字符型的指针double*pd;/指向双精度型的指针其中,pi,pc,pd都是指针变量,变量名前加“*”即为指针变量。,与指针有关的运算符:/相当于y=x+1;*px=0;/相当于x=0;py=px;/py、px均为指向整型变量的指针,可以象一般变/量那样进行赋值。令py也指向变量xpx=px+n;/指针px自增n个单元y=*(px+1);/把x下一单元的内容赋给ypxpypx=py/指向同一类型的指针可以比较y=*px;/可以进行二次间接访问,*px仍为指针,5、数组,数组是由多个同类型变量组成的集合。数组元素被引用的格式:,;,数组的初始化:intcount5=1,2,3,4,5;charch=“hello!”;ints10=10;,指针和数组凡是能用数组解决的问题,都能用指针来处理。而用指针更简洁。,1)指针可以指向数组或数组元素C语言规定数组名是一个常量,其值为这个数组的首地址。ints=2,1,0,3,2;/定义一个整型数组并赋初值int*ps;/定义一个指向整型变量的指针ps=s;/ps指向数组s,即指向s0注意:数组名s和指针ps是有区别的:s是常量,而ps是变量。ps是指针,而s不是。可以通过*(ps+i)或*(s+i)来访问数组元素si的值。,2)字符指针字符串,即字符型数组。字符串的处理往往通过字符指针。例:char*s;/定义一个指向字符型变量的指针s=“Iamastring”;/把字符串“Iamastring”的首地址赋给s,/所以s指向该字符串charpString=“IloveChina!”;char*myString=“Thisisastring.”;myString=pString;注:处理字符串的标准库函数定义都在string.h中。,6、函数,一个较为复杂的程序,通常由一个main主函数和若干个子函数组成(也可以不包含子函数),各函数之间是相互独立的。函数与函数之间通过参数传递和返回值来联系。源程序从main函数开始执行直到main函数结束,其他函数都是由main函数直接或间接地调用执行。每个变量在使用之前必须先定义,同样的,函数在使用前也必须先定义。在程序中,函数定义和函数调用,两者缺一不可。,C或C+程序完整结构:头文件包含语句外部变量说明;子函数定义部分:类型函数名(形参表)内部变量说明;执行语句;main主函数:voidmain()内部变量说明;执行语句;(包括调用前面定义的子函数),1)函数的定义,用户可以根据自己的需要定义函数,一般形式为:返回类型函数名(形式参量表)参量说明;/C+中,参量说明放在形参表中变量说明;语句;,函数定义中,各部分的含义如下:(1)函数类型是说明函数返回值的数据类型。若函数返回的是整数值,则类型说明可以缺省。(2)函数名是识别函数的名字,用字母或数字构成的标识符表示。(3)圆括号内的形式参量,当该函数被调用时,形参要被实际参数所替换。函数没有形参时,圆括号()不能省略。若有参量表,要说明参量的数据类型。(4)在花括号中的内容称为函数体,完成函数的功能。(5)函数需要返回值时,就必须使用返回语句,它的一般形式为return(表达式);在C+中,返回的表达式不需要加圆括号。,一般格式为:函数名(实际参数表);注意:实参的类型和个数必须与形参保持一致。,2)函数的调用,函数调用,调用函数时,主调函数和被调函数之间常常有数据传递关系。函数之间的数据传递是靠函数参数进行。分为传值调用和传址调用两种:普通变量作形参传值:函数并非对实参操作,而是建立实参的复本,操作完后通过return语句返回一个值。指针(或引用)变量作形参传址:即取实参的地址传递给函数,因此函数实际上是对实参本身进行操作。,所谓“引用”,是为变量创建的一个别名,并未增加新变量。定义是:类型说明/A是变量B的引用含义:即A和B指的是同一内存地址中的内容,两个变量的值总是相同,一个变量的赋值总是影响另一个变量。,引用,用途:函数形参定义为为引用变量时,系统自动取实参的地址传给函数。相当于,引用变量是一个隐式指针。,指针变量作形参:voidswap(int*x,int*y)intt;t=*x;*x=*y;*y=t;,引用变量作形参:voidswap(int,与指针参数相比,两者功能相同,都是传递实参的地址。但引用参数可以象普通变量一样来操作,故更简洁。,#includevoidswap(intvoidswap(int,voidmain()doublesquare(double);/函数声明x=1.5;while(x256.0)coutsquare(x)name,paaddress,,a.address,3.结构数组结构数组中每个元素都具有相同的结构类型。,4.结构嵌套一个结构中可以包含另一个结构类型。,2.结构体变量的初始化:与数组初始化类似。,用typedef可以定义新数据类型名。它并不引入一种新类型,而是定义一个新名。例如:typedefintINTEGER;/使得INTEGER和int具有相同意义INTEGERlen,maxlen;/相当于intlen,maxlen;好处是:通用性好。便于理解,增加程序的可读性。,类型定义(typedef),#includevoidmain()intvalue1=10,value2=20,temp;int*ptr;ptr=,示例if语句的使用。输入一个年号,判断是否为闰年,如果是则输出“Yes”,否则输出“Not”。,#includevoidmain()inty;couty;/输入一个年份if(y%4=0,#includevoidmain()inti,n;n=0;i=1;coutn=nscore;a=score/10;switch(a)case10:case9:coutExcellent!endl;break;case8:coutGood!endl;break;case7:coutRight!endl;break;case6:coutPass!endl;break;default:coutFailed!endl;,#includevoidswap(intx,inty)/函数定义,形参为整型inttemp;temp=x;x=y;y=temp;voidmain()inta=1,b=2;coutBeforeSwapa=a,b=be
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 广西玉林市2022-2023学年九年级上学期期中化学试题(含答案)
- 2025医用眼科器械消毒处理标准流程
- 高级茶艺师基础知识培训课件
- 高端养老院长培训课件
- 备考三支一扶考试真题及答案
- 电焊搭棚知识培训内容课件
- 北京辅警文员考试真题及答案
- 北航安全准入考试题库及答案
- 保山学院开学考试试题及答案
- 脑筋转弯考试题及答案
- 2025年职工职业技能竞赛(制图员赛项)参考试题库(含答案)
- 2025年学校取暖煤炭采购合作协议书
- 胖东来管理制度
- 学费分期付款申请书
- 二零二四年危险废物填埋场土地租赁合同3篇
- 学校教育用地土地租赁合同
- 原材料不合格预防措施
- 胸腰椎围手术期护理
- 《机器人驱动与运动控制》全套教学课件
- 2024年微信小程序开发与代运营合同
- 2024国有企业与私营企业之间的混合所有制改革合作协议
评论
0/150
提交评论