易截截图软件、单文件、免安装、纯绿色、仅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++运行时库函数操作线程

Visual Studio包含了4个本机C/C++运行时库和2个用来管理MS.NET的C/C++运行时库。所有这些库都支持多线程编程环境:目前已经没有专门为单线程开发设计的C/C++运行时库了。表6-1对这些库进行了描述:
Libray Name
Description

LibCMt.lib
Statically linked release version of the library.
Lib ......

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

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

C标准库源码解剖(10):区域设置函数locale.h

    国家、文化和语言规则集称为区域设置,locale.h头文件中定义了区域设置相关的函数。setlocale函数用于设置或返回当前的区域特性,localeconv用于返回当前区域中的数字和货币信息(保存在struct lconv结构实例中)。setlocale的第一个实参指定要改变的区域行为类别,预定义的setlocale类别有:
 &n ......

DSP中的C优化

 C6000系列DSP的硬件资源为高性能提高了必要条件,TI公司也配合C6000推出了世界上第一个效率可达70%~80%的汇编语言级C编译器,它产生的代码平均效率是以往DSP编译器的3倍,如何理解并充分利用这些有利资源,使代码达到所期望的性能,是本章的主题。
①     第一阶段:属于纯C阶段,此时不需要 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号