重庆计算机二级c语言知识点总结(共5页)_第1页
重庆计算机二级c语言知识点总结(共5页)_第2页
重庆计算机二级c语言知识点总结(共5页)_第3页
重庆计算机二级c语言知识点总结(共5页)_第4页
重庆计算机二级c语言知识点总结(共5页)_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上好老师重庆市二级C语言基础知识点总结以及题目订正第一章 1,函数是从主函数(main()开始执行,回到主函数(main()结束; 2,一个程序的编译是从第一个函数(语句)开始,到最后一个函数(语句)结束;第二章 1,算法的特性:有穷性,确定性,有一个或者0个输入,有一个或者多个输出;有效性 2,算法(程序)的几个结构:选择结构,顺序结构,循环结构第三章 1,int类型是2个字节,float是4个字节,dooble是8个字节 2,数据类型分为:基本类型(整型,实型,字符型,枚举型),指针类型,构造类型(结构体类型,数组类型,共用体类型),空类型 (空类型合法哦,不要忘记

2、了这个特殊哦) 3,变量的地址是确定的,变量变的地方只是地址里面的值。 4,用户标志符,由数字,字母,下划线构成,第一个不能是数字,但是32个关键字除外。 5,注意int的最大表示范围是-3276832767,当超过这个范围的时候,即以d输出32768时结果为32768 6,长整形(long)表示方法是在数字后面加L,如果一个变量a3,那么表示的是一个整形的3,如果是a3L,那么就是长整形的3;当分别以o,ld,x (8进制,长整形,16进制)输出的时候,结果没有前面的0,0X,和后面的L 例:int a075,box14;long int c5L; printf(“o,x,ld”,a b c

3、); 结果为(75,14,5) 7,当出现0的什么时候为结束,什么时候为八进制的转义字符: 当0后面有17之间的数字的时候为转义字符;其他的时候为字符串结束标志,注意转义字符有哪些(参考书p8) 这样一个例题 若 strlen(”abc089”)=3 strlen(“abc012”)4 8,强制转换不会改变一个变量的值,只是改变其作用的那个表达式的值。 9,当,在变量后面的时候表示在本次运算的时候不会改变,在下次引用或者参与运算的时候才会自变;当,在变量的前面的时候则是在本次运算就会发生自变(顺便掌握,结合性是右结合,若ij等价于(i+)+j; 10,复合运算符要注意当等号后面接的是表达式的时

4、候要把表达式看成一个整体即x *y+8等价于xx*(y8),y8是一个整体第四章 1,格式输入和输出的时候,注意格式。要严格按照题目的格式进行操作。(在做题的时候尤其是读程序写结果的时候要细心哈!) 2,d,md,m.nd, %e,以及相应的几种格式是什么意思,参考书p13第五章 1,关系运算符,>,<,<=,>=,= =,!= ,和!优先级最低,主意与的区别:是赋值的意思,表达式的值是对变量赋的值,是关系运算符,关系运算表达式的值为0或者1. 2,逻辑运算符,&& ,|,!在这几个中优先级!> && > |,优先级是体现在结

5、合性上而不是运算的先后性上。例如 a=b=c=1;d=+a|+b&&+c在这个里面&&最高那就是加粗部分先看成一个整体,运算顺序还是从a开始,即做完这个运算后,可以依次判断出后边的运算式子没有必要计算了,所以d1,a2,b1,c1 3,if语句基本格式:有else的情况是:if(表达式)语句;else语句;(注意有分号哦),没有else的情况是:if(表达式)语句;当有多个if和else的时候if是与其后最近的没有配对的else结合;注意,当函数作为if里面的表达式的时候即if(printf(“*”)的时候,则是以函数的返回值判断if的真假,printf输出以1

6、个字符则返回为1,所以这个if是真的; 4条件表达式,? : ;右结合性,是从右往左结合,即是以最后一个?开始结合,但是计算顺序仍然是从左到右(这个牵涉到+,-问题)(参考书p16) 5,switch语句,switch语句只有碰到break或者做到最后一个语句才结束,case和default语句都只是入口。(参考书p17页例子)第六章 1,while语句基本格式是while(表达式)语句;注意在while()后面没有;号,当函数或者赋值表达式放在while的()中时与if的判断方法一样,时候函数的返回值或表达式值的逻辑值; 2,do while();语句和while语句的区别在于前者先做后判断

7、后者是先判断后做,这个知识点多参考书上(p18例题)和卷子上的题 3,for语句,例如:for(i1;i<100;i) ssi;注意for括号的后面没有;号, 当有两个for语句即嵌套的for循环的时候 例如: for(i1;i<4;i) for(j0;j<5;j+) ssi ; 这个时候是先做i0;然后判断i;然后做加粗的部分,即是把加粗部分看成一个整体做完之后才会回到i;所以ssi ;这个语句做了20次,(参考书p19例题) 4,总结if,for,whlie,后面如果没有的时候,即是只有一个简单的语句的时候,if,for,whlie的作用效力范围是到与之最近的分号结束;当

8、有 的时候即是把 看成一个整体,控制范围是整个 里面的所有语句。 5,break是结束整个循环;contine结束本层循环;具体参考书(p19页例子这个很重要哦,一定要掌握)第七章和第十章(重点哦!) 1,维数的判断,当*,前面有int ,char,float等常见的类型名的时候表示是在定义,一个 * 或者表示升一维,当表达式前面没有int ,char,float的时候则是在引用(或称为使用)一个*或者 表示降一维; 2,注意这样一些东西:int a33,*p=a则, a0等价于*p表示的是这个2维数组的第一行或者说是这个2维数组的首元素的地址;ai等价与*(pi)都表示是数组的第i行或者是第

9、i行的首元素的地址;所以要引用这个a数组的元素应该用aij或者*p 3,对一个数组的输入输出总结当数组是int(整形的时候)一个有n个元素的1维数组:输入 for(i0;i<n;i) scanf(“d,&ai”); 输出 for(i0;i<n;i) printf(“d”,ai);注意int类型要以d的格式一个有n行m列的2维数组:输入:for(i0;i<n;i)(这里i控制行,j控制列) for(j0;j<m;j) scanf(“d”,&aij); 输入:for(i0;i<n;i) for(j0;j<m;j) printf(“d”,aij);

10、(注意在输入的时候才有&符号,输出的时候没有)一个字符串数组即 char a10;对这个的输入有两种方式 (1)for(i0;i<n;i) scanf(“c”,&ai);(2)gets(a); scanf(“s”,a)(注意这两种方式的括号里面的只能是一个数组名)输出也对应有两种方式:(1),for(i0;i<n;i) printf(“c”, ai); (2)puts(a);printf(“s”,a);注意这两种方式的括号里面的只能是一个数组名; 4,对一个有n个元素的数组的遍历(既是说从第一个成员访问到最后一个成员)有以下两种方式:1, for(i0;i<n

11、;i+) 2,for(i0;ai!0;i+) ai; (都是指从a0访问到an1) ai; 参考书p31 5,对字符串的操作注意:sizeof是一个系统关键字,不是函数,求其后边的参数占用的内存空间,strlen 求字符串中有多少有效字符。 注意这个例题:char a30=“abc0b”; sizeof(a)30 ; sizeof(“abc0b”)6; strlen(a)3 strlen(“abc0b”)3 ; 6, *p+ 表达式中p与+先结合,取完值之后地址指向下一个元素的地址;*p则是直接输出第二个元素,指针输出完之后,也指向了下一个元素的地址 7,char a10; while(ai)

12、和while(ai!=0)都是表示当a数组不结束的情况下继续循环,一般就是指访问整个数组 8,自编函数实现求字符串的长度: int fun(char *a) int fun(char *s) int k; char *p;p=s whlie(ak) whlie(*p) k+; p+; retrun(k-1); retrun(p-s); 第八章 1,分清形参和实参的区别:(1)形参是在定义或声明中,实参是在引用当中;当函数名前有int ,float, char等类型名时是定义或者声明,但是要排除省略类型名的情况;一般引用出现在主函数中,(2)形参是不确定的值,因此不能为常量,实参是确定的值所以可

13、以为常量。 2,当实际参数是一个变量的时候,实参向形参传递值,只是个简单的值传递,不会改变实参的值;当是实参是地址传递的时候就要改变 例:(1),int sub(int x,int y) int cx;xy;yc; void main() int a3,b2;sub(a,b);printf(“d,d”,a,b); 结果是 3,2(2),int sub(int* x,int *y)int c*x;*x*y;*yc; void main()int a3,b2;sub(&a,&b);printf(“d,d”,a,b); 结果是 2,3 3,局部变量和全局变量;注意分清各自的作用范围;

14、参考书p64 第4题 4,注意形参和实参必须赋值兼容,也就是说形参和实参维数必须一样;注意区别viod和return;当主函数里面带参数的形式,main(int argc,char *argv)中argc是表示参数的个数,argv这个数组储存的是具体的参数个数。例,void main(int argc,char *argv) char *p ;while(argc) *p=argvargc;puts(*p); 若输入为 china Beijing flie 则结果为:flie Beijing ; 5,注意函数的调用以及静态变量;参考各次卷子中关于这个方面的题第九和十一章 1,宏替换的时候只是简

15、单的字符替换,不要加任何东西,宏名中不能包含空格;例:define xx(m) m*m int i5;iixx(45); 结果为 i545*4534; 2,宏替换是在预编译的时候进行,所以不占用程序运行时间;宏名是无类型的; 3,结构体变量的长度是各个成员长度的和;当结构体指针和数组的时候注意分清 . 和->的区别;参考书中p59第3题 4,共用体变量的长度是由成员中的最长的成员决定; 5,链表的题就掌握模拟考试题中的一道选择题就可以了;第十一章的其他内容,还是要去看书了解 第十二章和第十三章 1,位运算符有 | (或)即只要有一个1就是1, &(与)要全部为1才为1 (异或)要不相同才为1 ;注意的是当向左移动n位就是乘以2的n次方;向右移动n位就是除以2的n次方。 2,文件,c语言中可以认识两种文件存储类型(1),文本文件(2),二进制文件; 3,打开文件操作注意语句 if(fpfopen(“文件名”,“r”)=NULL);当等于NULL的时候就不能打开;注意文件打开之后必须关闭,即是fclose(fp);这两个必然是成对出现; 4,文件在什么情况下结束(1),fpEOF的时候结束fp!EOF的时候不结束。(2),当feof(fp)返回值为0时不结束,返回非零时就是结束

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论