C基础重点记忆内容

1.C语言的基本类型有哪些,分别占几个字节?

整型

        short int 2

        int 4

        long int(32)  4        (64)  8

        long long int 8

字符型

        char 1

浮点型

        float 4

        double 8


2.char类型取值范围?

a.有符号:(-128,127)

b.无符号:(0,127)


3.源码反码补码的转换(笔试出现)

正数的源码=反码=补码

负数或高位为1的有符号数:

源码取反得到反码(符号位不取反),反码加1得到补码

补码是计算机存储的二进制,源码是人算的二进制

4.整型和整型运算,结果是什么类型?

结果为整型


5.浮点类型和整型运算,结果是什么类型?

结果为浮点类型


6.无符号与有符号运算,结果是什么类型?

结果为无符号类型


7.字节数少的向字节数多的转换,有什么原则

将最高位往前补符号位


8.取余运算,模数和被模数要注意什么

模数和被模数都不能为浮点类型


9.浮点类型怎么判断两个是否相等,怎么判断是否等于0

判断相等:两数相减在不在[ -1e-6,1e-6 ]这个区间,双精度是[-1e-15,1e-15]

判断等于0:判断这个数在不在[ -1e-6,1e-6 ]这个区间


10.增量减量运算符的运算逻辑

i++意思为 i=i+1,并且后置++是先返回值再自增加一

++i是前置++,是先自增加一再返回值

i--和--i同理


11.位运算口诀

使用位或置1

使用位与清零

使用异或部分取反

使用取反取反

左移乘2

右移除2

 

12.if和switch语句的区别

if:

        可以进行数据大小范围判断

        可以对浮点类型操作判断

        执行效率比较低,会读取每一个if语句,最后来执行符合条件的

switch:

        数据相等时才执行

        不能对浮点类型判断,只能对精确值判断

        执行效率比较高,会生成一张表,直接执行符合条件的语句


13.while循环 for循环的死循环结构

while(1)

for( ; ; )


14.字符串与字符数组的区别?

字符串包含一个隐藏的 '\0' 占一个字节

字符数组没有 '\0'


15.sizeof和strlen的区别?

sizeof:返回是整个数据所占的空间字节大小

strlen:返回的是有效长度,不包括 '\0'


16.string函数族的函数用自己的代码改写:strlen  strcpy  strcmp  strcat

strlen:遇到 '\0' 停止计数,不包括 '\0'

strcpy:被复制的数据遇到自己的'\0'会停止复制,但会将'\0'一起赋值过去

strcmp:前一个和后一个相比,相减>0就是前一个大,比完再判断有没有遇到'\0'

strcat:将后一个数据拼到前一个的'\0'位置,并且最后加'\0'

17.冒泡选择排序

冒泡排序逻辑:

        从前往后,第一个数与后面的数两两比较,符合条件就交换,然后第一个数位置固定

        依次类推,假如5个数,第一个数需要跑4趟,第二个数需要跑3趟

选择排序逻辑:

        先拿出第一个数作为比较值,与后面的数两两比较,符合条件就记住值,

        等该数跑完一趟后,赋值给第一个数的位置

18.#ifndef - #define -#endif 有什么作用

防止重复定义头文件


19.#include <>  #include "" 有什么区别?

#include <>:去标准库目录下找头文件,标准库:/user/include

#include "":到指定文件路径下找头文件,没找到就去标准库目录里找

20.static关键字作用

static修饰的局部变量:不可以被除本函数外的程序调用,初始化值为0,只初始化一次

static修饰的全局变量:不可以被除本文件以外的文件访问调用,初始化值为0

static修饰的函数:不可以被除本文件以外的文件访问调用


21.const关键字的作用

const修饰的全局变量:全局只读,不可以被改变

const修饰的局部变量:局部只读,不可以被改变,不能被除本函数以外的程序访问


22.内存分布

栈区:系统自动申请、释放的变量,例如返回值、形参、const局部变量、普通局部变量

堆区:手动申请、释放的变量

.bss:未初始化的static静态变量与全局变量

.data:已初始化的static静态变量与全局变量

.rodata:只读区,const修饰的全局变量

常量区:存储常量

代码区:存储二进制代码

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值