笔试题 2(超多的题,一小时内完成)
简答题:
1 写出float x 与 “零值”比较的if语句
2 用变量a给出下面的定义
a) 一个整型数
b) 一个指向整型数的指针
c) 一个指向指针的指针,它指向的指针是指向一个整型数
d) 一个有10个整型数的数组
e) 一个有10个指针的数组, 该指针是指向一个整型数的.
f) 一个指向有10个整型数数组的指针
g) 一个指向函数的指针, 该函数有一个整型参数并返回一个整型数。
h) 一个有10个指针的数组, 该指针指向一个函数, 该函数有一个型型参数并返回一个整型数
假设在32位CPU上,填空:
struct BBB {
long num;
char *name;
short int data;
char ha;
short ba[5];
}*p;
p = 0x1000000;
p + 0x200 = ?
(unsigned long *)p + 0x200 = ?
(char *)p + 0x200 = ?
下面这个程序执行后会有什么错误或者效果:
#define MAX 255
int main()
{
unsigned char i;
unsigned char A[MAX];
for (i = 0; i <= MAX; i++)
A[i] = i;
return 0;
}
下面这个程序有问题吗?如果有请修正.
#include <stdio.h>
int main(void)
{
int **p;
int arr[100];
p = &arr;
return 0;
}
下面这个程序有问题吗?如果有请修正.
#include string.h
void maine(void)
{
char *src = "hello,world";
char *dest = NULL;
dest = (char *)malloc(strlen(src));
int len = strlen(str);
char *d = dest;
char *s = src[len];
while (len-- != 0)
d++ = s--;
printf("%s", dest);
}
如何判断一段程序是由C编译程序还是由C++编译程序编译的?
关键字const有什么含意?
const int a;
int const a;
const int *a;
int * const a;
int const *a const;
new delete 与 malloc free的联系与区别?
struct 和 class的区别?
多态的作用?
当一个类A中没有声明任何成员变量与成员函数,这时sizeof(A)的值是多少?如果不是0,则解释编译器为什么没有让它为零?
列出linux常见打包工具并写出相应的解压缩参数(至少三种)
请解释这条语句的作用。 echo "1" > /proc/sys/net/ipv4/ip_forward
编写个shell脚本将当前目录下大于10K的文件转移到/tmp目录下
linux下如何改IP, hostname, DNS
linux进程间通信方式有几种?
如何在命令行查看一台linux机器的CPU, 内存, SWAP分区信息
init 0, init 1, init 3, init 5, init 6这几个启动级别都代表什么意思?
如何查看系统分区的容量使用情况? 如何查/var/log目录的使用容量并清理系统log垃圾?
网络编程中设计并发服务器,使用多进程与多线程,请问有什么区别?
简述TCP三次握手的过程
在TCP/IP中, 网络层和传输层之间的区别:
什么层提供点到点的事务, 而什么层提供端到端的事务。
简述TCP/IP网络层,并且列出你所熟悉的协议。
分别介绍一下网络协议, RTP, RTCP, RTSP, SIP, 并且详解ICMP的作用.
我们都知道, dns既采用了tcp协议, 又采用udp协议, 什么时候采用tcp协议?什么时候采用udp协议?为什么要这么设计?
类成员函数的重载,覆盖和隐藏的区别?
分析多重继承的内存分配问题, 比如有:class A : public class B, public class C{}
那么A的内存结构大致是怎么样的?
如何判断一个单链表是有环的?(注意不能用标志位, 最多只能用两个额外的指针)
面向对象的三个基本特征,并简单叙述之?
重载(overload)和重写(overwrited)的区别?
中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商集成一种扩展–让标准C支持中断
其代表事实是, 产生了一个新的关键字__interrupt
, 下面的代码就使用了__interrupt
关键字去定义了一个中断服务子程序(ISR), 请评论一下这段代码.
__interrupt double compute_area(double radius)
{
double area = PI * radius * radius;
printf("Area = %f", area);
return area;
}
尽管不像非嵌入式计算机那么常见,嵌入式系统还是从堆(heap)中动态分配内存的过程的。嵌入式系统中,动态分配内存可能发生的问题是什么?
完成字符串拷贝可以使用sprintf, strcpy及memcpy函数,请问这些函数有什么区别, 你喜欢使用哪一个, 为什么?
当用户在浏览器当中输入一个网站,说说计算机对dns解释经过那些流程?注: 本机跟本地dns还没有缓存.
网络地址172.16.22.38/27请写出此地址的子网ID以及广播地址, 此地址所处子网有多少台主机及可用主机数?
简述GTK, QT, GNOME和KDE的关系?
编写shell脚本获取本机的网络地址, 比如 本机的ip地址是: 192.168.100.2/255.255.255.0, 那么它的网络地址是192.168.100.1/255.255.255.0
VOIP都用了哪些协议?
已知String类定义如下:
class String
{
public:
String(const char *str = NULL);
String(const String &another);
~String();
String & operator = (const String &rhs);
private:
char *m_data;
}
尝试写出类的成员函数实现.
推荐阅读