C语言基础知识点总结以及题目订正

好老师重庆市二级

第一章,函数是从主函数(main开始执行,回到主函数(main结束;2,一个程序的编译是从第一个函数(语句)开始,到最后一个函数(语句)结束;

第二章,算法的特性:有穷性,确定性,有一个或者0个输入,有一个或者多个输出;有效性2,算法(程序)的几个结构:选择结构,顺序结构,循环结构

第三章,int类型是2个字节,float是4个字节,dooble是8个字节2,数据类型分为:基本类型(整型,实型,字符型,枚举型),指针类型,构造类型(结构体类型,数组类型,共用体类型),空类型(空类型合法哦,不要忘记了这个特殊哦)3,变量的地址是确定的,变量变的地方只是地址里面的值。

4,用户标志符,由数字,字母,下划线构成,第一个不能是数字,但是32个关键字除外。

5,注意int的最大表示范围是-327XXXX2767,当超过这个范围的时候,即以d输出32768时结果为327686,长整形(long)表示方法是在数字后面加L,如果一个变量a3,那么表示的是一个整形的3,如果是a3L,那么就是长整形的3;当分别以o,ld,_(8进制,长整形,6进制)输出的时候,结果没有前面的0,0_,和后面的L例:inta075,bo_4;longintc5L;printf(?o,_,ld?,abc);结果为(75,4,5)7,当出现0的什么时候为结束,什么时候为八进制的转义字符:当0后面有7之间的数字的时候为转义字符;其他的时候为字符串结束标志,注意转义字符有哪些(参考书p8)这样一个例题若strlen(?abc089?)=3strlen(?abc02?)48,强制转换不会改变一个变量的值,只是改变其作用的那个表达式的值。

9,,当,在变量后面的时候表示在本次运算的时候不会改变,在下次引用或者参与运算的时候才会自变;当,,在变量的前面的时候则是在本次运算就会发生自变(顺便掌握,结合性是右结合,若ij等价于(i ) j;0,复合运算符要注意当等号后面接的是表达式的时候要把表达式看成一个整体即__y 8等价于___(y8),y8是一个整体

第四章,格式输入和输出的时候,注意格式。要严格按照题目的格式进行操作。(在做题的时候尤其是读程序写结果的时候要细心哈!)2,d,md,XXX,%e,以及相应的几种格式是什么意思,参考书p

第五章,关系运算符,,,=,=,==,!=,和!优先级最低,主意与的区别:是赋值的意思,表达式的值是对变量赋的值,是关系运算符,关系运算表达式的值为0或者

1.2,逻辑运算符,,|,!在这几个中优先级!|,优先级是体现在结合性上而不是运算的先后性上。例如a=b=c=;d= a| b c在这个里面最高那就是加粗部分先看成一个整体,运算顺序还是从a开始,即做完这个运算后,可以依次判断出后边的运算式子没有必要计算了,所以d,a2,b,c3,if语句基本格式:有else的情况是:if(表达式)语句;2else语句;(注意有分号哦),没有else的情况是:if(表达式)语句;当有多个if和else的时候if是与其后最近的没有配对的else结合;注意,当函数作为if里面的表达式的时候即if(printf(?_?)的时候,则是以函数的返回值判断if的真假,printf输出以个字符则返回为,所以这个if是真的;4条件表达式,?:;右结合性,是从右往左结合,即是以最后一个?开始结合,但是计算顺序仍然是从左到右(这个牵涉到 ,-问题)(参考书p6)5,switch语句,switch语句只有碰到break或者做到最后一个语句才结束,case和default语句都只是入口。(参考书p7页例子)

第六章,while语句基本格式是while(表达式)语句;注意在while后面没有;号,当函数或者赋值表达式放在while的中时与if的判断方法一样,时候函数的返回值或表达式值的逻辑值;2,dowhile;语句和while语句的区别在于前者先做后判断后者是先判断后做,这个知识点多参考书上(p8例题)和卷子上的题3,for语句,例如:for(i;i00;i)ssi;注意for括号的后面没有;号,当有两个for语句即嵌套的for循环的时候例如:forfor(i;i4;i)(j0;j5;j )ssi;这个时候是先做i0;然后判断i;然后做加粗的部分,即是把加粗部分看成一个整体做完之后才会回到i;所以ssi;这个语句做了20次,(参考书p9例题)4,总结if,for,whlie,后面如果没有的时候,即是只有一个简单的语句的时候,if,for,whlie的作用效力范围是到与之最近的分号结束;当有的时候即是把看成一个整体,控制范围是整个里面的所有语句。

5,break是结束整个循环;contine结束本层循环;具体参考书(p9页例子这个很重要哦,一定要掌握)

第七章和

第十章(重点哦!!),维数的判断,当_,前面有int,char,float等常见的类型名的时候表示是在定义,一个_或者表示升一维,当表达式前面没有int,char,float的时候则是在引用(或称为使用)一个_或者表示降一维;2,注意这样一些东西:inta33,_p=a则,a0等价于_p表示的是这个2维数组的第一行或者说是这个2维数组的首元素的地址;ai等价与_(pi)都表示是数组的第i行或者是第i行的首元素的地址;所以要引用这个a数组的元素应该用aij或者_p3,对一个数组的输入输出总结当数组是int(整形的时候)一个有n个元素的维数组:输入for(i0;in;i)scanf(?d,ai?);输出printffor(i0;in;i)(?d?,ai);注意int类型要以d的格式一个有n行m列的2维数组:输入:for(i0;in;i)(这里i控制行,j控制列)for(j0;jm;j)scanf(?d?,aij);输入:for(i0;in;i)for(j0;jm;j)printf(?d?,aij);(注意在输入的时候才有符号,输出的时候没有)一个字符串数组即chara0;对这个的输入有两种方式

(1)for(i0;in;i)scanf(?c?,ai);

(2)gets(a);scanf(?s?,a)(注意这两种方式的括号里面的只能是一个数组名)输出也对应有两种方式:

(1),for(i0;in;i)printf(?c?,ai);

(2)puts(a);printf(?s?,a);注意这两种方式的括号里面的只能是一个数组名;4,对一个有n个元素的数组的遍历(既是说从第一个成员访问到最后一个成员)有以下两种方式:,for(i0;in;i )2,for(i0;ai!0;i )ai;(都是指从a0访问到an)ai;参考书p35,对字符串的操作注意:sizeof是一个系统关键字,不是函数,求其后边的参数占用的内存空间,strlen求字符串中有多少有效字符。注意这个例题:chara30=?abc0b?;sizeof(a)30;sizeof(?abc0b?)6;strlen(a)3strlen(?abc0b?)3;6,_p 表达式中p与 先结合,取完值之后地址指向下一个元素的地址;_p则是直接输出第二个元素,指针输出完之后,也指向了下一个元素的地址7,chara0;while(ai)和while(ai!=0)都是表示当a数组不结束的情况下继续循环,一般就是指访问整个数组8,自编函数实现求字符串的长度:intfun(char_a)intfun(char_s)intk;char_p;p=swhlie(ak)whlie(_p)k ;p ;retrun(k-);retrun(p-s);

第八章,分清形参和实参的区别:

(1)形参是在定义或声明中,实参是在引用当中;当函数名前有int,float,char等类型名时是定义或者声明,但是要排除省略类型名的情况;一般引用出现在主函数中,(2)形参是不确定的值,因此不能为常量,实参是确定的值所以可以为常量。

2,当实际参数是一个变量的时候,实参向形参传递值,只是个简单的值传递,不会改变实参的值;当是实参是地址传递的时候就要改变例:

(1),intsubintc(int_,inty)_;_y;yc;voidmaininta3,b2;sub(a,b);printf(?d,d?,a,b);结果是3,(2),intsub(int__,int_y)intc__;___y;_yc;voidmaininta3,b2;sub(a,b);printf(?d,d?,a,b);结果是2,33,局部变量和全局变量;注意分清各自的作用范围;参考书p64第4题局部变量:在程序中,只在特定的过程或函数中可以访问的变量,是相对与全局变量而言的。全局变量也称为外部变量,是在函数的外部定义的,它的作用域为从变量定义处开始,到本程序文件的末尾。全局变量全部存放在静态存储区,在程序开始执行时给全局变量分配存储区,程序行完毕就释放。局部变量可以和全局变量重名,但是局部变量会屏蔽全局变量。在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。

4,注意形参和实参必须赋值兼容,也就是说形参和实参维数必须一样;注意区别viod和return;当主函数里面带参数的形式,main(intargc,char_argv)中argc是表示参数的个数,argv这个数组储存的是具体的参数个数。例,voidmain(intargc,char_argv)char_p;while(argc)_p=argvargc;puts(_p);若输入为chinaBeijingflie则结果为:flieBeijing;5,注意函数的调用以及静态变量;参考各次卷子中关于这个方面的题第九和十一章,宏替换的时候只是简单的字符替换,不要加任何东西,宏名中不能包含空格;例:define__(m)m_minti5;ii__(45);结果为i545_4534;2,宏替换是在预编译的时候进行,所以不占用程序运行时间;宏名是无类型的;3,结构体变量的长度是各个成员长度的和;当结构体指针和数组的时候注意分清.和-的区别;参考书中p59第3题4,共用体变量的长度是由成员中的最长的成员决定;5,链表的题就掌握模拟考试题中的一道选择题就可以了;

第十一章的其他内容,还是要去看书了解

第十二章和

第十三章,位运算符有|(或)即只要有一个就是,(与)要全部为才为(异或)要不相同才为;注意的是当向左移动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时不结束,返回非零时就是结束;5,注意背下书p39第2题,万一考到文件的编程一般就是这种题。一般填空就是上面的加粗部分。

6,w,r,a分别表示对文本文件的读,写,追加;fputs(ch,fp)指将ch变量输出到文件fp中;chfgets(fp)指的是从文件中得到一个字符赋给变量ch;fread或fwrite(buffer,size,num,fp)中,buffer指的是文件读入的数据的地址,是一个数组名或者指针;size,指读出或者写入每个数的字节数;num指读出和写入多少个数;fp指文件指针。编者的话:这些只是基础知识的重点,目的是帮助大家复习基础知识(记住这个只是基础的一部分,仅仅是基础,各个基础知识的运用请大家多参考发的卷子和书后面的习题),大家还是争取要把书细细的看上2遍以上,最后祝大家都能顺利的过二级。作者:好老师工作组

预览已结束,下载原文档直接使用
查看全文
若对以上有内容有疑问请反馈或举报举报
声明:
您购买的是此内容的word文档,付费前可通过免费阅读辨别合同。非质量问题不退款,如需帮助可咨询客服【客服微信】