牛客網 錯題整理(4)

2021-08-04 02:36:10 字數 2057 閱讀 7132

錯題集

1.沒用引數的兩個函式是不能過載的.說法是否正確?

答案:錯誤

解析:const 可以構成過載

2.math.round(11.5) 等於:()

答案:12

解析:

首先要注意的是它的返回值型別是long,如果 math.round(11.5f),那它的返回值型別就是int,這一點可以參考api

其次它返回的是乙個最接近引數的long 值(例如: math.round(11.6) = 12; math.round(-11.6) = -12; math.round(-0.1) = 0; math.round(0.1) = 0 ),那如果出現向上向下距離一樣的數值, 比如題目中的11.5,該如何處理呢  同時向正無窮方向取捨或者翻譯成取較大的值。

然後它有三個特例:

1. 如果引數為 nan(無窮與非數值) ,那麼結果為 0。

2.如果引數為負無窮大或任何小於等於 long.min_value 的值,那麼結果等於long.min_value 的值。

3.如果引數為正無窮大或任何大於等於 long.max_value 的值,那麼結果等於long.max_value 的值。

3.若有以下程式

#include < stdio. h >

char *a =" you";

char b[ ] =" welcome you to china!" ;

main()

if(*p= ='\0')

break;

}

printf("%s",& b[ i ] );

則程式的輸出結果是?

答案:you to china!

解析:該程式首先定義*a和b[ ],並進行初始化。主函式中通過外層for迴圈語句,遍歷字元陣列b[ ],並且將符合if條件語句的字元數賦給陣列p;for內層迴圈語句,遍歷字元陣列a[ ]。再將符合if條件語句的結果輸出。

4.若有以下程式

#include < stdio.h>

char * a= "you" , b[ ] ="welcome # you # to # china!";

main( )

答案:幾分鐘

解析:o(f(n)) = o(f(n - 1)) + o(f(n - 2)) + ... + o(f(0))

= 2o(f(n - 2)) + 2(o(f(n - 3)) + ... + 2o(f(0))

= 235o(f(0))

現在的計算機大致每秒運算一億次。

所以大約花去235/100000000m大致為344秒也就是幾分鐘。

牛客網 錯題整理 6

錯題集 1.以下程式段執行後結果是 include void main p q arr p printf d,p q printf d,char p char q printf d sizeof arr sizeof arr 答案 1,2 15 解析 指標自增 自減每次移動的偏移量是指標所指向物件的...

牛客網 錯題整理(1)

牛客網錯題集 1 1.int main int argc char ar 經編譯連線生成的可執行檔案 tt.exe 若執行輸入以下命令列 tt 12 345 678 則程式執行的輸出結果是 答案 9136 解析 輸入tt 12 345 678時,argc 4 ar ar i 分別取了 1,3,6 f...

牛客C 錯題筆記整理

動態繫結是物件導向程式設計語言中的一種機制。這種機制實現了方法的定義與具體的物件無關,而對方法的呼叫則可以關聯於具體的物件。物件導向有三種特性 封裝 繼承 多型。其中多型性有兩種,一種是依靠函式過載實現的靜態繫結,一種是依靠虛函式實現的動態繫結。c 中的純虛函式,下面說法均正確 子類中必須覆蓋基類的...