- 相關推薦
筆試題(循環)
在學習和工作中,我們很多時候都會有考試,接觸到試題,試題是參考者回顧所學知識和技能的重要參考資料。你知道什么樣的試題才能切實地幫助到我們嗎?下面是小編精心整理的筆試題(循環),歡迎大家分享。
筆試題循環 1
一、簡答題(25分)
1、頭文件中的 ifndef/define/endif 干什么用?
2、#include %26lt;filename.h%26gt; 和
#include "filename.h" 有什么區別?
3、const 有什么用途?(請至少說明兩種)
4、在C++ 程序中調用被 C編譯器編譯后的函數,
為什么要加 extern "C"聲明?
5、請簡述以下兩個for循環的優缺點
// 第一個for (i=0; i%26lt;N; i++)
{if (condition)
DoSomething();
else
DoOtherthing();}
優點:缺點:
// 第二個if (condition)
{for (i=0; i%26lt;N; i++)
DoSomething();}
else{
for (i=0; i%26lt;N; i++) DoOtherthing();}
優點:缺點:
二、有關內存的思考題(20分)
void GetMemory(char *p)
{
p = (char *)malloc(100);
}
void Test(void)
{
char *str = NULL;GetMemory(str);
strcpy(str, "hello world");
printf(str);
}請問運行Test函數會有什么樣的結果?答:
char *GetMemory(void)
{
char p[] = "hello world";
return p;
}
void Test(void)
{
char *str = NULL;
str = GetMemory();
printf(str);
}
請問運行Test函數會有什么樣的結果?答:
Void GetMemory2(char **p, int num)
{
*p = (char *)malloc(num);
}
void Test(void)
{
char *str = NULL;
GetMemory(%26str, 100);
strcpy(str, "hello");
printf(str);
}
請問運行Test函數會有什么樣的'結果?答:
void Test(void)
{
char *str = (char *) malloc(100);
strcpy(str, "hello");
free(str);
if(str != NULL)
{
strcpy(str, "world");
printf(str);
}
}
請問運行Test函數會有什么樣的結果?答:
三、編寫strcpy函數(10分)
已知strcpy函數的原型是
char *strcpy(char *strDest, const char *strSrc);
其中strDest是目的字符串,strSrc是源字符串。
。1)不調用C++/C的字符串庫函數,請編寫函數 strcpy
。2)strcpy能把strSrc的內容復制到strDest,為什么還要char * 類型的返回值?
筆試題循環 2
一、單選題(每題 2 分,共 30 分)
在 C 語言中,以下哪種循環結構會先執行一次循環體,然后再判斷條件是否成立,若成立則繼續執行循環體?( )
A. for 循環
B. while 循環
C. do-while 循環
D. 以上都不是
下面關于 C 語言for循環的描述,正確的是( )。
A.for循環的初始化表達式、條件表達式和更新表達式都必須存在,缺一不可
B.for循環只能用于已知循環次數的情況
C.for循環在執行完循環體后,會再次判斷條件表達式是否成立,以決定是否繼續執行循環體
D.for循環的條件表達式只能是簡單的比較運算,如i < 10
以下 C 語言代碼片段:
展開過程
這段代碼的輸出結果是( )。
A. 1 2 3 4 5
B. 1 2 3 4
C. 2 3 4 5
D. 5 4 3 2 1
在 C 語言中,do-while循環的條件判斷是在( )進行的。
A. 執行循環體之前
B. 執行循環體之后
C. 每次執行循環體時同時進行
D. 不需要進行條件判斷
若要計算從 1 到 100 的整數之和,以下哪種 C 語言循環結構實現起來代碼相對更簡潔?( )
A. for 循環
B. while 循環
C. do-while 循環
D. 三種循環實現起來都一樣簡潔
以下 C 語言for循環代碼:
展開過程
此代碼的輸出結果是( )。
A. 1 2 3 4 5 6 7 8 9
B. 1 3 5 7 9
C. 2 4 6 8 10
D. 1 4 7
在 C 語言中,如果在for循環的初始化表達式中聲明了循環變量,那么該變量的作用域是( )。
A. 整個程序
B. 從聲明處到文件末尾
C. 僅限于for循環內部
D. 從聲明處到函數末尾
對于 C 語言的while循環,以下說法錯誤的是( )。
A.while循環的條件表達式可以是任何能夠返回布爾值(在 C 語言中,非零值表示真,零值表示假)的表達式
B.while循環體內部可以包含其他循環結構,形成嵌套循環
C.while循環在每次執行循環體之前都會判斷條件是否成立
D.while循環只能用于處理整數類型的數據
以下 C 語言代碼片段:
展開過程
這段代碼的輸出結果是( )。
A. 5 4 3 2 1
B. 5 4 3 2
C. 4 3 2 1
D. 1 2 3 4 5
在 C 語言中,以下哪種情況最有可能導致for循環出現無限循環?( )
A. 初始化表達式設置錯誤,導致循環變量初始值過大
B. 條件表達式永遠為真,例如for (int i = 1; 1; i++)
C. 更新表達式忘記設置,導致循環變量無法更新
D. 以上情況都有可能導致無限循環
假設要在 C 語言中使用while循環實現一個功能:等待用戶輸入一個非零值,以下代碼正確的是( )。
A.
展開過程
B.
展開過程
C.
展開過程
D.
展開過程
在 C 語言中,以下關于do-while循環和while循環的比較,正確的是( )。
A.do-while循環和while循環在語法上完全相同,只是執行順序不同
B.do-while循環至少會執行一次循環體,而while循環可能一次都不執行
C.do-while循環只能用于處理整數類型的數據,while循環則可以處理任何數據類型
D.do-while循環的執行效率比while循環高
以下 C 語言for循環代碼:
展開過程
此代碼的輸出結果是( )。
A. 10 9 8 7 6 5 4 3 2 1
B. 9 6 3
C. 10 7 4 1
D. 8 5 2
在 C 語言中,要遍歷一個數組int arr[5] = {1, 2, 3, 4, 5},以下哪種循環結構使用起來更符合習慣且不容易出錯?( )
A. for 循環
B. while 循環
C. do-while 循環
D. 三種循環都一樣符合習慣且不容易出錯
以下 C 語言代碼片段:
展開過程
這段代碼的輸出結果是( )。
A. 1 2 3 4 5 6 7 8 9
B. 2 4 6 8
C. 1 3 5 7 9
D. 8 6 4 2
二、多選題(每題 3 分,共 30 分)
在 C 語言中,以下哪些是for循環的常見應用場景?( )
A. 計算從 1 到某個指定數的'累加和
B. 遍歷數組中的元素
C. 等待用戶輸入正確的值,直到滿足條件為止
D. 在圖形繪制中,用于生成重復的圖案
E. 實現計數功能,如統計某個事件發生的次數
以下關于 C 語言while循環的說法,正確的是( )。
A.while循環的條件表達式可以是邏輯表達式、關系表達式等能返回布爾值的表達式
B.while循環體內部可以有多個語句,需要用花括號括起來形成語句塊
C.while循環在每次執行循環體之前都會判斷條件是否成立,若不成立則跳過循環體
D.while循環可以嵌套使用,即一個while循環內部可以包含另一個while循環
E.while循環的條件表達式必須是簡單的比較運算,如i < 10
在 C 語言中,do-while循環的特點包括( )。
A. 先執行一次循環體,然后再判斷條件是否成立
B. 條件表達式可以是任何能夠返回布爾值的表達式
C. 循環體內部可以包含其他循環結構,形成嵌套循環
D. 至少會執行一次循環體
E. 通常用于已知循環次數的情況
在 C 語言中,以下哪些情況可能導致循環出現無限循環的問題?( )
A. 循環條件永遠為真,例如while (true)或for (int i = 1; 1; i++)
B. 忘記在循環體內更新循環變量,導致條件表達式始終滿足
C. 循環體內部出現錯誤,導致程序無法正常執行到更新循環變量的語句
D. 使用for循環時,初始化表達式、條件表達式和更新表達式的設置不合理,使得條件永遠滿足
E. 在嵌套循環中,內層循環的條件依賴于外層循環的變量,且設置不當導致內層循環無法結束
當使用 C 語言for循環遍歷一個數組時,以下哪些操作是常見的?( )
A. 直接通過循環變量作為數組下標來訪問數組元素
B. 在循環體內對數組元素進行修改
C. 計算數組元素的總和、平均值等統計信息
D. 查找數組中滿足特定條件的元素,如最大值、最小值或特定值的元素
E. 向數組中添加新元素或刪除現有元素(需要配合其他操作,因為單純for循環一般不能直接實現添加刪除功能)
在 C 語言中,以下關于循環結構與變量聲明的說法,正確的是( )。
A. 在for循環的初始化表達式中可以聲明循環變量,其作用域僅限于for循環內部
B. 在while循環體內部聲明的變量,其作用域從聲明處到while循環結束
C. 在do-while循環體內部聲明的變量,其作用域從聲明處到do-while循環結束
D. 無論在何種循環結構內部聲明的變量,其作用域都是整個函數
E. 可以在循環結構外部聲明循環變量,然后在循環體內使用
在 C 語言中,以下哪些是在編寫循環代碼時需要注意的要點?( )
A. 明確循環的目的和要達到的效果,確保循環體內部的代碼能夠實現預期的功能
B. 正確設置循環條件,避免出現無限循環或循環次數不足的情況
C. 注意循環變量的更新,保證循環能夠按照預期的方式進行
D. 在嵌套循環中,要注意內層循環和外層循環的關系,避免變量沖突和邏輯混亂
E. 當循環結束后,要對循環變量或相關的數據結構進行必要的清理或后續處理
在 C 語言中,以下關于for循環、while循環和do-while循環的比較,正確的是( )。
A.for循環在已知循環次數的情況下使用較為方便,如計算從 1 到 100 的累加和
B.while循環更適合于不知道循環次數但知道循環結束條件的情況,如等待用戶輸入正確的值
C.do-while循環至少會執行一次循環體,適用于需要先執行一次操作再根據條件判斷是否繼續的情況
D. 三種循環在執行效率上沒有明顯區別,主要取決于循環體內部代碼的復雜程度和執行次數
E. 三種循環都可以嵌套使用,形成多層嵌套循環
在 C 語言中,以下哪些是while循環的常見應用場景?( )
A. 實現一個計數器,不斷增加計數直到達到某個指定值
B. 等待用戶輸入正確的值,不斷重復輸入過程直到滿足條件
C. 遍歷一個字符串,逐個字符進行處理
D. 在圖形繪制中,用于生成重復的圖案
E. 計算從 1 到某個指定數的累加和
在 C 語言中,以下關于循環結構的說法,正確的是( )。
A. 循環結構可以與條件語句結合使用,例如在循環體內部根據條件判斷執行不同的操作
B. 循環結構可以嵌套使用,即一個循環內部可以包含另一個循環,以實現更復雜的功能
C. 循環結構是 C 語言中實現重復操作的重要手段
D. 循環結構的執行流程是先判斷條件是否成立,若成立則執行循環體,然后再判斷條件是否成立,如此反復
E. 不同的循環結構(for、while、do-while)在功能上是完全相同的,只是語法不同
答案
單選題
C
C
A
B
A
B
C
D
A
D
B
B
B
A
B
多選題答案
ABDE
ABCD
ABCD
ABCDE
ABCD
ABCE
ABCDE
ABCDE
ABC
ABC
【筆試題循環】相關文章:
筆試題(數學循環)12-08
中興2015筆試題08-22
迅雷2011.10.21筆試題09-09
360筆試題分享10-09
360筆試題目201509-20
華為2014筆試題目04-06
華為2015年筆試題06-30
華為2017筆試試題07-06
安永2015筆試題目06-26