这些题目相比其他公司的试题,较为基础,全部为C语言,没有涉及C++,但如果不细心,是很难得到较高分数的。另外大家转贴不要去掉我的个人信息啊。互相宣传下网站嘛。
1. 找错

 void test1()
{
char string[];
char* str1=”″;
strcpy(string, str1);
}

答:表面上并且编译都不会错误。但如果string数组原意表示的是字符串的话,那这个赋值就没有达到意图。最好定义为char string[11],这样最后一个元素可以存储字符串结尾符’\0′;

 void test2()
{
char string[], str1[];
for(int I=; I<;I++)
{
str1[I] ='a';
}
strcpy(string, str1);
}

答:strcpy使用错误,strcpy只有遇到字符串末尾的'\0'才会结束,而str1并没有结尾标志,导致strcpy函数越界访问,不妨让str1[9]='\0',这样就正常了。

 void test3(char* str1)
{
char string[];
if(strlen(str1)<=)
{
strcpy(string, str1);
}
}

答:这又会出现第一道改错题的错误了。strlen(str1)算出来的值是不包含结尾符'\0'的,如果str1刚好为10个字符+1结尾符,string就得不到结尾符了。可将strlen(str1)<=10改为strlen(str1)<10。

2. 找错

 #define MAX_SRM 256

 DSN get_SRM_no()
{
static int SRM_no;
int I;
for(I=;I<MAX_SRM;I++,SRM_no++)
{
SRM_no %= MAX_SRM;
if(MY_SRM.state==IDLE)
{
break;
}
}
if(I>=MAX_SRM)
return (NULL_SRM);
else
return SRM_no;
}

答:我不知道这段代码的具体功能,但明显有两个错误
1,SRM_no没有赋初值
2,由于static的声明,使该函数成为不可重入(即不可预测结果)函数,因为SRM_no变量放在程序的全局存储区中,每次调用的时候还可以保持原来的赋值。这里应该去掉static声明。

3. 写出程序运行结果

 int sum(int a)
{
auto int c=;
static int b=;
c+=;
b+=;
return(a+b+c);
}
void main()
{
int I;
int a=;
for(I=;I<;I++)
{
printf("%d,", sum(a));
}
}

答:8,10,12,14,16
该题比较简单。只要注意b声明为static静态全局变量,其值在下次调用时是可以保持住原来的赋值的就可以。
----------------------------------------------
插播广告啦:版权所有:朱科 欢迎光临我的网站:www.goodsoft.cn,各位转贴别删,劳动成果啊
----------------------------------------------
4.

 int func(int a)
{
int b;
switch(a)
{
case : b=;
case : b=;
case : b=;
default: b=;
}
return b;
}
则func()=?

答:func(1)=0,因为没有break语句,switch中会一直计算到b=0。这是提醒我们不要忘了break。呵呵。

5:

 int a[];
a[]=; a[]=; a[]=;
int *p, *q;
p=a;
q=&a[];
则a[q-p]=?

答:a[q-p]=a[2]=2;这题是要告诉我们指针的运算特点

6.
定义 int **a[3][4], 则变量占有的内存空间为:_____
答:此处定义的是指向指针的指针数组,对于32位系统,指针占内存空间4字节,因此总空间为3×4×4=48。

7.
编写一个函数,要求输入年月日时分秒,输出该年月日时分秒的下一秒。如输入2004年12月31日23时59分59秒,则输出2005年1月1日0时0分0秒。
答:

 /*输入年月日时分秒,输出年月日时分秒的下一秒,输出仍然在原内存空间*/
bool NextMinute(int *nYear,int *nMonth,int *nDate,int *nHour,int *nMinute,int *nSecond)
{
if(*nYear12 || *nMonth23 || *nHour59 || *nSecond59) return false;
int nDays;
switch(*nMonth)
{
case :
case :
case :
case :
case :
case :
case :
nDays=;
break;
case :// 判断闰年
if(*nYear%==||*nYear%!=&&*nYear%==)
{
nDays=;
}
else
{
nDays=;
}
break;
default:
nDays=;
break;
}
if(*nDatenDays) return false; (*nSecond)++; // 秒加1
if(*nSecond>=) // 秒满60,做出特殊处理,下面时,日,月等类同
{
*nSecond=;
(*nMinute)++;
if(*nMinute>=)
{
*nMinute=;
(*nHour)++;
if(*nHour>=)
{
*nHour=;
(*nDate)++;
if(*nDate>nDays)
{
*nDate=;
(*nMonth)++;
if(*nMonth>)
{
*nMonth=;
(*nYear)++;
}
}
}
}
}
return true;
}
/*示例可运行代码*/
void main()
{
int nYear=,nMonth=,nDate=,nHour=,nMinute=,nSecond=;
bool res = NextMinute(&nYear,&nMonth,&nDate,&nHour,&nMinute,&nSecond);
if(res)
printf(“The result:%d-%d-%d %d:%d:%d”,nYear,nMonth,nDate,nHour,nMinute,nSecond);
else
printf(“Input error!\n”);
}

