




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江苏省计算机等级考试二级语言考前辅导,主要内容,一、2002年(秋)至2005年(春)试卷分析二、语言概述三、数据类型及其运算四、语句五、数组六、函数七、编译预处理八、指针九、结构体与共用体十、文件十一、主要算法分析,一、试卷分析(选择题),一、试卷分析(续、基本概念),一、试卷分析(续、运行结果),一、试卷分析(续、完善程序),二、C语言概述,、C程序的结构、main函数一个程序可由多个函数构成,其中必有唯一的一个主函数。它是整个程序的入口,也是整个程序的出口。、标识符的命名规则规则:字母或下划线开始的字母、下划线和数字串。语句中的保留字不能作为标识符。(教材375)所有的函数名可以作为标识符。、C程序的上机过程,三、数据类型及其运算,1、常量、变量常量:固定不变的量。整型常量:十进制(29)、八进制(029)和十六进制(0 x29)实型常量:小数表示(123.456)、指数表示(1.23456e+002)字符常量:普通字符(Aa2+,)、转义字符(qqqxhh)符号常量:(一般用大写字符表示)#definePI3.1415936,三、数据类型及其运算(续一),变量:整型:基本整型:2字节int(-32768-+32767)无符号基本整型:2字节unsignedint(065535)长整型:4字节longint或long无符号长整型:4字节unsignedlongint或unsignedlong实型:单精度:4字节float双精度:8字节double字符型:有符号字符:1字节char(-128127)无符号字符:1字节unsignedchar(0255),三、数据类型及其运算(续二),2、不同类型数据之间的混合运算表达式值的类型由该式子中最长的数据类型决定。float型无条件转换成double型。char型无条件转换成int型。*注意强制类型转换的用法。(类型名)(int)x+y等价于(int)x)+y参与运算的数据类型改变了,x的类型不变。3、算术运算符和运算表达式(+-*/%)/:a/ba,b都是整型结果是整型%:a%ba,b都必须是整型,三、数据类型及其运算(续三),4、赋值运算符和赋值表达式(右结合性)号左边只能出现变量,具有强制类型转换作用if(c=getchar()!=n)复合赋值运算a*=x+y等价于a=a*(x+y)5、逗号运算符和逗号表达式加;号构成表达式语句作为其它语句的一部分或函数的参数时要加括号6、表达式的类型识别7、有关运算符功能:优先级:结合性:表达式的值:,三、数据类型及其运算(续四),8、关系运算符和关系表达式=(6级)=!=(7级)注意:等于零和不等于零的表示方式a!a两个实数判相等和判不相等的方法axcase常量表达式2:语句2;break;case常量表达式n:语句n;break;default:语句n+1;注意:执行流程“语句”可为多个单个语句,此时不必加大括号default语句可缺省switch语句嵌套使用时,break语句只跳出它所处的哪层switch,整型、字符型或枚举类型,根据需要选择,四、语句(循环语句_1),(一)当型循环语句一般格式while(表达式)语句注意:“表达式”应有括号“语句”为复合语句时应加大括号在语句中应有使“表达式”趋于不成立的语句存在在复合语句中含有break和continue语句时的情况:while(表达式)break;continue;,四、语句(循环语句_2),(二)直到型循环语句一般格式do语句while(表达式);注意:无论表达式是否成立,循环体至少执行一遍“表达式”应有括号,后面的“;”号不能丢“语句”为复合语句时应加大括号在语句中应有使“表达式”趋于不成立的语句存在在复合语句中含有break和continue语句时的情况:dobreak;continue;while(表达式);,四、语句(循环语句_3),(二)for型循环语句一般格式for(表达式1;表达式2;表达式3)语句注意:“语句”为复合语句时应加大括号在语句中应有使“表达式2”趋于不成立的语句存在在复合语句中含有break和continue语句时的情况:繁琐的二维数组填值问题(结合循环语句,几乎每次都考)三种循环语句相互嵌套使用的情况,五、数组(一维数组),(一)一维数组定义:类型名数组名常量表达式;定义并初始化:类型名数组名常量表达式表达式列表;或:类型名数组名表达式列表;引用:只能引用下标变量。注意:、不能定义动态数组如:intn;intan;、只能在定义数组的时候初始化,以后不可整体赋值、除字符数组外,不可整体引用数组、一般用单循环语句引用数组元素、内存中连续存储,数组名为其存储的首地址,五、数组(二维数组),(二)二维数组定义:类型名数组名常量表达式1常量表达式2;定义并初始化:类型名数组名常量表达式;引用:只能引用下标变量。注意:、不能定义动态数组、只能在定义数组的时候初始化,以后不可整体赋值、不可整体引用数组、一般用双重循环语句引用数组元素、按行在内存中连续存储,数组名为行的行地址,ai为第i行第个元素的地址如:inta33引用a05正确、与双重循环语句一起应用(二维数组填值问题),五、数组(字符数组),(三)字符数组(一维、二维)具有普通一维数组和二维数组的性质。特点:、可以定义时初始化,也可以后用strcpy()赋值。、可以引用下标变量,也可整体引用(一维)、一般用于存放字符串、字符串的基本概念)串结束符)内存单元地址字符串、字符串操作函数的使用)串长度(编程实现)串复制(赋值)串拼接(编程实现)串比较(不能用关系运算符)、字符串的输入和输出(charc20;))gets(c);和scanf(“%s”,c);区别、二维字符数组的引用有下标引用法和数组名加第一维下标引用法,六、函数,主要内容一、函数的定义二、函数的参数三、函数的返回值四、函数的调用五、数组作为函数的参数六、局部变量和全局变量七、变量的存储类别,六、函数(函数的定义),一、函数的定义函数可理解为一个程序段,给予一定的输入就会产生一定的输出。函数的定义就是在使用函数前对函数功能的完整性描述。一般形式:函数类型函数名(参数列表)函数体注意:、函数的定义就是函数的说明、函数由“头部”和“函数体”构成、函数类型指函数返回值的类型(可以无返回值void),六、函数(函数的参数),二、函数的参数参数列表中的参数为形式参数,它们和函数体中定义的变量一起构成该函数的局部变量,形参是接受数据的通道,由于是第一次出现,因此要作类型说明。注意:、形参要一一说明、实参和形参要做到类型、顺序和数量一致、实参和形参可以同名,但它们都是所处函数内部的局部数据、实参可以是常量、量变、函数和表达式,形参只能是变量、在发生函数调用时,实参是将值(或地址)赋给形参的,六、函数(函数的返回值),三、函数的返回值通过调用函数,从被调函数中得到的值称函数的返回值。注意:、调用函数得到返回值有三种途径:)在被调用函数中用return语句可以(且只可)得到一个返回值)使用全局变量,全局变量对所有函数都有效)实参和形参采用地址复用的方法(考点)、被调用函数有时没有返回值,此时定义为void型、被调用函数返回值类型由函数的类型确定、return表达式;、被调用函数返回后,在主调函数中继续执行调用语句的下一个语句,六、函数(函数的调用),四、函数的调用函数调用是将程序的执行流程转向被调用函数,被调用函数执行完毕后再回到主调用函数继续执行。注意:、根据被调用函数的类型函数调用有三种形式:)函数调用作为表达式的一部分(被调用函数有返回值)函数调用作为其它函数的参数(被调用函数有返回值)函数调用加“;”号构成函数调用语句(被调用函数无返回值)、函数调用的形式)嵌套调用)递归调用:递归函数的编程特点递归函数的阅读特点,六、函数(数组作函数的参数_1),五、数组作为函数的参数由于可以从数组名得到数组在内存储单元存储的起始位置,它是一个地址常量,因此在计论数组作为函数参数时结合指针一并讨论。()一维数组(指向变量的指针)作为函数的参数,在实参和形参位置上共有四种情况:(假定inta10;int*p;)实参(调用点)形参(定义点)x=max(a,10);地址复用关系intmax(intb,intn)x=max(a,10);赋值调用关系intmax(int*p,intn)x=max(p=a,10);地址复用关系intmax(intb,intn)x=max(p=a,10);赋值调用关系intmax(int*p1,intn),六、函数(数组作函数的参数_2),()二维数组(指向行的指针)作为函数的参数,在实参和形参位置上共有四种情况:(假定inta34;int(*p)4;)实参(调用点)形参(定义点)x=max(a,3,4);地址复用关系intmax(intb4,intm,intn)x=max(a,3,4);赋值调用关系intmax(int(*p)4,intm,intn)x=max(p=a,3,4);地址复用关系intmax(intb4,intm,intn)x=max(p=a,3,4);赋值调用关系intmax(int(*p1)4,intm,intn),六、函数(局部和全局变量),六、局部变量和全局变量(变量的空间观)局部变量、某函数内部定义的变量,只在该函数内部有效、分程序(复合语句)内部定义的变量,只在分程序中有效、形参属于局部变量全局变量、函数外部定义的变量,作用范围从定义点开始到程序最后定义点之前的函数可用extern进行申明来扩展其作用范围、在全局变量的作用范围内如遇同名的宏定义,则在宏定义之后,同名应该用宏名置换(2004年秋选择题26题),六、函数(变量的存储类别),七、变量的存储类别(变量的时间观)存储方法分两大类:、静态存储区:全局变量(程序开始执行赋值)、局部静态变量(编译时赋初值,只赋一次)、动态存储区:局部变量(含形参、函数内定义的变量和分程序中定义的变量)具体分四种:、自动变量auto动态局部变量、static申明的变量静态局部变量、register变量动态局部变量、extern申明变量扩展全局变量作用范围,七、编译预处理,处理工作在编译前完成。一、宏定义用宏体置换程序中的宏名。不要将宏体化简后代入,有嵌套定义的宏名需逐层代入。二、文件包含和“”的搜索包含文件区别:在库函数头文件所在的目录中寻找(标准方式)、“”先在用户的当前目录中寻找,找不至再按标准方式寻找。文件包含不但可以包含函数的头文件,也可包含*.文件。三、条件编译,八、指针(基本概念),一、地址和指针变量i地址变量i_point(存储其它变量地址的变量)指针变量作为函数的参数,八、指针(数组和指针),二、数组的指针和指向数组的指针变量由于数组连续存放的特性,当指针指向数组(即数组元素)时,通过指针指向的连续变化来指向数组中不同的元素以获取对数组元素的操作。例:inta5,*p;p=*pa3*p的计算结果找到了整型数组成员a3*地址复用关系intmax(intb,intn)x=max(a,10);赋值调用关系intmax(int*p,intn)x=max(p=a,10);地址复用关系intmax(intb,intn)x=max(p=a,10);赋值调用关系intmax(int*p1,intn)指向多维数组的指针实参(调用点)形参(定义点)x=max(a,3,4);地址复用关系intmax(intb4,intm,intn)x=max(a,3,4);赋值调用关系intmax(int(*p)4,intm,intn)x=max(p=a,3,4);地址复用关系intmax(intb4,intm,intn)x=max(p=a,3,4);赋值调用关系intmax(int(*p1)4,intm,intn),八、指针(表达式类型的判断),如何判断一个是数组元素、数组元素的地址?一、一维数组intaN;、a是该数组在内存中的起始地址。、取地址运算、间接访问运算*、下标运算二、二维数组intaMN;、a是该数组的行起始地址。、*(a+i)或ai表示第行的第一个元素地址、取地址运算、间接访问运算*、下标运算,取地址,间接访问,元素:ai、*(a+i)、*运行结果:We,417,f说明:“love”为指针,以%u格式输出“love”的值,即输出该字符串的首地址。*“figs”为该字符串的第一个字符。例:main()if(“abc”=“abc”)printf(“Same!n”);elseprintf(“Notsame!n”);运行结果:Notsame!说明:比较两个字符串的起始地址,它们不可能相同。,八、指针(指针数组),(3)使用指针数组处理二维数组例:inta34,*p3,i;(*p3是指针数组)for(i=0;in+p-n(+p)-n,九、结构体与共用体,四、用指针处理链表、有关函数malloc(size);malloc(sizeof(数据类型)calloc(n,size);calloc(n,sizeof(数据类型)free(p);、链表结点的数据结构:structstudentintnum;floatscore;structstudent*next;/*特殊成员链接需要*/;,结点自身需要,九、结构体与共用体,、链表的操作链表创建结点插入结点删除链表输出注意:得到链表只要得到链首指针。调用函数对已知链表实施操作只要传递链首指针被调用函数都是返回指针值的函数,九、结构体与共用体,共用体一、共用体变量的定义,uniondatacharch;floatf;inti;;uniondataa,b,c;,uniondatacharch;floatf;inti;a,b,c;,unioncharch;floatf;inti;a,b,c;,uniondatacharch10;floatf;intb5;a;,占10个字节内存空间,九、结构体与共用体,二、共用体变量的引用只可引用最低级成员共用体变量名.成员名不能引用共用体变量,只能引用其成员。出现在结构体的定义中。,#includestdio.hstructintnum;charname10;charsex;charjob;unionintclass;charposition10;category;person2;,同一内存段放不同类型成员,某一时刻只有一个即最后存放的成员起作用。,九、结构体与共用体,枚举类型一、枚举类型定义和枚举变量:enumweekdaysun,mon,tue,wed,thu,fri,satday;变量day只可取sun到sat之间的单个值二、枚举类型的引用说明:1、枚举元素是用户自定义的常量,不可赋值。2、C语言按定义顺序使枚举元素的值为0,1,2.定义时可改变枚举元素的值,后继元素在其基础上顺序加1enumweeksun=1,mon=7,tuewedfrisatday;3、枚举元素可进行比较,按定义时的顺序值来比较。if(day=mon).4、枚举变量可赋值,但要注意类型。day=(enumweek)2;day=tue;/*二者等价*/,九、结构体与共用体,用typedef定义类型概念:用typedef定义新类型符号来替代已有的类型名。注意:没有创建新类型。只定义了类型的别名。定义:typedef原类型名新类型名;方法:1、按定义变量的方法写定义体。inti;2、将变量名换成类型别名。intcount;3、在最前面加typedef。typedefintcount;4、用类型别名去定义变量count,九、结构体与共用体,语言中几种数据类型的重新定义:typedefintNEW;typedeffloatNEW;typedefcharNEW;typedefintNEW10;typedefint*NEW;typedefint(*NEW)();typedefstruct类型标识符成员名1类型标识符成员名2.类型标识符成员名nDATE;,十、位运算,位运算符右移级按位与级按位异或级按位或级,左结合性,十一、文件,一、文件的基本操作#include“stdio.h”main()FILE*fp1,*fp2;fp1=fopen(“d:文件名”,“读打开方式”);fp2=fopen(“d:文件名”,“写打开方式”);fscanf(fp1,“格式控制”,输入列表);fprintf(fp2,“格式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年大学体育教育专业题库- 体育教育专业实践教学模式探索
- 2025年大学武术与民族传统体育专业题库- 大学武术专业的技术训练与道德修养
- 办公基础试题及答案解析
- 2025年大学华文教育专业题库- 华文教育的全球化视野
- 2025年安全培训试题附完整答案(各地真题)
- 2025年大学体育教育专业题库- 大学生体育专业实践教学实验
- 2025年育婴师技能测评试卷:育婴师职业规划与自我提升试题
- 2025年大学工会学专业题库-工会学专业的现实意义
- 2025年消防安全知识培训-消防设施操作员考试重点难点试题
- 2025年大学国内安全保卫专业题库- 校园安防设备运行与维护
- 国开2023春《言语交际》形考任务1-6参考答案
- 抽油机井示功图分析判断1
- 机电一体化说专业比赛
- 平地机操作规程
- GB/T 39141.3-2022无机和蓝宝石手表玻璃第3部分:定性标准和试验方法
- GB/T 1142-2004套式扩孔钻
- 2022年天津市河东区生态环境系统事业单位招聘笔试试题及答案
- 研究生学术道德与学术规范课件
- 浦发银行个人信用报告异议申请表
- 电镀行业环境执法现场检查要点
- 趣味成语 完整版PPT
评论
0/150
提交评论