笔试题总结

1.关于进程与线程的描述?
1.进程是操作系统分配资源的单位,而线程是操作系统调度的最小单位。线程共享进程提供的资源
2.创建或撤销进程时,系统都要为之分配和回收资源
3.同一个进程的多个线程之间可以并发执行,进程之间同样可以并发。
4.线程是进程的一个执行单元
2.关于虚函数的描述
1.多态主要以两种形式,静态多态和动态多态,静态多态主要实现了函数重载和运算符重载。动态多态主要实现了虚函数。虚函数是动态联编,程序在运行的过程中确定调用哪一个函数。
虚函数的作用是实现了多态,不是继承性
3.linux下查看当前网络连接的命令
netstat
netstat 参数如下:
-a 显示所有socket,包括正在监听的。
-c 每隔1秒就重新显示一遍,直到用户中断它。
-i 显示所有网络接口的信息,格式同“ifconfig -e”。
-n 以网络IP地址代替名称,显示出网络连接情形。
-r 显示核心路由表,格式同“route -e”。
-t 显示TCP协议的连接情况。
-u 显示UDP协议的连接情况。
-v 显示正在进行的工作。
4.`下面这个程序执行后会有什么错误或者效果:

#include   <stdio.h> 
#define MAX 255  
int main() { 
unsigned char a[MAX],i;  
for(i=0;i<=MAX;i++) 
a[i]=i; 
for(i=0;i<=MAX;i++)  
printf("%d ",a[i]);  
}  

数组越界和死循环
unsigned char占 8位,范围是 0~255(00000000~11111111,八位); 当改成256后,虽说看似数组下标没越界,当i=255; i++ ;变成100000000 9位,所以舍掉了最高位,此时的i值又变成00000000了,即就是0,成了死循环
5.当待排序记录已经从小到大排序或者已经从大到小排序时,快速排序的执行时间最省的是堆排序。
6.下面程序段的运行结果是()

int main(int argc, char *argv[])
{
    char *s = "abcdefg";
    s += 2;
    fprintf(stderr, "%d\n", s);
    return 0;
}

字符”c”的地址
7.二维数组是默认的存储模式是行优先存储,也就是每行的数据都是连续的,而每列的数据是不连续的,所以按行访问更快。况且这是个长宽相等的方正。
8.请问在64位平台机器下sizeof(string_a),sizeof(string_b)大小分别是()
1.char string_a=(char )malloc(100*sizeof(char));
2.char string_b[100];

string_a是一个char型的指针,在64位系统中sizeof(char*)=8
string_b是一个char型的数组,在64位系统中sizeof(char)=1,共100值因此为100
9.有如下模板定义:

template
T fun(T x,T y){
return x*x+y*y;
}
在下列对fun的调用中,错误的是()
A.fun(1, 2)
B.fun(1.0, 2)
C.fun(2.0, 1.0)
D.fun(1, 2.0)
这里涉及到模板类型匹配时的类型转换
1>如果使用模板参数类型自动推断,那么参数类型转换只支持非const到const以及数组和函数指针到指针的抓换,因此B选项中1.0无法类型转换为int.
2>如果显式指定参数类型,即fun(1.3,2),则可以进行相应的类型转换,D正确
3>如果模板参数为非模板参数,即template void test(const T&,int i ),则参数i可以进行类型转换
10.a:整个四维数组的地址
*(a+i) = a[i]
*(a+i)+j = a[i] +j
*((a+i)+j) = a[i][j]
*((a+i)+j)+k = a[i][j]+k
( ((a+i)+j)+k ) = a[i][j][k]
( ((a+i)+j)+k )+l = a[i][j][k]+l

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值