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

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

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

文档名称 文档密级

void incre() {

static int x = 1; x *= (x + 1); printf(\ return; } 2 6

70、 以下程序的输出的结果是___________

#pragma pack(4)/*四字节对齐*/ int main(int argc, char* argv[]) {

unsigned char puc[4]; struct tagPIM

{ unsigned char ucPim1; unsigned char ucData0:1; unsigned char ucData1:2; unsigned char ucData2:3; }*pstPimData;

pstPimData = (struct tagPIM *)puc;

memset(puc, 0, 4);

pstPimData->ucPim1 = 1; pstPimData->ucData0 = 2; pstPimData->ucData1 = 3; pstPimData->ucData2 = 4;

printf(\ return 0; }

#pragma pack()/*恢复缺省对齐方式*/ 01 26 00 00

71、 enum NEW_SERV_ID

{

NSID_SERV_NULL = 0, ...

NSID_SERV254 = 254, NSID_SERV255 , NSID_BUTT

31

文档名称 文档密级

};

unsigned char GetNsid(char nsid) {

return (nsid); }

GetNsid(NSID_SERV_NULL) = _____; GetNsid(NSID_SERV255) = _______; GetNsid(NSID_BUTT) = __. 0 , 255, 0

三、指出下列程序中导致不能出现预期结果的唯一错误(不考虑编程规范错误)

72、 下面程序把\这个字符串输出,请指出其中的错误。

void Test(void) {

char pcArray[10];

strncpy(pcArray,\ printf(\ return;

}

strncpy没有把中止符NULL写入数组中

73、 如下程序用于把\系统备板工作异常\字符串打印出来,请指出其中的错

误:

void PrintErrInfo(void) {

char acMsg[16];

strcpy(acMsg,\系统备板工作异常\ printf(\ return;

}

每个汉字占两个字节,空间不足,字符串结尾还有'\\0'

74、 如下函数实现打印字符串\的功能,请指出错误: #define BUFFER_SIZE 256 void GetMemory(char *pszBuf) {

if(NULL == pszBuf) {

ASSERT(0); return ; }

32

文档名称 文档密级

pszBuf = (char *)malloc(BUFFER_SIZE); return; }

void Test(void) {

char *pszBuf = NULL; GetMemory(pszBuf); if(NULL == pszBuf) {

return ; }

strcpy(pszBuf, \ printf(\ free(pszBuf); return;

}

函数要返回指针就需要传进去指针的地址

75、 如下函数实现打印字符串\的功能,请指出错误:

char *GetMemory(void)

{

char pcBuf[] = \ return pcBuf; }

void Test(void) {

char *pcStr = NULL; pcStr = GetMemory(); if(NULL == pcStr)

{

printf(\ return; } else {

printf(\ }

return; }

要打印的字符串存在于栈内存,可能不会正确打印

76、 下面程序把\这个字符串输出,请指出其中的错误。

void PrintBLUE(void)

33

文档名称 文档密级

{

char* pcColor ; char pcNewColor[5]; pcColor = \

strncpy(pcNewColor, pcColor,4); printf(\ return;

}

strncpy没有把中止符NULL写入数组中

77、 请指出下面程序错误的地方:

LONG A() {

if (条件1) {

return; }

return VOS_OK; } VOID B() {

if (A())

{

DoSomeThing1(); } else {

DoSomeThing2(); } return; }

return语句少了返回值

78、 本题不考虑魔鬼数字问题

void AddFunc (unsigned int a, unsigned int b, unsigned int * c) { } {

*c = a + b

void main(void)

unsigned char e = 200; unsigned char f = 100;

34

}

文档名称 文档密级

unsigned char g = 0;

AddFunc((unsigned int)e,(unsigned int)f,(unsigned int *)&g); printf(\

g是一个字节的变量,将g的地址强制转换成四个字节unsigned int地址,导致写内存越界

79、 找出下面题目中的错误

#define ID_LEN struct STR_A { }

32

char aucID[ID_LEN]; int iA;

struct STR_B { }

// 该函数将pstB内的paucID指向结构stA的aucID

void funcA(struct STR_A stA, struct STR_B *pstB) {

pstB->paucID = stA.aucID; char *paucID; int iB;

}

main() {

STR_A stA = {0}; STR_B stB;

strcpy(stA.aucID, “12345”); funcA(stA, &stB);

printf(“%s\\n”, stB.paucID);

}

funcA传入的stA的参数是一个值拷贝,pstB指向的是堆栈中的地址。

80、 以下函数主要目的是为一个全局空间迅速填充指定字符garbage,请指出有错误的地方 #define MAX_LEN 20 char pBuffer[MAX_LEN]; unsigned char garbage=0x4E;

int longfill(const char *pv, unsigned char b)

35

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

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