最新Linux及C考试题附答案.docx
《最新Linux及C考试题附答案.docx》由会员分享,可在线阅读,更多相关《最新Linux及C考试题附答案.docx(12页珍藏版)》请在冰豆网上搜索。
最新Linux及C考试题附答案
华清远见嵌入式学院《Linux及C》考试题(A卷)
1-5CBCDB
6-10DBADD
11-15CCCAA
16-20CADDCDA
21-23DBA
一、选择题(23题,每空2分,共46分)
1.常见的Linux发行版本有很多,下面不是Linux发行版本的是(C)。
[A]RedHatLinux[B]UbuntuLinux[C]unix[D]红旗
2.下面不是对Linux操作系统特点描述的是(B)。
[A]良好的可移植性[B]稳定性低[C]多用户[D]多任务
3.嵌套创建目录的命令可以使用(C)。
[A]mkdir–h[B]helpmkdir[C]mkdir-p[D]manmkdir
4.假设目录中存在若干文件file_num.txt(num表示文件编号,1~8),使用以下(D)通配符可以挑选出其中的编号为1、2、3、5、6、7的文件。
[A]file_*.txt[B]flie_?
.txt[C]file_[1-7].txt[D]file_[^48].txt
5.文件权限r-x-w-r--对应的八进制表示形式为(B)
[A]0536[B]0524[C]0656[D]0534
6.目前流行的两种软件包管理机制,Debian使用(D)软件包。
[A]zip[B]rpm[C]tar[D]deb
7.下述程序第二次的输出结果为(B)。
intmain(void)
{
extern int a;
int b=0;
staticint c;
a+=3;
other();
b+=3;
other();
}
int a=5;
other()
{
int b=3;
static int c=2;
a+=5;b+=5;c+=5;
printf("%d,%d,%d\n",a,b,c);
c=b;
}
[A]13,0,13[B]18,8,13[C]13,8,13[D]18,8,0
8.C语言程序的三种基本程序是(A)。
[A]顺序结构,选择结构,循环结构
[B]递归结构,循环结构,转移结构
[C]嵌套结构,递归结构,顺序结构
[D]循环结构,转移结构,顺序结构
9.执行下面语句后的输出结果为(D)。
inti=-1;
if(i<=0)
{}
printf(“****\n”);
i=2;
else
printf(“%%%%\n”);
[A]乱码[B]%%[C]%%%%[D]有语法错误,不能正确执行
10.在C语言中,要求运算数必须是整型的运算符是(D)。
[A]/[B]++[C]!
=[D]%
11.下面的程序运行结果为(C)。
char*RetMenory(void)
{
charp[]=“helloworld”;
returnp;
}
voidTest(void)
{
char*str=NULL;
str=RetMemory();
puts(str);
}
[A]语法有错误,不能编译[B]helloworld[C]结果不可预知[D]helloworld+乱码
12.下述程序的输出结果是(C)。
intmain(void)
{
intY=100;
while(Y--);
printf(“Y=%d”,Y);
}
[A]Y=0[B]Y=1[C]Y=-1[D]Y=随机数
13.结构体DATA定义如下,则sizeof(structDATA)的值为(C)。
structDATA
{
floatf1;
inti;
charc2;
};
[A]6[B]8[C]12[D]16
14.以下程序的功能是将字符串s中所有的字符c删除,那么空白处缺少的语句为:
(A)。
#include
intmain(void)
{
chars[80] ;abdabd\0
inti,j ;s[2]=s[3]=‘d’
gets(s) ;
for(i=j=0 ;s[i] !
=‘\0’ ;i++)
{
if(s[i] !
=‘c’)
S[j++]=s[i];
}
s[j]=‘\0’ ;
puts(s) ;
return0 ;
}
[A]s[j++]=s[i][B]s[++j]=s[i]
[C]s[j]=s[i];j++[D]s[j]=s[i]
15.下面函数的功能是(A)。
intfun(char*x)
{
char*y=x;
while(*y++);
return(y-x-1);
}
[A]求字符串的长度
[B]比较两个字符串的大小
[C]将字符串x复制到字符串y
[D]将字符串x连接到字符串y后面
16./*Address*/
unsignedshort*a=(unsignedshort*)0x800;
unsignedshort*b=a+1;
b=?
(C)
[A]0x800[B]0x801[C]0x802[D]0x804
17.下面程序的功能是将已按升序排好序的两个字符串a和b中的字符,按升序归并到字符串c中,请为程序中的空白处选择适当的语句。
#include
intmain(void)
{
chara[]=“acegikm”;
charb[]=“bdfhjlnpq”;
charc[80],*p;
inti=0,j=0,k=0;
while(a[i]!
=’\0’&&b[j]!
=‘\0’)
{
if(a[i]
else{(②)}D
k++;
}
c[k]=‘\0’;
if(③)p=b+j;D
elsep=a+i;
strcat(c,p);
puts(c);
}
①[A]c[k]=a[i];i++;[B]c[k]=b[j];i++;
[C]c[k]=a[i];j++;[D]c[k]=a[j];j++;
②[A]c[k]=a[i];i++;[B]c[k]=b[j];i++;
[C]c[k]=a[i];j++;[D]c[k]=b[j];j++;
③[A]a[i]=‘\0’[B]a[i]!
=‘\0’
[C]b[j]=‘\0’[D]b[j]!
=‘\0’
18.若要将当前目录中的myfile.txt文件压缩成myfile.txt.tar.gz,则实现的命令为(C)。
[A]tar-cvfmyfile.txtmyfile.txt.tar.gz[B]tar-cjfmyfile.txtmyfile.txt.tar.gz
[C]tar-czfmyfile.txt.tar.gzmyfile.txt[D]tar-cxfmyfile.txt.tar.gzmyfile.txt
19.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是(D)。
[A]extern[B]register[C]auto[D]static
20.下面的代码输出是(A)
void foo(void)
{
unsigned int a = 6;
int b = -20;
(a+b > 6) ?
puts("> 6") :
puts("<= 6");
}
[A]> 6[B]<= 6
21.假设文件fileA的符号链接为fileB,那么删除fileA后,下面的描述正确的是(D)。
[A].fileB没有任何影响
[B].因为fileB未被删除,所以fileA会被系统自动重新建立
[C].fileB会随fileA的删除而被系统自动删除
[D].fileB仍存在,但是属于无效文件
22.以下程序的运行结果为(B)
voidsub(intx,inty,int*z)
{
*z=y–x ;
}
intmain(void)
{
inta,b,c ;
sub(10,5,&a) ;
sub(7,a,&b) ;
sub(a,b,&c) ;
printf(“%4d,%4d, %4d\n”,a,b,c);
}
[A]5,2,3[B]-5,-12,-7[C]-5,-12,-17[D]5,-2,-7
23、一位法官在审理一起盗窃案中,对涉及到的四名嫌疑犯甲、乙、丙、丁进行了审问。
四人供述如下:
甲说:
“罪犯在乙、丙、丁三人之中。
”
乙说:
“我没有做案,是丙偷的。
”
丙说:
“在甲和丁中间有一人是罪犯。
”
丁说:
“乙说的是事实。
”
经过充分的调查,证实这四人中有两人说了真话,另外两人说的是假话。
那么,请你对此案进行裁决,确认谁是罪犯?
(A)
[A]、乙和丁是盗窃犯[B]、乙和丙是盗窃犯
[C]、乙是盗窃犯[D]、甲和丁是盗窃犯
二、填空题(每空2分,共14分)
1.对文件file创建一个符号链接link(ln–sfilelink)。
2.若有以下定义和语句,则*p[0]引用的是a数组元素中的(a[0]),*(p[1]+1)引用的是a数组元素中的(a[3])。
int*p[3],a[6],i;
for(i=0;i<3;i++)p[i]=&a[2*i];
3.若有以下输入(代表回车换行符),则下面程序的运行结果为(7)。
1,2
intmain(void)
{
inta[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));
return0;
}