一、选择题
1.常见的Linux发行版本有很多,下面不是Linux发行版本的是( )
A. Red Hat Linux
B. Ubuntu Linux
C.X Window
D.SuSE Linux
答案
2.下面不是对Linux操作系统特点描述的是( )
A.良好的可移植性
B.单用户
C.多用户
D.多任务
答案
3.查看创建目录命令mkdir的帮助文档,可以使用命令( )
A.mkdir –h
B.help mkdir
C.mkdir -p
D. man mkdir
答案
4.假设目录中存在若干文件file_num.txt(num表示文件编号,1~10),使用以下( )通配符可以挑选出其中的编号为1、2、3、4、5的文件
A. file_*.txt
B. flie_?.txt
C. file_[1-5].txt
D. file_[^135].txt
答案
5. 文件权限读、写、执行的三种标志符号依次是( )
A rwx
B xrw
C rdx
D srw
答案
6.在C语言中,要求运算数必须是整型的运算符是( )
A. /
B. ++
C. !=
D. %
答案
7. 若二维数组a有m列,则在a[i][j]前面的元素个数为 ( )
A、 j*m+i
B、i*m+j
C、i*m+j-1
D、 i*m+j+1
答案
8.执行下面语句后的输出结果为( )
int i = -1;
if (i < =0)
printf(“****\n”);
i = 2;
else
printf(“%%%%\n”); 分值2分
A. ****
B. %%
C. %%%%
D.有语法错误。不能正确执行
答案
9. pwd命令功能是什么? ( )
A. 设置用户的口令
B. 显示用户的口令
C. 显示当前目录的绝对路径
D. 查看当前目录的文件
答案
10. 在给定文件中查找与设定条件相符字符串的命令为( )
A.grep
B.gzip
C.find
D.sort
答案
11. 若/*pointer and function */
main()
{
int a[100],n;
...........
fun(n,&a[10]);
...........
}
Which is incorrect 不正确的是 (
A. void fun(int m,int x[]);
B. void fun(int s,int h[41]) ;
C.void fun(int s,int *p) ;
D.void fun(int s,int a) ;
答案
12.下述程序的输出结果是( )
int main(void)
{
int Y=100;
while(Y--);
printf(“Y=%d”,Y);
}
A.Y=0
B.Y=1
C.Y=-1
D.Y=随机数
答案
13.结构体DATA定义如下,则sizeof(struct DATA)的值为( )
struct DATA
{
char c1;
char c2;
int i;
};
A.6
B. 8
C.12
D.16
答案
14. 下面的程序运行结果为( )
char *RetMenory(void)
{
char p[] = “hello world”;
return p;
}
void Test(void)
{
char *str = NULL;
str = RetMemory();
puts(str);
}
A.语法有错误,不能编译
B. hello world
C.结果不可预知
D.hello world+乱码
答案
15.以下程序的功能是将字符串s中所有的字符c删除,那么空白处缺少的语句为:( )
#include <stdio.h>
int main(void)
{
char s[80] ;
int i, j ;
gets(s) ;
for ( i = j = 0 ; s [i] != ‘\0’ ; i++ )
if ( s [i] != ‘c’ )
( );
s [ j ] = ‘\0’ ;
puts ( s ) ;
return 0 ;
} 分值2分
A.s [ j++] = s [ i ]
B.s [ ++j ] = s [ i ]
C.s [ j ] = s [ i ]; j++
D.s [ j ] = s [ i ]
答案
16. 将当前目录下的文件shell.sh移动到目录/home/linux下的命令为( )
A.cp shell.sh /home/linux
B. mv shell.sh /home/linux
C. ls shell.sh / home/linux/she ll.sh
D. mv /root/shell.sh /home/linux/shell.sh
答案
17.若要将当前目录中的myfile.txt文件压缩成myfile.txt.tar.gz,则实现的命令为( )
A.tar -cvf myfile.txt myfile.txt.tar.gz
B.tar -zcvf myfile.txt myfile.txt.tar.gz
C.tar -zcvf myfile.txt.tar.gz myfile.txt
D.tar -cvf myfile.txt.tar.gz myfile.txt
答案
18. 以下关于字符串的叙述中正确的是( )
A.空串比空格打头的字符串小
B.两个字符串中的字符个数相同时才能进行字符串大小的比较
C.可以用关系运算符对字符串的大小进行比较
D.C语言中有字符串类型的常量和变量
答案
19.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是( )
A. extern
B. register
C. auto
D. static
答案
20.假设文件fileA的符号链接为fileB,那么删除fileA后,下面的描述正确的是( )
A].fileB也随之被删除
B].因为fileB未被删除,所以fileA会被系统自动重新建立
C].fileB会随fileA的删除而被系统自动删除
D].fileB仍存在,但是属于无效文件
答案
21.以下程序的运行结果为( )
#include <stdio.h>
#include <string.h>
int SubCount(char *dest, int count)
{
strcpy(dest,"hello");
count++;
return 0;
}
int main()
{
int count = 5;
char buf[32];
SubCount(buf,count);
printf("%d\n",count);
return 0;
}
A.8
B.4
C.3
D.5
答案
22./* Address */
a = (unsigned int *)0x800;
b= a+1;
A. 0x800
B. 0x801
C. 0x802
D. 0x804
答案
23.若要通过位运算使整型变量a中的第4位置1,以下选项正确的是( )
A.a=a&3
B.a=a|(1 << 3)
C.a=a&(~(1 << 3))
D.a=a&4
答案
24. C语言中,逻辑“真”等价于( )
A.大于零的数
B. 大于零的整数
C. 非零的数
D.非零的整数
答案
25. Linux终端执行temp=world;echo hello $temp 上述命令执行的结果为( )
A . helloworld
B. hello$temp
C. hello world
D. hello
答案
二、简答题
1. 条件“2 < x < 3或x < -10”的C语言表达式为( )
答案
2. make工程管理器根据( )来自动发现更新过的文件从而减少编译的工作量
答案
3.将命令“pwd”的标准输出重定向到文件“file”中的方法是( )
答案
4. 在32位操作系统中给了一个结构体,
struct A{
char a ;
char b ;
char c ;
short d;
int e;
short f;
};
求sizeof(struct A) =
答案
5. gcc的编译步骤按先后顺序分别为(只写步骤)
答案
6. 若有以下输入(<CR>代表回车换行符),则下面程序的运行结果为( )
int main(void)
{
int a[3][4] = {1,2,3,4,5,6,7,8,9,10,11,12};
int (*p)[4], i, j;
p = a;
scanf(“%d,%d”,&i,&j);
printf(“%d\n”, *(*(p+i)+j));
return 0;
}
答案
三、问答题
1.现在有一个简单的工程项目,由main.c fun.c 和fun.h三个文件组成。其中main.c中包含主函数和fun.h的头文件,fun.c中为功能函数的实现,fun.h中为fun.c中功能函数的声明 。请写一个makefile实现这几个文件的编译。
答案
四、编程题
1.编写一个shell脚本完成如下功能:
在家目录下创建文件夹filer
遍历当前文件夹下的文件,如果是普通文件则放入创建的filer中
打印出放入filer文件夹中的文件数目。
答案
2. 下面findmax函数将计算数组中的最大元素及其下标值,请编写该函数
#include <stdio.h>
void findmax ( int s[ ], int t, int *k )
{
}
int main (void)
{
int a[10] = {12, 23, 34, 45, 56, 67, 78, 89, 11, 22}, k;
findmax ( a, 10, &k );
printf ( “ 最大元素为:%d, 其下标值为:%d\n”, a[k], k );
return 0;
}
答案
3. 创建一个结构体数组,数组名为book,结构体成员包含编号,书名,售价(数据类型自己设定)。写一个函数,包含两个形参,分别接收结构体数组的首地址和一个指定的售价,函数的功能为打印结构体数组中售价大于指定售价的书的信息。
答案