`
sakakokiya
  • 浏览: 507413 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

常见C++笔试题目整理(含答案)1

阅读更多
1.是不是一个父类写了一个virtual 函数,如果子类覆盖它的函数不加virtual ,也能实现多态?
virtual修饰符会被隐形继承的。private 也被集成,只事派生类没有访问权限而已。virtual可加可不加。子类的空间里有父类的所有变量(static除外)。同一个函数只存在一个实体(inline除外)。子类覆盖它的函数不加virtual ,也能实现多态。在子类的空间里,有父类的私有变量。私有变量不能直接访问。
————————————————————————-
2.输入一个字符串,将其逆序后输出。(使用C++,不建议用伪码)
#include <iostream>
using namespace std;
void main()
{
char a[50];memset(a,0,sizeof(a));
int i=0,j;
char t;
cin.getline(a,50,'\n');
for(i=0,j=strlen(a)-1;i<strlen(a)/2;i++,j-)
{
t=a[i];
a[i]=a[j];
a[j]=t;
}
cout<<a<<endl;
}
//第二种
string str;
cin>>str;
str.replace;
cout<<str;
————————————————————————-
3.请简单描述Windows内存管理的方法。
内存管理是操作系统中的重要部分,两三句话恐怕谁也说不清楚吧~~
我先说个大概,希望能够抛砖引玉吧
当程序运行时需要从内存中读出这段程序的代码。代码的位置必须在物理内存中才能被运行,由于现在的操作系统中有非常多的程序运行着,内存中不能够完全放下,所以引出了虚拟内存的概念。把哪些不常用的程序片断就放入虚拟内存,当需要用到它的时候在load入主存(物理内存)中。这个就是内存管理所要做的事。内存管理还有另外一件事需要做:计算程序片段在主存中的物理位置,以便CPU调度。
内存管理有块式管理,页式管理,段式和段页式管理。现在常用段页式管理
块式管理:把主存分为一大块、一大块的,当所需的程序片断不在主存时就分配一块主存空间,把程 序片断load入主存,就算所需的程序片度只有几个字节也只能把这一块分配给它。这样会造成很大的浪费,平均浪费了50%的内存空间,但时易于管理。
页式管理:把主存分为一页一页的,每一页的空间要比一块一块的空间小很多,显然这种方法的空间利用率要比块式管理高很多。
段式管理:把主存分为一段一段的,每一段的空间又要比一页一页的空间小很多,这种方法在空间利用率上又比页式管理高很多,但是也有另外一个缺点。一个程序片断可能会被分为几十段,这样很多时间就会被浪费在计算每一段的物理地址上(计算机最耗时间的大家都知道是I/O吧)。
段页式管理:结合了段式管理和页式管理的优点。把主存分为若干页,每一页又分为若干段。好处就很明显,不用我多说了吧。
各种内存管理都有它自己的方法来计算出程序片断在主存中的物理地址,其实都很相似。
这只是一个大概而已,不足以说明内存管理的皮毛。无论哪一本操作系统书上都有详细的讲解
————————————————————————-
4.
#include “stdafx.h”
#define SQR(X) X*X
int main(int argc, char* argv[])
{
int a = 10;
int k = 2;
int m = 1;
a /= SQR(k+m)/SQR(k+m);
printf(”%d\n”,a);
return 0;
}
这道题目的结果是什么啊?
define 只是定义而已,在编择时只是简单代换X*X而已,并不经过算术法则的
a /= (k+m)*(k+m)/(k+m)*(k+m);
=>a /= (k+m)*1*(k+m);
=>a = a/9;
=>a = 1;
————————————————————————-
5.
const 符号常量;
(1)const char *p
(2)char const *p
(3)char * const p
说明上面三种描述的区别;
如果const位于星号的左侧,则const就是用来修饰指针所指向的变量,即指针指向为常量;
如果const位于星号的右侧,const就是修饰指针本身,即指针本身是常量。
(1)const char *p
一个指向char类型的const对象指针,p不是常量,我们可以修改p的值,使其指向不同的char,但是不能改变它指向非char对象,如:
const char *p;
char c1='a';
char c2='b';
p=&c1;//ok
p=&c2;//ok
*p=c1;//error
(3)char * const p
此时*p可以修改,而p不能修改。
(4)const char * const p
这种是地址及指向对象都不能修改。
————————————————————————-
6.下面是C语言中两种if语句判断方式。请问哪种写法更好?为什么?
int n;
if (n == 10) // 第一种判断方式
if (10 == n) // 第二种判断方式
如果少了个=号,编译时就会报错,减少了出错的可能行,可以检测出是否少了=
————————————————————————-
7.下面的代码有什么问题?
void DoSomeThing(…)
{
char* p;

p = malloc(1024); // 分配1K的空间
if (NULL == p)
return;

p = realloc(p, 2048); // 空间不够,重新分配到2K
if (NULL == p)
return;

}
A:
p = malloc(1024);     应该写成: p = (char *) malloc(1024);
没有释放p的空间,造成内存泄漏。
————————————————————————-
8.下面的代码有什么问题?并请给出正确的写法。
void DoSomeThing(char* p)
{
char str[16];
int n;
assert(NULL != p);
sscanf(p, “%s%d”, str, n);
if (0 == strcmp(str, “something”))
{

}
}
A:
sscanf(p, “%s%d”, str, n);   这句该写成: sscanf(p, “%s%d”, str, &n);
————————————————————————-
9.下面代码有什么错误?
Void test1()
{
char string[10];
char *str1=”0123456789″;
strcpy(string, str1);
}
数组越界
————————————————————————-
10.下面代码有什么问题?
Void test2()
{
char string[10], str1[10];
for(i=0; i<10;i++)
{
str1[i] ='a';
}
strcpy(string, str1);
}
数组越界
分享到:
评论

相关推荐

    常见C++笔试题目整理含答案.docx

    "C++笔试题目整理含答案" 以下是根据提供的文件信息,生成的相关知识点: 1. C++中的多态性 在C++中,多态性是通过虚拟函数实现的。如果父类写了一个虚拟函数,而子类覆盖它的函数,不加virtual关键字,也能实现...

    常见C++笔试题目整理(含答案).docx

    常见C++笔试题目整理(含答案) 1. 是不是一个父类写了一个 virtual 函数,如果子类覆盖它的函数不加 virtual ,也能实现多态? 在 C++ 中,如果父类中定义了一个 virtual 函数,并且子类覆盖了该函数,但不加 ...

    常见c++笔试题整理(含答案)常见c++笔试题整理(含答案).zip

    在给定的压缩包"常见c++笔试题整理(含答案).zip"中,我们可以预想这包含了一系列关于C++编程语言的常见笔试题目及其解答。这些题目可能涵盖C++的基础语法、类与对象、模板、异常处理、内存管理、STL(标准模板库)...

    各大公司常见C/C++笔试题整理,含答案。

    标题中的“各大公司常见C/C++笔试题整理,含答案”指的是这是一份集合了多个知名公司在招聘过程中可能会出现的C/C++编程语言的笔试题目,这些题目通常用于测试应聘者对C/C++语言的基本理解、语法掌握以及编程能力。...

    常见C++笔试题目整理

    在C++笔试中,面试官通常会考察应聘者对C++语言基础、内存管理、...以上就是C++笔试中常见的知识点,掌握这些内容将有助于在面试中表现出色。在实际准备过程中,不仅要理解概念,还要通过编程练习来巩固和深化理解。

    C++面试题笔试题C++ 数据结构算法笔试题资料合集.zip

    C++面试题笔试题C++ 数据结构算法笔试题资料合集: 50个C、C++面试题.pdf C++ 数据结构、算法笔试题.docx ...常见C++笔试题目整理(含答案).docx 经典C++面试题.docx 近期出现的C++面试题整理(附详细答案).docx

    常见c++笔试题整理(含答案)

    本文将针对提供的C++笔试题目进行解析,帮助理解C++的关键概念。 1. 多态性是C++的一个核心特性,允许通过基类指针或引用调用派生类的重写成员函数。即使子类覆盖了父类的虚函数而没有使用`virtual`关键字,多态...

    c++笔试题整理(含答案)

    这份“c++笔试题整理(含答案)”文档涵盖了公司常用的一些C++题目,旨在帮助应聘者充分准备,提高面试成功的几率。以下是这份资料可能包含的部分核心知识点: 1. **C++基础**:这部分可能包括对C++基本语法的理解...

    c++笔试常考题目(整理了很多企业的)

    在C++笔试中,常见的题目涉及了语言的多个核心概念,如指针、类型定义、内存管理、线程状态、类型转换以及文件操作等。以下是对这些知识点的详细解释: 1. **指针定义与typedef的区别**: - `#define` 是预处理器...

    互联网校招题库资料笔试面试真题具体面试问题回答技巧腾讯阿里培训资料.zip

    互联网校招题库资料笔试面试真题具体面试问题回答技巧腾讯阿里培训资料: C++面试题笔试题 ...常见C++笔试题目整理(含答案).docx 经典C++面试题.docx 近期出现的C++面试题整理(附详细答案).docx

    嵌入式开发C与C++笔试题整理

    ### 嵌入式开发C与C++笔试题之指针篇 #### 一、引言 在嵌入式开发领域,C与C++是非常重要的编程语言,尤其在硬件资源有限的情况下,这两种语言提供了强大的控制能力和高效性。指针作为C/C++语言的重要特性之一,在...

    腾讯笔试题目整理(部分)

    腾讯作为中国知名的互联网巨头,其笔试题目历来备受求职者关注,因为这不仅是进入腾讯的一道门槛,也是检验个人技能和素质的重要方式。本压缩包包含了部分年份的腾讯笔试题目,对于准备应聘腾讯的同学来说,这是一个...

    C++面试中常见笔试题的分类整理与归纳总结

    ### C++面试中常见笔试题的分类整理与归纳总结 #### 一、多态与虚函数 **题目:** 是不是一个父类写了一个`virtual`函数,如果子类覆盖它的函数不加`virtual`,也能实现多态? **答案:** 在C++中,一个类中的函数...

    C C++ 笔试、面试题目大汇总

    对于准备C和C++笔试、面试的求职者来说,掌握以上知识点至关重要。同时,熟悉常见的编程题型,如二分查找、动态规划、图论问题、排序算法等,将有助于在面试中脱颖而出。通过不断练习和深入学习,可以提升编程技能,...

    c++ 笔试题汇总2009最新整理收集

    以下是对给定的C++笔试题目的详细解析: ### 题目1:链表反转 单向链表的反转是一个常见的面试题,通常考察候选人的逻辑思维和对指针操作的理解。这里提供了两种方法:迭代法和递归法。 **迭代法**: 代码中定义了...

    C C++笔试面试题合集

    本合集整理了C和C++的常见笔试面试题目,旨在帮助应聘者提升技术能力,充分准备面试。 一、C语言知识点 1. **基本语法**:理解变量、数据类型、运算符、流程控制语句(如if-else、switch-case、for、while等)的...

    C C++笔试面试题(最新整理)

    C 和 C++ 笔试面试题涵盖了广泛的编程概念和技术,以下是对这些题目涉及知识点的详细解释: 1. **函数返回值**:函数的返回值通常取决于其定义的返回类型和执行的操作。例如,如果函数没有明确的返回语句,但包含了...

Global site tag (gtag.js) - Google Analytics