总体必须清楚
1)程序结构三种 序结构 选择结构(分支结构)循环结构
2)读程序main()入口 然面序读(碰循环做循环碰选择做选择)main函数
3)计算机数电脑中保存 二进制形式 数存放位置 址
4)bit位 指0 者1 byte 指字节 字节 八位
概念常考:
1编译预处理C语言部分占运行时间加分号C语言编译程序称源程序ASCII数值存放文文件中
2#define PI 31415926 写法错误定出现分号
3C语言程序中main函数
4函数中定义函数
5算法:没输入定输出
6break循环结构switch语句
7逗号运算符级低赋值级倒数第二
第章 C语言基础知识
第节C语言基础认识
1C语言编写程序称源程序称编译单位
2C语言书写格式行写语句写行
3C语言程序main函数程序运行起点
第二节熟悉vc++
1VC软件运行写C语言程序
2C语言程序写完先编译链接运行(càobjàexe)程中注意cobj文件时法运行exe文件运行(常考)
第三节标识符
1标识符(必考容):
合法求字母数字划线组成元素错
第必须字母划线第数字错
2标识符分关键字预定义标识符户标识符
关键字:作户标识符号main define scanf printf 关键字迷惑方If做户标识符If中第字母写关键字
预定义标识符:背诵define scanf printf include记住预定义标识符做户标识符
户标识符:基年考详细请见书题
第四节:进制转换
十进制转换成二进制八进制十六进制
二进制八进制十六进制转换成十进制
第五节:整数实数
1)C语言八十十六进制没二进制运行时候进制转换成二进制进行处理(考两次)
aC语言中八进制规定0开头018数值非法八进制没8逢8进1
bC语言中十六进制规定0x开头
2)数合法写法:C语言数点两边零话写
10C语言中写成1
01C语言中写成1
3)实型数合法形式:
a2333e1 合法数2333×101
b考试口诀:e前e必数e必整数请结合书例子
4) 整型般4字节 字符型1字节双精度般8字节:
long int x 表示x长整型
unsigned int x 表示x符号整型
第六七节:算术表达式赋值表达式
核心:表达式定数值
1算术表达式:+*
考试定注意: 两边整型话结果整型 32结果1
果边数结果数 320结果05
符号请定注意余数考试容易算成号)符号两边求整数整数错[注意]
2赋值表达式:表达式数值左边数值ab5该表达式5常量赋值
1int xy10 错啦定义时连续赋值
2int xy
xy10 滴定义完成连续赋值
3赋值左边变量
4int x77滴x7
5float y7滴x70
3复合赋值表达式:
int a2
a*2+3运行完成a值12
定注意首先2+3面括号变成(2+3)运算
4加表达式:
加减表达式:假设a5++a(6) a++(5)
运行机理:++a 先变量数值加1然数值放变量a中然++a表达式数值6a++先该表达式数值5然a数值加16
放变量a中 进行++aa++ 面程序中a话变量a中6
考试口诀:++前先加++先加
5逗号表达式:
优先级低表达式数值逗号右边表达式数值
(234)表达式数值4
z(234)(整赋值表达式) 时候z值4(点难度哦)
z 234 (整逗号表达式)时候z值2
补充:
1空语句意执行会导致逻辑错误
2注释年考试重点注释C语言占运行时间没分号嵌套
3强制类型转换:
定 (int)a int(a)注意类型定括号
注意(int)(a+b) (int)a+b 区 前a+b转型a转型加b
4三种取整丢数情况:
1int a 16
2(int)a
312 32
第八节字符
1)字符数合法形式:
'1' 字符占字节1字符串占两字节(含结束符号)
'0' ASCII数值表示48'a' ASCII数值97'A'ASCII数值65
般考试表示单字符错误形式:'65' 1
字符进行算术运算记住: '0'048
写字母写字母转换方法: 'A'+32'a' 相互间般相差32
2)转义字符:
转义字符分般转义字符八进制转义字符十六进制转义字符
般转义字符:背诵\0 \n \’ \ \\
八进制转义字符: \141’ 合法 前导0写
十六进制转义字符:’\x6d’ 合法前导0写x写
3字符型整数亲:两具相似处
char a 65
printf(c a) 输出结果:a
printf(d a) 输出结果:65
第九章位运算
1)位运算考查:会二题考试题目
总处理方法:位运算题目流程处理(先十进制变成二进制变成十进制)
例1: char a 6 b
b a<<2 种题目计算先a十进制6化成二进制做位运算
例2: 定记住异位运算符号 ^ 0 异 11
0 异 00两女生出
考试记忆方法:男(1)女(0)生孩(1)
例3: 没舍数时候<<左移位表示2>>右移位表示2
第二章
第节:数输出()(二)
1printfscanf函数时前面加#includestdioh
2printf参数两参数(选择题考次)
3printf( 第部分 第二部分 )第二部分变量表达式常量第部分形式展现出
4printf(adbd12 34) 考试重点
定记住1234第部分形式现终端黑色屏幕考试核心:模样黑色屏幕面显示 a12b34
printf(ad\n bd12 34)输出结果:a12
b34
5int x017 定弄清楚什结果程重
printf(d x) 15
printf(o x) 17
printf(#ox) 017
printf(x x) 11
printf(#xx) 0x11
6int x12y34 注意种题型
char za’
printf(d xy) 格式说明两输出变量面y输出
printf(cz) 结果:12a
7定背诵
格式说明
表示容
格式说明
表示容
d
整型 int
c
字符 char
ld
长整型 long int
s
字符串
f
浮点型 float
o
八进制
lf
double
#o
带前导八进制
输出百分号
x
十六进制
5d
#x
带前导十六进制
举例说明:
printf(2d123 ) 第二部分三位指定两位原样输出123
printf(5d123 ) 第二部分三位指定五位左边补两空格 123
printf(10f125 ) 数求补足6位没六位补0结果 1250000
printf(53f125 ) 数三位整五位结果1250(数点算位)
printf(31f125 )数位整三位结果13(进行四舍五入)
第三节 数输入
1scanf(adbd&a&b) 考试超级重点
定记住第部分格式终端输入数考试核心:模样
黑色屏幕面输入 a12b341234正确ab 点行
2scanf(ddxy)种写法绝错误scanf第二部分定址
scanf(dd&x&y)注意写成样
3特注意指针scanf考察
例: int x2int *p&x
scanf(dx) 错误 scanf(dp)正确
scanf(d&p) 错误 scanf(d*p)错误
4指定输入长度 (考试重点)
终端输入:1234567
scanf(2d4dd&x&y&z)x12y3456z7
终端输入:1 234567 12中间空格1位x
scanf(2d4dd&x&y&z)x1y2345z67
5字符整型亲:
int x97
printf(dx) 结果97
printf(cx) 结果 a
6输入时候字符整数区(考试超级重点)
scanf(d&x)时候输入1特注意表示整数1
scanf(c&x)时候输入1特注意表示字符1’ASCII整数48
补充说明:
1)scanf函数格式考察:
注意该函数第二部分&a 样址a
scanf(dd*dd&a&b&c) 跳输入第三数
2)putchar getchar 函数考查:
char a getchar() 没参数键盘输入字符变量a
putchar(y’)字符y输出屏幕中
3)实现两变量x y中数值互换(求背)
xy yx 中间变量 txxyyt
4)实现保留三位数第四位四舍五入程序(求背)
y(int)(x*100+05)1000 保留两位第三位四舍五入
y(int)(x*1000+05)10000 保留三位第四位四舍五入
y(int)(x*10000+05)100000 保留四位第五位四舍五入
推广意义注意 x (int)x 样数部分掉
第三章
特注意:C语言中非0表示逻辑真0表示逻辑假
C语言构造类型没逻辑类型
关系运算符号:注意<写法区(考试重点)
if面语句请括号
1)关系表达式:
a表达式数值1(表示真)0(表示假)
9>8关系表达式真9>8表达式数值1
7<6关系表达式假7<6表达式数值0
b考试容易错:int x1y0z2
x
0<2运算结果1称真
c等号赋值区定记住赋值 等号然背
诵然家定记住否做错定会强烈鄙视
2)逻辑表达式:
核心:表达式数值1(表示真)0(表示假)
a) && || 三种逻辑运算符号
b) >&&>|| 优先级
c) 注意短路现象考试较喜欢考 详细请见书例子定会做例1例2
d) 表示 x 010方法
0
aelse 接if没else语句匹配
b交换程序写法:txxyyt
cif(a if(a d单独if语句:if(a 标准if语句:if(aelse minb
嵌套if语句:if(aif(b>c)printf(ok)
选if语句if(a t)printf(a)
else if(b t)printf(b)
else if(c t)printf(c)
else pritnf(d)
通题熟悉种if语句
典考题:结合面四种if语句题型做题答错请行断预备开始
int a1b0
if(a)b++
else if(a 0)
if(a)b+2
else b+3请问b值少?
果没懂题目千万行断样懂会做会理活着
正确b3
int a1b0
if(a)b++ 假执行
else if(a 0) 假执行
if(a)b+2 属else if嵌套if语句执行
else b+3 ifelseif语句没正确执行else语句
4)条件表达式:
表达式1 ?表达式2 :表达式3
a考试口诀:真前假
b注意表达式1数值非0时采表达式2数值做整运算结果表达式1数值0时表达式3数值做整结果
cint a1b2c3d4e5
ka>b?c:d>e?d:e求k数值时少? 答案san
5)switch语句:
a) 执行流程定弄懂课时候详细程讲请定弄懂
b)注意break 没break差书两例子没break时候case匹配剩执行break直接跳出swiche语句breakC语言中分手刀两断意思
c) switchbreak起continue
d) switch(x) x:整型常量字符型常量枚举型数
{case 1 … 变量
case 2 …
}
e)switch必考题型请家定完成书课switch题
第四章
1)三种循环结构:
a)for() while() do while()三种
b)for循环中必须两分号千万忘记
c)写程序时候定注意循环定结束条件否成死循环
d) dowhile()循环while()分号定够丢(心机改错)do-while循环少执行次循环
2) break continue差
记忆方法:
break:破意思(破整循环)见break退出整层循环
continue: 继续意思(继续循环运算)结束次循环循环体剩语句执行跳循环开始然判断循环条件进行新轮循环
3)嵌套循环
循环里面循环种较复杂层层步步耐心计算般记住两层处理二维数组
4) while((cgetchar())’\n’)
while(cgetchar() ’\n’)差
先a 3 2 (a3)2 区:
(号级高号 第先计算 32) 第a数值1第二a数值3
考试注意点 括号里重性
5)行输出五写法:
for(i0i<100i++)
{ printf(di)
if((i+1)50)printf(\n) 果i1开始话if(i50)printf(\n)
}
6)整数: i50表示整5
I20表示整2时表示偶数
7)输入123输出321逆序输出数
int i123
while(i0)
{
printf(di10)
ii10}
8)for面语句:
int i3
for(i3i<6i++):
printf(#): 请问终印#号?答案
9)停输入直输入# 停止输入 停输入直输入停止输入
while( (xgetchar())’ # ’ ) while( (xgetchar())’ ’ )
停输入直遇?停止输入
while( (xgetchar())’ ’) 解说:定注意种出条件然写方法
10)for循环switch语句起考题
11)次出现考题:
int k1 int k1
while( k) while(k )
printf(dk) printf(dk)
结果0 结果1
第五章
1函数:具定功程序块C语言基组成单位
2函数嵌套定义嵌套调
3函数名缺省返回值类型默认 int
4C语言函数组成仅main函数程序运行开始
5判断a否质数:背诵程序
void iszhishu( int a )
{ for(i2i
printf(质数)
}
6求阶层:n 背诵程序
int fun(int n)
{ int p1
for(i1i
}
7函数参数常量变量表达式甚函数调
add(int xint y){return x+y}
main()
{ int sum
sumadd(add(78)9)请问sum结果少? 结果24
}
8 函数参数返回数值(示意图):
main()
{
int a 5b6c
c add(ab)
printf(dc)
}
调函数
ab实参
整函数数值
Add函数返回数值
int add ( int x int y)
{
int z
zx+y
return z
}
调函数
xy形式参数
函数返回数值整型
zadd函数计算结果函数返回程序返回数值
程序序执行碰函数addab数值穿调函数程序暂时中断等返回数值返回数值序执行
9定注意参数间传递
实参形参间 传数值传址差(考试重点)
传数值话形参变化会改变实参变化
传址话形参变化会改变实参变化
10函数声明考查:
定:函数名函数返回类型函数参数类型定:形参名称
填空题会考终极难度考题横线函数声明写
int *fun(int a[] int b[])
{
…………
}已知道函数样函数正确函数声明写?
int *fun(int *a int *b) 里函数声明写法注意数组指针
int *fun(int a[] int b[]) 种写法正确
int *fun(int b[] int c[]) 种写法正确参数名称便写
int *fun(int * int *) 种写法正确参数名称写
11求掌握库函数:
a库函数已写函数放仓库中需
b库函数常考背诵
abs() sqrt()fabs()pow()sin() 中pow(ab)重点23pow(23)表示
第六章
指针变量质放址般变量放数值
1int *p 中 *pp差:简单说*p数值p址
*p做变量*作取面址p里面数值
p作址scanf函数中:scanf(dp)
2*p++ (*p)++间差:改错题目中重考试超级重点
*p++ 址会变化 口诀:取前值然移动址
(*p)++ 数值会变化 口诀:取前值然数值增加1
例题:int *pa[]{13579}
pa
请问*p++(*p)++数值分少?
*p++: 身数值1址会增加指针指数值3
(*p)++ 身数值1++表示数值会增加指针移动数值1加次变成2
3二级指针:
*p:级指针:存放变量址
**q:二级指针:存放级指针址
常考题目: int x7
int*p&x**qp
问:*p少?*q少?**q少?
7 p 7
问:**q&x写法?
二级指针存放级指针址
4三名义:(考试重点)
数组名:表示第元素址数组名加址常量名(考次)
函数名:表示该函数入口址
字符串常量名:表示第字符址
5移动指针(常加入考试中题目综合考试)
char *smeikanshu
while(*s){printf(c*s)s++}
s首先会指第字母m然通循环会次印出字符s++址移动印字母会移动字母
6指针变量两种初始化(定懂)
方法:int a2*p&a(定义时初始化)
方法二:int a2*p (定义初始化)
p&a
7传数值传址(年必考题目)
void fun(int aint b) void fun(int *aint *b)
{ int t { int t
taabbt t*a*a*b*bt
} }
main() main()
{ int x1y3 { int x1y3
fun(xy) fun(&x&y)
printf(ddxy) printf(ddxy)
} }
题目答案13 题目答案31
传数值fun变量接受fun中 传址fun指针接受时候fun
交换会影响main中xy 中交换会影响main中xy
传数值形参变化会影响实参 传址形参变化绝数会影响实参
8函数返回值址定注意*号(机考试重点)
int *fun(int *aint *b) 发现函数前面*说明函数运算结果址
{ if(*a>*b)return a return a 知道返回a址
else return b
}
main()
{ int x7y8*max
max fun(&x&y) fun(&x&y)运算结果址max接收
printf(dd)
}
9考试重话语:
指针变量存放址指等价出现*p方等价代例:int a2*p&a
*p*p+2
(*p指变量a指等价里*p等价a相aa+2)
第七章
数组: 存放类型致数组元素址连续
1维数组初始化:
int a[5]{12345} 合法
int a[5]{123 } 合法
int a[]{12345} 合法常考面决定前面
int a[5]{123456} 合法赋值数余数组数
2维数组定义
int a[5]注意方重考点定义时数组数变量定常量
int a[5] 合法正常数组
int a[1+1] 合法数常量2算术表达式
int a[12+4] 合法样算术表达式
int x5int a[x] 合法数x变量非法
define P 5 int a[P] 合法define P符号常量长变量
3二维数组初始化
int a[2][3]{123456} 合法标准二维赋值
int a[2][3]{12345 } 合法面默认0
int a[2][3]{{123} {456}} 合法行三
int a[2][3]{{12}{345}} 合法第行默认0
int a[2][3]{1234567} 合法赋值数余数组数
int a[][3]{123456} 合法缺省行数
int a[2][]{123456} 合法缺省列数
补充:
1)维数组重概念:
a[10]数组讨
1a表示数组名第元素址元素a[0]址(等价&a)
2a址常量出现a++者aa+2赋值错误
3a维数组名列指针说a+1跳列
a[3][3]讨
1a表示数组名第元素址元素a[0][0]址
2a址常量出现a++者aa+2赋值错误
3a二维数组名行指针说a+1跳行
4a[0]a[1]a[2]址常量进行赋值操作时列指针a[0]+1a[1]+1a[2]+1跳列
5注意aa[0] a[1]a[2]基类型前者行元素三者列元素
2) 二维数组做题目技巧:
果a[3][3]{123456789}样题目
步骤:写成: 第列 第二列 第三列
a[0]à 1 2 3 ->第行
a[1]à 4 5 6 —>第二行
a[2]à 7 8 9 ->第三行
步骤二:样作题目间简单:
*(a[0]+1)知道第行第元素面跳列里a[0][1]元素1
*(a[1]+2)知道第二行第元素面跳二列里a[1][2]元素6
定记住:二维数组题目定写成格式做题目样会较简单
3) 数组初始化维二维维写二维第二定写
int a[]{12} 合法 int a[][4]{234}合法 int a[4][]{234}非法
4) 二维数组中行指针
int a[1][2]
中a现行指针a+1跳行数组元素 搭配(*)p[2]指针
a[0]a[1]现列指针a[0]+1 跳数组元素搭配*p[2]指针数组
5) 记住脱衣服法:超级敌重
a[2] 变成 *(a+2) a[2][3]变成 *(a+2)[3]变成 *(*(a+2)+3)
思想重
考试重点
文件复方法:
课时候讲文件章题目做遍定做基考试会练中
1)字符串 strlen() strcat() strcmp() strcpy()方法定记住参数址中strcat() strcmp()两参数
2)strlen sizeof区考试重点
3)define f(x)(x*x) define f(x) x*x 间差定注意写容易错方换时候括号没括号区
4)int *p
p (int *)malloc(4)
p (int *)malloc(sizeof(int))两等价
心填空题目malloc返回类型 void *
6)函数递调定记结束条件会算简单递题目会作递题目
7)结构体体链表掌握简单typedef考定知道引结构体中变量链表中填加删节点构成简单链表定记住链表中节点两域放数值放指针
8)函数指针法(*f)()记住例子:
int add(int x int y)
{}
main()
{ int (*f)()
fadd
}
赋值:合法调形式1add(23)
2f(23)
3(*f)(23)
9)两种重数组长度:
char a[]{a’’b’’c’} 数组长度3字符串长度定sizeof(a)3
char a[5]{ a’’b’’c’} 数组长度5字符串长度3sizeof(a)5
10)scanf gets数:
果输入 good good study
scanf(sa) 会接收 good 考点:接收空格
gets(a) 会接收 good good study 考点:接收空格
11)体考查:
union TT
{ int a
char ch[2]}
考点: sizeof (struct TT) 4
12)文件包含考查点:
no1c no2c
int add(int aint b)
{
return a+b
}
#includeno2c
main()
{ add(29 33)
……
}
里C语言程序两文件组成分no1c no2cno1c中开始#includeno2c表示第二文件容包含no1c中调add()函数时候数值传no2c中调函数add()
文件必须main函数 句话错 例:no2c没
头文件定h结束 句话错例:no1c中#includeno2cc结尾
13)指针迷惑考点:
char ch[]iamhandsome
char *pch
问 *(p+2) *p+2结果少?
m’ k’ 结果两想通学请作死想想通止
14)数组中放数组定懂
int a[8]{12344322}
int b[5]{0}
b[a[3]]++ 写法懂结果知道什?b[4]++身0运行完b[4]1
15)字符串赋值
C语言中没字符串变量数组指针存放字符串:
1char ch[10]{abcdefgh}
2char ch[10]abcdefgh
3char ch[10]{a’’b’’c’’d’’e’’f’’g’’h’}
4char *pabcdefgh
5char *p
pabcdefgh
6char ch[10] 错数组名赋值
chabcdefgh
7char *p{abcdefgh} 错够出现括号
16)字符串赋值函数背诵:定背诵心笔试填空题目
s指针中字符串复制t指针中方法
1while( (*t*s)null ){s++t++} 完整版
2while( *t*s ){s++t++} 简单版
3while( *t++*s++) 高级版
17)typedef 取名会产生新类型时关键字
考点:typedef int qq int x 写成 qq x
考点二:typedef int *qq int *x写成 qq x
18)static 考点定会考复相关题
static int x默认值0
int x:默认值定值
19)函数递调定会考少2分
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档