笔试题 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;
}

尝试写出类的成员函数实现.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值