易截截图软件、单文件、免安装、纯绿色、仅160KB

一些常见的c/c++笔试题

1.下面哪种代码风格更好,why?
A .   if ('A' == a)
       {a++;}
B.    if( a == 'A')
       {a++;}
答案:A,如果把==错写成=,因为编译器不允许对常量赋值,容易差错。
2.#define MUTI(x) (x*x)
 int i=3,j,k;
 j = MUTI(i++);
 k = MUTI(++i);
 问此时j和k的值
 答案:j=9;k=49;
3.unsigned int a=4;
   int b=-20;
  char c;
  (a+b>6)?(c=1):(c=0);
  c值为?
 答案:c=1,因为a+b后值自动转为unsigned int型(两数相加按正数的原码,负数的反码相加)
ps:表达式中有有符号和无符号相加时,所有的操作数都自动转换为无符号类型


相关文档:

Delphi 与 C/C++ 数据类型对照表

Delphi 与 C/C++ 数据类型对照表
Delphi数据类型C/C++
ShorInt
8位有符号整数
char
Byte
8位无符号整数
BYTE,unsigned short
SmallInt
16位有符号整数
short
Word
16位无符号整数
unsigned short
Integer,LongInt
32位有符号整数
int,long
Cardinal,LongWord/DWORD
32位无符号整数
unsigned long
Int6 ......

编译出来的c/c++程式的参数压栈顺序只和编译器相关!

下面列举了一些常见的编译器的调用约定
VC6:
调用约定        堆栈清除    参数传递
__cdecl         调用者      从右到左,通过堆栈传递
__stdcall       函数 ......

C/C++程序员应聘常见面试题深入剖析

 2.找错题
  试题1:
void test1()
{
 char string[10];
 char* str1 = "0123456789";
 strcpy( string, str1 );
}
  试题2:
void test2()
{
 char string[10], str1[10];
 int i;
 for(i=0; i<10; i++)
 {
  str1[i] = 'a';
 }
 strcpy( string, str1 );
}
  试题3:
void te ......

C++与C混合编程(转)

(转)C++中extern “C”含义深层探索
 
 
1.引言
  C++语言的创建初衷是“a better C”,但是这并不意味着C++中类似C语言的全局变量和函数所采用的编译和连接方式与C语言完全相同。作为一种欲与C兼容的语言,C++保留了一部分过程式语言的特点(被世人称为“不彻底地面向对象&rdquo ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号