77范文网 - 专业文章范例文档资料分享平台

C_C++语言笔试面试题目含答案(3)

来源:网络收集 时间:2019-02-15 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

{

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 void main() {

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)在线全文阅读。

C_C++语言笔试面试题目含答案(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/474130.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: