编辑: huangshuowei01 | 2014-05-09 |
printf("%d", *pY);
return
0 } A.
8 B.
3 C.
5 D. 不确定 13. 读下面的程序为( ) static int x=10;
static int y=10;
void func1( ) { x += 10;
Y += 10;
} void func2(int x, int y) { x += 10;
y += 10;
} void main( void ) { Func1( );
printf("%d, %d", x, y) ;
func2(x, y);
printf("%d,%d", x, y) ;
} 运行结果为( ) A.10, 10,10,10 B.10, 10, 20,
20 C.20, 20, 20,
20 D.20, 20, 30,
30 14.如下代码 typedef struct ptrblock { char *ptr;
char name[10];
}Node_t;
main() { Node_t *p;
p = (PB *)malloc(sizeof(Node_t));
密级:机密 沈阳东软软件股份有限公司
07 年新员工培训免修暨摸底考试试题 C 语言 合计
11 页第5页p->ptr = malloc(10);
… [内存释放语句] } 请问下面哪段代码正确完成了内存释放( ) A, free(p);
free(p->ptr);
B, free(p->ptr);
free(p);
C, free(p->ptr);
free(p->name);
free(p);
D, free(p);
free(p->ptr);
free(p->name);
15.请问下面哪段代码对指针的操作是正确的( ) A, int func( ) { char *a, *b;
a = malloc(sizeof(char)*10);
free(a);
b = a;
*b= 0;
… return 0;
} B, int func( ) { char *a , *b;
a = malloc(sizeof(char)*10);
b = a + 10;
…… b = a;
… return 0;
} 密级:机密 沈阳东软软件股份有限公司
07 年新员工培训免修暨摸底考试试题 C 语言 合计
11 页第6页C, int func( ) { char *a , *b;
a = malloc(sizeof(char)*10);
;
b = a;
… free(a);
a= NULL;
b = NULL;
… return 0;
} D, int func( ) { char *a , *b;
a = malloc(sizeof(char)*10);
;
a++;
… free(a);
… return 0;
}
二、多项选择题(每题至少有一个答案,每题
3 分,总计
15 分) 16. 下面那些措施有助于减少堆栈的使用量 :( ) A, 如果函数需要传递结构体类型的信息,通过传递结构体指针来实现;
B, 去除函数中不使用的局部变量;
C, 在函数中不要定义过大的局部变量;
D, 函数中减少全局变量的使用;
17. 下面那些逻辑表达式为假的是:( ) A. int a = 1;
unsigned int b = -1;
if ( a > b) {…} else {…} B, char c = 217;
unsigned char uc = 217;
if ( c == uc) 密级:机密 沈阳东软软件股份有限公司
07 年新员工培训免修暨摸底考试试题 C 语言 合计
11 页第7页{…} else {…} C, char cbit = 1;
cbit = cbit 0) {…} else {…} D, char c = 100;
unsigned char uc =
100 c = c + uc;
if (c > uc) {…} else {…} 18.下面各个程序中那些是不正确的(不符合 const 特征)( ) A, int i;
int * const pi;
pi =&i;
B, int i;
const int m;
m = i;
C, int i;
const int * pi;
pi = &i;
*pi = 0;
D, int i;
const int * const pi;
pi = &i;
19. 下面哪些语句使用了静态存储:( ) A. int AA() { static int a;
… } B, char *pc = "ABC";
C, int b;
//b 是局部变量 密级:机密 沈阳东软软件股份有限公司
07 年新员工培训免修暨摸底考试试题 C 语言 合计
11 页第8页D, char abc[] = {'A','B'};
// abc 是全局变量 20.下面那段代码是没有错误的:( ) A. ...... int ret;
switch ( GetMode(GetMode()是取得 mode 的函数,取得的 mode 包括 CAN 等case CAN: if ( GetbFlag1() ) { …… ret = ST_TOKEN_TOSHELL;
} else { ret = ST_TOKEN_CHAR;
} break;
case ACK: if ( GetbFlag2() ) { ret = ST_TOKEN_TOSHELL;
} break;
default: ret = ST_TOKEN_CHAR;
break;
} return ret;
B. while ((p->num > 0) && (p != NULL)) { ...... } C. …… temp2 = NULL;
while (temp1) { temp2 = temp1;