今天参加了锐捷网络在我们学校开设的委培班,以为讲的东西不会很难,内容也确实不难,都是基础,但我都不会,突然考c的内容,让我措不及防,每个公司都会有考校的侧重点,而锐捷网络我听他们的面试官说c的内容是很重要的,而且做c++的不会c也不行啊,下面就来看看他们给出的一些重点:
1.运算符
若d为double型变量,则表达式d=1,d+5,d++的值是多少 答案是1.0
逗号运算符确保操作数被顺序地处理:先计算左边的操作数,再计算右边的操作数。右操作数的类型和值作为整个表达式的结果。左操作数只是为了副作用需要而被计算,它其值会被丢弃。
a=3,b=6 a^b<<2 的值是多少
这里我的错误是先算了a^b 再把这个结果左移两位 。
我们在做的时候必须要考虑到运算符的优先级 <<的优先级是要大于^的
2.指针,数组
400+(int*)600 等于多少,这个只能用c算,用c++会报错
int matrix[3][3]
说明一下表达式的含义
重点看五个
因此
1. matrix+1 第二行的首地址
2. matrix[1]+1 第二行的第二个元素的地址
3. *(matrix+1) 第二行首元素地址
4. *(matrix+1)+1 第二行的第二个元素的地址
5. *(*(matrix+1)+1) 第二行的第二个元素的值
6. &matrix[1] 第二行的首地址
7. &matrix[1][0] 第二行首元素地址
3.数据类型
c语言中基本数据类型包括哪些分别占多大内存
数据类型在内存上所占空间大小与操作系统位数有关。一般常说的数据类型在内存上所占空间大小默认指的都是32位操作系统,这也是用的比较多的。
char 1字节
short 2字节
int 4字节
long 4字节(64位操作系统下为8字节)
float 4字节
double 8字节
其中short和long是和平台相关的。