37、C+中有哪几种基本数据类型 3 C+中数据类型分两种,简单类型和结构类型。简单类型包括整型,字符、浮点、指针、枚举类型等。结构类型包括数组、字符串、记录和文件等。 P:C+基础数据类型为分整型、浮点、void型。 38、整型有哪几种形式?各形式有什么区别?3 表示整数、布尔值和字符(char)的算术类型统称为整型。在32位系统中,int和long通常是相等的。 39、C+中有哪些常量2 整型常量、浮点型常、字符型常量、转义字符常量、字符串常量、地址常量等6种 40、常量和变量有哪些区别 2 b、常量定义后不可以修改,所以常量在定义时必须初始化。 c、常量地址不可以赋给非常量指针 d、常量编译时可以以立即数形式编译进指令,比使用内存的变量效率高 e、常量没地址属性,而变量有。故常量只能做右值。 41、操作符有哪些分类 3 按功能分:算术、关系、逻辑、位、赋值、自增和自减、箭头、条件、sizeof、逗号操作符等10类。 按操作数分:一元、二元、三元、 42、操作符优先及对运算结果有什么影响 4 所有优先级中,有三个是从右向左结合的,分别是单目(一元)、条件、赋值,其他操作符从左至右结合。 43、逻辑操作与其他操作的关系 2 逻辑操作分为逻辑或、逻辑与、逻辑非3种。逻辑与和逻辑或在使用时总是先计算左操作数再计算右操作数。只有左操作数无法确定结果时才会去求解右操作数,这种方式即“短路求值” 44、前自增减和后自增减的区别4 前自增减返回左值,即对象本身。后自增返回的是右值。前自增减操作优先级大于赋值运算符(=),而后自增减操作优先级小于赋值运算符int i=0,j; j=++i; //j=1,i=1 j=i++; //j=1;i=2
46、什么是左值和右值3
左值可以出现在赋值语句的左边或右边,即左传可以当右值使用。右值只能在赋值右边(不能被赋值)。
实际上,左值是一个存储地址。而右值是一个具体的数据或数值,即该内存中存储的数据内容。
48、变量有哪几种初始化方式5
C+支持两种变量的初始化形式:复制初始化和直接初始化int a(100); //直接初始化 更加灵活且效率更高 int b=200; //复制初始化 擦除对象当前值并用新值代替
49、变量默认初始化有什么规则
内置类型变量是否自动初始化取决于变量的位置。函数体外定义的变量初始化为0。函数体内定义的内置类型变量不进行自动初始化。如果类没有提供初始化,通过定义一个默认的构造函数来实现。(建议每个内置类型的对象都要初始化,虽然不必要但会让程序更安全)
50、什么是变量的声明和定义 5
声明用于向程序表明变量的类型和名称。定义也是一种声明。可以用extern声明变量名但不定义它。
externint a; //声明但未定义
intb; //定义b
extern声明不是定义,也不会分配存储空间,只是说明变量定义在程序的其他地方。但含有初始化的extern声明当做定义。程序中 变量可声明多次,但只能定义一次。
定义和声明有相同的时候,但声明主要是表明变量的类型的名称,定义主要目的是为变量分配存储空间。
51、C+中用哪几种作用域5
作用域是程序的一段区域,用于区别变量名的不作用范围。有全局作用域、局部作用域、语句作用域。
53、变量有哪几种存储类型2
存储类型根据变量的生存期来划分变量。主要分为四种
1、自动类型变量(auto)
只能是局部的,属于动态存储类型
2、静态类型变量(static)
程序运行过程中始终存在
3、寄存器类型变量(register)
动态存储类型,编译器不为寄存器类型变量分配内存,而是直接使用cpu的寄存器。
4、外部类型变量(extern)
必须是全局的。当一个程序多文件组成,一个源文件要引用定义在另一个源文件中的全局变量,就必须在引用前对所引用的变量进行外部声明。
54、什么是引用3
引用是C+对象的另一个名字。C+不能定义引用类型的引用,但可以定义任何其他类型的引用。int a=100; int& ref=a; //ref引用a int& ref=b; //F 引用必须初始化 int& ref=10; //错误,初始化必须为一个对象
55、如何使用const引用和非const引用2
const引用可以读取但不可修改引用对象。非const引用可以修改引用和被引用的对象的值const int a=100; const int &ref=a; //T 引用和被引用对象都是const类型 int& ref2=a; //F 引用是非const
56、C和C+的区别 2
最显著的是C是结构化的编程语言,面向过程。C+面向对象,C+是C语言的一个超集。
58、变量命名有什么规则
由字母、数字或下划线组成。且必须以字母或下划线开始。【【【变量名不能包含两个连续的下划线,也不能下划线开头后紧跟一个大写字母。有些变量(在函数外定义的变量名)不能以下划线开头。】】】这个在vc vs中是编译通过的,不知道面试宝典上说的是什么编译器,不过最好是避免使用下划线开始变量名或函数名,因为一般这么定义的标识符是通常是保留 供编译程序或标准库函数使用的。
面题37-58
最新推荐文章于 2025-07-29 14:08:16 发布
4531

被折叠的 条评论
为什么被折叠?



