为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

重庆市计算机二级C

2017-10-13 8页 doc 24KB 18阅读

用户头像

is_105949

暂无简介

举报
重庆市计算机二级C重庆市计算机二级C 好老师重庆市二级C语言基础知识点总结以及题目订正 第一章 1,函数是从主函数(main())开始执行,回到主函数(main())结束; 2,一个程序的编译是从第一个函数(语句)开始,到最后一个函数(语句)结束; 第二章 1,算法的特性:有穷性,确定性,有一个或者0个输入,有一个或者多个输出;有效性 2,算法(程序)的几个结构:选择结构,顺序结构,循环结构 第三章 1,int类型是2个字节,float是4个字节,dooble是8个字节 2,数据类型分为:基本类型(整型,实型,字符型,枚举型...
重庆市计算机二级C
重庆市计算机二级C 好老师重庆市二级C语言基础知识点总结以及题目订正 第一章 1,函数是从主函数(main())开始执行,回到主函数(main())结束; 2,一个程序的编译是从第一个函数(语句)开始,到最后一个函数(语句)结束; 第二章 1,算法的特性:有穷性,确定性,有一个或者0个输入,有一个或者多个输出;有效性 2,算法(程序)的几个结构:选择结构,顺序结构,循环结构 第三章 1,int类型是2个字节,float是4个字节,dooble是8个字节 2,数据类型分为:基本类型(整型,实型,字符型,枚举型),指针类型,构造类型(结构体类型,数组类型,共用体类型),空类型 (空类型合法哦,不要忘记了这个特殊哦) 3,变量的地址是确定的,变量变的地方只是地址里面的值。 4,用户标志符,由数字,字母,下划线构成,第一个不能是数字,但是32个关键字除外。 5,注意int的最大示范围是-32768――,32767,当超过这个范围的时候,即以,d输出,32768时结果为,32768 6,长整形(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,,ld”,a b c); 结果为(75,14,5) 7,当出现’\0’的什么时候为结束,什么时候为八进制的转义字符: 当’\0’后面有1,7之间的数字的时候为转义字符;其他的时候为字符串结束标志,注意转义字符有哪些(参考书p8) 这样一个例题 若 strlen(”abc\089”)=3 strlen(“abc\012”),4 8,强制转换不会改变一个变量的值,只是改变其作用的那个表达式的值。 9,,,,――,当,,,——,在变量后面的时候表示在本次运算的时候不会改变,在下次引用或者参与运算的时候才会自变;当,,,――,在变量的前面的时候则是在本次运算就会发生自变(顺便掌握,,,――结合性是右结合, 若i,,,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,逻辑运算符,&& ,||,!在这几个中优先级~> && > ||,优先级是体现在结合性上而不是运算的先后性上。例如 a=b=c=1;d=++a||++b&&++c在这个里面&&最高那就是加粗部分先看成一个整体,运算顺序还是从,,a开始,即做完这个运算后,可以依次判断出后边的运算式子没有必要计算了,所以d,1,a,2,b,1,c,1 1有else的情况是:if(表达式) 3,if语句基本格式:? 2没有else的情况是:语句;else语句;(注意有分号哦),? if(表达式)语句;当有多个if和else的时候if是与其后最 近的没有配对的else结合;注意,当函数作为if里面的表达 式的时候即if(printf(“*”))的时候,则是以函数的返回值 判断if的真假,printf输出以1个字符则返回为1,所以这个 if是真的; 4条件表达式,, : ;右结合性,是从右往左结合,即 是以最后一个,开始结合,但是计算顺序仍然是从左到右 ) (这个牵涉到++,--问题)(参考书p16 5,switch语句,switch语句只有碰到break或者做到最后 一个语句才结束,case和default语句都只是入口。(参考书 p17页例子) 第六章 1,while语句基本格式是while(表达式)语句;注意在 while()后面没有;号,当函数或者赋值表达式放在while 的()中时与if的判断方法一样,时候函数的返回值或表达 式值的逻辑值; 2,do{ }while();语句和while语句的区别在于前者先 做后判断后者是先判断后做,这个知识点多参考书上(p18 例题)和卷子上的题 3,for语句,例如:for(i,1;i<100;i,,) s,s,i;注意for括号的后面 没有;号, 当有两个for语句即嵌套的for循环的时候 例如: for(i,1;i<4;i,,) for(j,0;j<5;j++) s,s,i ; 这个时候是先做i,0;然 后判断i;然后做加粗的部分,即是把加粗部分看成一个整体做完之后才会回到i,,;所以s,s,i ;这个语句做了20次,(参考书p19例题) 4,总结if,for,whlie,后面如果没有{}的时候,即是只有一个简单的语句的时候,if,for,whlie的作用效力范围是到与之最近的分号结束;当有{ }的时候即是把{ }看成一个整体,控制范围是整个{ }里面的所有语句。 5,break是结束整个循环;contine结束本层循环;具体参考书(p19页例子这个很重要哦,一定要掌握) 第七章和第十章(重点哦~~~~~~) 1,维数的判断,当*,[]前面有int ,char,float等常见的类型名的时候表示是在定义,一个 * 或者[]表示升一维,当表达式前面没有int ,char,float的时候则是在引用(或称为使用)一个*或者[ ]表示降一维; 2,注意这样一些东西:int a[3][3],**p=a则, a[0]等价于*p表示的是这个2维数组的第一行或者说是这个2维数组的 首元素的地址;a[i]等价与*(p,i)都表示是数组的第i行或者是第i行的首元素的地址;所以要引用这个a数组的元素应该用a[i][j]或者**p 3,对一个数组的输入输出总结 当数组是int(整形的时候) 一个有n个元素的1维数组:输入 for(i,0;i<n;i,,) scanf(“,d,&a[i]”); 输出 for(i,0;i<n;i,,) printf(“,d”,a[i]);注意int类型要以,d的格式 一个有n行m列的2维数组:输入:for(i,0;i<n;i,,)(这里i控制行,j控制列) for(j,0;j<m;j,,) scanf(“,d”,&a[i][j]); 0;i<n;i,,) 输入:for(i, for(j,0;j<m; j,,) printf(“,d”,a[i][j]);(注意在输入的时候才有&符号,输出的时候没有) 一个字符串数组即 char a[10];对这个的输入有两种方式 (1)for(i,0;i<n;i,,) scanf(“,c”,&a[i]); (2)gets(a); scanf(“,s”,a)(注意这两种方式的括号里面的只能是一个数组名) 输出也对应有两种方式:(1),for(i,0;i<n;i,,) printf(“,c”, a[i]); (2)puts(a);printf(“,s”,a);注意这两种方式的括号里面的只能是一个数组名; 4,对一个有n个元素的数组的遍历(既是说从第一个成员访问到最后一个成员)有以下两种方式: 1, for(i,0;i<n;i++) 2,for(i,0;a[i]~,’\0’;i++) a[i]; (都是指从a[0]访问到a[n,1]) a[i]; 参考书p31 5,对字符串的操作注意:sizeof是一个系统关键字,不是函数,求其后边的参数占用的内存空间,strlen 求字符串中有多少有效字符。 注意这个例题:char a[30]=“abc\0b”; sizeof(a),30 ; sizeof(“abc\0b”),6; strlen(a),3 strlen(“abc\0b”),3 ; 6, *p++ 表达式中p与++先结合,取完值之后地址指向下一个元素的地址;*,,p则是直接输出第二个元素,指针输出完之后,也指向了下一个元素的地址 7,char a[10]; while(a[i])和while(a[i]~=‘\0’)都是表示当a数组不结束的情况下继续循环,一般就是指访问整个数组 8,自编函数实现求字符串的长度: int fun(char *a) int fun(char *s) { int k; { char *p; p=s whlie(a[k]) whlie(*p) k++; p++; retrun(k-1); retrun(p-s); } } 第八章 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,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,3 3,局部变量和全局变量;注意分清各自的作用范围;参考 书p64 第4题 4,注意形参和实参必须赋值兼容,也就是说形参和实参维数必须一样;注意区别viod和return;当主函数里面带参数的形式,main(int argc,char *argv[])中argc是表示参数的个数,argv这个数组储存的是具体的参数个数。例, void main(int argc,char *argv[]) { char **p ; while(――argc) { *p=argv[argc]; puts(*p); } } 若输入为 china Beijing flie 则结果 为:flie Beijing ; 5,注意函数的调用以及静态变量;参考各次卷子中关于这个方面的题 第九和十一章 1,宏替换的时候只是简单的字符替换,不要加任何东西,宏名中不能包含空格; m*m 例:,define xx(m) „„ int i,5; i,i,xx(4,5); 结果为 i,5,4,5*4,5,34; 2,宏替换是在预编译的时候进行,所以不占用程序运行时间;宏名是无类型的,fopen(“文件名”,“r”))==NULL);当等于NULL的时候就不能打开;注意文件打开之后必须关闭,即是fclose(fp);这两个必然是成对出现; 4,文件在什么情况下结束(1),fp,,EOF的时候结束fp~,EOF的时候不结束。 (2),当feof(fp)返回值为0 时不结束,返回非零时就是结束; 5,注意背下书p139第2题,万一考到文件的编程一般就 是这种题。一般填空就是上面的加粗部分。 6,w,r,a分别表示对文 编者的话: 这些只是基础知识的重点,目的是帮助大家复习基础知识(记住这个只是基础的一部分,仅仅是基础,各个基础知识的运用请大家多参考发的卷子和书后面的习题),大家还是争取要把书细细的看上2遍以上,最后祝大家都能顺利的过二级。 作者:好老 师工作组
/
本文档为【重庆市计算机二级C】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索