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

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

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

C语言试题 一:单项选择题

1.

void Example(char acHello[]) {

printf(\ return; }

void main() {

char acHello[] = \ Example(acHello); return; }

的输出是( )

A 4 B 5 C 6 D不确定

2.网络上传输的字节序默认是大字节的,如果主机是小字节序,在网络通信时则须进行字节序转换;如果主机是大字节序,为了程序的一致性及可移植性,最好也在程序中加上字节序转换的操作(空操作)。( ) A. 正确 B.错误 3. int *(*ptr)();

则以下叙述中正确的是( ) A) ptr是指向一维组数的指针变量 B) ptr是指向int型数据的指针变量

C) ptr是指向函数的指针,该函数返回一个int型数据

D) ptr是指向函数的指针,该函数的返回值是指向int型数据的指针 4.此函数实现把32位IP地址(网络序)以字符串的方式打印出来: char *IpAddr2Str(unsigned long ulIpAddr) {

char szIpAddr[32];

unsigned long ulLocIpAddr = ntohl(ulIpAddr);//把网络序转话为主机序 (void)VOS_sprintf(szIpAddr, \

(ulLocIpAddr >> 16) & 0xff, (ulLocIpAddr >> 8) & 0xff, ulLocIpAddr & 0xff);

return szIpAddr; }

下面描述正确的是(): A、数组szIpAddr空间不够;

B、函数返回局部数组szIpAddr变量地址; C、输出的IP地址次序颠倒; 5.

#define OK 0 #define ERR 1

#define ERROR (-1) #define BUFFER_SIZE 256

char *GetMemory(unsigned long ulSize) {

char *pcBuf = NULL;

pcBuf = (char *)malloc(ulSize); if(NULL == pcBuf) {

return ERROR; }

return pcBuf; }

void Test(void) {

char *pszBuf = NULL;

pszBuf = GetMemory(BUFFER_SIZE); if(NULL != pszBuf) {

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

return; }

如下描述正确的是:

A、pszBuf指向的内存不能超过255

B、GetMemory函数的异常分支返回了-1,是一个非法地址 C、GetMemory中异常分支没有释放空间;

D、pcBuf为局部指针,指向的内存将在GetMemory被调用后释放

6、#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.不可预测 7、设有如下定义: BOOL gStatusA = FALSE; BOOL gStatusB = TRUE; int gVarA = 100; int gVarB = 100;

则执行main函数后gVarA和gVarB的值分别为(

BOOL CheckA() {

if(gStatusA) {

gVarA++; } else {

gVarA--; }

return gStatusA; }

BOOL CheckB() {

if(gStatusB) {

gVarB++; } else {

gVarB--;

) }

return gStatusB; }

int main(int argc, char* argv[]) {

if(CheckA() && CheckB() ) {

printf(“Status OK”); } return 0; }

A, 99和100 B, 99和101 C 99和99 D 101和99

8.下面的代码中,函数Test执行完毕后,希望输出无符号长整型的1。 void VarInit(unsigned char *pucArg) {

*pucArg = 1; return; }

void Test() {

unsigned long ulGlobal; VarInit(&ulGlobal); printf(\ return; }

下面描述正确的是:( )

A.给VarInit( )函数传递的参数类型错误 B.printf()输出格式错误

C.传给VarInit( )中参数pucArg的值为空指针 9、

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; unsigned char g = 0;

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

printf(\}

下面说法正确的是():

A 对g进行类型转换导致函数调用时写内存越界; B 对e、f进行类型转换导致函数调用时写内存越界; C 函数调用时不能改变g的值。 10、void main(void) {

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

printf(\}

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

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

int main() {

char cA;

unsigned char ucB; unsigned short usC;

cA = 128; ucB = 128;

usC = cA + ucB; printf(\

usC = cA + (short)ucB; printf(\

usC = (unsigned char)cA + ucB; printf(\

usC = cA + (char)ucB; printf(\

return 0;

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C_C++语言笔试面试题目含答案在线全文阅读。

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