该【C语言学习知识点总结计划完美版本 】是由【夏天教育】上传分享,文档一共【14】页,该文档可以免费在线阅读,需要了解更多关于【C语言学习知识点总结计划完美版本 】的内容,可以使用淘豆网的站内搜索功能,选择自己适合的文档,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此文档到您的设备,方便您编辑和打印。语言最重要的知识点
整体上一定清楚的:
程序结构是三种:次序结构、选择结构(分支结构)、循环结构。
读程序都要从main()进口,而后从最上边次序往下读(碰到循环做循环,碰到选择做选
),有且只有一个main函数。
3)
计算机的数据在电脑中保存是以
他的地点.
4)
bit是位是指为0或许1。byte
是指字节,一个字节=八个位.
观点常考到的:
1、编译预办理不是C语言的一部分,不占运转时间,不要加分号。C语言编译的程序称为
源程序,它以ASCII数值寄存在文本文件中。
2、#definePI;这个写法是错误的,必定不可以出现分号。
3、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以够再定义函数。
5、算法:能够没有输入,可是必定要有输出。
6、break可用于循环结构和switch语句。
7、逗号运算符的级别最低,赋值的级别倒数第二。
第一章C语言的基础知识
第一节、对C语言的基础认识
1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行能够写多个语句,能够写多行。
3、一个C语言程序有且只有一个main函数,是程序运转的起点。
第二节、熟习vc++
1、VC是软件,用来运转写的C语言程序。
2、每个C语言程序写完后,都是先编译,后链接,最后运转。(.c---.obj---.exe)
,。(常考!)
第三节、表记符
1、表记符(必考内容):
合法的要求是由字母,数字,下划线构成。有其余元素就错了。并且第一个一定为字母或则是下划线。第一个为数字就错了2、表记符分为要点字、预约义表记符、用户表记符。
要点字:不可以够作为用户表记符号。maindefinescanfprintf都不是要点字。诱惑
你的地方If是能够做为用户表记符。因为If中的第一个字母大写了,因此不是要点字。
预约义表记符:背诵definescanfprintfinclude。记着预约义表记符能够做为用户
表记符。
用户表记符:基本上每年都考,详尽请见书上习题。
第四节:进制的变换
十进制变换成二进制、八进制、十六进制。
二进制、八进制、十六进制变换成十进制。
第五节:整数与实数
1)C语言只有八、十、十六进制,没有二进制。可是运转时候,全部的进制都要变换成二
进制来进行办理。(考过两次)
a、C语言中的八进制规定要以
0开头。018的数值是非法的,八进制是没有
8的,逢
8进
1。
、C语言中的十六进制规定要以0x开头。
小数的合法写法:C语言小数点两边有一个是零的话,能够不用写。
C语言中可写成1.
。
3)实型数据的合法形式:
a、就是合法的,且数据是×10-1。
b、考试口诀:e前e后必有数,e后必为整数。请联合书上的例子。
4)整型一般是4个字节,字符型是1个字节,双精度一般是8个字节:
longintx;表示x是长整型。
unsignedintx;表示x是无符号整型。
第六、七节:算术表达式和赋值表达式
核心:表达式必定有数值!
1、算术表达式:+,-,*,/,%
考试必定要注意:“/”两边都是整型的话,结果就是一个整型。
3/2
的结果就是1.
“/”假如有一边是小数,那么结果就是小数。
3/
的结果就是
“%”符号请必定要注意是余数,考试最简单算成了除号。)%符号两边要
求是整数。不是整数就错了。[注意!!!]
2、赋值表达式:表达式数值是最左侧的数值,a=b=5;该表达式为5,常量不可以够赋值。
1、intx=y=10:错啦,定义时,不可以够连续赋值。
2、intx,y;
x=y=10;对滴,定义达成后,能够连续赋值。
3、赋值的左侧只好是一个变量。
4、intx=;对滴,x就是7
5、floaty=7;对滴,x就是
3、复合的赋值表达式:
inta=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中的6
了。
考试口诀:++在前先加后用,++在后先用后加。
5、逗号表达式:
优先级别最低。表达式的数值逗号最右侧的那个表达式的数值。
(2,3,4)的表达式的数值就是4。
z=(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转型再加b。
4、三种取整丢小数的状况:
1、inta=;
2、(int)a;
3、1/2;3/2;
第八节、字符
1)字符数据的合法形式::
'1'是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。
'0'的ASCII数值表示为48,'a'的ASCII数值是97,'A'的ASCII数值是65。
一般考试表示单个字符错误的形式:'65'"1"
字符是能够进行算术运算的,记着:'0'-0=48
大写字母和小写字母变换的方法:'A'+32='a'互相之间一般是相差32。
2)转义字符:
转义字符分为一般转义字符、八进制转义字符、十六进制转义字符。
一般转义字符:背诵\0、\n、’、”、。
八进制转义字符:‘\141’是合法的,前导的0是不可以写的。
十六进制转义字符:’\x6d’才是合法的,前导的0不可以写,并且x是小写。
3、字符型和整数是近亲:两个拥有很大的相像之处
chara=65;
printf(“%c”,a);获得的输出结果:a
printf(“%d”,a);获得的输出结果:65
第九章、位运算
1)位运算的观察:会有一到二题考试题目。
总的办理方法:几乎全部的位运算的题目都要按这个流程来办理(先把十进制变为二进制
再变为十进制)。
例1:chara=6,b;
b=a<<2;这类题目的计算是先要把a的十进制6化成二进制,再做位运算。
例2:必定要记着,异或的位运算符号”^”。0异或1获得1。
0异或0获得0。两个女的生不出来。
考试记忆方法:一男(1)一女(0)才能够生个儿童(1)。
例3:在没有舍去数据的时候,<<左移一位表示乘以2;>>右移一位表示除以2。
第二章
第一节:数据输出(一)(二)
1、使用printf和scanf函数时,要在最前面加上#include“”
2、printf能够只有一个参数,也能够有两个参数。(选择题考过一次)
3、printf(“第一部分”,第二部分);把第二部分的变量、表达式、常量以第一部分
的形式显现出来!
4、printf(“a=%d,b=%d”,12,34)考试要点!
必定要记着是将12和34以第一部分的形式此刻在终端也就是黑色的屏幕上。
考试核心为:
如出一辙。在黑色屏幕上边显示为a=12,b=34
printf(“a=%d,\nb=%d”,12,34)那么输出的结果就是:a=12,
b=34
5、intx=017;必定要弄清楚为何是这个结果!过程很重要printf(“%d”,x);15
printf(“%o”,x);17
printf(“%#o”,x);017
printf(“%x”,x);11
printf(“%#x”,x);0x11
6、intx=12,y=34;注意这类题型
charz=
‘a’;
printf
(“%d”,x,y);
一个格式说明,两个输出变量,后边的
y不输出
printf
(“%c”,z);
结果为:
12a
、必定要背诵的
格式说明
%d
%ld
表示内容
整型int
长整型long
格式说明
%c
%s
表示内容
字符char
字符串
int
%f浮点型float
%lfdouble
%%输出一个百分号
%5d
%o
%#o
%x
%#x
八进制
带前导的八进制
十六进制
带前导的十六进制
举例说明:
printf(“%2d”,123);第二部分有三位,大于指定的两位,原样输出123
printf(“%5d”,123);第二部分有三位,小于指定的五位,左侧补两个空格123
printf(“%10f”,);小数要求补足6位的,没有六位的补0,。结果为
printf(“%”,125);小数三位,整个五位,结果为(小数点算一位)
printf(“%”,);小数一位,整个三位,结果为(要进行四舍五入)
第三节数据输入
1、scanf(“a=%d,b=%d”,&a,&b)考试超级要点!
必定要记着是以第一部分的格式在终端输入数据。考试核心为:如出一辙。
在黑色屏幕上边输入的为a=12,b=34才能够把12和34正确给a和b。有一点不一样也不
行。
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、指定输入的长度
(考试要点)
终端输入:1234567
scanf(“%2d%4d%d”,&x,&y,&z);x为12,y为3456,z
终端输入:1234567因为1和2中间有空格,因此只有
为7
1位给
x
scanf(“%2d%4d%d”,&x,&y,&z);x为1,y为2345,z为675、字符和整型是近亲:
intx=97;
printf
printf
(“%d”,x);(“%c”,x);
结果为结果为
97
a
6、输入时候字符和整数的差异(考试
scanf(“%d”,&x);这个时候输入
scanf(“%c”,&x);这个时候输入
超级要点)
1,特别注意表示的是整数
1,特别注意表示的是字符‘
1
1’ASCII
为整数
48。
增补说明:
1)scanf函数的格式观察:
注意该函数的第二个部分是&a这样的地点,不是a;
scanf(“%d%d%*d%d”,&a,&b,&c);跳过输入的第三个数据。
2)putchar,getchar函数的观察:
chara=getchar()是没有参数的,从键盘获得你输入的一个字符给变量
putchar(‘y’)把字符y输出到屏幕中。
3)怎样实现两个变量x,y中数值的交换(要求背下来)
不可以够把x=y,y=x;要用中间变量t=x;x=y;y=t。
4)怎样实现保存三位小数,第四位四舍五入的程序,(要求背下来)
y=(int)(x*100+)/这个保存两位,对第三位四舍五入
y=(int)(x*1000+)/这个保存三位,对第四位四舍五入
y=(int)(x*10000+)/这个保存四位,对第五位四舍五入
a。
这个有推行的意义,注意x=(int)x这样是把小数部分去掉。
第三章
特别要注意:C语言中是用非0表示逻辑真的,用0表示逻辑假的。
语言有结构种类,没有逻辑种类。
关系运算符号:注意<=的写法,==和=的差异!(考试要点)
if尽管后边一个语句,要管多个,请用大括号!
1)关系表达式:
a、表达式的数值只好为1(表示为真),或0(表示假)。
如9>8这个关系表达式是真的,因此9>8这个表达式的数值就是
如7<6这个关系表达式是假的,因此7<6这个表达式的数值就是
b、考试最简单错的:就是intx=1,y=0,z=2;
1。
0
x<y<z
错的,可是假如是
是真仍是假带入为
C语言那么就是正确的!因为要
1<0<2,从数学的角度出发必定是
1<0为假获得0,表达式就变为
了0<2那么运算结果就是1,称为了真的了!
、等号和赋值的差异!必定记着“=”就是赋值,“==”才是等号。固然好多人能够
背
诵,但我依旧要大家必定好好记着,不然,做错了,我必定会激烈的歧视你!
2)逻辑表达式:
核心:表达式的数值只好为1(表示为真),或0(表示假)。
共有&&||!三种逻辑运算符号。
!>&&>||优先的级别。
c)注意短路现象。考试比较喜爱考到。详尽请见书上例子,必定要会做例1和例2
表示x小于0大于10的方法。
0<x<10是不可以的(必定记着)。是先计算0<x
获得的结果为
1或则0;再用0,或
1与
10比较获得的老是真(为
1)。因此必定要用
(0<x)&&(x<10)
表示比0大比10小。
3)if
语句
a、else是与最靠近的if且没有else的语句般配。
、交换的程序写法:t=x;x=y;y=t;
、if(a<b)t=a;a=b;b=t;
if(a<b){t=a;a=b;b=t;}两个的差异,考试多次考到了!
、独自的if语句:if(a<b)t=a;
标准的if语句:if(a<b)min=a;
elsemin=b;
嵌套的if
多项选择一的
语句:语句if
ififif
(a<b)
(b>c)printf(
(a==t)printf(
“ok!”);
“a”);
elseif(b==t)printf(“b”);
elseif(c==t)printf(“c”);
elsepritnf(“d”);
经过习题,要熟习以上几种if语句!
经典考题:联合上边四种if语句题型做题,答错了,请自行了断!预备,开始!
inta=1,b=0;
if(!a)b++;
elseif(a==0)
if
(a)b+=2;
elseb+=3;请问b的值是多少
假如没有看懂题目,你千万不要自行了断,这样看得懂不会做的人材会有原因的活着。
正确的选项是b为3。
inta=1,b=0;
if(!a)b++;是假的不履行
elseif(a==0)是假的履行
if(a)b+=2;属于elseif
的嵌套
if
语句,不履行。
elseb+=3
;
if-else-if
语句没有一个正确的,就履行
else
的语句!
4)条件表达式:
表达式1
表达式
2:表达式
3
a、考试口诀:真前假后。
b、注意是当表达式1的数值是非0时,才采纳表达式2的数值做为整个运算结果,当表达
式1的数值为0时,就用表达式3的数值做为整个的结果。
c、inta=1,b=2,c=3,d=4,e=5;
k=a>bc:d>ed:e;求k的数值时多少答案为san
5)switch语句:
case
a)行的流程必定要弄懂!上候的程了,自己必定弄懂!
b)注意有break和没有break的差,上的两个例子,没有break候,只需有一个
般配了,剩下的都要行,有break是直接跳出了swiche句。break在C言中就是
分手,一刀两段的意思。
c)switch只好够和break一同用,不可以够和continue用。
d)switch(x)x:是整型常量,字符型常量,枚型数据。
{case1:⋯.不可以够是量。
case2:⋯.
}
e)switch是必考型,大家必定要达成上的后的switch的。
第四章
1)三种循构:
a)for();while();do-while()三种。
)for循中间必是两个分号,千万不要忘。
)写程序的候必定要注意,循必定要有束的条件,否成了死循。
d)do-while()循的最后一个while();的分号必定不可以。(小心上机改),do-while循是起码行一次循。
break和continue的差方法:
break:是打破的意思,(破了整个循)因此看break就退出整个一循。continue:是的意思,(循运算),可是要束本次循,就是循体内剩下的
句不再行,跳到循开始,而后判断循条件,行新一的循。
3)嵌套循
就是有循里面有循,种比复,要一一一步一步耐心的算,
是理二数的。
4)while((c=getchar())!=’\n’)和
while(c=getchar()!=’\n’)的差
先看a=3!=2和(a=3)!=2的区:
(!=号的高于=号因此第一个先算3!=2)第一个a的数是获得的
的数是3。
考注意点:括号在里的重要性。
5)每行出五个的写法:
for(i=0;i<=100;i++)
{printf(“%d”,i);
一般住两
1;第二个
a
if(
(i+1)%5==0)printf(
“\n
”);
假如
i
是从
1开始的,就是
if(i%5==0)printf(
“\n”);
}
6)怎样整除一个数:
I%2==0
i%5==0
表示整除表示整除
5
2,同表示是偶数!
7)入123,出321逆序输出数据
inti=123;
while(i!=0)
{
printf(“%d”,i%10);
i=i/10;}
8)for
尽管后边一个语句:
inti=3;
for(i=3;i<6;i++
):
printf(“#”):
9)不断的输入,直到输入
while((x=getchar())!=
#
停止输入!
’#’)
请问最后打印几个#号答案为一个!
不断的输入,直到输入$停止输入!
while((x=getchar())!=
’
$
’
)
不断的输入,直到碰到停止输入!
while((x=getchar())!=’
’)
讲解:必定要注意这类给出了条件,而后怎样去写的
方法!
10)for
循环和
switch
语句的和在一同考题!
11)多次出现的考题:
intk=1
intk=1
;
while
printf
(--k);
(“%d”,k);
while
printf
(k--);
(“%d”,k);
结果为
0
结果为
-1
第五章
1、函数:是拥有必定功能的一个程序块,是C语言的基本构成单位。
2、函数不可以够嵌套定义。可是能够嵌套调用。
3、函数名缺省返回值种类,默以为int。
4、C语言由函数构成,但有且仅有一个main函数!是程序运转的开始!
5、怎样判断a能否为质数:背诵这个程序!
voidiszhishu(inta)
{for(i=2;i<a/2;i++)
if(a%i==0)printf“是质数!”printf(
(“不是质数”);
);
}
6、怎样求阶层:n!
背诵这个程序!
intfun(intn)
{intp=1;
for(i=1;i<=n;i++)p=p*i;
returnp;
}
7、函数的参数能够是常量,变量,表达式,甚至是
add(intx,inty){returnx+y;}
main()
函数调用。
{intsum;
sum=add(add(7,8),9);请问
sum的结果是多少
结果为
24
}
8、函数的参数,返回数值(表示图)
:
main()
{
int
a
=
5,b=6,c;
调用函数
c=add(a,b);
a,b是实参
整个函数获得一个数值就是
printf(“%d”,Add函数的返回数值。
程c);序是在从上往下次序执
行,当碰到了函数add后,
a,b的数值穿给调用函数,程序临时中止等候返回数值。当获得了返回数值后,再次序的往下履行
intadd(intx,inty)
{
intz;
z=x+y;
returnz;
}
被调用函数
x,y是形式参数
函数返回数值是整型
z就是这个add函数
计算后获得的结果,
就是函数返回给主程
序的返回数值。
9、必定要注意参数之的
参和形参之数,和地点的差。(考的要点)
数的,形参的化不会改参的化。
地点的,形参的化就会有可能改参的化。
10、函数申明的考:
必定要有:函数名,函数的返回型,函数的参数型。不必定要有:形参的名称。
填空也可能会考到!以下是极度的考。打横是函数申明怎么写!
int*fun(inta[],intb[])
{
..
}已知道函数是。个函数的正确的函数申明怎么写
int*fun
(int*a,int*b
)
里是函数申明的写法,注意数就是指
int*fun
(inta[],intb[]
)
种写法也是正确的
int*fun
(intb[],intc[]
)
种写法也是正确的,参数的名称能够随
便写
int*fun
(int*,int*
)
种写法也是正确的,参数的名称能够不写
11、要求掌握的函数:
、函数是已写好了函数,放在中,我只需要怎样去使用就能够了!
b、以下些函数常考到,因此要背下来。
abs()、sqrt()、fabs()、pow()、sin()此中pow(a,b)是要点。23是由pow(2,3)表示
的。
第六章
指量的本是用来放地点,而一般的量是放数的。
1、int*p中*p和p的差:*p是数,p是地点!
*p能够当成量来用;*的作用是取后边地点p里面的数
p是看作地点来使用。能够用在scanf函数中:scanf(“%d”,p);
2、*p++
和(*p)++的之间的差异:改错题目中很重要!考试超级要点
*p++是地点会变化。口诀:取目前值,而后再挪动地点!
(*p)++是数值会要变化。口诀:取目前值,而后再使数值增添
1。
例题:int*p,a[]={1,3,5,7,9};
p=a;
请问*p++和(*p)++的数值分别为多少
*p++:
这个自己的数值为
1。因为是地点会增添一,因此指针指向数值3了。
(*p)++这个自己的数值为
1。因为有个++表示数值会增添,指针不挪动,但数值
1由
于自加了一次变为了
2。
3、二级指针:
*p
:一级指针:寄存变量的地点。
**q
:二级指针:寄存一级指针的地点。
常考题目:
intx=7
;
int*p=&x
,**q=p;
问你:*p为多少*q
为多少**q为多少
7
p
7
再问你:**q=&x的写法能够吗
不可以够,因为二级指针只好寄存一级指针的地点。
4、三名主义:(考试的要点)
数组名:表示第一个元素的地点。数组名不可以够自加,他是地点常量名。
函数名:表示该函数的进口地点。
字符串常量名:表示第一个字符的地点。
5、挪动指针(常常加入到考试中其余题目综合考试)
char*s=“meikanshu”
while(*s){printf(“%c”,*s);s++;}
这个s第一会指向第一个字母m而后经过循环会一次打印出一个字符,
印了一个字母后,就会挪动到下一个字母!
6、指针变量两种初始化(必定要看懂)
方法一:inta=2,*p=&a;(定义的同时初始化)
方法二:inta=2,*p;(定义以后初始化)
(考了好多次)
s++是地点挪动,打
p=&a;
7、传数值和传地点(每年必考好多题目)
voidfun(inta,intb)
{intt;{intt
voidfun
(int*a
;
,int*b
)
t=a
;a=b;b=t;
t=*a
;*a=*b;*b=t
;
}
}
main()
main
()
{intx=1,y=3,
fun(x,y);
printf(“%d,%d”,x,y);
{intx=1
fun
printf
,y=3,
(&x,&y)
(“%d,%d”,x,y);
}
}
这个题目答案是1和3。
传数值,fun是用变量接受,因此
的交换不会影响到main中的x和
fun
y。
中
这个题目的答案就是3和1。传地点,fun用指针接受!这个时候中的交换,就会影响到main中的
fun
x和y。
C语言学习知识点总结计划完美版本 来自淘豆网m.daumloan.com转载请标明出处.