华清远见嵌入式学院《Linux及C》考试题(A卷)
1-5 CBCDB 6-10 DBADD 11-15 CCCAA 16-20 C ADD C D A 21-23 DBA
一、选择题(23题,每空2分,共46分)
1. 常见的Linux发行版本有很多,下面不是Linux发行版本的是( C)。
[A] Red Hat Linux [B] Ubuntu Linux [C] unix [D] 红旗
2. 下面不是对Linux操作系统特点描述的是( B )。
[A] 良好的可移植性 [B] 稳定性低 [C] 多用户 [D] 多任务
3. 嵌套创建目录的命令可以使用( C )。
[A] mkdir –h [B] help mkdir [C] mkdir -p [D] man mkdir
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 )。
int main(void) { extern int a; int b=0; static int 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(\ 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 )。
int i = -1;
{}
printf(“****\\n”); i = 2;
else
printf(“%%%%\\n”);
[A] 乱码 [B] %% [C] %%%% [D] 有语法错误,不能正确执行
10. 在C语言中,要求运算数必须是整型的运算符是( D )。
[A] / [B] ++ [C] != [D] %
11. 下面的程序运行结果为( C )。 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+乱码
12. 下述程序的输出结果是( C )。
if (i < =0)
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)的值为( C )。
struct DATA {
float f1; int i; char c2; };
[A] 6 [B] 8 [C] 12 [D] 16
14. 以下程序的功能是将字符串s中所有的字符c删除,那么空白处缺少的语句为:( A )。
#include
char s[80] ; abd abd\\0 int i, j ; s[2] = s[3] = ‘d’ gets(s) ;
for ( i = j = 0 ; s [i] != ‘\\0’ ; i++ )
if ( s [i] != ‘c’ )
S[j++] = s[i] ; { } }
[A] s [ j++] = s [ i ] [C] s [ j ] = s [ i ]; j++
15. 下面函数的功能是( A )。
int fun (char*x) {
char*y=x;
[B] s [ ++j ] = s [ i ] [D] s [ j ] = s [ i ]
s [ j ] = ‘\\0’ ; puts ( s ) ; return 0 ;
while(*y++); return(y-x-1); }
[A] 求字符串的长度 [B] 比较两个字符串的大小 [C] 将字符串x复制到字符串y [D] 将字符串x连接到字符串y后面
16. /* Address */
unsigned short *a = (unsigned short *)0x800; unsigned short *b= a+1; b = ? ( C )
[A] 0x800 [B] 0x801 [C] 0x802 [D] 0x804
17. 下面程序的功能是将已按升序排好序的两个字符串a和b中的字符,按升序归并到字符串c中,请为程序
中的空白处选择适当的语句。
}
[B] c[k] = b[j]; i++; [D] c[k] = a[j]; j++; [B] c[k] = b[j]; i++;
[D] c[k] = b[j]; j++;
while( a[i] != ’\\0’ && b[j] != ‘\\0’ ) { }
c[k] = ‘\\0’;
if ( ③ ) p = b + j; else p = a + i; strcat ( c , p ); puts ( c );
D
if ( a[i] < b[j] ) { ( ① ) } A else { ( ② ) } k++;
D
#include
char a[ ] = “acegikm”; char b[ ] = “bdfhjln pq”; char c[80], *p; int i = 0, j= 0, k = 0;
① [A] c[k] = a[i]; i++; [C] c[k] = a[i]; j++;
② [A] c[k] = a[i]; i++; [C] c[k] = a[i]; 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 -cvf myfile.txt myfile.txt.tar.gz [C] tar -czf myfile.txt.tar.gz myfile.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(\
} [A] > 6
21. 假设文件fileA的符号链接为fileB,那么删除fileA后,下面的描述正确的是( D )。
[A].fileB没有任何影响
[B].因为fileB未被删除,所以fileA会被系统自动重新建立 [C].fileB会随fileA的删除而被系统自动删除 [D].fileB仍存在,但是属于无效文件
22. 以下程序的运行结果为( B )
void sub(int x, int y, int *z)
{
*z = y – x ; }
int main(void)
{ }
int a,b,c ; sub(10, 5, &a) ; sub(7, a, &b) ; sub(a, b, &c) ;
printf( “M,M, M\\n”,a,b,c);
[B] <= 6
{
[B] tar -cjf myfile.txt myfile.txt.tar.gz [D] tar -cxf myfile.txt.tar.gz myfile.txt
[A] 5, 2, 3 [B] -5, -12, -7 [C] -5, -12, -17 [D] 5, -2, -7
23、一位法官在审理一起盗窃案中,对涉及到的四名嫌疑犯甲、乙、丙、丁进行了审问。四人供述如下:
甲说:“罪犯在乙、丙、丁三人之中。” 乙说:“我没有做案,是丙偷的。”