553的一些概念题
前言
国家线终于出来了,接下来就是等东南的院校和具体复试形式了,祝我好运,总结一下今年553真题常考的一些概念题并给出一些我自己的答案。
基本知识
控制结构
顺序结构: 一般都是,从上到下依次执行;
选择结构:if else;
当满足条件执行什么,不满足又执行什么;
循环结构:while() {}; do () while{}; for(; ; ) {}
满足某个条件就一直执行某个语句。
控制语句
条件判断语句: if语句、switch语句;
循环执行语句: do while语句,while语句,for语句;
转向语句: break语句,continue语句, return语句,goto语句。
存储类说明符
auto
:标明一个变量具有自动存储时期,只能用在具有代码块作用域的变量声明中;
register
:请求一个变量存储在寄存以便快速使用,但是不能获得该变量的地址,只能用在具有代码块作用域的变量声明中;
static
:使该变量具有静态存储使其,只能用在具有代码块作用域的变量声明中;
extern
:表明一个在其他地方定义了的变量;
const
:将数据定为不变的,在只能初始化,以后不可改变其值。在指针中使用时,const的位置决定是指针本身不变还是指针指向的数据不变。
switch语句
switch 中的default是否必须使用break退出?default加不加break都可以,但是每个case后面如果只想执行该case的内容,则需要加break。
逻辑错误与语法错误
逻辑错误: 逻辑上错误,可运行,但是结果可能是错误的,例如算法错误,公式写错等;
语法错误: 使用了错误的语法,在编译期就会被发现,例如少加了标点符号,拼写错误等。
作用域
类作用域: 每个类都定义了自己的新作用域和唯一的类型。在类的定义体内声明类成员,将成员名引入类的作用域;
文件作用域: 任何在代码块之外声明的标识符都具有文件作用域。但是在同文件中编写的通过include指令包含到其他文件中的声明,就好像直接写在那些文件中一样,它们的作用域不限于头文件的文件尾。
函数
实参个数
fun(m + n, x + y, fun(m + n, z, (x, y)));
中的实参个数:3个(存疑
指针与引用
引用初始化
char &a
初始化,字符变量的引用,应该用一个字符变量去初始化,且只能在定义时通过初始化进行指定对象而不能赋值。
const位置对指针的影响
const int *a
:常量指针,不能通过该指针进行对值的更改指向对象的值;
int * const a
:指针常量,不能更改该指针的指向。
例
#include<iostream>
using namespace std;
int main() {
int a = 0;
int b = 1;
const int *p = &a;
int *const q = &a;
p = &b;
q = &b; //ERROR:指针常量不能更改其指向的对象
*p = 3; //ERROR:常量指针不能通过指针更改其指向值的对象,但是注意,该对象如果不是常量那是可以更改的
*q = 3;
return 0;
}
数组名的含义
int a[] = {1, 2, 3, 4}; int *p = a;
中第二句语句的含义:将数组的首元素地址赋值给p指针。
指针强制转换
`reinterpter_cast<目标指针类型>(带转换指针)
继承
意义
类的继承机制允许程序员在保持原有类特性的基础上进行更具体、梗详细的定义。增强了代码的重用性和可扩充性,而且能更好的反应类之间的关系。
多态
多态的含义
多态是指同样的消息(函数调用)被不同类型的对象(指针指向)接受时导致不同的行为(不同的实现)。
纯虚函数语句声明
例如:virtual func() = 0;
其中virtual
是声明为虚函数,= 0
称为纯指示符。有纯虚函数的类被称为抽象类,纯虚函数不能给出函数定义,抽象类也不能进行实例化。
绑定
在多态中确定操作的具体对象的过程就是绑定,绑定是指计算机程序自身彼此关联的过程,也就是把一个标识符名和一个存储地址联系在一起的过程,用面对对象的术语来说,就是把一条消息和一个对象的方法相结合的过程。
动态绑定: 指在程序运行阶段完成绑定的情况,就是运行时的多态。包含多态就是属于此类,即通过虚函数与指针、虚函数与引用;
静态绑定: 指在编译链接阶段完成绑定的情况,就是编译时的多态。重载、强制、参数多态都是属于此类。
重载
重载的条件
- 函数名称相同。
- 形参类型不同、个数不同或者顺序不同(和返回值和形参名称没有关系!。
运算符重载
运算符重载 是对已用的运算符赋予多重含义,使同一个运算符作用于不同的类型的数据时导致不同的行为。
运算符重载可以使更多用户自定义的类使用已用的运算符进行更多操作。
不能重载的运算符
- 类属关系运算符
.
- 成员指针运算符
.*
- 作用域分辨符
::
- 三目运算符
?:
赋值运算符重载
ClassA& operator=(const ClassA& cls)
:返回引用是因为赋值运算的结果还可以拿来作为左值,里面用常引用是规范起见。
输入输出流
标准库含义
cin
:从标准设备输入
cout
: 向标准设备输出
cerr
:不带缓存的错误输出,适合快速输出
clog
:带缓存的错误输出,缓存区满才进行输出
输入输出库
包含输入输出的标准库:(存疑
原文地址:https://www.cnblogs.com/Za-Ya-Hoo/p/12706764.html
- easyui表单提交验证form
- 数据紧急修复之启用错误日志 (r2第12天)
- javascript 模拟按键点击提交
- 微信小程序调用接口返回数据或提交数据
- 巧用shell脚本生成快捷脚本(r2第12天)
- asp.net动态增加服务器端控件并提交表单
- c# asp.net 实现分页(pager)功能
- 一次数据库无法登陆的"问题"及排查(r2第11天)
- popcorn-js视频Video框架简单用法
- 一次数据库响应缓慢的问题排查(r2第9天)
- 通过Ajax方式上传文件(input file),使用FormData进行Ajax请求
- C# 读取指定文件夹下所有文件
- ASP.NET 实现Base64文件流下载PDF
- MVC自定义视图引擎地址
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法