C++基础知识

来源:oi-wiki
1、
#include 其实是一个预处理命令,意思为将一个文件“放”在这条语句处,被“放”的文件被称为头文件。也就是说,在编译时,编译器会“复制”头文件 iostream 中的内容,“粘贴”到 #include 这条语句处。这样,你就可以使用 iostream 中提供的 std::cin、std::cout、std::endl 等对象了。

2、
如果你学过 C 语言,你会发现目前我们接触的 C++ 中的头文件一般都不带 .h 后缀,而那些 C 语言中的头文件 xx.h 都变成了 cxx,如 stdio.h 变成了 cstdio。因为 C++ 为了和 C 保持兼容,都直接使用了 C 语言中的头文件,为了区分 C++ 的头文件和 C 的头文件,使用了 c 前缀。

3、
一般来说,应当根据你需要编写的 C++ 程序的需要来确定你要 #include 哪些头文件。但如果你 #include 了多余的头文件,**只会增加编译时间,几乎不会对运行时间造成影响。**目前我们只接触到了 iostream 和 cstdio 两个头文件,如果你只需要 scanf 和 printf,就可以不用 #include 。

4、
可以 #include 自己写的头文件吗?答案是,可以。

你可以自己写一个头文件,如:myheader.h。然后,将其放到和你的代码相同的目录里,再 #include “myheader.h” 即可。需要注意的是,**自定义的头文件需要使用引号而非尖括号。**当然,你也可以使用编译命令 -I <header_file_path> 来告诉编译器在哪找头文件,就不需要将头文件放到和代码相同的目录里了。

5、
可以理解为程序运行时就会执行 main() 中的代码。

实际上,**main 函数是由系统或外部程序调用的。**如,你在命令行中调用了你的程序,也就是调用了你程序中的 main 函数(在此之前先完成了全局 变量 的构造)。

6、
**最后的 return 0; 表示程序运行成功。**默认情况下,程序结束时返回 0 表示一切正常,否则返回值表示错误代码(在 Windows 下这个错误代码的十六进制可以通过 Windows Error Codes 网站 进行查询)。这个值返回给谁呢?其实就是调用你写的程序的系统或外部程序,它会在你的程序结束时接收到这个返回值。如果不写 return 语句的话,程序正常结束默认返回值也是 0。

在 C 或 C++ 中,程序的返回值不为 0 会导致运行时错误(RE)。

7、
在这里插入图片描述
8、
在这里插入图片描述
9、
逗号运算符可将多个表达式分隔开来,被分隔开的表达式按从左至右的顺序依次计算,整个表达式的值是最后的表达式的值。逗号表达式的优先级在所有运算符中的优先级是 最低 的。
10、
函数的声明
编程中的函数(function)一般是若干语句的集合。我们也可以将其称作“子过程(subroutine)”。在编程中,如果有一些重复的过程,我们可以将其提取出来,形成一个函数。函数可以接收若干值,这叫做函数的参数。函数也可以返回某个值,这叫做函数的返回值。

声明一个函数,我们需要返回值类型、函数的名称,以及参数列表

11、
文件的操作步骤
1、打开文件,将文件指针指向文件,决定打开文件类型;
2、对文件进行读、写操作(比赛中主要用到的操作,其他一些操作暂时不写);
3、在使用完文件后,关闭文件。

12、
FILE *in, *out; // 定义文件指针
in = fopen(“data.in”, “r”);
out = fopen(“data.out”, “w”);

13、
C++ 的模板在设计之初的一个用途就是用来替换宏定义。学会模板编程是从 C 迈向 C++ 的重要一步。模板不同于宏的文字替换,在编译时会得到更全面的编译器检查,便于编写更健全的代码,利用 inline 关键字还能获得编译器充分的优化。模板特性在 C++11 后支持了可变长度的模板参数表,可以用来替代 C 中的可变长度函数并保证类型安全。

14、
简而言之,如果你需要动态分配内存的对象是基础类型或他们的数组,那么你可以使用 malloc() 进行更高效的内存分配;但如果你新建的对象是非基础的类型,那么建议使用 new 以获得安全性检查。值得注意的是尽管 new 和 malloc() 都是返回指针,但是 new 出来的指针 只能 用 delete 回收,而 malloc() 出来的指针也只能用 free() 回收,否则会有内存泄漏的风险。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在C编程语言的基础知识面试中,通常会涉及以下几个方面的问题: 1. C语言的特点与用途:C语言是一种通用的高级程序设计语言,可以用来开发底层操作系统、嵌入式系统、游戏开发等应用。它具有简洁、效率高、可移植性强等特点。 2. C语言的数据类型与变量:C语言支持不同的数据类型,包括整型、浮点型、字符型等。使用变量来存储数据,变量需要先声明后使用,并且可以进行各种运算。 3. C语言的控制流程:C语言中的控制流程有条件判断语句、循环语句和跳转语句。条件判断语句通过判断条件的真假来决定执行哪个分支;循环语句可以重复执行一段代码,直到满足退出条件;跳转语句可以改变代码的执行顺序。 4. C语言的函数与库:C语言支持函数的定义和调用,可以将一段代码封装成函数,提高代码的复用性。此外,C语言还提供了一些标准库,包括输入输出库、数学库等,可以在程序中使用这些库函数来完成各种操作。 5. C语言的指针和内存管理:C语言具有灵活的指针操作功能,可以通过指针来直接访问内存中的数据。指针可以用于动态内存分配和释放,通过调用malloc()和free()函数来进行操作。 除了以上几个方面的基础知识,面试中可能还会涉及到关于C语言的编程题,例如要求解决某个具体的问题或者实现某个算法等。在面试中,不仅要掌握C语言基础知识,还需要具备解决问题的思路和能力,能够独立分析和编写C程序。 ### 回答2: C基础知识面试主要涉及面向过程的编程语言C的基础概念、语法和应用。在面试中,通常会涉及以下几个方面的问题: 1. C语言的基本概念和特性:要求候选人能够解释C语言的起源、用途和特点,了解C语言的运行环境和编译过程。 2. C语言的数据类型:面试官可能会问到C语言中的基本数据类型,如int、char、float等,以及它们在内存中的存储方式和占用空间大小。 3. C语言的控制结构:掌握C语言中的分支语句(if-else、switch-case)和循环语句(for、while、do-while),并能够解答相关的应用题。 4. C语言的函数:了解函数的定义、声明和调用规则,理解函数的参数传递和返回值机制,能够编写简单的函数。 5. C语言的指针:熟悉指针的基本概念和用法,了解指针和数组、指针和函数之间的关系,能够解决指针相关的问题。 6. C语言的内存管理:了解动态内存分配(malloc、free)和静态内存分配(全局变量、局部变量)的区别和用法,了解内存泄漏和内存溢出的概念。 7. C语言的文件操作:熟悉文件的打开、读写、关闭等基本操作,能够读写文本文件和二进制文件,了解文件指针的概念和用法。 8. C语言的预处理器:了解预处理器的作用和常用指令(如#define、#include等),理解宏定义的概念和用法。 在C基础知识面试中,除了回答问题,面试官可能还会要求候选人编写简单的C代码,以检测其编程能力和解决问题的能力。所以,在准备面试时,应该复习C语言的基础概念、语法和应用,并进行代码练习,提高自己的实践能力。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值