全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

C语言知识点(基本语法篇)

发布时间:2022-10-26 15:15:53
发布人:qyf

C语言知识点(基本语法篇)

  基本语法

  1、计算机中补码的意义

  统一零的编码、将符号位与其他位统一处理、将减法运算转换成加法运算

  2、c语言中有符号和无符号的区别

  有符号:数据的最高位为符号位,0表示正数,1表示负数

  无符号:数据的最高位不是符号位,而是数据的一部分

  3、变量的声明与定义有啥区别

  声明变量 是对变量的类型和名称进行说明,不为变量开辟空间

  变量定义 是根据变量类型大小为变量分配空间 变量名代表空间内容

  4、描述变量的命名规则

  变量名由字⺟、数值、下划线组成,但不能以数值开头

  5、#include<> 与#include ""的区别?

  include<>到系统指定⽬录寻找头⽂件,#include ""先到项⽬所在⽬录寻找头⽂件,如果没有找再到系 统指定的⽬录下寻找头文件

  6、内存的最⼩存储单位以及内存的最⼩计量单位分别是?

  内存的最⼩存储单位为 ⼆进制位, 内存的最⼩计量单位 字节

  7、描述gcc的编译过程

  gcc编译过程分为4个阶段:预处理、编译、汇编、链接。 预处理:头⽂件包含、宏替换、条件编译、删除注释。 编译:主要进⾏词法、语法、语义分析等,检查⽆误后将预处理好的⽂件编译成汇编⽂件。 汇编:将汇编⽂件转换成 ⼆进制⽬标⽂件。 链接:将项⽬中的各个⼆进制⽂件+所需的库+启动代码链接成可执⾏⽂件。

  8、谈谈数据在计算机中原码的概念

  计算机原码就是数值本身的二进制表现形式,如果是无符号数,所有二进制位都是数据位。如果是有符号数,二进制的最高位为符号位(0表示正数,1表示负数),其他二进制位为数据为

  9、谈谈数据在计算机中反码的概念

  反码是从数据的原码得来。

  如果是无符号数:数据的反码就是原码

  如果是有符号数:

  正数:数据的反码就是原码

  负数:数据的反码就是符号位不变,其他位按位取反

  10、谈谈数据在计算机中补码的概念

  补码是从数据的反码得来。

  如果是无符号数:数据的补码就是原码

  如果是有符号数:

  正数:数据的补码就是原码

  负数:数据的补码就是反码+1

  11、关键字struct和union的区别

  关键字struct 代表的是结构体,结构体中的所有成员拥有独立的空间

  关键字union代表的是共用体,共用体中的所有成员共享同一份空间

  12、关键字signed和unsigned的区别

  关键字signed描述符的是有符号数,如果想定义有符号变量 可以省略signed,系统默认是signed

  关键字unsigned藐视的是无符号数,如果想定义无符号变量 必须加unsigned修饰

  13、在32位平台char short int long float double各自的字节数

  char类型为1字节

  short类型为2字节

  int类型为4字节

  long类型为4字节

  float类型为4字节

  double类型为8字节

  14、谈谈关键字register

  关键字register修饰的变量为寄存器变量, cpu读取寄存器变量相较于内存的变量的书读快些。需要注意的如果register修饰变量只是建议该变量为寄存器变量,最终是不是是由编译器决定的

  15、谈谈关键字static

  static修饰的变量为静态变量,静态变量的生命周期是整个进程,存在于全局区(静态存储区)。

  如果函数中存在静态变量,如果函数多次调用,静态变量只会初始化一次,这种特性也是普通局部变量说不具备的。函数结束静态变量不会释放,而函数中的普通局部变量会被理解释放。

  如果想让函数内部的变量不会随着函数的结束而结束,可以选择static修饰该变量

  16、谈谈关键字extern

  关键字extern是声明变量或函数具备外部特性,也是说当前源文件只要使用extern声明变量或函数,就可以使用其他源文件中的变量(一般为全局变量)或函数

  17、谈谈关键字sizeof

  关键字sizeof是测量类型(基本类型、构造类型)的长度,比如int num;sizeo(num)的结果在32位平台为4字节,int arr[5];sizeof(arr)的结果在32位平台为20字节

  18、谈谈你对变量初始化的理解

  在定义变量的时候给变量赋值,这个动作叫做变量的初始化。如果局部变量不初始化内容随机(不确定),全局变量,静态变量不初始化内容为0

  19、谈谈字符中的''和字符串中的""的作用

  'a':单引号的作用是描述a为字符,除转义字符外,‘’只能作用一个字符,单引号还有作用就是取字符a的ASCII值

  "abc":双引号的作为是描述"abc"为字符串,如果是字符串常量,编译器会自动在字符串末尾添加'\0'字符作为字符串的结束标记。双引号另一个作用就是取字符串首元素的地址

  20、谈谈'\0'和'0'的区别

  '\0'表示的是反斜杠0 它在计算机中存储的ASCII值是0

  '0'表示的是字符0,它在计算机中存储的ASCII值是48

  21、谈谈十进制123转成二进制,八进制,十六进制的结果

  123的二进制结果为:0111 1011

  123的八进制结果为:0173

  123的十六进制结果为:0x7b

  22、谈谈二进制数1100 0011转换成十进制、八进制、十六进制的结果

  八进制结果为:0332

  十进制结果为:195

  十六进制结果为:0xda

  23、谈谈十六进制0x123转换成八进制的结果

  结果为:0443

  24、谈谈计算机对数据的存储(原码,反码,补码)

  负数在计算机中以补码的形式存储

  非负数在计算机中以原码的方式存储

  八进制数在计算机中以原码的方式存储

  十六进制在计算机中以原码的方式存储

  25、谈谈计算机对数据的读取(原码,反码,补码)

  如果是对无符号进行取值:

  不管是有符号提取(%d %hd %ld)还是无符号提取(%u %hu %lu %o %x)都是输出内存原样数据

  如果是对有符号进行取值:

  系统会去看内存的最高位,如果最高位为0 表明正数, (有符号或无符号输出)都是 内存原样 输出

  系统会去看内存的最高位,如果最高位为1 表明负数, 无符号输出(%u %lu %hu %o %x)都是 内存原样 输出, 有符号输出(%d %hd %ld),将内存数据求补码(得到原码) 输出

  26、谈谈c语言中自动类型转换的特点

  不同类型数据之间进行混合运算时必然涉及到类型的转换问题。

  自动类型转换:保证精度不丢失 将小的类型 转成 大类型。

  1、无符号和有符号 参加运算 需要将有符号 转换成无符号

  2、小类型和大类型参加运算 会将小类型转成从大类型

  3、char和short类型 只要参加运算 都会将自己转换成int类型

  27、谈谈逻辑运算符&&和||的理解

  &&逻辑与:

  A && B A为真 且 B为真 整个表达式结果才为真。

  A && B A或B只要有一个为假 整个表达式结果才为假。

  注意:逻辑与&&的短路特性:

  如果A为假 整个表达式为假, 那么B的真假决定不了整个表达式的结果,所以不会再判断B的真假,就叫“短路特性”

  ||逻辑或:

  A || B A和B只要有一个为真 整个表达式结果为真。

  A || B A和B同时假 整个表达式结果为假。

  注意逻辑或||的短路特性:

  如果A为真 整个表达式为真, 那么B的真假决定不了整个表达式的结果,所以不会再判断B的真假,就叫“短路特性”

  28、谈谈位运算符&、|、^的应用场景

  &:一般用于将指定位清0

  |:一般用于将指定位置1

  ^:一般用于将指定位翻转

  29、谈谈你对逻辑右移和算术右移的区别

  算术右移、逻辑右移 都是编译器决定。如果是正数算术右移,逻辑右移没有区别。如果是负数。

  负数:右边丢弃 左边补0(逻辑右移)

  负数:右边丢弃 左边补1(算术右移)

相关文章

大数据测试工程师需要具备哪些技能?

大数据测试工程师需要具备哪些技能?

2023-10-14
压力测试和性能测试有什么区别?

压力测试和性能测试有什么区别?

2023-10-14
什么是运行时环境?

什么是运行时环境?

2023-10-14
什么是MAC地址?

什么是MAC地址?

2023-10-14

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取