转载者注:(对原文有部分修改)

C++笔试题(十)的更多相关文章

  1. C/C++ 笔试题

    /////转自http://blog.csdn.net/suxinpingtao51/article/details/8015147#userconsent# 微软亚洲技术中心的面试题!!! 1.进程 ...

  2. 嵌入式Linux C笔试题积累(转)

    http://blog.csdn.net/h_armony/article/details/6764811 1.   嵌入式系统中断服务子程序(ISR) 中断是嵌入式系统中重要的组成部分,这导致了很 ...

  3. C/C++笔试题(很多)

    微软亚洲技术中心的面试题!!! .进程和线程的差别. 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2 ...

  4. 笔试题引出float数据的存储方式的深究

    笔试题: #include <iostream>#include <stdio.h>#include <string.h>#include <conio.h& ...

  5. 剑指Offer——搜狐畅游笔试题+知识点总结

    剑指Offer--搜狐畅游笔试题+知识点总结 情景回顾 时间:2016.9.24 10:00-12:00 地点:山东省网络环境智能计算技术重点实验室 事件:搜狐畅游笔试   注意事项:要有大局观,该舍 ...

  6. 剑指Offer——小米+小红书笔试题+知识点总结

    剑指Offer--小米+小红书笔试题+知识点总结 情景回顾 时间:2016.9.23 19:00-21:00 2016.9.24 15:00-17:00 地点:山东省网络环境智能计算技术重点实验室 事 ...

  7. 剑指Offer——携程笔试题+知识点总结

    剑指Offer--携程笔试题+知识点总结 情景回顾 时间:2016.9.17 19:10-21:10 地点:山东省网络环境智能计算技术重点实验室 事件:携程笔试 总体来说,携程笔试内容与其它企业笔试题 ...

  8. C/C++笔试题(基础题)

    为了便于温故而知新,特于此整理 C/C++ 方面相关面试题.分享,共勉. (备注:各题的重要程度与先后顺序无关.不断更新中......欢迎补充) (1)分析下面程序的输出(* 与 -- 运算符优先级问 ...

  9. PHP工程师笔试题

    PHP工程师笔试题 提示:请将答案写在另外一张空白纸上,并在30分钟内完成. PHP 请写出include.require.include_once.require_noce的区别. include是 ...

  10. python最新笔试题

    这是笔者面试小十家公司后呕心沥血总结的一些笔试编程题~具体公司就不透露了.哎,说多了都是泪啊. 1.二分法查找: l = [1, 2, 3, 4, 5, 6, 7, 8, 9] find_num = ...

随机推荐

  1. elasticsearch学习网站

    elasticsearch学习网站 https://elasticsearch.cn/

  2. win10中显示wpcap.dll丢失的处理方式

    win10中显示wpcap.dll丢失的处理方式 学习了:https://jingyan.baidu.com/article/4f34706e30e673e387b56dd8.html 直接安装Win ...

  3. Solidworks如何将参考平面的图形投影到某曲面上

    1 画好草图,点击曲线-分割线   2 选择要投影的草图和被投影的面(那个球面),最后效果如下图所示   3 为了获取连续的轨迹,我们可以再次选择这个草图,然后在投影面中选择平面,最后得到的图形如下图 ...

  4. angular1.x 组件开发

    搜索框组件开发: 1.注册组件 app.js angular.module("myApp",[]) .component("nameSearch",{ temp ...

  5. Microsoft Dynamics CRM Server 2013软件安装要求

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveV9mMTIz/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/d ...

  6. Android Studio——gradle同步出错:MALFORMED

    Android Studio之前使用本地的gradle-2.10,而后创建新的工程总是报错,信息如下: Gradle sync failed: MALFORMED 而后在File->Projec ...

  7. ucgui界面设计演示样例2

    ucgui界面设计演示样例2 本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明. 环境: 主机:WIN8 开发环境:MDK4.72 ucgui版本号:3 ...

  8. poj3253 Fence Repair【哈夫曼树+优先队列】

    Description Farmer John wants to repair a small length of the fence around the pasture. He measures ...

  9. linux下DOS工具

    1.Hping3/Nping TCP/IP数据包生成工具,用于压力测试,安全审计 2.使用hping进行DOS攻击 命令:hping3 -c 10000 -d 120 -S -w 64 -p 80 - ...

  10. 3144: [Hnoi2013]切糕

    3144: [Hnoi2013]切糕 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 1526  Solved: 827[Submit][Status] ...