C语言面试题及答案

下面是50多个C面试中常见的问题和答案,它们一定能帮助你完成最难的面试之一。
1。SaveFF()和Primff()方法的区别是什么?
SpaveTo()方法与Primff()方法类似,除了一个小的原因。Primff()方法将输出写入控制台屏幕,而SaveTFF()方法将输出写入字符数组。
2。何时需要为变量使用外部数据类型?
外部变量也称为全局变量。如果需要由多个函数访问单个变量,则应该使用外部。
三。C中的整数的取值范围是多少?
16位编译器:32768到32767
32位编译器:- 2147483648到2147483647
面试问题和答案
4。什么是引用传递法?
在调用引用方法中,使用它们的地址将参数传递给其他方法。Eg.:函数1(和A,B)。这里,我们把A和B的地址位置号传递给函数1。这个策略操纵实际的参数。
5。列举宏相对于变量的优点。
使用宏在变量上的优点如下:
编译器可以为变量的常数生成更快、更紧凑的代码。
总是有一个变量可能会无意中在程序中被操纵的风险。

6。什么是差异?
是一个逻辑运算符,它被称为OR运算符,而y是位运算或运算符。
7。什么是继续关键字?
Continue关键字允许我们将程序控制转移到当前循环的第一行,从而绕过关键字之后的下一条语句。继续通常与IF块关联。
8。如何使SCANFE()方法接受多个词串?
SCANFF()函数默认接受单个字符串。但是,SCANFF()方法可以使用以下方法接受多个词串:
SCANF(“%[^ \n] s”,STR);
这样,SCANFF()方法在输入回击键之前进行输入。
9。“A”和“A”的区别是什么?
“A”是字符常量,而“A”是字符串常量。
10。Linux Ubuntu是否支持头文件CONIO.H?
不,Linux Ubuntu中的GCC库不包含CONIO.H头文件的定义。
11。在Windows和Linux中使用指针的格式说明符或访问地址是什么?
Windows中的地址访问说明符:%u
Linux中的地址访问说明符:%P
12。描述模算子?
用模算子取一个整数与另一个整数的剩余值。模数运算符不能与浮点值一起工作。Eg.:10%比2=0
13。对应的IF块是否需要另一个块?
不,IF块通常独立于另一个块。只有在使用条件方法时才使用另一个块。
14。& & &的区别是什么?
&是逻辑运算符,它被称为AS和运算符,而Bitwise和运算符。
15。列出比较运算符和赋值运算符。
赋值运算符用于将变量赋值或设置为变量,而比较运算符用于检查条件。
赋值运算符:=
比较运算符:=
16。解释条件运算符。
条件算子也称为三元算子。条件运算符的语法是:表达式1?表达式2:表达式3
表达式1包括条件。根据其值,如果条件计算为True,则执行表达式2,如果表达式1计算为False,则计算表达式3。
17。do while循环和while循环有什么区别?
在执行以下语句集之前,While Loop检查条件,而.-While Loop首先执行语句集一次,然后检查条件。在这种情况下,即使条件估计为假,语句也至少执行一次。
18。使用中断关键字是什么?
关键字中断允许我们将控制转移到当前循环之后发生的第一个语句。因此,它将执行控制从循环中取出。中断通常与IF块和交换机一起使用。
19。交换机外壳结构在IF块上的优势是什么?
Switch Case结构导致更结构化的程序,并且缩进级别是可管理的,如果Switch的每个案例都有多个语句,则更可管理。

20。限制交换机结构的局限性?
不能在开关情况下测试浮点表达式。
一个案例永远不可能有变量表达式,如C++ 5。
对于多个病例使用相同的表达式是违法的。
21。字符串中空字符的意义是什么?
空字符由0表示。它不同于0。空字符是字符数组(即字符串)的终止字符。这是跟踪字符串结束的唯一方法。
22。函数()和函数()之间的区别是什么?
函数()包括函数的定义,而函数()是函数的声明语法。
23。返回语句的作用是什么?
在执行返回语句时,它立即将控件传递回调用函数。
它将返回语句后的括号中的值返回给调用函数。
24。解释自动存储类。
语法:Autoint A;
存储:内存
生命:直到控件保持在变量定义的块内。
默认初始值:垃圾值
作用域:变量初始化的块的局部
25。SCAFF()和GETSH()方法的区别是什么?
scanf()方法不能接受多字字符串(包括空格字符),而get()方法可以帮助接受多字字符串。
26。解释用户定义函数中的调用约定?
它主要描述了两件事:
参数传递给函数的顺序。
它还提到了当函数从函数返回时,哪个函数执行变量的清理。
最常用的约定是标准调用约定。
27。什么是通过值传递法?
在按值调用方法中,参数使用它们的值传递给其他方法。Eg.:函数1(a,b)
这里,我们将A和B的值传递给函数1。
28。阿德引用操作符是什么?
阿德引用运算符由星号*表示。它用于在C编程中存储标识符的地址。
29。用C语言编写存储类。
存储类如下:
自动存储类
寄存器存储类
静态存储类
外部存储类
30。解释寄存器存储类。
语法:寄存器int A;
存储:CPU寄存器
生命:直到控件保持在变量定义的块内。
默认初始值:垃圾值
作用域:变量初始化的块的局部
31。GETCHE()和GETCH()方法之间的区别是什么?
这两种方法都允许用户在键入单个字符时立即读取该字符,而不必等待按下Enter键。但是,在GETCH()方法中,字符在键入之后被回响,而在GETCHE()方法中,则没有字符的回音。
32。何时需要为变量使用静态数据类型?
只有在希望变量的值在同一程序的不同函数之间持久时,才应该使用静态存储类
33。GETCHARE()和FGCHARER()方法的区别是什么?
两者之间的主要区别是GETCHARE()是宏,而FGCHARCH()是一个函数。
34。解释静态存储类。
语法:静态int
存储:内存
生命:价值在不同的功能之间
默认初始值:零
作用域:变量初始化的块的局部
35。何时需要为变量使用自动数据类型?
这可能是用于任何变量的最常见的数据类型。前缀自动不是强制性的。如果你对变量没有特殊的需求,自动存储类是你应该选择的。
36。什么是语用指令?
这是一个特殊用途指令,可以用来打开或关闭某些功能。它可以帮助您终止警告或任何其他错误。C中有很多可用的语用指令,这些指令如下:
语用启动
语用输出
语用警告
37。什么时候需要使用一个变量的寄存器数据类型?
由于内存中可用的CPU寄存器很少,所以寄存器存储类应该只在经常使用变量时才使用。
38。请参阅C程序的构建过程中的步骤。
C程序执行以下步骤:
C源代码文件
扩展源代码
汇编代码
链接其他库的对象代码
可执行代码
39。获取可以在指针上执行的操作。
可以使用C中的指针执行的操作如下:
向指针添加数字
从指针中减去一个数
从另一个指针中减去一个指针
两个指针变量的比较

