一、選擇題
1、 要使語句p = new int * ,能夠正常執行,那麼p的定義為()
(a)int p (b)int *p (c)int **p (d)int ***p
2、已知定義int(*ptr)[n];中的識別符號ptr是()
(a)n個指向整形變數的指標 (b)指向n個整形變數的函式指標
(c)指向具有n個元素的一維陣列 (d)具有n個指標元素的一維指標陣列
3、float x與「零值」比較的if語句,正確的是()
a、if(x == 0)
b、if(x == 0.0)
c、if(!x)
d、if(x >= -0.00001 && x <= 0.00001)
4、已知int length = sizeof(double) ; 則length的值是()
a、1 b、2 c、4 d、 8
5、int iarray[100],sizeof(iarray)返回()
a、400 b、100 c、8 d、4
6、下列4個選項中,哪些結果為6?()
inta[10] = , *p = a;
a、*p + 6; b、*(p + 6); c、*p += 5; d、p + 5
7、嵌入式系統應用軟體一般在宿主機上開發,在目標機上執行,因此需要乙個()
a、互動作業系統 b、交叉編譯 c、互動平台 d、分布式計算
8、下列屬於linux開發環境中的除錯工具是(b)
a、gcc b、gdb c、makefile d、g++
9、linux的vi命令中,存檔並推出的vi命令是(d)
a、q b、q! c、w d、wq
10、要配置nfs伺服器,在伺服器端主要配置()檔案
a、/etc/rc.d/rc.inet b、/etc/rc.d/rc.m
c、/etc/exorts d、/etc/rc.d/rc.s
二、填空題
11、以下**的輸出結果是
intivaluex = 1;
intivaluey= 2;
intivaluez = 3;
switch((ivaluex = ivaluey) == ivauez)
case 0:
printf(「0\n」);
case 1:
printf(「1\n」);
case 2:
printf(「2\n」);
case 3:
printf(「3\n」);
12、以下**的輸出結果是
#include
#define sqr(x) (x*x)
void main
inta, b = 3;
a= sqr(b + 2);
printf(「/n%d」,a);
13、以下**的輸出結果是
#include
int function(int ivalue)
if(ivalue< 1)
return 1;
}else{
return ivalue * function(ivalue - 1);
return 0;
int main(int argc, char **argv)
std::cout<< function(5) << endl;
return0;
14、下列程式在32位linux或者unix中的結果是什麼?
func(char * str)
printf(「%d\n」,sizeof(str));
printf(「%d\n」,strlen(str));
main()
chara = 「123456789」;
printf(「%d\n」,sizeof(a));
printf(「%d\n」,strlen(a));
func(a);
15、以下**的輸出結果是
void foo(void)
unsignedint a = 6;
intb = -20;
(a+ b > 6) ? printf(「>6」) : printf(「< 6」);
三、linux命令解答題
請寫出完成下面一系列操作的linx命令:
2、 檢視當前系統中硬碟資訊,然後把/dev/sda1硬碟分割槽,以ext3檔案系統型別掛在到目錄/mnt,然後再解除安裝剛才掛在的檔案系統
3、 利用find命令來查詢名稱為inittab的檔案
4、 利用tar命令把以下4個目錄/root /lib /usr /bin 壓縮打包名稱rootfs.tar.gz的gzip壓縮包。然後把生成的rootfs.tar.gz檔案拷貝到/tmp目錄下,進入到tem目錄中,再把rootfs.tar.gz解壓。
四、解答題
寫出下面四個函式你認為有問題的地方,並說明原因
inttst_malloc_buf(char *buf)
buf = (char *)malloc(128);
if(buf != null)
return 0;
return -1;
inttst_fill_str(char *buf)
if(buf != null)
sprintf(buf,」helloworld!\n」);
return 0;
return-1;
inttst_free_buf(char *buf)
if(buf != null)
free(buf);
buf = null;
return 0;
int main(intargc, char *argv)
char *buf1 = malloc(128);
if(buf1 != null)
tst_fill_str(buf1);
printf(「%s\n」,buf1);
tst_free_buf(buf1);
char *buf2 = 「wuhanzhihuibweiishen」;
tst_fill_str(buf2);
printf(「%s」,buf2);
char *buf3 = null;
if(tst_malloc_buf(buf3) == 0)
tst_fill_str(buf3);
printf(「%s」,buf3);
if(buf 1 != null)
free(buf1);
buf1 = null;
五、程式設計題
1、 寫乙個函式來判斷乙個單鏈表是否是迴圈鍊錶
2、 建立兩個執行緒,要求實現乙個主線程進行輸入,另乙個執行緒把輸入的資料列印出來。
(注意執行緒的同步與互斥)
程式設計基礎筆試題
1.在c 中,類的靜態成員 static member 必須在類內宣告,在類外初始化 class a int a count 0 類外初始化,不必再加static關鍵字2.對於 char p new char 100 p為指標,指向空間,在棧上,new是動態記憶體分配,new出來的空間在堆上,在堆上...
找工作筆試題基礎
c 所有操作符的優先順序 c 操作符的優先順序 操作符及其結合性 功能 用法l ll 全域性作用域 類作用域 名字空間作用域 name class name namespace namell lll.成員選擇 成員選擇 下標 函式呼叫 型別構造 object.member pointer membe...
智力類筆試題基礎
1 10個不同的球,放入3個不同的桶內,共有 種方法。a 1000 b 720 c 59049 d 360 解答 c 每個球都有3種放法,10個球有310 59049種方法。2 n從1開始,每個操作可以選擇對n加1,或者對n加倍。如果最後結果為2013,最少需要 個操作。a 18 b 24 c 21...