const char* str5 = "abc";
const char* str6 = "abc";
cout << boolalpha << ( str5==str6 ) << endl; // 输出什么?
str5和str6并非数组而是字符指针,并不分配存储区,其后的“abc”以常量形式存于静态数据区,而它们自己仅是指向该区首地址的指针,相等。
根据语法,sizeof如用于数组,只能测出静态数组的大小,无法检测动态分配的或外部(!这个是关键)数组大小。
三元表达式“?:”问号后面的两个操作数必须为同一类型。
C数组定义要求长度必须为编译期常量。
以下反向遍历array数组的方法有什么错误?[STL易]
vector array;
array.push_back( 1 );
array.push_back( 2 );
array.push_back( 3 );
for( vector::size_type i=array.size()-1; i>=0; --i ) // 反向遍历array数组
{
cout << array[i] << endl;
}
答:首先数组定义有误,应加上类型参数:vector<int> array。其次vector::size_type被定义为unsigned int,即无符号数(!),这样做为循环变量的i为0时再减1就会变成最大的整数,导致循环失去控制。
struct CLS
{
int m_i;
CLS( int i ) : m_i(i) {}//注意这个属性赋值的方式
CLS()
{
CLS(0);
}
};
CLS obj;
cout << obj.m_i << endl;
在默认构造函数内部再调用带参的构造函数属用户行为而非编译器行为,亦即仅执行函数调用,而不会执行其后的初始化表达式。只有在生成对象时,初始化表达式才会随相应的构造函数一起调用。故上述程序无输出
C++中的空类,默认产生哪些类成员函数?[C++易]
答:
class Empty
{
public:
Empty(); // 缺省构造函数
Empty( const Empty& ); // 拷贝构造函数
~Empty(); // 析构函数
Empty& operator=( const Empty& ); // 赋值运算符
Empty* operator&(); // 取址运算符
const Empty* operator&() const; // 取址运算符 const
};
以下两条输出语句分别输出什么?[C++难]
float a = 1.0f;
cout << (int)a << endl;
cout << (int&)a << endl;
cout << boolalpha << ( (int)a == (int&)a ) << endl; // 输出什么?
float b = 0.0f;
cout << (int)b << endl;
cout << (int&)b << endl;
cout << boolalpha << ( (int)b == (int&)b ) << endl; // 输出什么?
答:分别输出false和true。注意转换的应用。(int)a实际上是以浮点数a为参数构造了一个整型数,该整数的值是1,(int&)a则是告诉编译器将a当作整数看(并没有做任何实质上的转换)。因为1以整数形式存放和以浮点形式存放其内存数据是不一样的,因此两者不等。对b的两种转换意义同上,但是0的整数形式和浮点形式其内存数据是一样的,因此在这种特殊情形下,两者相等(仅仅在数值意义上)。
注意,程序的输出会显示(int&)a=1065353216,这个值是怎么来的呢?前面已经说了,1以浮点数形式存放在内存中,按ieee754规定,其内容为0x0000803F(已考虑字节反序)。这也就是a这个变量所占据的内存单元的值。当(int&)a出现时,它相当于告诉它的上下文:“把这块地址当做整数看待!不要管它原来是什么。”这样,内容0x0000803F按整数解释,其值正好就是1065353216(十进制数)。
通过查看汇编代码可以证实“(int)a相当于重新构造了一个值等于a的整型数”之说,而(int&)的作用则仅仅是表达了一个类型信息,意义在于为cout<<及==选择正确的重载版本。
写一个函数,完成内存之间的拷贝。[考虑问题是否全面]
答:
void* mymemcpy( void *dest, const void *src, size_t count )
{
char* pdest = static_cast<char*>( dest );
const char* psrc = static_cast<const char*>( src );
if( pdest>psrc && pdest<psrc+cout ) 能考虑到这种情况就行了
{
for( size_t i=count-1; i!=-1; --i )
pdest[i] = psrc[i];
}
else
{
for( size_t i=0; i<count; ++i )
pdest[i] = psrc[i];
}
return dest;
}
定义了一个整型数组,请问用完后如何释放
答:
int **list = (int**)malloc(LIST_SIZE*sizeof(int*));
for(I=0; I< LIST_SIZE; I++) free(list[I]);
free(list);
分享到:
相关推荐
这份"常见电子类硬件笔试题整理(含答案)"文档,旨在为准备此类考试的人提供详尽的复习材料和解答指导。下面将详细阐述其中可能涵盖的知识点。 一、电路基础 电路基础知识是电子类硬件笔试的基石,包括欧姆定律、...
标题中的“各大公司常见C/C++笔试题整理,含答案”指的是这是一份集合了多个知名公司在招聘过程中可能会出现的C/C++编程语言的笔试题目,这些题目通常用于测试应聘者对C/C++语言的基本理解、语法掌握以及编程能力。...
《C语言笔试大全》是为准备C语言考试的学员精心整理的一份综合资源,它包含了大量经典的笔试题目,旨在帮助学习者巩固基础知识,提升解决实际问题的能力。这份资料集覆盖了C语言的基础语法、控制结构、函数、指针、...
最近因为找工作,里面包含了我最近两个月找工作收集的所有C/C++语言java方面的面试题以及部分答案。现在新工作搞定了,决定把这些资料发出来,送给有需要的朋友,免得再象我一样到处搜寻,实在辛苦。格式我已经给...
"经典嵌入式笔试面试整理.zip"这个压缩包文件显然包含了对这些关键知识点的汇集,旨在帮助求职者准备2020年的秋季招聘。以下是对这些知识点的详细解释: 1. **C语言**:作为嵌入式开发的基础,C语言是编写高效、...
根据提供的文件内容,该文档名为《计算机二级c语言笔试题.pdf》,属于技术类资料,内容涉及C语言知识点及计算机二级考试题目。以下是对文档内容的分析和知识点的整理: 1. 标题:《计算机二级c语言笔试题.pdf》 - ...
《C语言笔试题与面试题解析》 C语言,作为计算机科学的基础,是程序员入门的首选语言之一。它以其简洁、高效和强大的功能在软件开发领域占据着重要地位。为了帮助初学者和有经验的开发者更好地掌握C语言,以及应对...
"C语言笔试集锦"是针对这一需求整理的一份资料,包含了丰富的C语言笔试题目,旨在帮助大家在面试前进行有效的复习和准备。 一、C语言基础 1. 数据类型:了解C语言中的基本数据类型,如int、char、float、double等...
【历年二级C语言笔试真题及答案】是针对全国计算机二级C语言考试的复习资料,主要涵盖选择题的真题及解析。这部分内容是检验考生对C语言基础知识、编程技巧以及计算机理论的理解程度。 1. **线性表的存储结构**: ...
【华为笔试题整理】 华为作为全球知名的科技公司,其笔试环节是招聘流程中的重要一环,主要考察候选人的技术实力和编程能力。以下是一些华为笔试题中的常见知识点: 1. **静态变量**:在C/C++中,静态变量有三个...
"华为硬件笔试资源整理_he" 本资源整理了华为硬件笔试相关知识点,涵盖了电路、模拟电路、数字电路、信号与系统、微机原理、网络、数字信号处理等方面的内容。 一、电路部分 * 电路分析设计:波形变换题目,从...
常见的编程语言如C、C++、Java、Python等,在百度笔试中都有可能出现。这些题目可能涉及语法、异常处理、面向对象编程、内存管理等,旨在测试应聘者的编程功底和实际操作能力。 三、数据结构与算法 数据结构和算法...
它的基本思想是通过一趟排序将待排记录分隔成独立的两部分,其中一部分记录的关键字均比另一部分的关键字小,然后分别对这两部分记录继续进行排序,以达到整个序列有序。 3. **viewDidLoad与...
描述 "46家公司笔试题 c/c++笔试题 面试题 部分外企笔试题总结" 进一步细化了资料的内容,不仅包括46家公司的笔试题,还有针对C/C++编程语言的专门题目和面试问题。此外,提到了“部分外企笔试题总结”,这可能意味...
Google 笔试题整理(超全!)附部分答案 本文是 Google 笔试题的整理,包含多种类型的算法题和数据结构题,涵盖了递推公式、树的遍历、递归算法等知识点。 第一个题目是关于计数 1 的个数的函数实现,要求写出一个...
综上所述,这份2012年3月全国计算机等级考试二级C语言笔试试卷涵盖了广泛的知识点,从基础的数据结构和算法理解,到数据库和软件工程的基本原则,再到具体的C语言编程技巧和概念,全面考察了考生的综合能力和专业...
19. C语言笔试-运算符和表达式 104 20. C语言编程准则之稳定篇 107 21. C语言编程常见问题分析 108 22. C语言编程易犯毛病集合 112 23. C语言缺陷与陷阱(笔记) 119 24. C语言防止缓冲区溢出方法 126 25. C语言高效...
C语言笔试-运算符和表达式 这部分覆盖了C语言中各种运算符的使用和表达式的评估。 ### 20. C语言编程准则之稳定篇 这部分提供了提高C程序稳定性的建议和指南。 ### 21. C语言编程常见问题分析 这部分列出了C编程...