等级考试C语言复习.docx
《等级考试C语言复习.docx》由会员分享,可在线阅读,更多相关《等级考试C语言复习.docx(194页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言复习提纲第一单1 .程序设计语;1机器语言、汇编语言、高级语言。2 .高级语言翻译成机器语言的两种方式:编译方式、解释方式。3 .算法+数据结构=程序4 .结构化程序设计的:种基本结构:顺序结构、分支(选择)结构、循环结构5 .算法的表示方法:自然语言、传统的程序流程图、N-S流程图。6 .结构化程序设计的32字原则:7 . C语言的产生及发展:UNIX操作系统8 . C语言的特点P3页:9 . C语言由函数组成,有且仅有一个main函数.10 .函数:说明部分、函数体。11 .条复杂语句分行行写,用反斜杠()续行。12 .注释用/*/第二章1 .单字符输入/出:getcharO, pu
2、tchar (字符变量)。2 .字符串:gets(字符数组名)、puts(数组名)。3.1. 式化输入:scanf (“格式控制符”,地址列表);格式控制符:枇、%d、o、x、%s、%f 若输入 long 型、double 型应加1,如%Id、%lo,%lf 格式%s输入字符串不包含空格,且对应地址表列是字符数组名。 默认分隔符:空格、回车、Tab键(也可按域宽截取) 格式控制符间不宜加其它字符,如加入其它字符,输入时应原样输入,否则数据接收错误。如:scanf(%d,%d,&a,&b);输入数据时两数据间要有逗号;scanf(%d %d”,&a,&b);%(1间有两个空格,则输入数据时至少有
3、两个空格。 输入函数中%f格式不能带小数,如:scanf (“7.2f”,&a)是错误的。 %c格式输入单字符,空格字符和转义字符都作为有效字符接收。 %*d表示跳过它对应的输入数据。4.1. 式化输出:printf(格式控制符”,输出列表); 格式控制符部分可加入其它字符,原样输出。如:提示语或使输出结果清楚显示 输出列表:可以是变量、常量、表达式、函数调用等。 转义字符:P19页,以斜杠()开始,作为一个字符,如求字符串长度:ajkgkblOknlj,长度为7。 注意:输出long、double型数据,用ld、%lf 可设定输出宽度,m和n,如:%5d、%6.2f,%.2f负号表示域内向左
4、对齐,如I:%-12d第三章1 .常量: 整型常量:235、0235、-0x235(前可加负号),长整型:-121、-0651、0x551等。 实型常量:小数形式、指数形式。 字符常量:用单引号,如c(注意转义字符). 字符串常量:用双引号,如“hglhg、“a”,内存占用为实际长度加1。 符号常量:无参宏(#define)。2 .变量: 标识符命名规则:4条(P37页)。 各种类型变量的长度。 数据类型转换:自动、强制。 注:强制类型转换只得到所需类型的结果值,原变量或表达式的类型仍为原类型。如(float)(x+y)3 .各种运算符运算规则及其优先级P51页。4 .补充-逻辑表达式的优化运
5、算: &运算:只要算出第一个表达式为0,第二个表达式不再运算。 I运算:只要算出第一个表达式为1,第二个表达式不再运算。如:int i=0, j=0, a=6; if (+i0) I I (+j0)a+; printf (%d%d%dn , i, j, a);结果i为1, j为0, a为7。5 .其它运算符:条件运算、逗号运算、氏度运算符(形式:sizeof 表达式或sizeof (数据类型)第四章1 . if, while, for中的表达式,一般是逻辑或关系表达式,也可以是任意类型表达式.如 while (a=5).2 .如果有多条语句,必须用大括号括起,构成复合语句。3 . switch
6、语句中case后面只能是常量值:若执行完某case后的语句没遇到break,则继续执行下一个case语句。4 .循环程序:注意循环变量的初值、修正值、循环条件等,以及循环中用到的某些变量赋初值,如求累加和变量。5.般是先判断条件,再执行循环体;但dowhile语句是先执行一遍循环体,再判断条件。6 . break、continue 语句。7 .本章主:要是算法构思。(先考虑好需要那些变量,即数据结构,再考虑怎样求解问题)第五章1 .数组定义:int a10;或int aN(N需要事先定义为符号常量:define N 10);数组长度必须是常出值,不能是变量,可以是在程序开始前定义的符号行心,进
7、行长度定义。2 .下标引用:ON-L切记不能引用到N.(int a5;a5=10;这种引用是错误的)3 .数组初始化时可省略长度定义。4 .数组定义后如没有给任何一个元素赋初值,对于static类型,各元素初值为0;对于auto 类型,各元素值不定.5 .数组不能整体赋值。数组中各元素值的输入/出,应使用循环程不逐个输入/出;字符数组例外(gets, puts)6 .数组中的两种排序方法:.i f泡法:外循环为i=0; inT;内循环为j=0; jn-l-i;循环中比较aj和aj+l两个元素,并互换。(考试内容)选择法:外循环为i=0; inT;内循环为)=hjn;内循环开始前,先赋初值min
8、=i:循环中比较amin和aj两个元素,不互换,只让min=j;内循环结束后再进行互换, ai和amin互换。(不做考试内容,但是希望同学们记住这种好的排序方法)7 .二维数组:按行存放;赋初值的5种情况P83页。8 .字符数组:通常定义较长长度,如:char s50;通常用于存放字符串,结束标志为*0.可用了符串常过为其初始化,如:char s=sdkhg;也可由键盘输入,如gets(s);输出用puts(s);注意:char s5=匕,dg w,;此种形式不是字符串,无字符串结束标志,仅仅是普通一维字符数组,不能用puts输出,只能用眦格式逐个输出.字符数组的输入/出还有两种形式:%c,%
9、s.9 .字符串函数:strcpy (si, s2). strcat (si, s2)、strcmp(sl, s2)、strclen (s),strupr (s), strlwr(s)第六章1 .函数定义:int func(int a, int y);如定义时没指明函数类型,如:fun(int a);默认是int型,返回值不确定。2 .声明:函数定义在前,使用在后,可省略函数声明,反之需要在使用前声明。函数声明的几种变通形式。函数声明后加分号,而函数定义后没有分号。3 .函数调用:函数名(实参表): 实参与形参个数、类型、位置一致。 形参与实参占据不同的存储单元;形参只在函数调用时才为其分配存
10、储单元,函数调用结束后释放。 实参与形参之间是传伯调用,单向传递关系,形参值改变,不会影响实参值。 补充:函数可嵌套调用,不可嵌套定义。 嵌套调用:一个函数内部又调用另外一个函数。 递归调用:一个函数调用它自身。(考试不作要求)4 .数组作为函数参数:void func(int a, int n);传递的是实参数组的首地址。调用时实参是数组名,如func(a,10):5 .多维数组:void func(int a5, int n);(可省略第一维,但不能省略其它高维).6 .从作用域角度,变量分为:全局变巾、局部变 同部变量:在函数内滞定义,只能在该函数中使用,包括函数的形参和复合语句中定义的
11、变量,main函数中定义的变量也是局部变量,不能被其它函数使用。 不同函数内定义的同名变量,互不影响,因其作用域不同,内存空间独立。 全局变量:在函数外部定义,作用域从定义开始到木文件结束。其间的所有函数都可以使用它,可在各函数间传递值,但容易带来副作用,降低模块独立性。7 .变量的存储类别:auto、static., register, extern8 .局部变量的存储类别:auto、static, register. auto型的生存周期时函数被调期间,两次调用之间不保留值。void func(int n) static int a=l ; a+=n; printfC4%d;a);)mai
12、n() int b=2; func(b); func(b);)程序运行结果为3,5, static型的生存期是整个程序运行期间,保留上一次调用后的值,且只赋一次初值(在程序运行前初始化,默认初值为0)。如:9 .全局变量的存储类别:static, extern。 全局变量总是存放在静态存储区间,生存期是整个程序运行期间,只赋一次初值,在程序运行前初始化,默认初值为0。 用extern对全局变量加以小明,可以将其作用域扩充到整个文件或其它文件。例:PH3页、P114页. 定义全局变量时加I: static,可将其作用域限制在本文件中,不能被其它文件使用。例:P114页.10 .函数的作用域是全局
13、的,可被其它函数调用。 函数存储类别:static, extern.默认为extern型。#define SQR(x) x*x main() int a,k=3; a=+SQR(k+l); printf(,%dn,a);)替换后的表达是为a=+k+1 *k+1 如:static int func(int a);则函数不被其它文件使用,所以两文件中的同名静态函数,互不干扰。第七章(内容不作期末考试要求,但是等级考试要考)1 .预处理命令以开头,末尾不加分号。在程序编译之前处理.2 .宏替换:将函数中出现宏名的地方用宏体进行替换。宏体可以是数字、也可以是组成C表达式或语句的其它字符,还可以引用已定
14、义的其它宏名O宏的作用域:定义宏之后到本源文件结束,可用#undef提前结束。 无参宏(符号常量):#define PI 3.14注意:函数中双引号内的宏名不替换,如printN “PI”); 有参宏:#define宏名(形参表)宏体 引用:宏名(实参表) 注意有参宏如果宏伟和数没用括号括起,可能有副作用。 分析有参宏的程序时,必须先将宏替换后的友达式写到纸上,再分析结果。 文件包含:4include文件名搜索系统标准目录include 文件名”先搜索当前口录,找不到再搜索系统标准目录第八章1 .指针的基本概念:指针三地址;2 .指针常量:某已知变量的地址,或数组名等,:int a,b5:此时
15、&a和b就是指针常量(固定值).3 .指针变量:如 int a,*p=&a; char s9,*q=s;赋值:必须赋地址值,如int a,*p;p=&a;如p=2001;是错误的。4 .间接访问:*p 5:等同于a 5;5 .指针作为函数的参数,传递的是实参变量的地址,如:void func (int *p).调用时用某变量的地川?,或拈的指计作为实参,如主调函数中有定义inta,*q; q=&a;则可用&a或q作为实参进行调用,即func(&a);或func(q);都是将变量,1的地址传递给形参指针p.使指针p指向变旧入函数中使用*P就是对a的间接访问,就可以改变a的值,或者将结果放入a中。
16、但形参变量本身改变,反过来不会影响实参指针值.6 .指针与一维数组:int a10,*p=a;则a代表数组忤地址,是指针泡心,元素的表示方法:ai、*(a+i)、pi,*(p+i)元素地址:&ai、a+i、&pi、p+I区别:a实指针常量,只不能变,而p是指针变量,可进行增减运算;所以常通过p的增减运算来快速访问数组a,如:while(pa+5)scanf (“%d”, p+);或 wh或e(pa+5)(*p)+; printf(%d,”,*p+);)理解(*p)+、*p+、*(p+)、p+的含义。执行p+后指针拨动的单元数(由元素类型决定)7.一维数组作为函数形参,实际上就是一个指针变量,如
17、:func(int a, int n);等同于 func (int *a, int n);函数声明的几种变通形式,P144页。所以指针a在函数中值可以改变,如*+,不同于函数内定义的数组如:int b5;这里b是指针常量。8.指针与字符串:char *p, s50=fdjfjdfj”; p=s;可用P间接访问字符串,如指针法:for(;*p!=O; p+)或下表法:for(i=0;pi!=O: i+)9.指针形参在函数间传递字符串:void copy (char *sl,char *s2) wh i1e(*s1+=*s2+); 调用时用名或向某字符串的指针做实参,如:char *p=sdgyg
18、kh; char ss50; func(ss, p); 函数调用的灵活形式:func (ss+2, p)或func(ss, p+2) 注意:输入字符串常用gets函数,但参数应是字符数组名,或已指向某字符数组的指针,如:char s50,*p; gets(s):是正确的,而gets(p)是错误的,因为p没被赋地址值,无任何指向。改正:p二s;gets(p);注意:以下的10、11、12、13节所列内容不作期末考试要求,但是等级考试要考,同学们如果课下有时间最好看看10 .数组指针与多维数组:int a34; int (*p)4; p=a; P指向a的整行,此时*p就代表a0;如果执行p+,则p
19、指向下一行,即*p代表 al, p跳过单元数为2*4=8个字节。引用元素的两种形式:或(*p)j 儿个等价关系式:由xi等价于*(x+i)和&xi等价于x+i得出:等价(*(a+i)j等价*(ai+j)等价*(*(a+i)+j)等价*(a+i)+ j 等价 指针形参在函数间传递多维数组:int func(int (*b)4, int n);等价于intfunc(int b4, int n): 调用时用二维数组名做实参,如:func (a,3):11.指针数组:char *s3:表示数组s有3个元素,每一个元素都是一个指针变质,都可以指向一个字符串。 赋初值:char *s3=“sdgg,“ w
20、w“,“ q:或单独赋值:s0=sdgg”;sl=ww; s2=q; 用于指向多个字符串。 也可用字符数组存储多个字符串,只是占用内存空间大。11 .指向指针的指针:二级指针,char *p;用于访问指针数组,或在函数间传递指针数组,通常就是传递多个字符串。12 . char *s3=sdgg, ww, q; char *p; p=s; p指向数组s的首地址,此时*p代表s0,即指向第0个字符串,*p和s()都是第0个字符串的首地址, 可用gets(*p)或gets(pi)来输入字符串,用puls(*p)或puls(pi)来输出字符串。 在函数间传递多个字符串的参数形式:func(char *
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 等级 考试 语言 复习
限制150内