选填题知识点总结:真题总结完了,
文章目录
函数一些概念
局部变量全局变量(概念,作用范围)
定义不能嵌套 调用可以
递归调用
c语言的基本单位函数
函数可以没有返回值
程序文件包括 源程序文件.c 目标文件.obj 可执行文件.exe
将高级语言的源代码转换成目标程序是编译程序
目标文件转换成可执行文件是链接过程
所有函数在被调用前一定进行声明
return 只能返回某一个值,不能返回两个值
sizeof(float)是一个整形表达式
存储类型(类型修饰符)
auto, const, register,static, volatile, extern.
缺少定义是auto
static是没有赋值
register是为了效率
extern只用于声明全局变量
const int i = 0
常量表示
L long
X 没有
F float
oxABCD //16进制
数组元素引用
a是数组首地址且是常量,不能++
关键字
auto break case char const
continue default do double else
enum extern float for goto
if inline int long register
resrict return short signed sizeof
static struct switch typedef union
unsigned void volatile while _bool
_Complex _Imaginart
数据类型转换都是double
三种基本控制结构
顺序 选择 循环
表达式 语句
表达式(里面)是只有非0和0//这里面非0不一定是1
表达式 语句区别
;千万得看有没有分号
判断过程
判断条件不能是包含关系 即ifx>=0里面还有x>0
转义字符
’
‘’
?
\
\a
\b
\f
\n
\r
\t
\v
\0 八进制
\x 16进制
优先级
优先级表
()
【】
-> 自左至右
.
!
++
–
- 单目运算符 自右至左
(类型)
*
&
sizeof
运算符*
/
% 后面必须是整形
+
- 双目运算符 自左至右
<<
>>
<
<=
>
>=
==
!=
&
|
&&
? : 条件运算符 自右至左
辅助
优先级的应用
p++ //p指向下一个结点
p+=1 //在值后面加1
y=++p->num
a=2+3 先进行加在进行= ,
++p->str肯定先数学p->str因为这个是指针所有加在str上
短路 短路
strlen 和sizeof
sizeof就是开了多大空间就是多少 就是字节,在字符串得考虑空字符
strlen表示长度
文件
文件的路径
想引用/必须得靠//
文件的划分
文本文件 二进制文件
文件的引用
""先搜索源文件所在的目录,再按系统设定的方式搜索目录
《》按系统设定的方式搜索目录
文件包括的函数
fprintf函数,向文件里面输入格式fprintf(fp,"",变量名);
fscanf函数,从文件里面输入格式fscanf(fp,"",变量名)
上面都是以文本的形式
fread函数,向文件输出fread(&a[i],sizeof(struct studnet),1,fp)
fwrite函数,向文件输入fwrite(&a[i],sizeof(struct studnet),1,fp)
while if
判断什么时候跳出顺序,
if后面没有加大括号,和他最近的一个语句才是他的语句
指针
指针的差
指针的差必须放在连续的数组之间才能有意义才是一个数组的某个值
指针引用
定义完指针后接下来*p表示值
p才表示指针
指针不能对其加减只能++ --;
2007年 cd表达式都是正确
但是题目是让p指向,d是赋值不是指向
数组
整型数组的定义
#define
int a[size]
不能a++
定义的时候没有赋会随机生成一些数
二维数组的一些概念
int a[3][4[ 正确定义*(*(a+i)+j)
指针 正常定义数组指针
指向数组的指针才行
str[1]+1表示是地址 用%s会把这块地址都输出来
覆盖
对同一个地方继续赋值,后面会把前面的值给覆盖了
字符串的定义
1.char *s;
s="abcdef
2. char s[5]=“abcd” //注意空字符
3. char s[5]={‘a’…}注意是否能存在
数组名做实参,传递的是首地址
结构体
typedef char *STRING;
STRING a;
表示a是一个字符串指针变量
结构体的定义三种方法
struct ord{};struct ord a; //最常用
struct ord{}a; //a是全局变量,懒猫老师不建议
struct{} a;
结构体的三种引用
pupil.sex
(*p).sex//必须加括号
p->sex
链表
开辟结点
p=(int *)malloc(sizeof(int))
插入操作,删除操作,查找操作
创建链表 双链表
枚举类型
会一个定义就好,没有等于号,没有引号
指针的值 代表是那个地址 和解引用不一样
表达式
sqrt(pow(x,2)+pow(y,2))>=a&&…
希望大家好好加油,不负一年的努力,正常发挥就好了,也希望自己能一战成硕加油