linux及C试题含答案_精品文档.doc
《linux及C试题含答案_精品文档.doc》由会员分享,可在线阅读,更多相关《linux及C试题含答案_精品文档.doc(7页珍藏版)》请在冰豆网上搜索。
华清远见嵌入式学院《Linux及C》考试题(B卷)
一、选择题(23题,每空2分,共46分)
1.在使用mkdir命令创建新的目录时,在其父目录不存在时先创建父目录的选项(D)。
A.-m B.-d C.-f D.-p
2.任何时候用户需要回到用户主目录时可以使用命令 (A) 。
A. cd B. pwd C. path D. cd .
3.将当前目录下的文件shell.sh移动到目录/home/linux下的命令为(B) 。
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
4.下面(C)命令不能用来显示文件的内容。
[A]more[B]less[C]find[D]cat
5./etc/shadow文件中存放(B)。
A.用户账号基本信息B.用户口令的加密信息C.用户组信息D.文件系统信息
6.LINUX所有服务的启动脚本都存放在(B)目录中。
A./etc/rc.d/init.d B./etc/init.d C./etc/rc.d/rc D./etc/rc.d
7.若要将当前目录中的myfile.txt文件压缩成myfile.txt.tar.gz,则实现的命令为(C)。
A.tar-cvfmyfile.txtmyfile.txt.tar.gz B.tar-zcvfmyfile.txtmyfile.txt.tar.gz
C.tar-zcvfmyfile.txt.tar.gzmyfile.txt D.tar-cvfmyfile.txt.tar.gzmyfile.txt
8.以下程序的运行结果为(C)
#include
#include
intSubCount(char*dest,intcount)
{
strcpy(dest,"555");
count++;
return0;
}
intmain()
{
intcount=3;
charcaBuf[8];
SubCount(caBuf,count);
printf("%d\n",count);return0;
}
[A]8[B]4[C]3[D]5
9.下面的代码输出是(A)
void foo(void)
{
unsigned int a = 6; int b = -20;
(a+b > 6) ?
puts("> 6") :
puts("<= 6");
}
[A]> 6 [B]<= 6
10.C语言中,逻辑“真”等价于(C)。
[A]大于零的数[B]大于零的整数[C]非零的数[D]非零的整数
11.删除文件命令为(D)
A.mkdir B.move C.mv D.rm
12.假设文件fileA的符号链接为fileB,那么删除fileA后,下面的描述正确的是(D)。
[A].fileB也随之被删除
[B].因为fileB未被删除,所以fileA会被系统自动重新建立
[C].fileB会随fileA的删除而被系统自动删除
[D].fileB仍存在,但是属于无效文件
13.下面不是对Linux操作系统特点描述的是(B)。
[A]良好的可移植性[B]单用户[C]多用户[D]多任务
14.在C语言中,要求运算数必须是整型的运算符是(D)。
[A]/[B]++[C]!
=[D]%
15.下述程序的输出结果是(C)。
intmain(void)
{
intY=100;
while(Y--);
printf(“Y=%d”,Y);
}
[A]Y=0[B]Y=1[C]Y=-1[D]Y=随机数
16.目前流行的两种软件包管理机制,Debian使用(D)软件包,Redhat使用(B)软件包。
[A]tgz[B]rpm[C]tar[D]deb
17.在给定文件中查找与设定条件相符字符串的命令为(A)。
A.grep B.gzip C.find D.sort
18.刷新文件时间戳可以使用的命令为(D)。
A.chmod B.more C.ls D.touch
19.文件exer1的访问权限为744,现要取消文件所有者的执行权限,同时增加同组用的写权限,下列命令中正确的是(C)。
A.chmodu+xg+wexer1B.chmod646exer1
C.chmoda-xg+wexer1D.chmodg+wexer1
20.Linux终端执行temp=world;echohello$temp上述命令执行的结果为(C)。
[A].helloworld[B].hello$temp[C].helloworld[C].hello
21.在32位系统下小端系统,并4字节对齐的条件下,
unionu_union
{
unsignedintivar;
char cvar;
shortsvar;
}uu;
uu.ivar=0x12345678;
iu.cvar=(D);
A.0x12345678 B.0x5678 C.0x12 D.0x78
22./*pointerandfunction*/
main()
{
inta[50],n;
...........
fun(n,&a[9]);
...........
}
Whichisincorrect(D)
[A]voidfun(intm,intx[]); [B].voidfun(ints,inth[41]);
[C].voidfun(intp,int*s); [D].voidfun(intn,inta);
23.一位法官在审理一起盗窃案中,对涉及到的四名嫌疑犯甲、乙、丙、丁进行了审问。
四人分别供述如下:
甲说:
“罪犯在乙、丙、丁三人之中。
”
乙说:
“我没有做案,是丙偷的。
”
丙说:
“在甲和丁中间有一人是罪犯。
”
丁说:
“乙说的是事实。
”
经过充分的调查,证实这四人中有两人说了真话,另外两人说的是假话。
那么,请你对此案进行裁决,确认谁是罪犯?
(A)
[A]、乙和丁是盗窃犯 [B]、乙和丙是盗窃犯
[C]、乙是盗窃犯 [D]、甲和丁是盗窃犯
二、填空题(6题,每题2分,共12分)
1.管道就是将前一个命令的标准输出作为后一个命令的标准输入
2.make工程管理器根据(时间戳)来自动发现更新过的文件从而减少编译的工作量。
3.将命令“command”的标准输出重定向到文件“file”中的方法是 command>file。
4.GCC编译器中-S选项完成的工作是只激活预处理和编译,而不进行链接,生成汇编代码
5.在Linux下调试c程序时,在提示符(gdb)下输入b10表示将断点设置在第十行
6.给了一个结构体,
structA{
chara;
charb;
charc;
shortd;
inte;
shortf;
};
求sizeof(structA)=24
三.简答题(3题,每题4分,共12分)
1.什么是链接?
符号链接与硬链接的区别是什么?
链接是指用一个i节点对应多个文件名。
硬链接是把文件的i节点号指向该i节点,
且链接计数器值加1。
删除链接文件时计数器值减1,当其值为0时,i节点被释放。
符号链接是只有文件名的一个链接文件,并不指向一个真正的i节点。
在删除符号链接文件时与硬链接文件有区别。
2.配置Ubuntu主机上网简要操作步骤是什么?
1.修改/etc/network/interfaces配置文件
2.重启网络服务:
sudo/etc/init.d/networkingrestart
3.系统中的gcc软件太老了,我该怎么更新它?
1.sudoapt-getupdate
2.sudoapt-getinstall–reinstallgcc
四、编程题(3题,每题10分,共30分)
1.给定一个字符串“Ilovechina”,编写程序完成以单词为单位的逆序,如“chinalovei”,并要求允许使用第三方变量保存数据,但可以使用辅助变量指针等。
这道题主要考察字符串的遍历查找以及分类处理,首先确定算法,我们可以这样处理字符串:
1.将字符串整体导致:
“anihcevoli”
2.然后再次遍历字符串,将每个单词倒置:
“chinalovei”
确定完算法后就可以用程序进行操作了,以下是程序的实现过程:
#include
#defineN32
intswap(char*head,char*tail);
intmain()
{
charbuff[N];
char*head=buff,
*tail=buff;
//先讲尾指针定位到字符串尾部。
While(‘\0’!
=*tail)
tail++;