笔试 C/C++ 9.26牛客
2021/9/26 20:12:38
本文主要是介绍笔试 C/C++ 9.26牛客,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
若一个类中含有纯虚函数,则该类称为( )。
抽象类
抽象类可以不包含抽象方法,包含抽象方法的类一定是抽象类,抽象方法必须在子类中实现。
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、引用和指针结合时需要特别小心。
这篇关于笔试 C/C++ 9.26牛客的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-12深入理解 ECMAScript 2024 新特性:Map.groupBy() 分组操作
- 2025-01-11国产医疗级心电ECG采集处理模块
- 2025-01-10Rakuten 乐天积分系统从 Cassandra 到 TiDB 的选型与实战
- 2025-01-09CMS内容管理系统是什么?如何选择适合你的平台?
- 2025-01-08CCPM如何缩短项目周期并降低风险?
- 2025-01-08Omnivore 替代品 Readeck 安装与使用教程
- 2025-01-07Cursor 收费太贵?3分钟教你接入超低价 DeepSeek-V3,代码质量逼近 Claude 3.5
- 2025-01-06PingCAP 连续两年入选 Gartner 云数据库管理系统魔力象限“荣誉提及”
- 2025-01-05Easysearch 可搜索快照功能,看这篇就够了
- 2025-01-04BOT+EPC模式在基础设施项目中的应用与优势