还剩11页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
语言最重要的知识点C总体上必须清晰的1)程序构造是三种次序构造、选择构造(分支构造)、循环构造2)读程序都要从main入口,然后从最上面次序往下读(碰到循环做循环,碰到选择做选择),有且只有一种main函数.3)计算机的数据在电脑中保留是以二进制的形式,数据寄存的位置就是它的地址.4)bit是位是指为0或者1byte是指字节,一种字节=八个位.概念常考到的
1、编译预处理不是C语言的一部分,不占运行时间,不要加分号C语言编译的程序称为源程序,它以ASCII数值寄存在文本文献中.
2、define PI
3.1415926;这个写法是错误的,一定不能出现分号
3、每个C语言程序中main函数是有且只有一种
4、在函数中不可以再定义函数
5、算法可以没有输入,不过一定要有输出
6、for循环中for语句写成for(i=0;i100;i++);,这个写法是有问题的,for的背面假如出现分号,相称于for1循环体是空的
7、break可用于循环构造和switch语句
8、逗号运算符的级别最低,赋值的级别倒数第二第一章语言的基础知识C第一节、对语言的基础认识c
1、C语言编写的程序称为源程序,又称为编译单位
2、C语言书写格式是自由的,每行可以写多种语句,可以写多行
3、一种C语言程序有且只有一种main函数,是程序运行的起点第二节、熟悉VC++
1、VC是软件,用来运行写的C语言程序
2、每个C语言程序写完后,都是先编译,后链接,最终运行(.c-—f.obj-一
9.exe)这个过程中注意.c和.obj文献时无法运行的,只有.exe文献才可以运行第三节、标识符
1、标识符合法的规定是由字母,数字,下划线构成有其他元素就错了并且第一种必须为字母或则是下划线第一种为数字就错了
2、标识符分为关键字、保留标识符、顾客标识符关键字不可以作为顾客标识符号main definescanf printf都不是关键字轻易误解的地方If是可以做为顾客标识符由于If中的第一种字母大写了,因此不是关键字保留标识符是系统保留的一部分标识符,一般用于系统定义和原则库函数的名字例如,如下划线开始的标识符一般用于定义系统变量,不能使用把这些标识符来定义自己的变量虽然它们也是合法的标识符,不过用它们来做一般标识符也许会出现运行错误顾客标识符基本上每年都考,详细请见书上习题顾客标识符用来为变量、符号常量、数组、函数等取名关键字不可以作为顾客标识符第四节进制的转换{for i=2;ia/2;i++if%i=0printf“不是质数”;printf“是质数!”;ao}、怎样求阶层6n!int fun int n{int p=1;for i=1;i=n;i++p=p*i;return p;}
7、函数的参数可以是常量,变量,体现式,甚至是函数调用add int x,int y{return x+y;}main{int sum;sum=add add7,8,9;请问sum的成果是多少?成果为24}l£i£add int x,intj y被调用函数main-----------------------------------------y是形式参数int a=5,b=6,c;int z;、4函数返回数值是整型c=add驳^》调用函数z=x+y;printf荷段1-a,b是实参return z;_______________了就是这个add函数整个函数得到一种数值就是}计算后得到的成果,函数的返回数值就是函数返回给主程程序是在从上往下次序执行,序的返回数值当碰到了函数add后,把a,b的数值穿给调用函数,程序临时中断等待返回数值当得到了返回数值后,再次序的往
8、函数的参数,返回数值示意图实参和形参之间传数值,利的差异考试的重点匕的话,形参的变化实参的变化
9、一定要注意参数之间的传递传地址的话,形参的变化就会有也许变化实参的变化
10、函数申明的考察________________________一定要有函数名,函数的返回类型,函数的参数类型不一定要有形参的名称填空题也也许会考到!如下是终很难度的考题打横线是函数申明怎么写!int*fun int a[],int b[]}已经懂得函数是这样这个函数的对的的函数申明怎么写?int*fun int*a,int*b这里是函数申明的写法,注意数组就是指针int*fun int a口,int b口这种写法也是对的的int*fun intb口,int c[]b这种写法也是对的的,参数的名称可以随便写int*funint*,int*这种写法也是对的的,参数的名称可以不
11、规定掌握的库函数a、库函数是已经写好了函数,放在仓库中,我们只需要怎样去使用就可以了!b、如下这些库函数常常考到,因此要背诵下来abssqrtfabspowsin其中powa,b是重点2^是由pow2,3表达的十进制转换成二进制、八进制、十六进制••二进制、八进制、十六进制转换成十进制第五节整数与实数1)C语言只有
八、
十、十六进制,没有二进制不过运行时候,所有的进制都要转换成二进制来进行处理a.C语言中的八进制规定要以0开头018的数值是非法的,八进制是没有8的,逢8进1b、C语言中的十六进制规定要以Ox开头2)小数的合法写法C语言小数点两边有一种是零的话,可以不用写
1.0在C语言中可写成
1.
0.1在C语言中可以写成.13)实型数据的合法形式a、
2.333e-1就是合法的,且数据是
2.333X10么考彼口缺e前e后必有数,e后必为整数请结合书上的例子4)整型一般是4个字节,字符型是1个字节,双精度一般是8个字节long int x;表达x是长整型unsigned int x;表达x是无符号整型第
六、七节算术体现式和赋值体现式关键体现式一定有数值!
1、算术体现式+,一,*,/,%考试一定要注意两边都是整型的话,成果就是一种整型3/2的成果就是
1.假如有一边是小数,那么成果就是小数3/
2.0的成果就是
0.5%”符号请一定要注意是余数,考试最轻易算成了除号)%符号两[注意!!!]边规定是整数不是整数就错了
2、赋值体现式体现式数值是最左边的数值,a=b=5;该体现式为5,常量不可以赋值
1、int x=y=10:错啦,定义时,不可以持续赋值
2、int x,y;x=y=10;对滴,定义完毕后,可以持续赋值
3、赋值的左边只能是一种变量.
4、int x=
7.7;对滴,x就是
75、float y=7;对滴,x就是
7.
03、复合的赋值体现式int a=2;a*=2+3;运行完毕后,a的值是12一定要注意,首先要在2+3的上面打上括号变成(2+3)再运算
4、自加体现式自加、自减体现式假设a=5,++a(是为6),a++(为5);运行的机理++a是先把变量的数值加上1,然后把得到的数值放到变量a中,然后再用这个++a体现而式的数值为6,a++是先用该体现式的数值为5,然后再把a的数值加上1为6,再放到变量a中进行了++a和a++后在下面的程序中再用到a的话都是变量a中的6To口缺:++在前先加后用,++在后先用后加
5、逗号体现式优先级别最低体现式的数值逗号最左边的那个体现式的数值(2,3,4)的体现式的数值就是4z=(2,3,4)(整个是赋值体现式)这个时候z的值为4(有点难度哦!)z=2,3,4(整个是逗号体现式)这个时候z的值为2补充
1、空语句不可以随意执行,会导致逻辑错误
2、注释是近来几年考试的重点,注释不是C语言,不占运行时间,没有分号不可以嵌套!
3、强制类型转换一定是(int)a不是int(a),注意类型上一定有括号的注意(int)(a+b)和(int)a+b的区别前是把a+b转型,后是把a转型再加bo、三种取整丢小数的状况
41、int a=
1.6;
2、(i nt)a;
3、1/2;3/2;第八节、字符1)字符数据的合法形式是字符占一种字节,1”是字符串占两个字节(具有一种结束符号)0的ASCII数值表达为48,a的ASCII数值是97,A的ASCI I数值是65一般考试表达单个字符错误的形式・65,-1字符是可以进行算术运算的,记住’0-0=48大写字母和小写字母转换的措施A,+32=,a,互相之间一般是相差32o2)转义字符般转义字符、八进制转义字符、十六进制转义字符转义字符分为一一般转义字符背诵\
0、.\n、\、\、\\o八进制转义字符\141是合法的,前导的0是不能写的十六进制转义字符\x6d’才是合法的,前导的不能写,并且x是小写转义字符意义\a响铃(BEL,turbo C
2.0不支持)\n换行,将当前光标移到下一行行首\t横向跳格,光标跳到下一个制表位\v竖向跳格\b退格,光标移到前一列\r回车,光标移到本行的行首\f换页,将光标移到下一页的页首\\反斜杠字符“\”\单撤号字符\n双撤号字符\问号字符“”\o空字符(NULL)\ddd任意字符(13位八进制数所代表的字符)〜\xhh任意字符(12位十六进制数所代表的字符)〜
3、字符型和整数是近亲两个具有很大的相似之处char a=65;pr intf(%c”,a);得到的输出成果apr intf(%d”,A);得到的输出成果65I*T*第一早第一节数据输出
(一)
(二)
1、使用pr intf和scanf函数时,要在最前面加上#include stdio.h
2、printf可以只有一种参数,也可以有两个参数
3、printf(“第一部分”,第二部分);把第二部分的变量、体现式、常量以第一部分的形式展现出来!
4、printf(“a=%d,b=%d,12,34)重点!一定要记住是将12和34以第一部分的形式目前在终端也就是黑色的屏幕上考试关键为一同样在黑色屏幕上面显示为a=12,b=34printf(“a=%d,\n b=%d,12,34)那么输出的成果就是a=12,b=
345、int x=017;一定要弄清晰为何是这个成果!过程很重要printf(%d”,x);15printf(%o”,x);17printf(“%#o”,x);017printf(%x”,x);11printf(%#x,x);0x
116、int x=12,y=34;注意这种题型char z=a;printf(%d”,x,y);一种格式阐明,两个输出变量,背面的y不输出pr intf%c”,z;成果为12a
7、一定要背诵的格式阐明表达内容格式阐明表达内容%d整型int%c字符char%ld长整型long int%s字符串%f浮点型float%0八进制%lf double%#0带前导的八进制%%输出一种百分号%x十六进制%5d%#x带前导的十六进制举例阐明:printf(“%2d”,123);第二部分有三位,不小于指定的两位,原样输出123printf(“%5d”,123);第二部分有三位,不不小于指定的五位,左边补两个空格123printf(,
1.25);小数规定补足6位的,没有六位的补0,成果为
1.250000printf(“烬.3f”,125);小数三位,整个五位,成果为
1.250(小数点算一位)printf(,
1.25);小数一位,整个三位,成果为
1.3(要进行四舍五入)第三节数据输入o
1、scanf“a=%d,b=%d,a,b超级重点!一定要记住是以第一部分的格式在终端输入数据关键为一模同样在黑色屏幕上面输入的为a=12,b=34才可以把12和34对的给a和b有一点不一样也不行o
2、scanf(%d,%d,x,y);这种写法绝对错误,scanf的第二个部分一定要是地址!scanf(“%d,%d“,x,y);注意写成这样才可以!
3、尤其注意指针在scanf的考察例如intx=2;int*p=x;scanf(%d”,x);错误scanf(%d”,p);对的scanf(%d”,p);错误scanf(%d”,*p)错误
4、指定输入的长度终端输入1234567scanf(%2d%4d%d”,x,y,z);x为12,y为3456,z为7终端输入1234567由于1和2中间有空格,因此只有1位给xscanf(%2d%4d%d”,x,y,z);x为1,y为2345,z为
675、字符和整型是近亲intx=97;printf(“%d”,x);成果为97printf(%c,x);成果为a
6、输入时候字符和整数的区别scanf(%d”,x);这个时候输入1,尤其注意表达的是整数1scanf(“%c”,x);这个时候输入1,尤其注意表达的是字符1ASCII为整数49补充阐明1)scanf函数的格式考察注意该函数的第二个部分是随这样的地址,不是目;scanf(%d%d%*d%d,a,b,c);跳过输入的第三个数据2)putchar,getchar函数的考察char a=getchar()是没有参数的,从键盘得到你输入的一种字符给变量a putchar(y)把字符y输出到屏幕中3)怎样实现两个变量x,y中数值的互换(规定背下来)不可以把x=y,y=x;要用中间变量t=x;x=y;y=to弟二早尤其要注意C语言中是用匪0表达逻辑真的,丽表达逻辑假的C语言有构造类型,没有逻辑类型关系运算符号注意=的写法,==和=的区别!(考试重点)if只管背面一种语句,要管多种,请用大括号!1)关系体现式a、体现式的数值只能为1(表达为真),或0(表达假)如98这个关系体现式是真的,因此98这个体现式的数值就是1如76这个关系体现式是假的,因此76这个体现式的数值就是0b、考试最轻易错的就是intx=1,y=0,z=2;xyz是真还是假?带入为102,从数学的角度出发肯定是错的,不过假如是C语言那么就是对的的!由于要10为假得到0,体现式就变成了02那么运算成果就是1,称为了真的了!c、等号和赋值的区别!一定记住“二”就是赋值,“二二”才是等号虽然诸多人可以背诵,但我仍然要大家一定好好记住,否则,做错了,我一定会强烈的藐视你!2)逻辑体现式关键体现式的数值只能为1(表达为真),或0(表达假)a)共有||!三种逻辑运算符号b)!||优先的级别c)注意短路现象考试比较喜欢考到详细请见书上例子,一定要会做例1和例2d)表达x不不小于0不小于10的措施OvxvlO是不行的(一定记住)是先计算0x得到的成果为1或则0;再用0,或1与10比较得到的总是真(为1)o因此一定要用(0vx)(xvl0)表达比0大比10小e)判断char ch与否为大小写字母和数字的措施(一定记住)(ch=a)(ch=,z)(ch〉=A)(ch=,Z)(ch〉=O)(ch=,9)3)3语句a、else是与最靠近的if且没有else的语句匹配b、互换的程序写法t=x;x=y;y=t;c if(ab)t=a;a=b;b=t;if(ab){t=a;a=b;b=t;}两个的区别,考试多次考到了!d、单独的if语句if(ab)t=a;原则的if语句if(ab)min=a;else mi n=b;嵌套的if语句if(ab)if(bc)printf(ok!”);多选一的if语句if(a==t)printf(a”);else if(b==t)pr intf(b”);else ifc==t printfc”;else pritnfd”;通过习题,要熟悉以上几种if语句!经典考题结合上面四种if语句题型做题,答错了,请自行了断!预备,开始!int a=1,b=0;if!a b++;else if a==0if a b+=2;else b+=3;请问b的值是多少?对的的是b为3int a=1,b=0;if!ab++;是假的不执行else ifa==0是假的执行ifab+=2;属于else if的嵌套if语句,不执行else b+=3;if-eIse-if语句没有一种对的的,就执行else的语句!4条件体现式体现式1体现式2:体现式3心口供真前假后b、注意是当体现式1的数值是非0时,才采用体现式2的数值做为整个运算成果,当体现式1的数值为0时,就用体现式3的数值做为整个的成果c、int a=1,b=2,c=3,d=4,e=5;k=ab c:de d:e;求k的数值时多少?答案为san5switch语句a执行的流程一定要弄懂!上课时候详细的过程讲了,请自己一定弄懂|b注意有break和没有break的差异,书上的两个例子,没有break时候,只要有一种case匹配了.剩余的都要执行,有break则是直接跳出了swiche语句break在C语言中就是分手,一刀两断的意思c switch只可以和break一^起用,不可以和cont inue用d switchxx:是整型常量,字符型常量,枚举型数据{case勺….不可以是变量case2:….}Ui章循环构造程序设计e switch是必考题型,请大家一定要完毕书上的课后的switch的习题1三种循环构造:a for;whi Ie;do-whi Ie三种b for循环当中必须是两个分号,千万不要忘掉c写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环d do-whi le循环的最终一种whi le;的分号一定不可以丢当心上机改错,do—whi Ie循环是至少执行一次循环2break和continue的差异记忆措施break:是打破的意思,破了整个循环因此看见break就退出整个一层循环continue:是继续的意思,继续循环运算,不过要结束本次循环,就是循环体内剩余的语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环3嵌套循环就是有循环里面尚有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的4whilec=getchar!=9\n0和while c=getchar!=,\n,的差异先看a=3!=2和a=3!=2的区别!二号的级别高于二号因此第一种先计算3!=2第一种a的数值是得到的1;第二个a的数值是3考试注意点括号在这里的重要性5每行输出五个的写法for i=0;i=100;i++{printf“%d”,i;ifi+1%5=0printf“\n”;假如i是从1开始的话,就是if i%5=0printf\n;}6怎样整除一种数i%5==0表达整除5l%2=0表达整除2,同步表达是偶数!7输入123,输出321逆序输出数据int i=123;while i!=0printf“%d”,i%10;151/10;}8for只管背面一种语句int i=3;for i=3;i6;i++:printf#:请问最终打印几种#号?答案为一种!不停的输入,直到9不停的输入,直到输入#停止输入!输入$停止输入!wh iI ex=getchar!=,#不wh iI ex=getchar!=$停的输入,直到碰到?停止输入!while x二getchar!=的讲解一定要注意这种给出了条件,然后怎样去写措施!.11多次出现的考题int k=1int k=1;while-----k;while k-----;printf%d”,k;printf“%d”,k;成果为0成果为-110for循环和switch语句的和在一起考题!第五章数组数组寄存的类型是一致的多种数组元素的地址是持续的
1、一维数组的初始化int a
[5]={1,2,3,4,5;合法int a
[5]={1,2,3,1;合法int a[]={1,2,3,4,5;合法,常考,背面决定前面的大小!int a
[5]={1,2,3,4,5,6};不合法,赋值的个数多出数组的个数了
2、一维数组的定义;int a
[5];注意这个地方有一种重要考点,定义时数组的个数不是变量一定是常量合法,最正常的数组int a
[5]合法,个数是常量2,是个算术体现式int a[1+1]合法,同样是算术体现式int a[1/2+4]intx=5,不合法,由于个数是x,是个变量,非法的,int a[x];define P5int a[P]合法,define后的的P是符号常量,只是长得像变量int a
[2]
[3]={1,2,3,4,5,6};合法,很原则的二维的赋值int a
[2]
[3]={1,2,3,4,5,};合法,背面一种默认为0int a
[2]
[3]={{1,2,3,}{4,5,6}};合法,每行三个合法,第一行最终一种默认为0int a
[2]
[3]={{1,2,}{3,4,5};
3、二维数组的初始化int a
[2]
[3]={1,2,3,4,5,6,7;不合法,赋值的个数多出数组的个数了int a[]
[3]={1,2,3,4,5,6};不合法,不可受缺省行的个数int a
[2][]={1,2,3,4,5,6};合法,可以缺省列的个数.补充:1一维数组的重要概念:对a
[10]这个数组的讨论
1、a表达数组名,是第一种元素的地址,也就是元素a
[0]的地址等价于a
2、a是地址常量,因此只要出现a++,或者是a=a+2赋值的都是错误的2二维数组假如有a
[3]
[3]={1,2,3,4,5,6,7,8,9}这样的题目把他们写成:第一第二列第三列
[0]^123_>第一行⑴今456—>第二行a
[2]今一第三行7893数组的初始化,一维和二维的,一维可以不写,二维第二个一定要写int a[]={1,2}合法int a[]
[4]={2,3,4}合法但inta
[4][]={2,3,4非法第五章函数
1、函数是具有一定功能的一种程序块,是C语言的基本构成单位
2、函数不可以嵌套定义不过可以嵌套调用
3、函数名缺省返回值类型,默认为into
4、C语言由函数构成,但有且仅有一种main函数!是程序运行的开始!
5、怎样判断a与否为质数背诵这个程序!void iszhishuinta。
个人认证
优秀文档
获得点赞 0