40。解释外部存储类。
语法:Extn int a;
存储:内存
生命:只要程序不停止执行
默认初始值:零
经营范围:全球
41。什么是字符串?
字符串是由空字符(“0”)终止的一维字符数组。
Eg.:char name []=“Casrayy程序员”;
42。什么是空指针?
空指针是指针的一个特殊保留值。因此,空指针指向零。它在声明时没有分配给它的任何地址。因此,当指针具有空值时,它不会指向任何地方。空指针在声明时没有分配给指针的任何位置地址时是有用的。
43。0和‘0’是一样的吗?如果没有,解释一下。
不,0和‘0’是不同的。“0”的ASCII值为0,而0的ASCII值为48。“0”是字符串中常用的终止字符。它是字符串中函数知道字符串结束的唯一方式。“0”是单个字符。
44。Char const*p与const char p的区别是什么?
在char const *p中,指针p是常数。因此,不可能使P指向另一个位置。但是,可以修改由p引用的字符的值。
在const char*p中,由p'引用的字符是一个常数,因此不可能改变p的值。
45。声明和定义之间的主要区别是什么?
在声明变量时,我们只指定与它相关联的数据类型。在这一点上没有内存分配。然而,当我们在系统中定义一个变量时,一个初始值被分配给这个变量,并且内存分配被分配给这个特定的变量。
46。什么是Fror()方法?
方法是一种标准的库函数。它表示在文件写入或读取操作期间发生的错误。如果读写操作成功,则返回0,在失败的情况下返回非零值。
47。什么是空指针?
空指针是一种特定类型的指针,它指向可能具有与之关联的任何特定数据类型的数据的地址。空指针也被称为泛型指针。空洞指针被声明为普通指针,使用空格关键字作为指针的类型。
48。什么是ununf指令?
有时,由于不同的原因,需要修改预定义的名称是未定义的。此未定义是不从名称中删除该名称。这可以通过使用UNDEF指令来建立。假设,如果您想取消先前定义的宏,可以使用以下语法:
宏名
49。我们如何参考一维数组的基地址?
下面的方法将用于访问数组的基地址:
*努姆
*(num + 0)
50。什么是模块化编程方法?
模块化编程是将程序分解成部分以减少大型程序的复杂性的过程。这样的部分是作为函数的。每个函数执行特定的任务,并且通常相互连接以在同一程序的其他函数之间传送数据。
51。解释C编程中的错误类型。
运行时错误:
这些错误通常是由编译器捕获的,并且由于程序中执行的非法操作(如将整数除以零、内存空间不可用等)而发生。这些错误突然终止了程序。
编译时错误:
编译错误是程序编译时发生的错误。这些错误进一步分为:
语义错误
这些错误是由于诸如x+y= z的非法赋值等未定义的操作而发生的。
语法错误
如果我们不遵循特定语言所规定的指导原则和规则,就会出现这些错误。
逻辑错误
逻辑错误最难调试,因为这些错误通常不被编译器捕获。这些通常由于程序中的算法和逻辑问题而发生。
52。什么是递归?
当函数一次又一次调用它时,它被称为递归函数。函数调用自身直到特定条件不计算为false。递归可以用来将复杂的嵌套代码替换成其子类型相同的问题。
53。悬空指针是什么?
悬空指针发生在对象的销毁过程中,该对象在没有修改指针值的情况下被分配或删除的输入引用。这样做是为了使指针仍然指向已分配内存的内存位置。
54。Char STR[] =“采访”和Char * P=“面试”有什么区别?
查尔P=“面试”
在这种情况下,P充当指向常量字符串的指针。
Char STR[] =“采访”
在这种情况下,STR充当字符串的常量指针。
这是一些重要的面试问题的答案。如果您在以上列表中发现任何信息不正确或遗漏,请在下面评论。

上一篇: C++面试题及答案
下一篇: Python的面试问题与回答