15.
假设进行了如下的内存分配:
void* p = malloc(10);
那么,以下使用此内存区域的代码片段正确的是:
A.
int* pi = (int*) p; pi[0] = 100; pi[1] = 200; pi[2] = 300;
B.
double* pd = (double*)p; pd[0] = 3.14; pd[1] = 2.13;
C. strcpy(p, “abcdefghijklmn”); D. strcpy((char*)p, “abcdef”) ; 正确答案:D
16. 下列关于进程间通信不正确的是?
A. 共享内存是进程间通信最快的方式。
B. 在使用msgsnd发送消息时,如果消息队列满,则发送阻塞。 C. 无名管道的适用范围是父子进程。
D. 若此信号量的值为正,则进程可以使用资源。进程将信号量加1表示使用了资源。 正确答案:D
17. ( )不是队列的基本运算。
A. 在队列第i个元素之后插入一个元素 B. 从队头删除一个元素 C. 判断一个队列是否为空 D. 读取队头元素的值 正确答案:A
18. 显示s_emp表的first_name和first_name的后三个字母的SQL语句是?
A.
select first_name,substr(first_name,3,3) from s_emp
B.
select first_name,substring(first_name,3,3) from s_emp
C.
select first_name,substring(first_name,-3,3) from s_emp
D. select first_name,substr(first_name,-3,3) from s_emp 正确答案:D
19.
int fd = open(\ 请问是采用何种方式打开的a.txt?
A. 创建新文件,并且权限是666
B. 采用可读可写方式,如文件存在截断后打开,不存在新建权限为666的新文件 C. 可写方式,文件权限改为666
D. 只读方式,如文件存在截断后打开,不存在新建权限为666的新文件 正确答案:B
20. 以下不属于Linux阵营的Unix操作系统是?
A. Ubuntu B. Android C. AIX D. redhet 正确答案:C
21. 分配5个int的内存空间,并且全部清0的正确代码是?
A.
int* p = malloc(4); memset(p,0,4);
B.
int* p = malloc(4); memset(p,0,20);
C.
int* p = malloc(20); memset(p,0,20);
D.
int* p = malloc(20); memset(p,0,4); 正确答案:C
22.
查看如下代码:
time_t tt = time(0);
struct tm *time = localtime(&tt); printf(\(空白处) );
上述代码是显示当前日期的,在空白处需要填入一行代码是?
A. time.tm_year+1900,time.tm_mon+1,time.tm_mday B. time.tm_year,time.tm_mon,time.tm_mday C. time->tm_year,time->tm_mon,time->tm_mday D. time->tm_year+1900,time->tm_mon+1,time->tm_mday 正确答案:D
23. 关于排序,下列说法错误的是?
A. 排序的关键字是order by B. 升序是默认排序顺序 C. 降序的关键字是desc
D. 不能使用多字段排序 正确答案:D
24.
阅读如下代码:
DIR* dir = opendir(\);
if(dir==NULL)perror(\打开目录失败\),exit(-1); struct dirent* ent = readdir(dir); while(ent){
printf(\ %s\\n\, ent->d_type, ent->d_name); ent = readdir(dir); }
该代码实现的功能是?
A.
读取根目录的内容
B.
读取/root目录下所有内容
C.
读取根目录的所有子目录,不包含文件
D.
读取/root目录的所有子目录,不包含文件
正确答案:B
25. 处理共享库文件错误的函数是?
A. dlerror B. dlsym C. dlopen D. perror 正确答案:A
26. 如果想在代码中禁止使用const,可以采用的是?
A. #pragma GCC dependency const B. #pragma GCC poison const C. #pragma pack(2) D. #pragma GCC goto 正确答案:B
27.
int *i1 = malloc(20); char *s1 = malloc(20);
printf(\ 请问打印结果应该是:
A. 20,20 B. 1,1 C. 1,4 D. 4,4 正确答案:C
28.
关于动态库和静态库,下列说法错误的是?
A. 打包静态库用的是ar命令。 B. 打包共享库用的是gcc -share
C. 静态库和共享库都必须配置环境变量才能使用 D. .a文件是静态库, 而.so文件是共享库 正确答案:C
29. 阅读如下代码: int fd = open(\if(fd==-1)perror(\