02C++基础知识

  1. 表达式,程序的最基本单元,是指从一些操作数中计算一些值,最简单的表达式是字面常量,例如10,“a”,3.14,“CSDN”。
  2. 变量名是一种表达式,变量表示与名字对应的对象。
    例如,int name = 100; //name 是左值,表示变量
    int length = name; //name是右值,表示值
    加减乘除,运算顺序,加括号。
  3. 常量表达式,我们在程序中,会用到像数字π,英寸转厘米2.54,这种是不会改变的值,我们一般不会直接拿来用,给它用一个符号来表示。在C++中,我们用符号常量来表示那些初始化后不再改变的值。
  4. 除了个别情况(0和1),我们应该尽量少的使用字面常量,而多使用符号常量。不能被直接识别的字面常量,被戏称为魔术常量
  5. 常量表达式,是指仅有常量构成的整型值表达式。例如
    constexpr int max = 17;
    int val = 29;
    max = max + 2;//是常量表达式
    max = val + 2;//不是常量表达式
  6. 一个constexpr必须给定一个在编译时已知的值
constexpr int max = 100;
void use(int n){
	constexpr int c1 = max + 2;
	constexpr int c2 = n + 2;//错误,不知道c2是多少
}
  1. 若某个变量初始化的值在编译时未知,但初始化后也绝不改变,这种情况,用常量const,
constexpr int max = 100;
void use(int n){
	constexpr int c1 = max + 2;
	const int c2 = n + 2;
	c2 = 7;//错误,c2是常量
}
  1. 用const的原因有两个:
    一是C++98不支持constexpr,所以用const
    二是不是常量表达式(值在编译时未知)但初始化后不予许改变的“变量”

  2. 类型转换,我们用type{value}或type(value),但是type{value}能够避免窄化,
    窄化有double到int,char到int。

  3. 语句,包括表达式语句和声明语句,表达式语句包括赋值语句、I/O语句和函数调用,此外,还有空语句。

  4. if (){} else if (){} else{}

  5. switch(){case"~": break; default: break;}

  6. switch使用的一些细节,
    1.switch的括号中必须是整数、字符型和枚举型,特别地,不能为字符串。
    2.case语句中的值必须是常量表达式,不能使用变量。
    3.不能有两个重复的case
    4.允许一个case语句中有多个case
    5.切记不要忘了给每个case后加一个break; 这个错误编译器不会给出警告
    6.如果要对string型进行选择,只能用if或者map
    7.如果采用同样的操作对不同的case,可以省写
    switch(t){
    case ‘a’:case ‘b’:case ‘c’:
    cout<<“…”<<“\n”;
    }
    8.对于下边这段代码,是特别容易犯错的
    swtich(num){
    case 1:
    cout<<“one”;
    case 2:
    cout<<“two”;
    break;
    }
    如果输入 1,它将输出onetwo,而不会中间停止
    9.switch能够对一组常量产生优化代码,特别是常量数目很多的时候,switch语句比if嵌套语句更优秀

  7. 循环,也称为迭代。while语句循环控制变量必须在while语句定义 和初始化之前定义,否则编译器将返回一个错误。

  8. 字符 ‘b’可以通过char (‘a’+1)得到,字符‘c’可以通过(‘b’+1)得到

  9. {和}包围起来的语句称为程序块或复合语句。程序块是一种特殊的语句,不包含任何语句的程序块也是可以的,它表示什么也不做。

  10. 和while相比,for更易理解和维护,因为for循环的语句的初始化、循环条件和循环增量是放在开头的,并且,我们不应该随意在循环里边修改循环增量 ,这样容易对程序员造成误解。

  11. 范围for循环
    for(要遍历的数据类型 遍历变量:遍历对象)
    注意:
    1.遍历变量的数据类型要和遍历对象一致
    2.范围for循环的循环体中不能有改变容器大小的操作

  12. 函数
    类型 函数名(参数表)函数体
    参数表每一个元素为一个参数或形式参数,也可以为空。
    当函数不需要返回任何值时,返回类型为void。
    函数声明,是为了将函数定义和调用相分离的一种方法。它是一种与函数定影相分离的方法来显示函数信息。

  • 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、付费专栏及课程。

余额充值