久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

詳解一下C/C 面試題

 豫龍晏子 2017-02-16

小編今天給大家詳細解答一下一些經典的面試題,,這些問題不僅在平時學習中會遇到,,以后工作中也有很大的可能性會遇到的,希望詳解一下,,會給準備以后從事編程的各位有所幫助吧,。因為之前找工作面試的時候,遇到的一些問題,,現(xiàn)在就結合考查的知識點和我總結完 C 語言再學習后的深入理解,。

一、請?zhí)顚?strong>BOOL , float,指針變量 與“零值”比較的if語句,。(10分)

提示:這里“零值”可以是0, 0.0 , FALSE或者“空指針”,。例如int變量n與“零值”

比較的 if語句為:

if ( n == 0 )

if ( n != 0 )

以此類推。

1,、請寫出BOOL flag與“零值”比較的if語句:

標準答案:

if ( flag )

if ( !flag )

如下寫法均屬不良風格,,不得分。

if (flag == TRUE)

if (flag == 1 )

if (flag == FALSE)

if (flag == 0)

2,、請寫出 float x與“零值”比較的if語句:

標準答案示例:

const float EPSINON = 0.00001;

if ((x >= - EPSINON) && (x <=>

不可將浮點變量用“ ==”或“,! =”與數(shù)字比較,應該設法轉化成“ >=”或“ <>

如下是錯誤的寫法,,不得分,。

if (x == 0.0)

if (x != 0.0)

3、請寫出 char *p與“零值”比較的if語句:

標準答案:

if (p == NULL)

if (p != NULL)

如下寫法均屬不良風格,,不得分,。

if (p == 0)

if (p != 0)

if (p)

if (!)

解答:

1、根據(jù)布爾類型的語義,,零值為“假”(記為FALSE),,任何非零值都是“真”(記為TRUE)。

詳解一下C/C++面試題

加群466572167,,群內有學習資料

2,、在浮點數(shù)比較中不能使用 < 和="">,,千萬要留意,無論是 float 還是 double 類型的變量,,都有精度限制,。所以一定要避免將浮點變量用“==”或“!=”與數(shù)字比較,,應該設法轉化成“>=”或“<>,。

請寫出 float x與“零值”比較的 if語句

const float EPSINON = 0.000001;

if ((x >= - EPSINON) && (x <=>

或者 if ( fabs (x) <=>

// fabs (x) 取 x 的絕對值,其中EPSINON是允許的誤差(即精度),。

3,、參看:C語言再學習 -- NUL和NULL的區(qū)別

NULL用于表示什么也不指向,也就是空指針((void *)0),。

詳解一下C/C++面試題

加群466572167,,群內有學習資料

程序員為了防止將 if (p == NULL) 誤寫成 if (p = NULL),而有意把 p 和 NULL 顛倒,。編譯器認為 if (p = NULL) 是合法的,,但是會指出 if (NULL = p)是錯誤的,因為 NULL不能被賦值,。

擴展:在表達式中使用無符號數(shù)

庫函數(shù) strlen 的原型如下:

size_t strlen (char const *string);

注意:strlen 返回一個類型為 size_t 的值,。這個類型是在頭文件 stddef.h 中定義的,它是一個無符號整數(shù)類型,。在表達式中使用無符號數(shù)可能導致不可預料的結果,。例如下面的表達式:

詳解一下C/C++面試題

加群466572167,群內有學習資料

但 strlen (ptr1) - strlen (ptr2) 為無符號類型,,得不到想要的結果,,應該為 if (strlen (ptr1) >= strlen (ptr2))

詳解一下C/C++面試題

加群466572167,群內有學習資料

二,、以下為Windows NT下的32位C++程序,,請計算sizeof的值(10分)

void Func ( char str[100])

{

請計算

sizeof( str ) = 4

}

char str[] = “Hello” ;

char *p = str ;

int n = 10;

請計算

sizeof (str ) = 6

sizeof ( p ) = 4

sizeof ( n ) = 4

void *p = malloc( 100 );

請計算

sizeof ( p ) = 4

解答:關鍵字sizeof與strlen

記住這兩句話:

在 32 位系統(tǒng)下,不管什么樣的指針類型,,其大小都為 4 byte,。

參數(shù)傳遞數(shù)組永遠都是傳遞指向數(shù)組首元素的指針。

三,、簡答題(25分)

1,、頭文件中的ifndef/define/endif干什么用?

答:防止該頭文件被重復引用,。

2,、#include 和#include “filename.h”有什么區(qū)別?

答:對于#include ,編譯器從標準庫路徑開始搜索 filename.h

對于#include “filename.h” ,,編譯器從用戶的工作路徑開始搜索 filename.h

3,、const有什么用途?(請至少說明兩種)

( 1)可以定義 const 常量

( 2) const 可以修飾函數(shù)的參數(shù),、返回值,,甚至函數(shù)的定義體。被 const 修飾的東西都受到強制保護,,可以預防意外的變動,,能提高程序的健壯性。

4,、在C++程序中調用被C編譯器編譯后的函數(shù),,為什么要加extern “C”聲明?

答: C++語言支持函數(shù)重載,, C 語言不支持函數(shù)重載,。函數(shù)被 C++編譯后在庫中的名字與 C 語言的不同。假設某個函數(shù)的原型為: void foo(int x, int y);該 函 數(shù) 被 C 編 譯 器 編 譯 后 在 庫 中 的 名 字 為 _foo,, 而 C++編 譯 器 則 會 產 生 像_foo_int_int 之類的名字,。C++提供了 C 連接交換指定符號 extern“ C”來解決名字匹配問題。

5,、請簡述以下兩個for循環(huán)的優(yōu)缺點

// 第一個

詳解一下C/C++面試題

加群466572167,群內有學習資料

優(yōu)點:程序簡潔

缺點:多執(zhí)行了 N-1 次邏輯判斷,,并且打斷了循環(huán)“流水線”作業(yè),,使得編譯器不能對循環(huán)進行優(yōu)化處理,降低了效率,。

// 第二個

詳解一下C/C++面試題

加群466572167,,群內有學習資料

優(yōu)點:循環(huán)的效率高

缺點:程序不簡潔

就僅僅的幾個問題,但是寫的也挺多的,,一下子寫太多,,看上去也會有疲勞感,加群466572167,,群內有學習資料,,可以交流學習,希望對各位有所幫助吧,,每一個點解釋有點多,,會不會感覺有點啰嗦呢,要是有的話,,可以提出一下,,希望對各位有所幫助吧。

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報,。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多