
C/C++
bxyill
这个作者很懒,什么都没留下…
展开
-
拷贝构造函数在哪些地方用,函数参数,函数返回值
首先看个程序。#include using namespace std;class A{public: A() { cout << "A"<<endl; } ~A() { cout << "~A"<<endl; }private: int x;};void main(){ A a; A b(a); A c(a);}输出结果是:A转载 2013-05-24 23:35:50 · 3706 阅读 · 2 评论 -
【面试题】两个n*n的矩阵相乘--采用一位数组表示
#include #include using namespace std;void MatrixMultiplication(int * pArry1, int *pArry2, int * pDestArry, int len){ int row ; int col; row= col = (int)sqrt((double)len); if (row * col != le转载 2012-10-01 11:13:37 · 2837 阅读 · 0 评论 -
【笔试题】关于地址转换的破事
#include #include #include #include using namespace std;int main(){ cout << "unsigned char" <<sizeof(unsigned char)<<endl;//1 cout << "signed char "<<sizeof(signed char)<<endl;//1 cout << "f转载 2012-10-01 22:32:53 · 744 阅读 · 0 评论 -
【面试题】eax寄存器---16位的。
#include using namespace std;void main(){ unsigned char a = 0xA5; unsigned char b = ~a >> 4+1; printf("b = %d \n",b);}//250//这里的局部变量a放在16位的寄存器中!!!!这里需要注意的是a虽然是无符号char型,只占一个字节,但是它存放在一个e转载 2012-10-01 22:57:58 · 2840 阅读 · 0 评论 -
【面试题】关于GetMemory的故事
#include using namespace std;void GetMemory(char *p, int num){ p = (char *)malloc(sizeof(char) * num);}void main(){ char *str = NULL; GetMemory(str,100); strcpy(str,"Hello");}//编译通过,但运行转载 2012-10-02 14:22:16 · 1210 阅读 · 0 评论 -
二级指针的申请与释放
#include using namespace std;class A{public: A() { cout << "构造函数"; count++; cout <<count<<endl; } ~A() { cout << "析构函数"<<count<<endl; count--; }private: int x; int y; static in原创 2012-10-22 10:15:14 · 5889 阅读 · 0 评论 -
【C语言助教】统计文本中单词的个数!
//上机练习2//******************************************************//统计文本中单词的个数!//******************************************************#include #include #include #include void main(){ char text原创 2012-12-10 16:24:06 · 5795 阅读 · 0 评论 -
【C语言助教】前五个最小的数值。
#include #include #include #define N 10#define M 5void main(){ int num[N]; int minValue; srand((unsigned)time(NULL)); for(int i=0;i<N;++i) { num[i]=rand()%100+1; printf("%5d",num[i]);原创 2012-12-10 16:26:43 · 931 阅读 · 0 评论 -
【C语言】程序结果
#include using namespace std;void main(){ unsigned int a=6; int b=-20; char c = (a+b > 6); printf("%d",c);} 为啥是1????转载 2012-10-16 14:55:57 · 1376 阅读 · 0 评论 -
【C库函数】strcat实现
#include #include using namespace std;char *strcat_bxy(char *dst, const char *src){ assert(dst != NULL && src != NULL); char *tmp = dst; while(*dst != NULL) { dst++; } while(*dst++ = *src原创 2012-09-19 10:54:20 · 939 阅读 · 1 评论 -
《C专家编程》--const指针赋值
///来自《C专家编程》#include using namespace std;void main(){ char *cp; const char *ccp; ccp = cp;//编译通过 //cp = ccp;//编译错误 //在两个操作数都是指向有限定符或者没有限定符的相容类型的指针, //左边指针所指向的类型必须具有右边指针所指向类型的全部限定符。 char **原创 2013-03-31 09:31:24 · 935 阅读 · 0 评论 -
char *s 与 char s[] 的恩恩怨怨
#include using namespace std;void main(){ char *str = "Hello";//"hello“是存储在字符串常量存储区域,s为其收地址,该区域是不能修改的。 *str++ = 'Q';//运行崩溃 cout << str <<endl; char arr[] = "Hello";//将字符串存储在arr开辟的栈存储区域,即arr[0原创 2012-10-08 14:34:52 · 1201 阅读 · 2 评论 -
【面试题】itoa实现
#include #include using namespace std;char *itoa_bxy(int num, char *a,int radix){ char *tmp = a; int flag = num; //如果是负数,采用相反数来计算 if(flag < 0) { num = -num; } //从低位开始遍历数字,入栈。 stack s;原创 2012-10-09 10:34:41 · 776 阅读 · 0 评论 -
【中科大洋笔试题】定义一个不能被继承的类,并且只能实例化3个对象。
以下代码是转载的。觉得不错。#include using namespace std;class A{public : static A*GetInstance() { if(count<=0) { return NULL; } count--; return new A;转载 2012-10-29 09:54:46 · 2688 阅读 · 0 评论 -
#pragma pack 设置内存对齐方式
为了提高CPU的存储效率,编译器往往对class 和 struct 自定义类型进行内存对齐。内存对齐的规则视编译器不同而不同。 我们可以使用#pragma pack(n)来设置成 n字节的对齐方式 类中的static变量不会给类带来空间负担,也就是不被计算到类的大小中。 #include using namespace std;#pragma pack(4原创 2012-10-31 08:20:19 · 1261 阅读 · 0 评论 -
C++ string 类 实现
string类默认生成的函数有哪些?默认构造函数析构函数拷贝构造函数赋值构造函数 具体实现如下:#include using namespace std;class mystring{ friend ostream &operator<<(ostream &out,const mystring &s);public: mystring(const char转载 2012-11-01 08:20:23 · 663 阅读 · 0 评论 -
C++构造函数 参数列表的执行顺序 从右向左啊。。。
#include using namespace std; class B {public: int i, j; B(int x = 999) :j(x),i(j) { cout << "B::B() invoked\n" << endl; } ~B() { cout << "B::~B() invoked\n" << endl; }};class D :转载 2012-11-01 14:29:16 · 3200 阅读 · 3 评论 -
【C语言助教】大写变成小写的
#include #include #include #include void LowerString(char *str){ int length = strlen(str); for(int i=0;i<length;i++) { if(str[i]>='A' && str[i]<='Z') { str[i]+=32; } }}void main(原创 2012-12-10 16:30:42 · 2913 阅读 · 1 评论 -
【C语言助教】统计软件下载次数最多的前十个,和下载次数为0的软件个数
//上机练习1//******************************************************//统计软件下载次数最多的前十个,和下载次数为0的软件个数//******************************************************#include #include #include #define N 15void原创 2012-12-10 16:13:55 · 1694 阅读 · 0 评论 -
【C语言助教】35名学生,每名学生4门课程,随机产生,计算平均成绩,按平均成绩排名排名
//************************************************//第10题//35名学生,每名学生4门课程,随机产生,计算平均成绩,按平均成绩排名排名//************************************************#include #include #include #define NUM 10void m原创 2012-12-10 16:09:15 · 6123 阅读 · 2 评论 -
atoi函数实现_buwanmei
//字符串转换成整数atoi函数的实现#include #include using namespace std;int atoi_mf(char s[]){ assert(s != NULL); int i = 0; int sum = 0; int sign; //跳过空格和制表符 while(' ' == s[i] || '\t' == s[i]) { i++;转载 2012-04-28 22:43:34 · 2084 阅读 · 0 评论 -
【面试题】printf函数实现
#include #include using namespace std;//printf函数的实现int __cdecl cc_printf( const char *format, ...){ va_list argulist; int ret = 0; va_start(argulist, format); while (*转载 2012-07-31 09:35:17 · 971 阅读 · 1 评论 -
【C++面试】
#include using namespace std;class A{public: virtual void TestA() { cout << "Test A"<<endl; }};class B{public: void TestB() { cout << "Test B"<<endl; }};class C : public A,publi原创 2012-06-17 16:17:05 · 475 阅读 · 0 评论 -
【C库函数】strstr实现
#include #include char *bxy_strstr(const char *s1, const char *s2) { int len2; if (!(len2 = strlen(s2))) { return (char *)s1; } for ( ;*s1; ++s1) { if (*s1==*s2 && strncmp( s1, s2,转载 2012-09-17 22:28:06 · 1151 阅读 · 0 评论 -
【2013 IGT 笔试题】剪不断理还乱的动态调用关系(继承+多态)
#include using namespace std;class A{public: virtual void a() { cout << "A.a()"<<endl; } void b() { cout << "A.b()"<<endl; }};class B : public A{public : void a() { cout << "B.转载 2012-10-01 14:01:20 · 2298 阅读 · 0 评论 -
【面试题】不用if,条件表达式,switch等判断语句------找出两个数中较大的
///找出两个数中较大的#include using namespace std;void main(){ int a = 10; int b = 20; int max = ((a+b) + abs(a-b))/2; cout << max <<endl; int c = a - b; char *strs[2] = {"a large","b large"}; c =转载 2012-10-01 22:53:44 · 2537 阅读 · 0 评论 -
【C语言助教】显示特殊矩阵
//*********************************************************************//第9题//显示特殊矩阵//*********************************************************************#include #include #include void main(原创 2012-12-10 16:07:08 · 1458 阅读 · 0 评论 -
【C语言助教】随机产生100个数,将奇数变号
//*************************************************//第4题//随机产生100个数,将奇数变号//*************************************************#include #include int main(){ int array[100]; int temp; int count原创 2012-12-10 15:56:19 · 1208 阅读 · 0 评论 -
《C专家编程》--改变const变量的值
关键字const并不能把变量变成常量在一个符号前加上const限定符只是表示这个符号不能被赋值,即该变量是readonly的但不能防止通过程序的内部的方法来修改这个值以下在vs2008中的实验。 把a变量设置为监视。。查看内存中的a到底是神马? 初始时,是未定义。。。 经过了第6行后,a被初始化为了0 经过第7行,a的值变成了1 本来原创 2013-03-31 10:05:19 · 1051 阅读 · 0 评论 -
宏 模板 i++ 之间的故事
#include using namespace std;#define mul(x) x*xtemplate T multi(T x){ return x*x;}void main(){ int i=3; int j=mul(i++); int k=mul(++i); cout << j <<endl; cout << k <<endl; int n = 3原创 2012-11-01 08:51:03 · 529 阅读 · 0 评论 -
关于nest class 的构造问题 和 sizeof 问题
#include using namespace std;class A{private: int a;public: A() { cout << "A"<<endl; } class B { private: int b; public: B() { cout << "B" <<endl; } };}; class C : publi原创 2012-11-01 09:31:52 · 761 阅读 · 0 评论 -
itoa函数实现
//整形转成字符串函数实现//题目不难,重点考察面试者对问题考虑的全面程度#include using namespace std;void itoa_mf(int num,char str[]){ int sign = num; int i = 0; int j = 0; char temp[100]; //如果是负数就去掉符号,将-1234转成1234 if(sign <转载 2012-04-28 21:50:09 · 5341 阅读 · 0 评论 -
【面试题】strcmp函数实现
#include #include using namespace std;int strcmp_mf(const char *src,const char *dst){ assert(src != NULL && dst != NULL); while(*src++ == *dst++) { if(*src=='\0' && *dst=='\0') { retur转载 2012-04-29 10:34:18 · 1147 阅读 · 0 评论 -
【面试题】考察指针和内存布局的一个题目
#include using namespace std;void main(){ char data[10]; short cOut; for(int i=0;i<10;++i) { data[i] = i; } cOut = *(short *)((int *)data+1); cout << cOut <<endl;}//字符数组初始化为:1到10//da转载 2012-05-11 21:14:16 · 828 阅读 · 0 评论 -
【C语言助教】输入一行文本,其中包含多个单词,找出最长的单词长度
//****************************************************//第7题//输入一行文本,其中包含多个单词,找出最长的单词长度//****************************************************#include #include #include #include void main(){ c原创 2012-12-10 16:02:58 · 5893 阅读 · 1 评论 -
【C语言助教】用户输入一个标示符,判断是否为合法标示符
//************************************************//第8题//用户输入一个标示符,判断是否为合法标示符//************************************************#include #include #include #include void main(){ char str[100]原创 2012-12-10 16:04:52 · 3000 阅读 · 0 评论 -
东方网力笔试题---变种---static变量的事
#include using namespace std;struct Stru{ Stru(int n) { cout << n <<endl; }};void FS(int n){ Stru obj1(n+20); static Stru obj2(n+300);}void main(){ FS(1); FS(2); FS(3);}21原创 2012-11-07 19:26:19 · 2601 阅读 · 0 评论 -
strstr函数实现
#include #include #include #include //在s1中查找s2,并返回s2在s1中第一次出现的位置char *strstr_bxy(const char *s1,const char *s2){ assert(s1 != NULL && s2 != NULL); if(*s2 != '\0') { while(*s1 != '\0') {转载 2012-04-20 21:03:23 · 742 阅读 · 0 评论 -
【面试题】堆和栈的区别
一、预备知识―程序的内存分配 一个由C/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)― 由编译器自动分配释放,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。 2、堆区(heap) ― 一般由程序员分配释放,若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。 3、全局区(静态区)(sta转载 2013-03-16 14:37:07 · 6274 阅读 · 0 评论 -
【面试题】将数字n转换成m进制的
这里设置两个参数,将数字n 转换成m进制的。 #include #include #include using namespace std;string s;void transform(int n,int m){ if(n<m) { s.push_back(n); } else { transform(n/m,m); s.push_back(n%转载 2013-05-16 22:53:03 · 3391 阅读 · 0 评论