一、選擇題
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,結構體成員包含編號,書名,售價(數據類型自己設定)。寫一個函數,包含兩個形參,分別接收結構體數組的首地址和一個指定的售價,函數的功能為打印結構體數組中售價大于指定售價的書的信息。?
答案