當前位置:學問君>學習教育>考研>

騰訊C語言筆試題

學問君 人氣:1.02W

ic有什麼用途?(請至少說明兩種)

騰訊C語言筆試題

1)在函數體,一個被聲明爲靜態的變量在這一函數被調用過程中維持其值不變。

2) 在模組內(但在函數體外),一個被聲明爲靜態的變量可以被模組內所用函數訪問,但不能被模組外其它函數訪問。它是一個本地的全局變量。

3) 在模組內,一個被聲明爲靜態的函數只可被這一模組內的其它函數調用。那就是,這個函數被限制在聲明它的模組的'本地範圍內使用

2.引用與指針有什麼區別?

1) 引用必須被初始化,指針不必。

2) 引用初始化以後不能被改變,指針可以改變所指的對象。

3) 不存在指向空值的引用,但是存在指向空值的指針。

3.描述實時系統的基本特性

在特定時間內完成特定的任務,實時性與可靠性。

4.全局變量和局部變量在內存中是否有區別?如果有,是什麼區別?

全局變量儲存在靜態全局數據段,局部變量在堆棧。

5.什麼是平衡二叉樹?

左右子樹都是平衡二叉樹 且左右子樹的深度差值的絕對值不大於1。

6.堆棧溢出一般是由什麼原因導致的?

沒有回收垃圾資源。

7.什麼函數不能聲明爲虛函數?

constructor函數不能聲明爲虛函數。

8.冒泡排序算法的時間複雜度是什麼?

時間複雜度是O(n^2)。

9.寫出float x 與“零值”比較的if語句。

if(x>0.000001&&x<-0.000001)

rnet採用哪種網絡協議?該協議的主要層次結構?

Tcp/Ip協議

主要層次結構爲: 應用層/傳輸層/網絡層/數據鏈路層/物理層。

rnet物理地址和IP位址轉換採用什麼協議?

ARP (Address Resolution Protocol)(地址解析協議)

地址的編碼分爲哪倆部分?

IP位址由兩部分組成,網絡號和主機號。不過是要和“子網掩碼”按位與上之後才能區分哪些是網絡位哪些是主機位。

13.用戶輸入M,N值,從1至N開始順序循環數數,每數到M輸出該數值,直至全部輸出。寫出C程序。

循環鏈表,用取餘操作做

14.不能做switch()的參數類型是:

switch的參數不能爲實型。

一、判斷題(對的寫T,錯的寫F並說明原因,每小題4分,共20分)

1、有數組定義int a[2][2]={{1},{2,3}};則a[0][1]的值爲0。( T )

2、int (*ptr) (),則ptr是一維數組的名字。( F )

3、指針在任何情況下都可進行>, <, >=, <=, = =運算。( F )

4、switch(c) 語句中c可以是int, long, char, float, unsigned int 類型。(F )

5、#define print(x) printf("the no, "#x",is ") ( T )

二、填空題(共30分)

1、在windows下,寫出執行結果,每空2分,共10分。

char str[ ]= "Hello";

char *p=str;

int n=10;

sizeof(str)=( 6 )

sizeof(p)=( 4 )

sizeof(n)=( 4 )

void func(char str[100])

{ }

sizeof(str)=( 4 )

2、

void setmemory(char **p, int num)

{ *p=(char *) malloc(num);}

void test(void)

{ char *str=NULL;

getmemory(&str,100);

strcpy(str,"hello");

printf(str);

}

執行test函數有什麼結果?( hello )10分

3、設

int arr[]={6,7,8,9,10};     int *ptr=arr; *(ptr++)+=123; printf(%d,%d,*ptr,*(++ptr));

( 8,8 ) 10分

二、編程題(第一小題20,第二小題30分)

1、 不使用庫函數,編寫函數int strcmp(char *source, char *dest)

相等返回0,不等返回-1;

int strcmp(char *source,char *dest)

{

if((source == NULL) && (dest == NULL))

{

return 0;

}

while((*source != '