复试C程序设计面试题

目录

1.什么是模块化编程?

2.C语言中使用了多少关键字和运算符?

3.什么是变量?

4.printf()/scanf()返回类型是什么?它返回什么?

5.ANSI全称

6.每当使用C语言评估条件时,我们如何理解它是true和false

7.#include <>,include""

8.什么是main(),void main()和int main()的区别

9.printf()和puts()的区别

10.strlen()和sizeof()有什么区别?

11.变量/函数的声明和定义有什么区别

12.C中有什么不同的存储类说明符

13.变量的范围是什么?变量在C中的作用域怎样

14.指针什么时候使用

15.什么是NULL指针/悬空指针

16.什么是内存泄漏

17.什么是静态函数

18.什么是局部静态变量


1.什么是模块化编程?

模块化编程是一种程序设计技术,其中将大程序分为称为模块的子程序/功能,它提高了程序的可维护性。 它使软件开发,调试,修改,更新更快,更容易

2.C语言中使用了多少关键字和运算符?

使用c编程语言有32个关键字和45个运算符

3.什么是变量?

变量是具有唯一名称的命名位置,用于根据需要存储数据

4.printf()/scanf()返回类型是什么?它返回什么?

printf()是一个库函数, <stdio.h>中提供了printf()的原型,它返回一个整数值,该值描述控制台上打印了多少个字符;scanf()是一个库函数,在<stdio.h>中提供了scanf()的原型,它返回一个整数值,该整数值描述了从控制台成功输入变量

5.ANSI全称

American National Standard Institute美国国家标准协会。

6.每当使用C语言评估条件时,我们如何理解它是true和false

每个条件为TRUE时返回1,为FALSE则返回0

7.#include <>,include""

#include<>:编译器在标准目录中搜索头文件

#include“” :编译器首先在当前目录中搜索头文件,然后在标准目录中搜索,基本上,这种包含类型用于用户定义的头文件

8.什么是main(),void main()和int main()的区别

main()是大多数编程语言中的入口点(主要功能),当编译器开始编译程序时,它会寻找一个入口点,并且main()充当C程序中的入口点,或者我们可以说main是一个线程/进程/函数,在执行程序时由编译器自动调用

每个函数都会向调用函数返回一个值,届时main将成为编译器/ OS的被调用函数,并且它将在退出之前向编译器返回一些值,此处的void和int定义了main将返回一个void(无),并且int将向编译器返回一个整数值

9.printf()和puts()的区别

函数printf()使用%c,%d,%s,%20s等将格式化的字符串写入标准输出设备的数据,并且printf在显示文本后不会添加新行;puts()将字符串写入标准输出设备,并在显示文本后添加新行。

10.strlen()和sizeof()有什么区别?

在字符数组中,strlen()返回字符数,而sizeof()返回按字符数组占用的字节数

11.变量/函数的声明和定义有什么区别

变量/函数的声明仅声明变量/函数存在于程序中的某个位置,但未为其分配内存。但是变量/函数的声明起着重要的作用。这就是变量/函数的类型。因此,在声明变量时,程序会知道该变量的数据类型。

在声明函数的情况下,程序会知道该函数的参数是什么,它们的数据类型,参数的顺序以及函数的返回类型。这就是声明。关于定义,当我们定义变量/函数时,除了声明的作用外,它还为该变量/函数分配内存。因此,我们可以将定义视为声明的超集。(或声明作为定义的子集)。

12.C中有什么不同的存储类说明符

auto, register, static, extern

13.变量的范围是什么?变量在C中的作用域怎样

变量的范围是程序的一部分,可以直接访问该变量。在C语言中,所有标识符都在词法(或静态)范围内。

14.指针什么时候使用

  •     获取变量的地址
  •  为了在C中实现引用传递:指针允许不同的函数共享和修改其局部变量。
  •  通过大型结构,以便避免完整复制结构。
  •  实现“链接”数据结构,例如链接列表和二进制树。

15.什么是NULL指针/悬空指针

NULL用于指示指针未指向有效位置。理想情况下,如果在声明时不知道指针的值,则应将指针初始化为NULL。另外,当由它指向的内存在程序中间被释放时,我们应该使指针为NULL。

悬空指针是没有指向有效内存位置的指针。当删除或释放对象时,如果不修改指针的值,就会出现悬空指针,因此指针仍然指向释放后的内存的存储位置

16.什么是内存泄漏

程序员在堆中创建内存而忘记删除它时,就会发生内存泄漏。对于诸如守护程序和服务器之类的程序而言,内存泄漏是特别严重的问题,根据定义它们永远不会终止

17.什么是静态函数

在C语言中,默认情况下函数是全局的。函数名称前的“ static”关键字使其变为静态。与C中的全局函数不同,对静态函数的访问仅限于声明它们的文件。因此,当我们想限制对函数的访问时,我们将它们设为静态。使函数成为静态的另一个原因可能是在其他文件中重用了相同的函数名。

18.什么是局部静态变量

局部静态变量是一个变量,其生存期并不以声明它的函数调用结尾。它延长了整个程序的寿命。所有对该函数的调用都共享局部静态变量的相同副本。静态变量可用于计算调用函数的次数。另外,静态变量的默认值为0

  • 4
    点赞
  • 48
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值