查看: 122|回复: 1

C语言经典面试题

[复制链接]

6

主题

16

帖子

32

积分

新手上路

Rank: 1

积分
32
发表于 2022-9-20 08:15:22 | 显示全部楼层 |阅读模式
面试题 1:变量的声明和定义有什么区别
为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,
但是只在一个地方定义。加入 extern 修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分
定义。
说明:很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间,
如外部变量。
面试题 2:写出 bool 、int、 float、指针变量与“零值”比较的 if 语句
bool 型数据:
if( flag )
A;
else
B;
int 型数据:
if( 0 != flag )
A;
else
B;
指针型数:
if( NULL == flag )
A;
else
B;
float 型数据:
if ( ( flag >= NORM ) && ( flag <= NORM ) )
A;2
注意:应特别注意在 int、指针型变量和“零值”比较的时候,把“零值”放在左边,这样当把“==”
误写成“=”时,编译器可以报错,否则这种逻辑错误不容易发现,并且可能导致很严重的后果。
面试题 3:sizeof 和 strlen 的区别
sizeof 和 strlen 有以下区别:
 sizeof 是一个操作符,strlen 是库函数。
 sizeof 的参数可以是数据的类型,也可以是变量,而 strlen 只能以结尾为‘\0‘的字符串作参数。
 编译器在编译时就计算出了 sizeof 的结果。而 strlen 函数必须在运行时才能计算出来。并且 sizeof
计算的是数据类型占内存的大小,而 strlen 计算的是字符串实际的长度。
 数组做 sizeof 的参数不退化,传递给 strlen 就退化为指针了。
注意:有些是操作符看起来像是函数,而有些函数名看起来又像操作符,这类容易混淆的名称一定
要加以区分,否则遇到数组名这类特殊数据类型作参数时就很容易出错。最容易混淆为函数的操作符就
是 sizeof。
面试题 4:C 语言的关键字 static 和 C++ 的关键字 static 有什么区别
在 C 中 static 用来修饰局部静态变量和外部静态变量、函数。而 C++中除了上述功能外,还用来定
义类的成员变量和函数。即静态成员和静态成员函数。
注意:编程时 static 的记忆性,和全局性的特点可以让在不同时期调用的函数进行通信,传递信息,
而 C++的静态成员则可以在多个对象实例间进行通信,传递信息。
面试题 5:C中的 malloc 和C++中的 new 有什么区别
malloc 和 new 有以下不同:
(1)new、delete 是操作符,可以重载,只能在 C++中使用。
(2)malloc、free 是函数,可以覆盖,C、C++中都可以使用。
(3)new 可以调用对象的构造函数,对应的 delete 调用相应的析构函数。
(4)malloc 仅仅分配内存,free 仅仅回收内存,并不执行构造和析构函数
(5)new、delete 返回的是某种数据类型指针,malloc、free 返回的是 void 指针。
注意:malloc 申请的内存空间要用 free 释放,而 new 申请的内存空间要用 delete 释放,不要混用。
因为两者实现的机理不同
需要C语言程序设计、C语言经典编程100例实战、数据结构算法等等,点击下面的链接就可以学习,有配套学习视频及源代码。帮助大家提高编程实战水平,比如:考国家二级C语言、计算机相关专业考研C和数据结构的辅导学习资料。现推出我最新录制【Windows企业级开发入门到精通】课程,2022年9月10日之前报名享受特大优惠。您可以根据自己的需要,选择适合自己的课程哦,加油 !!!
【适合人群】
1、适合具有C/C++编程基础,想从事软件开发岗位。
2、适合普通高校计算机专业的学生,今后从事软件开发岗位。
3、适合具有C/C++编程爱好者等,深入研究企业级项目实战。

1、C语言入门到精通
【C语言入门到精通】C++语言/数据结构/MFC/Qt/游戏开发/算法-学习视频教程-腾讯课堂  
2、C语言经典编程100例实战
【C语言经典算法编程100道实战题】C/C++/数据结构/MFC/Qt-学习视频教程-腾讯课堂  
3、数据结构算法(C语言版)
【数据结构算法(C语言版)】C语言/C++语言/MFC/Qt/游戏开发-学习视频教程-腾讯课堂  
4、C++语言入门到精通
【C++语言入门到精通】C语言/数据结构/MFC/Qt/游戏开发-学习视频教程-腾讯课堂  
5.Windows企业级开发入门到精通
【C/C++入门到企业项目实战】Windows编程/MFC/Qt/多线程/高并发-学习视频教程-腾讯课堂
回复

使用道具 举报

1

主题

5

帖子

9

积分

新手上路

Rank: 1

积分
9
发表于 2025-1-24 22:32:01 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表