笔试题一

递归终会结束,那么该函数一定?
2有一个分支不调用自身
3使用了全局变量或使用一个或多个参数

局部静态变量或异常(如内存空间不足,除零异常)也可让递归终止,故选2
——————/
使用shortest remaining time调度机制(减少进程切换)可减少换页错误(缺页异常)
——————/
class A
{
public:
	A()
	{
		cout<<"A"<<endl;
	}
	~A()
	{
		cout<<"~A"<<endl;
	}
};

class B
{
public:
	B(A&a):_a(a)
	{
		cout<<"B"<<endl;
	}
	~B()
	{
		cout<<"~B"<<endl;
	}
private:
	A _a;	
};

int main()
{
	A a;
	B b(a);
	return 0;
}
若改为B(A&a),结果AAB~B ~A~A
本题结果AB~B ~A~A
——————/
int main()
{
	int*p=(int*)0x1000;
	int*q=(int*)0x2000;
	printf("%d\n",p-q);
	return 0;
}
结果:-0x1000/4= -1024
——————/
不能重载的运算符是. :: ?: sizeof
——————/
运算对象必须是整型的运算符是:% //错选成==
——————/
struct person
{
	char name[9];
	int age;
};
struct person cls[10]={
	"john",17,"paul",19,"mary",18,"adam",16 };
——————/
快速排序、希尔排序、堆排序、选择排序 不稳定,其它均稳定
——————/
下列四种排序中(快速)空间复杂度最大:
快速、希尔、堆、冒泡
——————/
已知二叉树后序遍历序列是bfegcda,中序遍历序列badefcg,问前序遍历序列是:abdcefg
——————/
char c=128; printf("%d\n",c); //-取反加1=-128
——————/
main函数执行前会做什么?
①设置栈指针
②初始化static和global变量,即data段
②将未初始化的全局变量赋初值:数值型short,int,long等为0,bool为FALSE,指针为NULL等,即.bss段
④将argc,argv传给main并调用
——————/
注册main退出后执行的代码
void fn()
{
	cout<<"hello world"<<endl;
}

int main()
{
	atexit(fn);
	return 0;
}
——————/递归求n阶层
int fun(int n)
{
	if(n==1||n==0)
  		return 1;
 	else 
  		return n*fun(n-1);
}

int main()
{
	cout<<fun(4)<<endl;
	return 0;
}
——————/
平均时间复杂度最差的排序是:选择排序O(n^2)
——————/
结构化方法中,用数据流程图(DFD)作为描述工具的软件开发阶段是?
软件开发阶段包括需求分析、总体设计、详细设计、编码和测试五个阶段,其中需求分析阶段常用工具是数据流程图和数据字典。
——————/
数据库系统一般由数据库、数据库管理系统(DBMS)、应用系统、数据库管理员和用户构成。DBMS是数据库系统的基础和核心。
外模式是用户模式
c规定各函数间,即允许直接递归调用,也允许间接递归调用
c中不正确的int类型常数是32768 //2^15-1=32767
结构化程序设计主要强调的是 程序的易读性
关系表中的每一横行称为一个 元组
用树形结构来表示实体之间联系的模型称为 层次模型
关系数据库管理系统能实现的专门关系运算包括 选择、投影、连接
希尔排序属于插入类型的排序法
——————/
不能够从循环体中跳到循环体外的关键字是:continue
int main()
{
	for(int i=0;i<5;i++)
	{
		goto sym;
		cout<<"hello"<<endl;
	}
sym:
	cout<<"world"<<endl;
	return 0;
}
输出:world
——————/
c中构造类型有以下几种:数组类型、结构体类型、共用体类型(枚举类型不是)
算法五个特性:有穷性、确切性、输入(0(有初始条件)或多个)、输出、可行性
a以附加方式打开只写文件,若不存在则新建,如存在则写入数据加到文件尾
fopen打开失败,返回NULL,并将错误代码存于errno
最坏情况下比较次数最少的排序是堆排序
数据库应用系统中的核心问题是:数据库系统设计
——————/
运算结果类型:
int main()
{
	char w;  int x;  float y,z;
	cout<<typeid(w*x+z-y).name()<<endl;
	return 0;
}  //float
——————/
printf("%d\n",i+++++i);  //语法错误
printf("%d\n",i+++(++i));  //5+7=12
——————/
printf("ab_\b\b_c");  //输出a_c
——————/
int main()
{
	double x,y;
	x=1;  y=x+3/2;
	cout<<y<<endl;  //2
	printf("%f\n",y);  //2.000000或2.0
	return 0;
}
3/2=1(3.0/2=1.5)
——————/
int y=3,x=3,z=1;
printf("%d %d\n",(++x,y++),z+2);  //3 3
——————/
#define a 121
const int b=12;
enum c{a1,a2};

int main()
{
	cout<<sizeof(a)<<sizeof(b)<<sizeof(c)<<endl;
	return 0;
}
结果:444
因121是整型常量,故sizeof(a)等价sizeof(int)
sizeof(c)同理
——————/
printf("%f\n",(2+4)/2);
printf("%f\n",(float)(2+4)/2);
结果:0.000000 3.000000
——————/
int main()
{
	int a[5]={2,4,6,8,10};
	int*p=a,**q=&p;
	printf("%d\n",*(p++));
	printf("%d",**q);
	return 0;
}  //2  4
——————/
if(i++==1&&(++j==3||k++==3))
	printf("%d%d%d\n",i,j,k);  //233
——————/
char s[8];  s={"beijing"};  //错误
——————/
int a[3][3]={1,2,3,4,5,6,7,8,9};
int(*ptr)[3]=a,*p=a[0];
能正确表示数组元素a[1][2]的表达式是*(*(a+1)+2)

a类型是int(*)[3],即指向int[3]数组的指针
p[i]等价于*(p+i)
int(*ptr)[3]=a导致ptr与a效果同
a[1][2]=*(a[1]+2)=*(*(a+1)+2)
——————/
double x,y,*px,*py;
px=&x; py=&y;
scanf("%f%f",&x,&y);
输入1.1 2.2结果5.26769e-315 5.30913e-315
scanf("%lf%lf",px,py); //ok
——————/
fopen以w打开,文件长度清0,若不存在则新建
float x=1234.6789;
printf("%2.1f",x); //1234.7
——————/
定义宏,算出n月份的天数
答案:#define DAYS_OF_MONTH(N) ((((N)%2)==1)?31:30)
——————/
inverse the bit2:
答案:a^(0x4)
——————/
void e(int n)
{
	if(n<3)
	{
		e(++n);
		cout<<n<<endl;
		e(++n);
	}
}

int main()
{
	e(0);
	return 0;
}
答案:3 2 1 3
——————/
void(*fun[6])();  //定义函数指针数组 

void call(int N)
{
	fun[N]();	//据N调相应函数 
}

int main()
{
	fun[0]=fun0;  //初始化函数指针数组 
	......; 
	call(0);
	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值