|
1) 在 Linux 操作系统上,执行 $ ls a.c b.c 命令时,传递给这个 ls 进程 main 函
数的参数 argc 和 argv 值各是多少?
A) argc = 2; argv [] = {\"a.c\", \"b.c\"};
B) argc = 3; argv [] = {\"ls\", \"a.c\", \"b.c\"};
C) 抱歉,看不懂题目在说什么。
2) 在 Linux BASH Shell 中,执行 $ ls *.png 命令给出的结果如下:
$ ls *.png
1.png 2.png 3.png 4.png
请问系统为执行上述命令的 ls 进程之 main 函数的参数 argc 和 argv 传入了什么?
A) 和第一道题重复,懒得答!
B) argc = 2; argv [] = {\"ls\", \"*.png\"};
C) argc = 5; argv [] = {\"ls\", \"1.png\", \"2.png\", \"3.png\", \"4.png\"};
D) argc = 4; argv [] = {\"1.png\", \"2.png\", \"3.png\", \"4.png\"};
E) argc = 1; argv [] = {\"*.png\"};
3) 在 Linux C 程序中,希望执行某个特殊的程序 prog,该程序保存在 /opt/test 目
录下,则应该使用下面哪段程序最为合理及正确?
A)
system (\"prog\");
B)
if (fork ()) {
execl (\"/opt/test/prog\", \"my_prog\", NULL);
}
C)
if (fork () == 0) {
execl (\"/opt/test/prog\", \"prog\", NULL);
}
D)
execl (\"/opt/test/prog\", \"prog\", NULL);
4) 如下 C 语言语句:
enum Week{ Sun, Mon = 125, Tue, Wed, Thu = 140, Fri }
其中的 Sun, Mon, Tue, Fri 各是多少:
A) 0, 125, 2, 5
B) 1, 125, 2, 6
C) 0, 1, 2, 5
D) 0, 125, 126, 141
5) 在 vim 中,想撤消上一个编辑操作,应如何操作?
A) 没用过 vim,不知道。
B) 进入命令模式,按 u 键。
C) 进入命令模式,按 U 键。
D) 不管三七二十一,按 Ctrl+u 键。
6) 在 vim 中,以下对可视模式的描述,哪个(些)是正确的?
A) 我听说过命令模式、插入模式,没听说可视模式。
B) 在命令模式下按 V 键,可进入可视模式。
C) 可视模式可以帮助限定编辑命令的区域。
D) 如果在命令模式下按 Ctrl+V 键,可按列选中文字。
7) 在 vim 中,你想把一段文字转换为全部大写,应该如何操作?
A) 一个个删除,然后再插入被删除字母的大写。
B) 进入可视模式,选中需要转换的文字,然后按 U 键。
C) 移动光标到字母上,然后按 R 键,之后按对应的大写字母,然后一个个处理。
D) 没用过 vim。
8) 请看下面的目录项属性
drwxrwsr-x 7 snig team 4096 4月 8 19:34 minigui
这里的 s 属性有何作用?
A) 搞错了吧?没听说过 s 属性。
B) 如果目录有组 s 属性,则在其下新建立的目录项,将自动继承该目录的组属主信息。
C) 就是目录的可执行属性。
D) 如果目录有组 s 属性,则只有属于该目录属主组的成员才能进入该目录。
9) 请看下面的目录项属性
drwxrwsr-x 7 snig team 4096 4月 8 19:34 minigui
属性字段后的数字7 表示什么?4096 表示什么?
A) 7 表示 minigui 这个文件有 7 个目录项;4096 是这个文件的大小。
B) 7 表示 minigui 这个目录下 7 个目录项;4096 是这个目录的大小。
C) 7 表示 minigui 这个目录项有 7 个硬链接指向它;4096 是这个目录的大小。
D) 不知道。
10) 在 C 语言中,交换两个任意类型的变量的值,应该使用下面的哪种语句最好?
A) #define swap(x,y) x=y; y=x;
B) #define swap(x,y) {tmp=x; x=y; y=tmp;}
C)
#define swap(x,y) \\ { \\ typeof(x) tmp; \\ tmp = x; \\ x = y; \\ y = tmp; \\ };
D)
#define swap(type, x, y) \\ do { \\ type tmp; \\ tmp = x; \\ x = y; \\ y = tmp; \\ } while (0);
11) C 语言中,__FILE__ 表示什么?
A) 它是编译器预定义的宏,表示当前源文件名称,将被展开成字符串常量;
B) 它是编译器预定义的宏,表示当前源文件名称,将被展开成字符串变量;
12) C 语言中,__LINE__ 表示什么?
A) 它是编译器预定义的宏,表示当前源文件行号,将被展开成字符串常量;
B) 它是编译器预定义的宏,表示当前源文件行号,将被展开成字符串变量;
C) 它是编译器预定义的宏,表示当前源文件行号,将被展开成无符号整型变量;
D) 它是编译器预定义的宏,表示当前源文件行号,将被展开成无符号整型立即数;
13) C 语言中,你定义了一个整型数组 int a [10]。请问以下描述哪种正确:
A) a [-1] 没有意义,会在编译时出现错误。
B) a [-1] 可编译,但在运行时会出现错误。
C) a [-1] 有意义,是否出错看怎么用。
D) 不知道。
14) 有如下 C 语言代码,请问执行该代码的前后,a[10] 中的初始值和最终值各是
多少?
int a [10] = {5};
int b;
int main (void)
{
a [10] = 9;
b = 8;
return 0;
}
A) 0,9;
B) 5,9;
C) 0,8;
D) 程序根本有误。
15) 在 32 位系统上,定义如下结构,请问该结构类型有多大(字节数)?
struct MYSTRUCT {
char a [3];
int b;
short c;
};
A) 9
B) 10
C) 12
D) 具体结果看编译器以及编译选项。
16) 在 32 位小头系统上,int 型整数 0x11223344 在内存中是如何存放的?
A) 看不懂题目。
B) 0x11, 0x22, 0x33, 0x44
C) 0x22, 0x11, 0x44, 0x33
D) 0x44, 0x33, 0x22, 0x11
17) 请问下列程序中a 的输出结果是多少?
#define SQUARE(x) x * x
a = SQUARE(3 + 5);
printf(“a = %d\\n”, a );
A) 64
B) 23
C) 29
D) 43
18) 下面用于声明结构体别名的两种情况哪种更好?
1)#define dPS struct s *
2)typedef struct s * tPS;
及下面两个例子扩展结果各为什么?请选择。
dPS p1,p2;
tPS p3,p4;
A) 第1 种更好,struct s* p1, *p2; struct s *p3, *p4;
B) 第2 种更好,struct s* p1, *p2; struct s *p3, *p4;
C) 第1 种更好,struct s* p1, p2; struct s *p3, *p4;
D) 第2 种更好,struct s* p1, p2; struct s *p3, *p4;
19) 下列选项中在静态存储区域分配内存的是:____;在栈(stack)上分配内存的是:
____;在堆(heap)上分配内存的是:____。
A) 函数内局部变量
B) static 变量
C) 函数形参
D) malloc 或者new 申请的内存
E) 全局变量
F) 自动变量
20) 下面代码的输出结果为多少?
int main(void)
{
int a[5]={1,2,3,4,5};
int *ptr=(int *)(&a+1);
printf (\"%d, %d\",*(a+1),*(ptr-1));
return 0;
}
A) 2, 1
B) 2, 5
C) 2, 随机数 |
|