电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

软通动力笔试

软通动力笔试_第1页
1/5
软通动力笔试_第2页
2/5
软通动力笔试_第3页
3/5
答案仅供参考一、改错题1. 找出以下两处逻辑错误(非编程法律规范)并改正 char* getErrorString(int errcode){char errorString[] = "not exist"; char errorString2[] = "not available";switch(errcode) { case 1: return errorString; case 2: return errorString2; default: return NULL;}}void printErrorString(int errcode){char *errorString = getErrorString(errcode);printf("errcode:%d, errorString:%s\n", errcode, errorString); }case1 和 case2 返回了两个局部变量指针,而局部变量在函数结束后将自动释放。改正:将字符数组改为指针 char *errorString= "not exist"; char *errorString2 = "not available";2. 以下是输出“welcome home”的程序,找出逻辑错误(非编程法律规范)并改正 const int MAX_STR_SIZE = 12; int main(int argc, char *argv[]) { char str[MAX_STR_SIZE]; strcpy(str,"welcome home"); printf("%s", str);return 0; } “welcome home”字符串应该是 13 个字节,而 str 字符数组只能存储 12 个字符 改正: const int MAX_STR_SIZE = 13;二、程序填空题1. 写出 String 类的构造函数,析构函数和赋值函数 class String{public:String(const char *str = NULL);String(const String &other);~String();String& operator =(const String &other);private:char *m_data;};String::~String(){(1)delete [] m_data;}String::String(const char *str){if( (2)str==NULL ) {m_data = (3)new char;*m_data = 0;}else {int length = (4)strlen(str);m_data = new char[length+1];strcpy(m_data, str);}}String& String::operator =(const String &other){if( (5) this == other) {return (6)*this;}(7) delete [] m_data;int length = strlen( (8)other );m_data = new char[length+1];(9)strcpy(m_data,return (10)*this;}2. 一个计算到指定年份有多少个“黑色星期五”(当月的13号并且是星期五)的程序,具体忘了。三、编程题1. 实现以下函数,把给定string中的‘[’和‘]’替换成‘(’和‘)’std::string replace(std::string &str){ for(int i = 0; i < ();i++) { if(str[i]=='[') { str[i]='('; } if(str[i]==']') { str[i]=')'; }} return str;}2. 实现函数,使数字num按B进制输出int main(int argc, char *argv[]){long num = 134;int B = 8;func(num, B);return 0;}例如134按2进制输出,按8进制输出206,按十六进制输出86void func(long num,int B){ int a[100] ={0}; int count=0; while(num>0) { a[count++]=num%B; //保存余数 num=num/B; } for(int i = count - 1; i >=0; i--) //逆序输出 { if(a[i]>=10)//十六进制要特别处理 { printf("%c",'A'+a[i]-10); } else { printf("%d",a[i]); } }printf("\n");}

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

软通动力笔试

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部