若一个类中含有纯虚函数,则该类称为( )。
抽象类
抽象类可以不包含抽象方法,包含抽象方法的类一定是抽象类,抽象方法必须在子类中实现。
short a[10] = {0};sizeof(a)返回:()
20
机器平台:X86_64 处理器 Size of char is: 1 Size of int is: 4 Size of short is: 2 Size of long is: 8 Size of long int is: 8 Size of float is: 4 Size of double is: 8 Size of long double is: 16 Size of (所有指针) is: 8
机器平台: X86_32 处理器 区别: Size of long is: 4 Size of long int is: 4 Size of long double is: 8 Size of (所有指针) is: 4
请找出下面程序中有哪些错误:
int main() { int i=10; int j=1; const int *p1;//(1) int const *p2=&i; //(2) p2=&j;//(3) int *const p3=&i;//(4) *p3=20;//(5) *p2=30;//(6) p3=&j;//(7) return 0; }
6 7
- const int * a; 表示a是一个指针,可以任意指向int常量或者int变量,它总是把它所指向的目标当作一个int常量。也可以写成int const* a;含义相同。
- int * const a; 表示a是一个指针常量,初始化的时候必须固定指向一个int变量,之后就不能再指向别的地方了。
字符串题目
c风格字符串的两种形式: 1、char a[] = {‘a’, ‘b’,‘v’, ‘\0’}; 手动添加结束符‘\0’ 2、char a[] = “abv”; 默认添加’\0’
c/c++中基本类型只有整型、实型和字符型,不存在字符串类型;字符串是由字符组成的数组
综合题
空白符,包括空格、制表符、换行符,只是用来占位,没有实际内容。对于编译器来说,有的会被忽略(一般是在()中);有的不会被忽略(一般是在“”中) 标识符在C语言 中一般是8字符,在C++中一般是32字符,在Java中则没有限制
以下对一维数组a的定义正确的是( )。
const int N = 5; int a[N];
1、定义数组,中括号内必须是常量。 2、int a(5)等价于 int a = 5;不是数组
下面程序段的运行结果是:
char C[5]={‘a’,’b’,’\0’,’c’,’\0’}; printf(“%s”,C);
答:ab %s格式符意为输出字符串,输出字符串时,遇到 “\0”表示结束,所以结果是ab;
若有以下语句:
int a[4][5],(*p)[5]; p=a; 下面哪个选项表示a数组中的元素?
正确答案: D a: p+1 b:(p+3) c:(p+1)+3 d:*( * p+2)
a是一个二维数组,p是一个指向有5个元素的数组指针,所以最多只能访问。 A:表达式是一个指针,不是对数组元素的引用。(p+1)等于&a[1],即(p+1)指向a的第二行的首元素。 B:(p+3)是一个指针,指向第4行的首元素。 C:(p+1)指向a的第二行的首元素;(p+1)+3则指向第二行的第3个元素。 D: ( *p+2)是对数组元素的正确引用,它等价于a[0][2]。 所以对a数组元素的正确引用的选项是D。
程序运行中需要从键盘上输入多于一个数据时,各数据之间默认应使用( )符号作为分隔符。
TAB、空格或逗号
1.这里的“从键盘上输入多于一个数据”,应该专门指的是一次性从键盘上输入多于一个数据。这样子,代码中就不能出现循环,必须在所有输入的结束处刷新缓存。默认情况下,回车会刷新输入缓存。排除含有回车的选项。 2. 分号通常当作普通字符处理。排除含有分号的选项。 3. 如果逗号作分割符,存在中英文字符不同、输入内容错误等几个问题。
以下对选择语句描述错误的是()
正确答案: A 你的答案: D (错误) a根据某一条件重复执行一部分代码直到满足终止条件为止 b可以根据条件控制程序流程,改变程序执行的顺序 c选择语句可以嵌套使用 d当条件满足时就会执行相应的语句
流程控制语句分类: 顺序结构 选择结构:if语句、switch语句 循环结构:while语句、for语句
变量类型推断
int i=0; const int ci=i; auto b=ci; //(1) int *p=&i; decltype(*p) c=i;//(2) 以上(1)(2)中变量b,c类型为()
正确答案: B 你的答案: D (错误) const int ,int int,int& const int,int* int,int*
decltype和auto都可以用来推断类型,但是二者有几处明显的差异: 1.auto忽略顶层const,decltype保留顶层const; 2.对引用操作,auto推断出原有类型,decltype推断出引用; 3.对解引用操作,auto推断出原有类型,decltype推断出引用; 4.auto推断时会实际执行,decltype不会执行,只做分析。总之在使用中过程中和const、引用和指针结合时需要特别小心。
|