腾讯2014校招研发工程师笔试卷
1.typedef char *String_t; 和#define String_d char * 这两句在使用上有什么区别?
2.给定一个字符串,求出其最长的重复子串。
3.已知rand7()可以产生1~7的7个数(均匀概率),利用rand7() 产 生 rand10() 1~10(均匀概率)。
4.下面程序的输出结果为多少?
void Func(char str_arg[2])
{
int m = sizeof(str_arg); //指针的大小为4
int n = strlen(str_arg); //对数组求长度,str_arg 后面的那个2没有任何意义,数组已经退化为指针了
printf(""%d\n"",m);
printf(""%d\n"",n);
}
int main(void)
{
char str[]=""Hello"";
Func(str);
}
5.不能做switch()的参数类型是:
6.static有什么用途?(请至少说明两种)
7.描述实时系统的基本特性
8.引用与指针有什么区别?
9.IP地址的编码分为哪俩部分?
10.Internet采用哪种网络协议?该协议的主要层次结构?
11.写出float x 与“零值”比较的if语句。
12.什么是平衡二叉树?
13.什么函数不能声明为虚函数?
14.堆栈溢出一般是由什么原因导致的?
15.Internet物理地址和IP地址转换采用什么协议?
16.全局变量和局部变量在内存中是否有区别?如果有,是什么区别?
17.从程序健壮性进行分析,下面的 FillUserInfo 函数和 main 函数分别存在什么问题?
#define MAX_NAME_LEN 20
struct USERINFO
{
int nAge;
char szName[MAX_NAME_LEN];
};
void FillUserInfo(USERINFO *parUserInfo)
{
stu::cout << ""请输入用户的个数:"";
int nCount = 0;
std::cin >> nCount;
for (int i = 0; i < nCount; i++)
{
std::cout << ""请输入年龄:"";
std::cin >> parUserInfo[i]->nAge;
std::string strName;
std::cout << ""请输入姓名:"";
std::cin >> strName;
strcpy(parUserInfo[i].szName, strName.c_str());
}
}
int main(int argc, char *argv[])
{
USERINFO arUserInfos[100] = {0};
FillUserInfo(arUserInfos);
printf(""The first name is:"");
printf(arUserInfos[0].szName);
printf(""\n"");
return 0;
}
18.do……while和while……do有什么区别?
19.局部变量能否和全局变量重名?
20.static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?21.请写出下列代码的输出内容
int main() {
int a, b, c, d;
a = 10;
b = a++;
c = ++a;
d = 10 * a++;
printf(""b,c,d:%d,%d,%d"",b,c,d);
return 0;
}
22.语句for( ;1;)有什么问题?它是什么意思?
23.如何引用一个已经定义过的全局变量?
24.请找出下面代码中的所有错误
,说明:
以下代码是把一个字符串倒序,如“abcd”倒序后变为“dcba” #include""string.h""
main()
{
char*src=""hello,world"";
char* dest=NULL;
int len=strlen(src);
dest=(char*)malloc(len);
char* d=dest;
char* s=src[len];
while(len--!=0)
d++=s--;
printf(""%s"",dest);
return 0;
}
25.队列和栈有什么区别?
26.全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?
参考答案:https://download.csdn.net/download/weixin_39813541/11151700