还剩7页未读,继续阅读
文本内容:
计算机二级考试c语言知识点总结(完全针对考试大纲)概述总体上必须清晰的1)程序构造是三种:次序构造,循环构造(三个循环构造),选择构造(if和switch)2)读程序都要从main入口,然后从最上面次序往下读(碰到循环做循环,碰到选择做选择)3)计算机的数据在电脑中保留是以二进制的形式.数据寄存的位置就是他的地址.4)bit是位是指为0或者1byte是指字节,一种字节=八个位.5)一定要记住二进制怎样划成十进制概念常考到的1)、编译预处理不是C语言的一部分,不再运行时间C语言编译的程序称为源程序,它以ASCII数值寄存在文本文献中2)、每个C语言程序中main函数是有且只有一种3)、在函数中不可以再定义函数4)、算法的是一定要有输出的,他可以没有输入5)、break可用于循环构造和switch语句6)、逗号运算符的级别最低第一章1)合法的顾客标识符考察合法的规定是由字母,数字,下划线构成有其他元素就错了并且第一种必须为字母或则是下划线第一种为数字就错了关键字不可以作为顾客标识符号main definescanf printf都不是关键字困惑你的地方If是可以做为顾客标识符由于If中的第一种字母大写了,因此不是关键字2实型数据的合法形式
2.333e・l就是合法的,旦数据是
2.333义10・1考试口诀e前e后必有数,e后必为整数.3字符数据的合法形式:T是字符占一种字节,1是字符串占两个字节具有一种结束符号O的ASCH数值表达为48,宣的ASCH数值是97,A的ASCII数值是654整型一般是两个字节,字符型是一种字节,双精度一般是4个字节考试时候一般会说,在16位编译系统,或者是32位系统碰到这种状况,不要去管,同样做题掌握整型一般是两个字节,字符型是一种字节,双精度一般是4个字节就可以了5转义字符的考察在程序中inta=0x6d,是把一种十六进制的数给变量a注意这里的Ox必须存在在程序中int a=06ct是一种八进制的形式在转义字符中,\x6d才是合法的,0不能写,并且x是小写是合法的’\108’是非法的,由于不可以出现8转义字符意义ASCII码值十进制\a响铃BEL007\b退格BS008\f换页FF012\n换行LF010\r回车CR013\t水平制表HT009\v垂直制表VT011W反斜杠092\问号字符063V单引号字符039\双引号字符034\0空字符NULL000\ddd任意字符三位八进制\xhh任意字符二位十六进制6算术运算符号的优先级别同级别的有的是从左到右,有的是从右到左7强制类型转换一定是int a不是int a,注意类型上一定有括号的注意int a+b和int a+b的区别前是把a+b转型,后是把a转型再加b8体现式的考察是体现式就一定有数值赋值体现式体现式数值是最左边的数值,a=b=5;该体现式为5,常量不可以赋值自加、自减体现式假设a=5,++a是为6,a++为5;运行的机理++a是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这个++a体现式的数值为6,而a++是先用该体现式的数值为5,然后再把a的数值加上1为6,再放到变量a中进行了++a和a++后在下面的程序中再用到a的话都是变量a中的6T o考试口诀++在前先加后用,++在后先用后加逗号体现式优先级别最低;体现式的数值逗号最右边的那个体现式的数值2,3,4的体现式的数值就是49位运算的考察会有一到二题考试题目总的处理措施几乎所有的位运算的题目都要按这个流程来处理先把十进制变成二进制再变成十进制例1char a=6,b;b=a«2;这种题目的计算是先要把a的十进制6化成二进制,再做位运算例2一定要记住,例3在没有舍去数据的时候,vv左移一位表达乘以2;右移一位表达除以210018的数值是非法的,八进制是没有8的,逢8进111%符号两边规定是整数不是整数就错了12两种取整丢小数的状况1inta=
1.6;
2、inta;―十.AA弟一早1printf函数的格式考察%d对应整型;%c对应字符;%f对应单精度等等宽度的,左对齐等修饰%ld对应long int;%lf对应doubleo2scanf函数的格式考察注意该函数的第二个部分是a这样的地址,不是a;Scanf%d%d%*d%da,b,c;跳过输入的第三个数据3putchar,getchar函数的考察char a=getcharQ是没有参数的,从键盘得到你输入的一种字符给变量aputchar y把字符y输出到屏幕中4怎样实现两个变量x,y中数值的互换规定背下来不可以把x=y,y=x;要用中间变量t=x;x=y;y=to5怎样实现保留三位小数,第四位四舍五入的程序,规定背下来x=intx*1000+
0.5/
1000.0这个有推广的意义,注意x=int x这样是把小数部分去掉第三章尤其要注意c语言中是用非0表达逻辑真的,用0表达逻辑假的1关系体现式体现式的数值只能为1表达为真,或0表达假当关系的体现是为真的时候得到1如98这个是真的,因此体现式的数值就是1;2)逻辑体现式只能为1(表达为真),或0(表达假)a)共有||!三种逻辑运算符号b)!||优先的级另Uc)注意短路现象考试比较喜欢考到d)要表达x是比大,比10小的措施OvxvlO是不可以的(一定记住)是先计算Ovx得到的成果为1或则0;再用0,或1与10比较得到的总是真(为1)因此一定要用(0〈x)(xvl0]表达比0大比10小3)if语句else是与最靠近的if且没有else的相组合的4)条件体现式体现式1体现式2体现式3注意是当非0时候是体现式2的数值,当为0是就是体现式2的数值考试口诀真前假后5)switch语句:a)一定要注意有break和没有break的差异,没有break时候,只要有一种case匹配了,剩余的都要执行,有break则是直接跳出了swich语句b)switch只可以和break一起用,不可以和continue用第四章1)三种循环构造a)for();whileQ;do-while三种b)for循环当中必须是两个分号,千万不要忘掉C)写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环d)do-while()循环的最终一种while;的分号一定不可以丢(当心上机改错)2)break和continue的差异记忆措施break是打破的意思,破了整个循环因此看见break就退出真个一层循环continue是继续的意思,继续循环运算,不过要结束本次循环,就是循环体内剩余的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环3嵌套循环就是有循环里面尚有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的4]whilec=getchar!=\n和while c=getcharQ!=\n的差异先看a=3!=2和a=3!=2的区别二号的级别高于二号因此第一种先计算3!=2第一种a的数值是得到的1;第二个a的数值是3考试注意点:括号在这里的重要性第五章函数是具有一定功能的一种程序块;1函数的参数,返回数值示意图mainint a=5,b=6,c;c=adda,b;printf%d”,c;调用函数a’b是实参整个函数得到一种数值就是Add函数的返回数值int addint x,int yintz;z=x+y;return z;)被调用函数X,y是形式参数函数返回数值是整型z就是这个add函数计算后得到的成果,就是函数返回给主程序的返回数值程序是在从上往下次序执行,当碰到了函数add后,把a,b的数值穿给调用函数,程序临时中断等待返回数值当得到了返回数值后,再次序的往下执行2)一定要注意参数之间的传递实参和形参之间传数值,和传地址的差异(考试的重点)传数值的话,形参的变化不会变化实参的变化传地址的话,形参的变化就会有也许变化实参的变化3)函数申明的考察一定要有函数名,函数的返回类型,函数的参数类型不一定要有形参的名称第六章三名主义(考试的重点)数组名表达第一种元素的地址数组名不可以自加,他是地址常量名(考了诸多次)函数名表达该函数的入口地址字符串常量名表达第一种字符的地址第七章*a[O]+l我们就懂得是第一行的第一种元素往背面跳一列,那么这里就是元素,因此是1*a[l]+2我们就懂得是第二行的第一种元素往背面跳二列那么这里就是元素,因此是6一定记住只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简朴数组的初始化,一维和二维的,一维可以不写,二维第二个一定要写inta[]={l,2}合法inta[]
[4]={2,3,4}合法但int a
[4]□={2,3,4}非法二维数组中的行指针inta[l]
[2];其中a目前就是一种行指针,a+1跳一行数组元素搭配*p
[2]指针a
[0],a[l]目前就是一种列指针a[O]+l跳一种数组元素搭配*p
[2]指针数组使用尚有记住脱衣服法则a
[2]变成*a+2a
[2]
[3]变成*a+2
[3]再可以变成**a+2+3这个思想很重要!指针变量的本质是用来放地址,而一般的变量是放数值的int**p中*p和p的差异*p可以当做变量来用;*的作用是取背面地址p里面的数值p是当作地址来使用*p++和(*p)++的之间的差异改错题目中很重要*p++是地址会变化(*p)++是数值会要变化1一维数组的重要概念对a
[10]这个数组的讨论
1、a表达数组名,是第一种元素的地址,也就是元素a
[10]的地址
2、a是地址常量,因此只要出现a++,或者是a=a+2赋值的都是错误的
3、a是一维数组名,因此它是列指针,也就是说a+1是跳一列对a
[3]
[3]的讨论
1、a表达数组名,是第一种元素的地址,也就是元素a
[10]的地址
2、a是地址常量,因此只要出现a++,或者是a=a+2赋值的都是错误的
3、a是二维数组名,因此它是行指针,也就是说a+1是跳一行
4、a
[0]a[l]、a
[2]也都是地址常量,不可以对它进行赋值操作,同步它们都是列指针,a[O]+l,a[l]+l,a
[2]+l都是跳一列
5、注意a和a
[0]、a[l]、a
[2]是不一样的,它们的基类型是不一样的前者是一行元素,后三者是一列元素二维数组做题目的技巧假如有a
[3]
[3]={L2345678,9}这样的题目环节一把他们写成第一列第二列第三列a[O]a123—第一行a[l]a456—第二行a
[2]a789—第三行环节二这样作题目间很简朴:。
个人认证
优秀文档
获得点赞 0