c++简单笔试题

下列哪两个是等同的,并分析原因.
int b;
A const int* a = &b;
B const* int a = &b;
C const int* const a = &b;
D int const* const a = &b;

给你点资料,看完了你就知道了:
关键字const有什么含意?
我只要一听到被面试者说:"const意味着常数",我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么.如果你从没有读到那篇文章,只要能说出const意味着"只读"就可以了。尽管这个答案不是完全的答案,但我接受它作为一个正确的答案。(如果你想知道更详细的答案,仔细读一下Saks的文章吧。)
如果应试者能正确回答这个问题,我将问他一个附加的问题:
下面的声明都是什么意思?

const int a;
int const a;
const int *a;
int * const a;
int const * a const;

/******/
前两个的作用是一样,a是一个常整型数。第三个意味着a是一个指向常整型数的指针(也就是,整型数是不可修改的,但指针可以)。第四个意思a是一个指向整型数的常指针(也就是说,指针指向的整型数是可以修改的,但指针是不可修改的)。最后一个意味着a是一个指向常整型数的常指针(也就是说,指针指向的整型数是不可修改的,同时指针也是不可修改的)。如果应试者能正确回答这些问题,那么他就给我留下了一个好印象。顺带提一句,也许你可能会问,即使不用关键字 const,也还是能很容易写出功能正确的程序,那么我为什么还要如此看重关键字const呢?我也如下的几下理由:
1) 关键字const的作用是为给读你代码的人传达非常有用的信息,实际上,声明一个参数为常量是为了告诉了用户这个参数的应用目的。如果你曾花很多时间清理其它人留下的垃圾,你就会很快学会感谢这点多余的信息。(当然,懂得用const的程序员很少会留下的垃圾让别人来清理的。)
2) 通过给优化器一些附加的信息,使用关键字const也许能产生更紧凑的代码。
3) 合理地使用关键字const可以使编译器很自然地保护那些不希望被改变的参数,防止其被无意的代码修改。简而言之,这样可以减少bug的出现。
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-31
,楼主你好,好像有好多错误哈!!!在线聊!!!5360910067
第2个回答  2010-07-31
A,B一样的
第3个回答  2010-07-31
肯定是A和B哈,,,

C和C++经典笔试题附答案解析
展开全部 C和C++经典笔试题附答案解析 1. 用预处理指令#define声明一个常数,用以表明1年中有多少秒(忽略闰年问题)。 答案:#define SECONDS_PER_YEAR(60*60*24*365)UL 应该意识到表达式将使一个16位机的整形数溢出,因此要用到长整型符号L,表达式中UL表示无符号长整型。 2. 写一个“标准”宏MIN,这个宏输...

微软中国C++笔试题-》一个数组,有正有负,求出其中的相连续数据相加和的...
假设数组的长度已知 int fun(int *array, int length, int &start, int &end){ int sum=*array,temp;for(int i=0;i<length;i++){ for(int j=i+1;j<=length;j++){ temp=0;for(int k=i;k<j;k++)temp+=*(array+k);if(temp>sum){ sum=temp;start=i;end=j;} } } } 主...

腾讯笔试题求助:c++数数的问题,比如一个数组112222555...如何统计不同...
a中元素都初始化为0,数组为array[],array中共有num个数,的话:int i;int count = 0;for(i = 0; i < num; i++){ if(array[i] > count) count = array[i]; a[array[i]-1][1]++;}for(i = 0; i < count; i++) a[i][0] = i+1; 无需排序 ...

C++笔试题。What is the value of "1.0 + 1.0 + 1.0 == 3.0"?_百度知...
fabs(4.5-4.5)<1e-6 ,因为不可能完全相等的,要考虑精度

阿里C++笔试题:const int a = 10;int * p = (int *)(&a);*p=20; 为 ...
编译器优化的结果,编译器在处理 const int a = 10;这句时 没有为a分配内存赋值,而是在加入了符号表,后续引用a时有些类似#define a 10这样处理了 int * p = (int *)(&a);这句则 配*p被强制赋值,所以指针有效指向了某个地址,所以出现了上述结果 ...

2023年华为笔试面试机考真题100道1-10(C\/C++语言)
在2023年华为笔试面试中,C\/C++语言的题目涵盖了诸多核心概念与实践应用。以下将简要介绍10道基础题目的内容与解题思路,旨在为准备华为面试的考生提供参考。题目1:字符串比较 理解字符串的比较方法,包括ASCII值比较与字符串长度比较。解题时需注意空字符串的特殊处理。题目2:字符匹配 掌握使用正则表达式...

计算机二级c++笔试题范围
1. 掌握C++流的概念。2. 能够使用格式控制数据的输入输出。3. 掌握文件的I\/O操作。◆ 考试方式 1. 笔试:90分钟,满分100分,其中含公共基础知识部分的30分。2. 上机操作:90分钟,满分100分。上机操作包括:(1) 基本操作。(2) 简单应用。(3) 综合应用。参考资料:2010全国计算机等级考试...

全国计算机等级考试历年真题必练:二级C++内容简介
《全国计算机等级考试历年真题必练(笔试+上机):二级C++》还配备了一张光盘,其中包含了10套上机试卷,模拟真实的上机考试环境和操作界面,内置自动阅卷、自动评分功能,同时提供上机操作的视频演示,使考生可以全方位、多角度地进行学习和练习。此书是全国计算机等级考试二级C++考生的理想复习资料,尤其适合在...

全国计算机等级考试笔试+上机题库二合一:二级C++目录
笔试全真模拟试卷(3)参考答案及解析 笔试全真模拟试卷(4)参考答案及解析 笔试全真模拟试卷(5)参考答案及解析 笔试全真模拟试卷(6)参考答案及解析 笔试全真模拟试卷(7)参考答案及解析 第3章 上机考试模拟试题及解析 上机考试模拟试题(1)上机考试模拟试题(2)上机考试模拟试题(3)上机考试模拟试题(4)上机...

一道C++笔试题里const EXPRESSION什么意思?
const EXPRESSION EXP = 0.000001;这个更好,在实际的软件编程中。因为它明确了告诉编码者,说EXP是一个精度类型。这个精度类型是通过 typedef float EXPRESSION;定义的。如果,楼主看过MFC, 就是微软的类库的,一个编程的框架。里面会把大量的基本的数据类型,自定义成其他类型。例如:typedef char BYTE...

相似回答