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

C语言编程基础考试试题(4)

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

文档名称 文档密级

35、 #define BUF_LEN 2048

struct AAA

{

ULONG ulLen; //指示buf中实际占用字节数 CHAR buf[BUF_LEN]; //存储缓冲区

};

函数PrintBufLen的作用是打印出结构体中的buf的实际占用长度,有下面两种实现方法: 方法一:

VOID PrintBufLen(struct AAA* pBuf) {

if(NULL == pBuf)

{

printf(\ return; }

printf(\ return; }

方法二:

VOID PrintBufLen(struct AAA Buf) {

printf(\ return;

}

以下说法只有一个正确的是:( )

A:优选方法一,原因是以指针作为入参,减少函数参数压栈的系统开销。 B:优选方法二,原因是可以不做入参合法性判断,不容易出错。 C:两种方法差不多,可以任意选择。 D:以上说法都不对。

36、 void main(void)

{

unsigned char a =200; unsigned char b =100; unsigned char c = 0;

c=a+b; printf(\}

下列程序的执行结果为(C) A 300 300 B 44 44 C 300 44

16

文档名称 文档密级

D 44 300

37、 有如下宏定义和结构定义

#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

38、 在X86,VC++6.0环境下,有下列程序 #include

int main() { }

17 char c;

unsigned char uc; unsigned short us; c = 128; uc = 128; us = c + uc; printf(%us = c + (short)uc; printf(\

us = (unsigned char)c + uc; printf(%us = c + (char)uc; printf(\return 0;

文档名称 文档密级

输出结果是( )

A) 0x0 0x0 0x100 0xff00 B) 0x0 0x100 0x100 0xff00 C) 0x0 0x100 0x100 0x0 D) 0x0 0x0 0x100 0x0

39、 #include \

unsigned short *sum(unsigned char a, unsigned char b) { }

unsigned short s = 0; s = a + b; return &s;

int main() { }

unsigned short *p=NULL; unsigned char a=1, b=2; p = sum(a, b);

printf(\printf(\return 0;

程序执行结果是( )

A.1+2=0 B.1+2=3 C.1+2=NULL D.不可预测

二、多选题

40、 void GetMemory(char **ppcChar, int iLength) {

if(NULL == ppcChar)

{

return; }

*ppcChar = (char *)malloc(iLength); return;

}

void main( ) {

char *szStr = NULL;

GetMemory(&szStr, 100); if(NULL != szStr) {

18

文档名称 文档密级

strcpy(szStr, \ printf(szStr); }

return;

}

下面描述正确的是():

A、iLength应该判断是否大于0;

B、程序中使用魔鬼数字;

C、当szStr不为空时,没有释放分配的内存; D、printf(szStr)无法输出字符串

41、 下面程序期望输出str = hello world:

char * GetStr(char *p) {

p = \ return p; }

void main() {

char *str = NULL;

if(NULL != GetStr(str)) {

printf(\ } return;

}

下面描述正确的是:

A、Str始终为NULL;

B、函数GetStr返回值始终不为空;

C、该程序无法得到预期的输出结果,因为GetStr函数无法将字符串地址带给实参;

42、 下面程序期望得到 global_variable的值,并打印出来。 unsigned char global_variable; void GetGlobalAddr(unsigned char *p) {

p = &global_variable; }

void main()

{

unsigned char *temp = NULL_PTR; GetGlobalAddr(temp);

19

文档名称 文档密级

printf(\ return;

}

下面说法正确的是(): A 对p强制类型转换错误;

B 调用函数时,局部变量p存在于栈中; C p值的改变不会影响temp;

D 调用函数后,temp的值被改变为global_variable的地址。

43、 #define MAX_LEN 2

_UC *ConvertCode(_UC *p_byte, _UC num) {

_UL i = 0;

_UC strTemp[MAX_LEN];

if (NULL == p_byte) {

return NULL; }

memcpy(strTemp, p_byte, MAX_LEN); return (_UC *)strTemp; }

void main(void) {

_UC str[MAX_LEN]; _UC *p; str[0] = 0x12;

str[1] = 0x34;

p=ConvertCode(str, MAX_LEN); printf(\ return 0;

}

下面说明中,描述正确的是(): A、输入参数p_byte为空指针

B、函数ConvertCode返回值没有判断 C、没有判断p_byte空间和MAX_LEN的大小 D、返回局部变量地址

44、 #include #include #include #define MaxMsgLen 2048 BOOL MaxMsgFlag = FALSE;

20

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C语言编程基础考试试题(4)在线全文阅读。

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