{
ASSERT(0); return ; }
*ppszBuf = (char *)malloc(BUFFER_SIZE); return; }
void Test(void) {
char *pszBuf=NULL; GetMemory(&pszBuf);
strcpy(pszBuf, \ printf(\ free(pszBuf); return; }
下面说法正确的是(): A、pszBuf的值永远为NULL; B、malloc内存后没有判断是否成功; C、strcpy拷贝越界;
D、GetMemory无法将申请的内存地址传递给pszBuf;
24、请问下面函数中1、2、3应该填入什么语句才合理?(A、不添,不添,不添
B、free(pMsg); , free(ptmpMsg);,不添
C、free(pMsg);,free(ptmpMsg);,free(ptmpMsg); D、不添,free(pMsg);,free(ptmpMsg);
E、free(pMsg); ,free(pMsg); ,free(ptmpMsg); F、不添,不添,free(ptmpMsg);
#define COMM_MSG_LEN 100
char *GetMessageBuffer(int malloc_len) {
char *ptr=NULL;
ptr=(char *)malloc(malloc_len) return ptr; }
int FuncTest(void) {
int malloc_len = COMM_MSG_LEN; char *pMsg=NULL; char *ptmpMsg=NULL;
)
pMsg = GetMessageBuffer(malloc_len); if(NULL == pMsg) {
____1___ return ERROR; }
fillMessage(pMsg); sendMessage(pMsg);
ptmpMsg = GetMessageBuffer(malloc_len); if(NULL == ptmpMsg) {
____2___ return ERROR; }
FillMessage(ptmpMsg); SendMessage(ptmpMsg); free(pMsg); ____3___ return OK; }
25.以下叙述中不正确的是( )
A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是在栈中保存
C) 在一个函数内定义的变量只在本函数范围内有效
D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数中的成对括号构成的代码)
26.全局变量可以定义在被多个.C文件包含着的头文件中。( ) A. 正确 B. 错误
27.在函数内部定义的变量(静态变量、寄存器变量等特殊变量除外)的内存是在栈内存中,所以在定义函数内部的变量的时候,一定要保证栈不能够溢出。如果临时变量占用空间较大,应该使用内存申请的方式,这样该变量指向的内存就是在堆内存中了。( ) A. 正确 B. 错误
28.局部变量可以和全局变量重名,编译的时候不会出现错误,但一旦不小心,就可能导致使用错误变量,所以在定时局部变量的时候,不要和全局变量重名。( ) A. 正确 B. 错误 29.设有如下定义:
unsigned long pulArray[] = {6, 7, 8, 9, 10}; unsigned long *pulPtr; 则下列程序段的输出结果为( ) pulPtr = pulArray; *(pulPtr + 2) += 2;
printf (\
A)8,10 B)6,8 C)7,9 D)6,10 30. struct stu {
int num; char name[10]; int age; };
void Fun(struct stu *p) {
printf(\ return; }
void main() {
struct stu students[3]={ {9801,\ {9802,\ {9803,\ Fun(students + 2); return; }
输出结果是( )
A) Zhang B)Zhao C) Wang D) 18 31.以下程序运行后,输出结果是( ) void main( ) {
char *szStr = \ szStr += 2;
printf(\ return; }
A cde B 字符c的ASCLL码值 C \这个常串中字符c所在的地址 D 出错 32.设有以下宏定义:
#define N 3
#define Y(n) ((N+1)*n) /*这种定义在编程规范中是不允许的,如果你在实际中这么用了,请自打手心三下*/
则执行语句:z = 2 * (N + Y(5 + 1));后,z的值为( ) A) 出错 B) 42 C) 48 D)54 33、有如下宏定义和结构定义 #define MAX_SIZE A+B struct _Record_Struct {
unsigned char Env_Alarm_ID :4;
unsigned char para1 :2; unsigned char state; unsigned char avail:1; } * Env_Alarm_Record ;
pointer = (struct _Record_Struct *)malloc( sizeof(struct _Record_Struct) * MAX_SIZE) ;
当A=2, B=3时pointer分配( )个字节的空间。 注意:机器是按照4字节对齐 A)20 B)15 C)11 D) 9
34、请问下面题目中a,b,c输出值为多少?( )
A、10,210,30 B、100,210,300 C、110,210,310 D、100,210,30 E、110,200,30
#include
#define FUNC(A) A++;\\ A *= 10;
int main(int argc, char* argv[]) {
int a = 10; int b = 20; int c = 30;
if(a > 10) FUNC(a);
if(b >= 20) FUNC(b);
if(c > 30) {
FUNC(c); }
printf(\ return 0; }
35.在X86下,有下列程序 #include
union {
int k; char i[2]; }*s,a; s = &a;
s->i[0] = 0x39; s->i[1] = 0x38; printf(\ }
输出结果是( )
A) 3839 B) 3938 C) 380039 D) 36、#define MAX_MEM_SIZE 100 int GetMem(int iLen, void **ppMem) {
if(NULL==ppMem) {
return -1; }
if(iLen<=0) {
return 0; }
else if(iLen *ppMem=malloc(iLen); return iLen; } else { *ppMem=malloc(MAX_MEM_SIZE); return MAX_MEM_SIZE; } } void main() { char *pMyMem; int i; int j; i = GetMem(i, (void**)&pMyMem); if(NULL!=pMyMem) 不可预知 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C_C++语言笔试面试题目含答案(3)在线全文阅读。
相关推荐: