还剩8页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
语言存考的学问支;C总体上必需清晰的:1)程序结构是三种依次结构,循环结构(三个循环结构),选择结构(if和switch)2)读程序都要从main()入口,然后从最上面依次往下读(遇到循环做循环,遇到选择做选择)3)计算机的数据在电脑中保存是以二进制的形式.数据存放的位置就是他的地址.4)bit是位是指为0或者1byte是指字节,一个字节二八个位.5)确定要记住二进制如何划成十进制概念常考到的:1,编译预处理不是C语言的一部分,不再运行时间C语言编译的程序称为源程序,它以ASCH数值存放在文本文件中2,每个C语言程序中main函数是有且只有一个3,在函数中不行以再定义函数4,算法的是确定要有输出的,他可以没有输入5,break可用于循环结构和switch语句6,逗号运算符的级别最低弟一早1)合法的用户标识符考查合法的要求是由字母,数字,下划线组成有其它元素就错了a
[0],a[l]现在就是一个列指针a[O]+l跳一个数组元素搭配*p⑵指针数组运用还有记住脱衣服法则a
[2]变成*a+2a
[2]
[3]变成*a+2
[3]再可以变成**a+2+3这个思想很重要!并且第一个必需为字母或则是下划线第一个为数字就错了关键字不行以作为用户标识符号main definescanf printf都不是关键字迷惑你的地方If是可以做为用户标识符因为If中的第一个字母大写了,所以不是关键字2)实型数据的合法形式
2.333e-l就是合法的,且数据是
2.333X10-1考试口诀e前e后必有数,e后必为整数.3)字符数据的合法形式:1是字符占一个字节,〃1〃是字符串占两个字节(含有一个结束符号),0,的ASCH数值表示为48,a的ASCH数值是97,A的ASCH数值是654)整型一般是两个字节,字符型是一个字节,双精度一般是4个字节考试时候一般会说,在16位编译系统,或者是32位系统遇到这种状况,不要去管,一样做题驾驭整型一般是两个字节,字符型是一个字节,双精度一般是4个字节就可以了5)转义字符的考查在程序中int a=0x6d,是把一个十六进制的数给变量a留意这里的Ox必需存在在程序中int a=06d,是一个八进制的形式在转义字符中,\x6cT才是合法的,0不能写,并且x是小写’\14『是合法的,0是不能写的‘\108’是非法的,因为不行以出现86)算术运算符号的优先级别同级别的有的是从左到右,有的是从右到左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中的6To考试口诀++在前先加后用,++在后先用后加逗号表达式优先级别最低;表达式的数值是逗号最右边的那个表达式的数值(2,3,4)的表达式的数值就是49)位运算的考查会有一到二题考试题目总的处理方法几乎全部的位运算的题目都要按这个流程来处理(先把十进制变成二进制再变成十进制)例1char a=6,b;b=a«2;这种题口的计算是先要把a的十进制6化成二进制,再做位运算例2确定要记住,例3在没有舍去数据的时候,・左移一位表示乘以2;右移一位表示除以210)018的数值是非法的,八进制是没有8的,逢8进111)%符号两边要求是整数不是整数就错了12)两种取整丢小数的状况:1,int a=
1.6;2,int a;其次章Dprintf函数的格式考查刎对应整型;%c对应字符;斌对应单精度等等宽度的,左对齐等修饰%ld对应long int;%lf对应double2scanf函数的格式考察留意该函数的其次个部分是a这样的地址,不是a;Scanf“%d%d%*d%d,a,b,c;跳过输入的第三个数据3,putchar,get char函数的考查char a=getchar是没有参数的,从键盘得到你输入的一个字符给变量aputchary把字符y输出到屏幕中4如何实现两个变量x,y中数值的互换要求背下来不行以把x=y,y=x;要用中间变量t=x;x=y;y=to5如何实现保留三位小数,第四位四舍五入的程序,要求背下来这个有推广的意义,留意X=intx这样是把小数部分去掉第三章特殊要留意c语言中是用非0表示逻辑真的,用0表示逻辑假的1关系表达式表达式的数值只能为1表示为真,或0表示假当关系的表达是为真的时候得到1如98这个是真的,所以表达式的数值就是1;2)逻辑表达式:只能为1(表示为真),或0(表示假)a)共有||!三种逻辑运算符号b)!||优先的级别c)留意短路现象考试比较宠爱考到d)要表示x是比0大,比10小的方法03)if语句else是及最接近的if且没有else的相组合的4)条件表达式表达式1表达式2表达式3留意是当非0时候是表达式2的数值,当为0是就是表达式2的数值考试口诀真前假后5)switch语句a)确定要留意有break和没有break的差别,书上(34页)的两个例子,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是干脆跳出了swiche语句b)switch只可以和break一起用,不行以和continue用第四章1)三种循环结构a)for();while();do-while三种b)for循环当中必需是两个分号,千万不要遗忘c)写程序的时候确定要留意,循环确定要有结束的条件,否则成了死循环d)do-while()循环的最终一个while();的分号确定不能够丢(当心上机改错)2break和continue的差别记忆方法break是打破的意思,破了整个循环所以望见break就退出真个一层循环Continue是接着的意思,接着循环运算,但是要结束本次循环,就是循环体内剩下的语句不再执行,跳到循环起先,然后推断循环条件,进行新一轮的循环3嵌套循环就是有循环里面还有循环,这种比较困难,要一层一层一步一步耐性的计算,一般记住两层是处理二维数组的4whilec=getchar!=,\n和whilec=getchar!=\n的差别先看a=3!=2和a=3!=2的区分!二号的级别高于=号所以第一个先计算3!=2第一个a的数值是得到的1;其次个a的数值是3考试留意点括号在这里的重要性函数是具有确定功能的一个程序块;1函数的参数,返回数值示意图main int a=5,b=6,c;c=add a,b;printf,c;}调用函数a,b是实参整个函数得到一个数值就是Add函数的返回数值int add(int x,int y)(int z;z=x+y;return z;}被调用函数X,y是形式参数函数返回数值是整型Z就是这个add函数计算后得到的结果,就是函数返回给主程序的返回数值程序是在从上往下依次执行,当遇到了函数add后,把a,b的数值穿给调用函数,程序短暂中断等待返回数值当得到了返回数值后,再依次的往下执行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]的探讨4,a表示数组名,是第一个元素的地址,也就是元素a
[10]的地址5,a是地址常量,所以只要出现a++,或者是a=a+2赋值的都是错误的6,a是二维数组名,所以它是行指针,也就是说a+1是跳一行7,a
[0],a[l],a⑵也都是地址常量,不行以对它进行赋值操作,同时它们都是列指针,a[O]+l,a[l]+l,指2]+1都是跳一列5,留意a和a
[0],a[l],a
[2]是不同的,它们的基类型是不同的前者是一行元素,后三者是一列元素二维数组做题目的技巧假如有a
[3]
[3]={1,2,3,4,5,6,7,8,9}这样的题目步骤一把他们写成第一列其次列第三列a[O]a123->第一行a[l]a456—>其次行a
[2]a789->第三行步骤二这样作题目间很简洁*a[O]+l我们就知道是第一行的第一个元素往后面跳一列,则这里就是a
[0]
[1]元素,所以是1O*a[l]+2我们就知道是其次行的第一个元素往后面跳二列则这里就是
[2]元素,所以是6确定记住只要是二维数组的题目,确定是写成如上的格式,再去做题目,这样会比较简洁数组的初始化,一维和二维的,一维可以不写,二维其次个确定要写int a[]={l,2}合法int a[]
[4]={2,3,4}合法但int a
[4]□={2,3,4}非法二维数组中的行指针inta[l]
[2];其中a现在就是一个行指针,a+1跳一行数组元素搭配*p
[2]指针。