c语言知识点总结

上传人:新** 文档编号:508478906 上传时间:2023-07-06 格式:DOCX 页数:5 大小:19.29KB
返回 下载 相关 举报
c语言知识点总结_第1页
第1页 / 共5页
c语言知识点总结_第2页
第2页 / 共5页
c语言知识点总结_第3页
第3页 / 共5页
c语言知识点总结_第4页
第4页 / 共5页
c语言知识点总结_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《c语言知识点总结》由会员分享,可在线阅读,更多相关《c语言知识点总结(5页珍藏版)》请在金锄头文库上搜索。

1、学习好资料欢迎下载二级C语言基础知识点总结第一章1,函数是从主函数(main ()开始执行,回到主函数(main ()结束;2, 一个程序的 编译是从第一个函数(语句)开始,到最后一个函数(语句)结束; 第二章1,算法的特性:有穷性,确定性,有一个或者0个输入,有一个或者多个 输出;有效性2,算法(程序)的几个结构:选择结构,顺序结构,循环结构 第三章1, int类型是2个字节,float是4个字节,dooble是8个字节2,数据类型分为:基本类型(整型,实型,字符型,枚举型),指针类型,构造类型(结构体类型,数组类型,共用体类型),空类型 (空类型合法哦,不要忘记了这个特殊哦)3,变量的地址

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

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

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

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

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

7、while ();语句和while语句的区别在于前者先做后判断后者是先判断后做,这 个知识点多参考书上(p18例题)和卷子上的题3, for 语句,例如:for (i=1; i100; i + + )s = s+ i;注意for括号的后面没有;号,当有两个for语句即嵌套的for循环的时候例如:for (i = 1; i4 ; i + + )for (j = 0; j5;j+ )s= s+ i ;这个时候是先做i=0;然后判断i;然后做加粗的部分,即是把加粗部分看成一个整体做完之后才会回到i + + ;所以s= s+ i ;这个语句做了 20次,(参考书p19例题)4,总结if, for, w

8、hlie ,后面如果没有的时候,即是只有一个简单的语句的时候,if,for, whlie的作用效力范围是到与之最近的分号结束;当有 的时候即是把 看成一个整体,控制范围是整个 里面的所有语句。5, break是结束整个循环;contine结束本层循环;具体参考书(p19页例子这个很重要哦, 一定要掌握)第七章和第十章(重点哦!!)1,维数的判断,当*,前面有int , char, float等常见的类型名的时候表示是在定义,一 个*或者口表示升一维,当表达式前面没有int , char, float的时候则是在引用(或称为使用)一个*或者表示降一维;2,注意这样一些东西:int a33 , *

9、p=a则,a0等价于*p表示的是这个2维数组的第 一行或者说是这个 2维数组的首元素的地址;ai等价与* (p+i)都表示是数组的第i行或 者是第i行的首元素的地址;所以要引用这个 a数组的元素应该用 aij或者*p3,对一个数组的输入输出总结当数组是int (整形的时候)一个有n个元素的1维数组:输入 for (i = 0; in ; i+ + )scanf(%d, &ai”);输出 for (i = 0; in; i+ + )printf (%d,ai);注意int类型要以 d的格式一个有n行m列的2维数组:输入:for (i = 0; in; i+ + )(这里i控制行,j控制列)for

10、 (j = 0; jm ; j + + )scanf (% d”, & aij);输入:for (i = 0; in; i+ + )for (j = 0; jm ; j + + )printf (%d, aij);(注意在输入的时 候才有&符号,输出的时候没有)一个字符串数组即char a10;对这个的输入有两种方式(1) for (i = 0; in ; i + + )scanf (% c”, &ai);(2) gets (a); scanf (% s,a)(注意这两种方式的括号里面的只能是一个数组名) 输出也对应有两种方式:(1), for (i=0; in; i + + )printf

11、( %c,ai);(2) puts (a); printf ( % s,a);注意这两种方式的括号里面的只能是一个数组名;4,对一个有n个元素的数组的遍历(既是说从第一个成员访问到最后一个成员)有以下 两种方式:1, for (i = 0; in;i+ )2, for (i = 0; ai ! = 0 ;i+ai; (都是指从a0访问到an 1)ai; 参考书p315,对字符串的操作注意:sizeof是一个系统关键字,不是函数,求其后边的参数占用的内存空间,strlen求字符串中有多少有效字符。”; sizeof(a) = 30 ;sizeof ( abc0b) = 6;strlen (a)

12、= 3 strlen (abc0b) = 3 ;取完值之后地址指向下一个元素的地址;* + + p则也指向了下一个元素的地址(ai! = 0)都是表示当a数组不结束的情况下继int fun(char *s) char *p ;p=swhlie(*p)p+;retrun (p-s) ;注意这个例题:char a30= abc0b6, *p+ 表达式中p与+先结合, 是直接输出第二个元素,指针输出完之后,7,char a10; while(ai)和 while续循环,一般就是指访问整个数组8,自编函数实现求字符串的长度:int fun (char *a) intk;whlie(ak)k+;retr

13、un(k-1); 第八章1,分清形参和实参的区别:(1)形参是在定义或声明中,实参是在引用当中;当函数名 前有int , float, char等类型名时是定义或者声明,但是要排除省略类型名的情况;一般 引用出现在主函数中,(2)形参是不确定的值,因此 不能为常量,实参是确定的值所以 可以 为常量。2,当实际参数是一个变量的时候,实参向形参传递值,只是个简单的值传递,不会改变 实参的值;当是实参是地址传递的时候就要改变例:(1), int sub (int x, int y) int c = x; x = y; y= c; void main () int a=3, b=2; sub (a,

14、b);printf (%d, % d,a, b); 结果是 3, 2(2), int sub (int* x , int *y )int c = *x ; *x = *y ; *y = c; void main ()int a =3, b=2; sub ( &a , &b );printf (% d, % d,a, b); 结果是 2, 33,局部变量和全局变量;注意分清各自的作用范围;参考书 p64第4题4,注意形参和实参必须赋值兼容,也就是说形参和实参维数必须一样;注意区别viod和return;当主函数里面带参数的形式, main (int argc, char *argv口)中argc

15、是表示参数的个 数,argv这个数组储存的是具体的参数个数。例,void main (int argc, char *argv) char *p ;while (argc) *p=argvargc; puts (*p) ; 若输入为 china Beijing flie则结果为:flie Beijing ;5,注意函数的调用以及静态变量;参考各次卷子中关于这个方面的题第九和十一章1,宏替换的时候只是简单的字符替换,不要加任何东西,宏名中不能包含空格; 例:d define xx ( m) m*mint i = 5;i = i + xx ( 4+ 5);结果为 i=5+4 + 5*4+5=34;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业/管理/HR > 营销创新

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号