有答案,若需要,留邮箱
1.
class A{
public:
void foo(){ cout << "A"; }
};
class B :public A{
public:
void foo(){ cout << "B"; }
};
int main()
{
B *s = new B;
s->foo();
cout << ";";
((A*)s)->foo();
return 0;
}
2.
int main()
{
int i = 0;
printf("%d;%d",i++,i);
return 0;
}
3.
int func(int a)
{
int b = 0;
static int c = 3;
a = c++, b++;
printf("%d;%d\n", c, b);
return a;
}
int main()
{
int a = 2, j, k;
for (int i = 0; i < 2; i++)
k = func(a++);
printf("%d\n",k);
return 0;
}
- little endian
int main()
{
int a[] = {0x10203040,0x50607080,0x90a0b0c};
char *p = (char *)(a + 2);
printf("0x%x,0x%x,,0x%x",*(p-1),*p,*((short *)p));
return 0;
}
5.big endian or little endian
int main()
{
unsigned short a = 0x1122;
unsigned char *p = (unsigned char *)&a;
printf("0x%x", *p);
return 0;
}
6.
#define MIN(a,b) (a>b)?b:a
int main()
{
//宏函数定义方式
int a;
int b;
std::cin >> a;
std::cin >> b;
int c = MIN(a, b);
std::cout << c ;
return 0;
}
7.
int main()
{
//自加运算
int a = 4;
int c = a += (a++);
std::cout << c; //8
int a1 = 4;
int c1 = a1 += (++a1); //10
std::cout << c1;
return 0;
}
8.
int main()
{
char* a = "AAA";
printf("%s", a);
a[0] = 'B';//赋值有误??
printf("%s", a);
return 0;
}
9.
int main()
{
unsigned int a = 6;
int b = -20;
std:cout << a+b;
return 0;
}
10.
int main()
{
//分解质因数
//法一:
int a;
std::cin >> a;
int i = 2;
std::cout << a << "=";
while (a!=1)
{
if(a%i == 0)
{
a = a / i;
if (a == 1){ std::cout << i; }
else{ std::cout << i << "*"; }
}
else
{
i++;
for (int j = 2; j < i; j++)
{
if (i%j == 0){ i++;}
}
}
}
//法二:
//int i = 2, num;
//std::cin >> num;
///*从i=2开始除,若不能被i整除则i++;若能被i整除则输出i,且num变成num除以i的商,重新把2赋值给i,循环。 直到num=1时,循环终止(从2开始除,不会出现输出i=4,6,9等情况,原理自己推算)*/
//while (num >= i) {
// if (num%i == 0)
// {
// std:cout << i << "*";
// num = num / i;
// i = 2;
// }
// else
// {
// i++;
// }
//}
//std::cout << endl;
//system("pause");
return 0;
}
11.
int main()
{
//位运算实现数值大小交换
int a;
int b;
std::cin >> a;
std::cin >> b;
a = a^b;
b = b^a;
a = a^b;
std::cout << a <<endl;
std::cout << b;
return 0;
}
12.
int main()
{
// 0 && 1
short s = 65536;
int i = s + 1;
cout << s << " && " << i<< " && "<<sizeof(int)<< " && "<<sizeof(short);
return 0;
}
13.
int main()
{
int i = 0,j=0; //
if (++i > 0 || ++j > 0);
cout << i << " && " << j;
return 0;
}
14.
{
public A(){
PrintFields();
}
public virtual void PrintFields(){}
}
class B :A
{
int x = 1;
int y;
public B(){
y = -1;
}
public override void PrintFields(){
Console.WriteLine("x={0},y={1}", x, y);
}
}
int main()
{
B b;
b.PrintFields();
return 0;
}
15.
class A
{
public:
virtual void func(int val = 1)
{
std::cout << "A->" << val << std::endl;
}
virtual void test()
{
func();
}
};
class B:public A
{
public:
void func(int val = 0)
{
std::cout << "B->" << val << std::endl;
}
};
int main(int argc,char* argv[])
{
B*p = new B;
p->test();
return 0;
}