- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式平台实习生笔试题目V2.0_ 答案
学校: 日期: 姓名:
C1. 以下为WinNT下的32位C++程序,请计算sizeof的值。(5分)
char str[] = “Hello” ;
char *p = str ;
int n = 10;
请计算
sizeof (str ) = 6
sizeof ( p ) = 4
sizeof ( n ) = 4 void Func ( char str[100])
{
请计算
sizeof( str ) = 4
}
void *p = malloc( 100 );
请计算
sizeof ( p ) = 4
C2. 头文件中经常看到类似于下面的定义,请问这些预处理指令的作用是?(4分)
#ifndef __LCD_DRIVER_H__
#define __LCD_DRIVER_H__
// write your header here
#endif 答:
防止重复定义
C3. 已知strcpy函数的函数原型是:char *strcpy(char *strDest, const char *strSrc)。其中,strDest是目的字符串,strSrc是源字符串。(15分)
(1)不调用C++/C的字符串库函数,请编写函数strcpy
答:
char *strcpy(char *strDest, const char *strSrc)
{
char *s = strDest;
if((strDest == NULL) || (strSrc == NULL))
return NULL;
while((*strDest++ = *strSrc++) != ‘\0’);
return s;
}
(2)strcpy能把strSrc的内容复制到strDest,为什么还要char *类型的返回值?
答:
为了实现链式表达式,如:int length = strlen( strcpy( strDest, “hello world”) );
C4. 请简述下面两个for循环的优缺点(8分)
for (i=0; iN; i++)
{
if (condition)
DoSomething();
else
DoOtherthing();
} if (condition)
{
for (i=0; iN; i++)
DoSomething();
}
else
{
for (i=0; iN; i++)
DoOtherthing();
} 优点:程序简洁
缺点:
多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对程序进行优化,降低了效率
优点:循环的效率高
缺点:
程序不简洁
C5. 下面程序中有一处语法错误和一处逻辑错误,请分别指出(直接在程序中标出)。(8分)
// 程序功能:搜索字符串中的非数字字符,并将非数字字符打印出来
#include stdio.h
#define SIZE 10; // 语法错误,多一个分号
bool IsNumber(char ch)
{
return( (ch = 9) (ch = 0) );
}
int main(void)
{
char c[SIZE] = 12345y789;
int i;
bool Result;
for(i = 0; i SIZE; i++)
Result = IsNumber(c[i]); if(Result == false) printf(%c is not a number string\n, c[i]);
// 逻辑错误,for循环需要大括号
return 0;
}
C6. 简述在C++程序中调用被C编译器编译后的函数,为什么要加extern “C”声明?(5分)
答:
主要为了解决C++中函数重载这个特性。详细如下:
函数经过编译系统的翻译成汇编,函数名对应着汇编标号。因为C编译函数名与得到的汇编代号基本一样,如:fun()=_fun, main=_main。但是C++中函数名与得到的汇编代号有比较大的差别。如:由于函数重载,函数名一样,但汇编代号绝对不能一样。为了区分,编译器会把函数名和参数类型合在一起
您可能关注的文档
最近下载
- Unit 5 We’re family 第1课时(Get ready)(课件)外研版(三起)(2024)英语三年级上册.pptx
- 中国民间传说:田螺姑娘.ppt
- 医院岗位风险分级监管制度.docx VIP
- 八年级班级工作计划第一学期.pdf VIP
- 甘肃省平凉崆峒区2024年中考联考数学试卷含解析.doc
- 硅片加工表面抛光.ppt
- 正大猪三宝饲料推广会流程和操作实务.ppt
- 安徽省腰椎间盘突出症分级诊疗指南(2015年版)安徽省医学会(发布时间:2016-01).pdf VIP
- 国家食品安全抽样检验抽样单&填表说明.doc
- TASCAM达斯冠专业音响CD-RW901MKII说明书用户手册(1).pdf
文档评论(0)