admin管理员组文章数量:1565285
2024年7月13日发(作者:)
C 语言中最重要的知识点
总体上必须清楚的 :
1) 程序结构是三种 : 顺序结构 、选择结构 ( 分支结构 ) 、循环结构 。
2) 读程序都要从 main() 入口 , 然后从最上面顺序往下读 ( 碰到循环做循环 , 碰到选择做选择) ,有
且只有 一个 main 函数 。
3)
计算机的数据在电脑中保存是以
4)
bit 是位 是指为 0 或者 1。 byte
二进制 的形式 . 数据存放的位置就是
是指 字节 , 一个字节 = 八个位 .
他的地址 .
概念常考到的:
1、编译预处理 不是 C 语言的一部分, 不占 运行时间, 不要加 分号。 C 语言编译的程序称为
源程序 ,它以 ASCII 数值 存放在 文本文件 中。
2、 define PI 3.1415926;
这个写法是错误的, 一定不能出现分号 。
3、每个 C语言程序中 main 函数 是有且只有一个
。
4、在函数中 不可以 再定义函数。
5、算法: 可以没有 输入 ,但是 一定要有 输出 。
6、 break 可用于循环结构和 switch
语句。
7、逗号运算符 的级别 最低,赋值 的级别 倒数第二 。
第一章
C 语言的基础知识
第一节、对 C 语言的基础认识
1、 C语言编写的程序称为
源程序 ,又称为 编译单位 。
2、 C 语言 书写格式是自由的
,每行可以写多个语句,可以写多行。
3、一个 C语言程序有且只有一个
main 函数,是程序运行的
起点。
第二节、熟悉 vc++
1、 VC是软件,用来运行写的
C语言程序。
先编译,后 链接 ,最后 运行 。(.c---
.obj---
.exe ) 2、每个 C 语言程序写完后,都是
这个过程中注意 .c 和 .obj
文件时无法运行 的,只有 .exe 文件才可以运行
。(常考!)
第三节、标识符
1、标识符(必考内容) :
合法的要求是由
字母 ,数字 ,下划线 组成。有其它元素就错了。
并且 第一个必须为
字母或则是 下划线 。第一个为数字就错了
2、标识符分为关键字、预定义标识符、用户标识符。
关键字: 不可以 作为用户标识符号
。 main define scanf printf
预定义标识符:背诵
标识符。
用户标识符:基本上每年都考,详细请见书上习题。
define scanf printf include
都不是关键字
。迷惑
你的地方 If
是可以做为用户标识符 。因为 If
中的第一个字母大写了,所以不是关键字。
。记住 预定义标识符
可以 做为用户
第四节:进制的转换
十进制转换成二进制、八进制、十六进制。
二进制、八进制、十六进制转换成十进制。
第五节:整数与实数
1) C语言只有 八、十、十六 进制, 没有二进制 。但是 运行时候,所有的进制都要转换成二
C 语言知识点总结
1
进制来进行处理
。(考过两次)
a 、 C 语言中的 八进制 规定要 以 0 开头 。 018 的数值是非法的,
八进制是没有
8 的,逢
8进 1。
b 、 C 语言中的 十六进制 规定要 以 0x 开头 。
2) 小数的合法写法
: C 语言 小数点两边有一个是零的话
,可以不用写 。
1.0 在 C 语言中可写成 1.
0.1 在 C 语言中可以写成 .1 。
3)实型数据的合法形式:
a、2.333e-1
就是合法的,且数据是
2.333 × 10
-1
。
b、考试口诀 : e 前 e 后必有数, e 后必为整数 。 请结合书上的例子。
4) 整型 一般是 4 个字节 ,
字符型 是 1 个字节, 双精度 一般是 8 个字节:
long int x;
unsigned int x;
表示 x 是长整型。
表示 x 是无符号整型。
第六、七节:算术表达式和赋值表达式
核心:表达式一定有数值!
1、算术表达式: +, - , * ,/ , %
考试一定要注意: “ / ” 两边 都是 整型的话,结果就是一个整型。
3/2
的结果就是 1.
“ / ” 如果 有一边是 小数,那么结果就是小数。
3/2.0
的结果就是 0.5
“ %”符号请一定要注意是
余数 ,考试最容易算成了除号。
)%符号两边要
求是整数
。不是整数就错了。
[ 注意 ]
2、赋值表达式:表达式数值是最左边的数值,
1、 int x=y=10:
2、 int x,y;
x=y=10;
a=b=5; 该表达式为 5,常量不可以赋值
。
错啦, 定义时 ,不可以 连续赋值。
对滴, 定义完成后 ,可以 连续赋值。
一个变量 。
3、赋值的左边只能是
4、 int x=7.7
;对滴, x 就是 7
5、 float y=7
;对滴, x 就是 7.0
3、复合的赋值表达式:
int a=2
;
2+3 的上面打上括号。变成(
2+3)再运算。
a*=2+3 ;运行完成后, a 的值是 12。
一定要注意,首先要在
4、自加表达式:
自加、自减表达式:假设
a=5, ++a(是为 6), a++ (为 5);
1,然后把得到的数值放到变量
a 中,然后再用
5,然后再把 a 的数值加上 1 为 6,
a 的话都是变量 a 中的 6
运行的机理: ++a 是先把变量的数值加上
这个 ++a 表达式的数值为 6,而 a++是先用该表达式的数值为
了。
再放到变量
a 中。
进行了 ++a 和 a++后 在下面的程序中再用到
考试口诀 :
++在前先加后用 ,++在后先用后加
。
5、逗号表达式:
优先级别 最低 。表达式的数值逗号最右边的那个表达式的数值。
( 2, 3, 4)的表达式的数值就是
4。
C 语言知识点总结
2
z= ( 2, 3,4) ( 整个是赋值表达式 )
这个时候
z 的值为 4。(有点难度哦! )
z= 2 , 3,4 (整个是逗号表达式)这个时候
补充:
1、空语句 不可以 随意执行,会导致
逻辑错误 。
2、注释是最近几年考试的重点,
3、强制类型转换
:
一定是
( int ) a 不是
int
( a),注意 类型上 一定有括号 的。
注意( int )( a+b) 和( int ) a+b 的区别。
前是把 a+b 转型,后是把
a 转型再加 b。
4、
三种取整丢小数 的情况
:
z 的值为 2。
注释不是 C 语言 ,不占 运行时间, 没有 分号。 不可以 嵌套!
1、 int a =1.6
2、 (int)a ;
;
3、 1/2 ; 3/2 ;
第八节、字符
1)字符数据的合法形式 : :
'1'
是字符 占一个字节, "1" 是字符串占 两个字节 ( 含有一个结束符号 ) 。
的 ASCII 数值是 97, 'A' 的 ASCII 数值是 65。
'65' "1"
'0'-0=48
'A'+32='a'
相互之间一般是相差
32。
'0'
的 ASCII 数值表示为 48, 'a'
一般考试表示单个字符错误的形式:
字符是可以进行算术运算的,记住:
大写字母和小写字母转换的方法:
2)转义字符:
转义字符分为一般
转义字符、八进制转义字符、十六进制转义字符
’、 ”、
。
0 不能写,并且 x 是小写 。
‘ 141 ’ 是合法的,
前导的 0 是不能写的。
。
一般转义字符:背诵
0 、 n 、
八进制转义字符:
十六进制转义字符:’
char a = 65 ;
printf(
printf(
“ %c” , a);
“ %d” , a);
x6d ’ 才是合法的,前导的
3、字符型和整数是近亲:两个具有很大的相似之处
得到的输出结果:
a
得到的输出结果:
65
第九章、位运算
1)位运算的考查:会有一到二题考试题目。
总的处理方法:几乎所有的位运算的题目都要按这个流程来处理(
再变成十进制
例 1:
例 2:
)。
先把十进制变成二进制
char a = 6, b;
6 化成二进制,再做位运算。
^
”。 0 异或 1 得到 1。
异或 0 得到 0。 两个女的生不出来
(1) 。
2。
b = a<<2;
这种题目的计算是先要把
a 的十进制
0
一定要记住,异或的位运算符号”
。
考试记忆方法:一男
(1) 一女 (0) 才可以生个小孩
例 3:
在没有舍去数据的时候,
<<左移一位表示乘以 2; >>右移一位表示除以
第二章
第一节:数据输出(一)
(二)
1、使用 printf
和 scanf 函数时,要在最前面加上
#include
“ stdio.h ”
2、 print f 可以只有一个
参数, 也可以有两个
参数。(选择题考过一次)
C 语言知识点总结
3
3、 printf
(“ 第一部分 ”,第二部分
的形式展现出来!
);把第二部分的变量、表达式、常量以第一部分
4、 printf
(“ a=%d, b=%d”,12, 34 ) 考试重点!
一定要记住是将
12 和 34 以第一部分的形式现在在终端也就是黑色的屏幕上。
考试核心为 :
一模一样
。
在黑色屏幕上面显示为
a=12 , b=34
printf
(“ a=%d, n b=%d ”, 12, 34 )那么输出的结果就是:
a=12,
b=34
5
、 int x=017 ;
一定要弄清楚为什么是这个结果!过程很重要
printf
(“ %d”, x ); 15
printf
(“ %o”, x ); 17
printf
(“ %#o”, x); 017
printf
(“ %x”, x ); 11
printf
(“ %#x”, x); 0x11
char z=
printf
printf
‘ a’;
(“ %c”, z);
格式说明
%d
%ld
%f
%lf
%%
%5d
举例说明:
printf (“ %2d”, 123 );
的两位,原样输出
123
printf (“ %5d”, 123 );
小于指定的五位,左边补两个空格
printf (“ %10f”, 1.25
1.250000
printf (“ %3.1f ”, 1.25
进行四舍五入)
6
、 int x=12 , y=34; 注意这种题型
(“ %d ”, x, y);
一个格式说明,两个输出变量,后面的
y 不输出
结果为: 12a
格式说明
%c
%s
%o
%#o
%x
%#x
7 、一定要背诵的
表示内容
整型 int
长整型 long
int
浮点型 float
double
输出一个百分号
八进制
带前导的八进制
十六进制
带前导的十六进制
表示内容
字符
char
字符串
第二部分有三位,大于指定
第二部分有三位,
123
); 小数要求补足
6 位的,没有六位的补
0, 。结果为
printf (“ %5.3f ”, 125 ); 小数三位,整个五位,结果为
1.250 (小数点算一位)
);小数一位,整个三位,结果为
1.3 (要
第三节
数据输入
1、 scanf (“ a=%d, b=%d”, &a, &b) 考试超级重点!
一定要记住是 以第一部分的格式在终端输入数据
在黑色屏幕上面输入的为
行。
2、 scanf (“ %d, %d”, x,y);这种写法绝对错误,
3、特别注意指针在
例如: int x=2
scanf 的考察
scanf
(“ %d”,p);正确
。考试核心为:
一模一样 。
a=12,b=34 才可以把 12 和 34 正确给 a 和 b 。有一点不同也不
scanf 的第二个部分一定要是地址!
scanf (“ %d, %d”,&x, &y);注意写成这样才可以!
; int *p=&x ;
scanf (“ %d”, x);
错误
scanf (“ %d”, &p);
错误
scanf
(“ %d”, *p )错误
C 语言知识点总结
4
4、指定输入的长度
终端输入: 1234567
(考试重点)
scanf (“ %2d%4d%d”, &x, &y, &z); x 为 12, y 为 3456,z 为 7
终端输入: 1 234567
由于 1 和 2 中间有空格,所以只有
1 位给 x
scanf (“ %2d%4d%d”, &x, &y, &z); x 为 1, y 为 2345 ,
z 为 67 5、字符和整型是近亲:
int x=97
;
printf (“ %d”, x);
结果为 97
printf (“ %c”, x);
结果为 a
6、输入时候字符和整数的区别(考试
scanf (“ %d”, &x);这个时候输入
scanf (“ %c”, &x);这个时候输入
1’ASCII 为整数 48。
补充说明:
1) scanf
函数的格式考察:
注意该函数的第二个部分是
scanf(
2) putchar ,getchar
char a = getchar()
putchar(
3)如何实现两个变量
不可以把 x=y ,y=x;
y=
y=
&a 这样的地址,不是 a;
“ %d%d%*d%d”,&a,&b,&c);
跳过输入的第三个数据。
函数的考查:
超级重点 )
1,特别注意表示的是整数
1
1,特别注意表示的是字符‘
是没有参数的,从键盘得到你输入的一个字符给变量
x , y 中数值的互换(要求背下来)
要用中间变量
t=x ; x=y; y=t 。
(要求背下来)
a。
‘y’ ) 把字符 y 输出到屏幕中。
4)如何实现保留三位小数,第四位四舍五入的程序,
( int )( x*100+0.5 ) /100.0
这个保留 两位,对第三位四舍五入
( int )( x*1000+0.5 ) /1000.0
这个保留 三位,对第四位四舍五入
y=( int )( x*10000+0.5 ) /10000.0
这个保留 四位,对第五位四舍五入
这个有推广的意义,注意 x = (int )x 这样是把小数部分去掉。
第三章
特别要注意: C 语言中是用非 0 表示逻辑真的,用
C 语言有构造类型 ,没有 逻辑类型 。
关系运算符号:注意
<= 的写法, ==和 =的区别!(考试重点)
if 只管后面一个语句
,要管多个,请用大括号 !
1)关系表达式:
a 、表达式的数值只能为
1(表示为真),或 0(表示假)。
9>8 这个表达式的数值就是
7<6 这个表达式的数值就是
1。
0
0 表示逻辑假的。
如 9>8 这个关系表达式是真的,所以
如 7<6 这个关系表达式是假的,所以
b
、考试最容易错的:就是
x 错的,但是如果是 了 0<2 那么运算结果就是 int x=1,y=0,z=2; 是真还是假?带入为 C 语言那么就是正确的!因为要 1,称为了真的了! 背 1<0<2,从数学的角度出发肯定是 1<0 为假得到 0,表达式就变成 c 、等号和赋值的区别! 一定记住“ =”就是赋值,“= =”才是等号。 虽然很多人可以 诵,但我依然要大家一定好好记住,否则,做错了,我一定会强烈的鄙视你! 2)逻辑表达式: C 语言知识点总结 5 核心: 表达式的数值只能为 1(表示为真),或 0(表示假) 。 a) 共有 && ||! 三种逻辑运算符号。 b) ! >&&>|| 优先的级别。 c) 注意短路现象。考试比较喜欢考到。 d) 表示 x 小于 0 大于 10 的方法。 0 0 10 比较得到的总是真(为 3) if 语句 a 、 else 是与最接近的 if 且没有 else 的语句匹配。 b 、交换的程序写法: t=x ; x=y ; y=t ; c 、 if ( a if ( a 两个的区别,考试多次考到了! 详细请见书上例子,一定要会做例 1 和例 2 1 或则 0;再用 0,或 1 与 1)。所以一定 要用 (0 d 、单独的 if 语句: if (a 标准的 if 语句: if (a else min=b 嵌套的 if 语句: if (a if ( b>c) printf( else if else if else pritnf( 通过习题,要熟悉以上几种 经典考题:结合上面四种 int a=1 else if , b=0; “ ok! ” ) ; “ a” ); “ b” ); ; 多选一的 if 语句 if (a= =t ) printf( ( b= =t ) printf( “ d” ); ( c= =t ) printf( “ c” ); if 语句! if 语句题型做题,答错了,请自行了断!预备,开始! if (! a)b++; ( a= =0 ) if ( a) b+=2; else b+=3 ;请问 b 的值是多少? 如果没有看懂题目,你千万不要自行了断,这样看得懂不会做的人才会有理由的活着。 正确的是 b 为 3。 int a=1 else if , b=0; if (! a)b++; 是假的不执行 是假的执行 (a= =0) if (a)b+=2; 属于 else if else b+=3 ; 4)条件表达式: 表达式 1 ?表达式 2 :表达式 a、考试口诀 : 真前假后 。 3 的嵌套 if 语句,不执行。 语句没有一个正确的,就执行 else 的语句! if-else-if b 、注意是当表达式 1 的数值是 非 0 时,才采用表达式 2 的数值做为整个运算结果,当表达 式 1 的数值 为 0 时,就用表达式 3 的数值做为整个的结果。 c 、 int a=1 , b=2, c=3, d=4, e=5; k=a>b? c: d>e? d: e; 求 k 的数值时多少? 5) switch 语句: C 语言知识点总结 6 答案为 san a) 执行的流程一定要弄懂!上课时候详细的过程讲了,请自己一定弄懂 b)注意有 break 和没有 break 的差别,书上的两个例子,没有 case 匹配了, 剩下的都要执行, 有 break 则是直接跳出了 分手,一刀两断的意思。 c) switch 只可以和 break 一起用,不可以和 ⋯. ⋯ . ! break 时候,只要有一个 swiche 语句。 break 在 C 语言中就是 continue 用。 d) switch(x) x {case 1: case 2: } :是整型常量,字符型常量,枚举型数据。 不可以是变量。 e ) switch 是必考题型,请大家一定要完成书上的课后的 switch 的习题。 第四章 1)三种循环结构: a ) for () ; while() ; do- while() 三种。 b ) for 循环当中必须是两个分号,千万不要忘记。 c )写程序的时候一定要注意,循环一定要有结束的条件,否则成了死循环。 d) do-while() 循环的最后一个 while(); 的分号一定不能够丢。 (当心上机改错) ,do- while 循环是至少执行一次循环。 2) break 和 continue 的差别 记忆方法: break :是 打破 的意思,(破了整个循环)所以看见 break 就退出整个一层循环。 continue : 是继续 的意思,(继续循环运算) ,但是要结束本次循环,就是循环体内剩下的 语句不再执行,跳到循环开始,然后判断循环条件,进行新一轮的循环。 3)嵌套循环 就是有循环里面还有循环, 是处理二维数组的。 这种比较复杂, 要一层一层一步一步耐心的计算, 一般记住两层 4) while(( c=getchar() ) != ’n’) 和 while( c=getchar() != ’n’)的差别 先看 a = 3 != 2 的数值是 3。 考试注意点 : 括号在这里的重要性。 5)每行输出五个的写法: for ( i=0 ;i<=100 ; i++ ) { printf } 6)如何整除一个数: I%2==0 i%5==0 表示整除 5 表示整除 2,同时表示是偶数! (“ %d”, i ); 和 ( a=3)! =2 的区别: (! =号的级别高于 =号 所以第一个先计算 3 !=2) 第一个 a 的数值是得到的 1;第二个 a if( ( i+1)%5==0)printf( “ n ”); 如果 i 是从 1 开始的话,就是 if(i%5==0)printf( “n ”); 7)输入 123,输出 321 逆序输出 数据 int i=123; while ( i ! =0) { printf (“ %d”, i%10); C 语言知识点总结 7 i=i/10;} 8)for 只管后面一个语句: int i=3 ; for ( i=3 ; i<6;i++ printf( “ #”) : # 停止输入! ’ # ’ ) ’ ? ’) 9)不停的输入,直到输入 while( (x=getchar())!= while( (x=getchar())!= 方法! 10) for 循环和 switch 语句的和在一起考题! 11)多次出现的考题 : int k=1 int k=1 while ( - -k ); printf (“ %d”, k); 结果为 0 while printf ; ( k- - ); (“ %d”, k); ): 请问最终打印几个 #号?答案为一个! 不停的输入,直到输入 while( (x=getchar())!= $停止输入! ’ $ ’ ) 不停的输入,直到遇到?停止输入! 解说:一定要注意这种给出了条件,然后如何去写的 结果为 -1 第五章 1、函数:是具有一定功能的一个程序块,是 2、函数不可以嵌套定义。但是可以嵌套调用。 3、函数名缺省返回值类型,默认为 int 。 main 函数!是程序运行的开始! 4、 C 语言由函数组成,但有且仅有一个 void iszhishu { for ( int a ) (“不是质数” ) ; C 语言的基本组成单位。 5、如何判断 a 是否为质数:背诵这个程序!
版权声明:本文标题:C语言知识点(完全版)汇总 内容由热心网友自发贡献,该文观点仅代表作者本人,
转载请联系作者并注明出处:https://www.elefans.com/dianzi/1720821712a844697.html,
本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论