中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言常見的面試題有哪些

發布時間:2021-11-22 15:39:03 來源:億速云 閱讀:131 作者:iii 欄目:開發技術

這篇文章主要講解了“C語言常見的面試題有哪些”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C語言常見的面試題有哪些”吧!

第1題:c語言有哪些核心的特征?

可移植性很強。

模塊化能力很強。

靈活性很高。

加載速度和執行速度都很好。

可擴展性很強。

第2題:c語言中有哪些基本的數據類型?

Int整型。

Float浮點型。

Double雙浮點型。

Char單個字符。

void特殊類型,不包含任何值。

第3題:解釋一下語義錯誤。

在寫程序的時候會有很多語義錯誤,比如說,拼錯了命令,一個函數的參數個數錯了, 數據類型不匹配,等等。

第4題:C語言中如何使用增加和減少語句?

有兩種方式:

++, --

或者

傳統的加和減。

第5題:什么是一個編程語言的保留字?

保留字是指語言庫中使用的一些關鍵字。這些關鍵字不能用來做其他的事情,比如說定義一個變量或者函數等等。

第6題:解釋一下dangling pointer。

首先我們說有一個指針指向一個變量的內存地址。一段時間以后這個變量被從內存地址的位置刪除了。

這樣的指針稱之為dangling pointer.

第7題:描述一下靜態函數的用途。

使用靜態static關鍵字定義的函數稱之為靜態函數。

這樣的函數需要在相同的代碼里調用。

第8題:abs和fabs的區別是什么?

這兩個函數都是用來取絕對值的。前者是針對整型的。后者是針對浮點型的。前者位于標準庫stdlib.h里面。后者在math.h里面。

第9題:說一下wild pointers。

未初始化的指針稱之為wild pointers。這些指針指向一個隨意的內存地址。如果訪問它們可能會導致很壞的程序行為,甚至導致程序崩潰。

第10題:++a和a++的區別是什么?

加加a的意思是先加后取值。

A加加的意思是先取值后增加。

第11題:單等號和雙等號的區別是什么?

單等號表示賦值運算符。

雙等號是等于條件判斷運算符。

第12題:解釋一下c語言的原型函數。

原型函數是對一個函數的聲明。

它包含函數名,返回值和參數類型列表。

int sum(int,int)

第13題:解釋一下數據類型的cyclic nature。

在c語言中,當一個程序員給一個數據類型的變量賦值的時候,有可能會溢出。這種溢出不會產生編譯錯誤。最終的賦值結果會根據數據類型溢出后的剩余而定。

這種行為稱為cyclic nature. Char, int, long int數據類型有這個特性。Further float, double和long double數據類型沒有這個特性。

第14題:說一下c語言的頭文件和用途。

頭文件存放了原型函數的定義。這個文件又稱為庫文件。

比如說printf和scanf存放在stdio.h里面。

第15題:解釋一下在調試過程中對代碼進行注釋的做法。

這個做法稱為commenting out。通過把一些代碼屏蔽掉來判斷或排除是否是這些代碼造成的錯誤。

第16題:說一下c語言中循環的類型。

C語言中有4種循環類型。

while

for

do while

nested loop

第17題:什么是nested loop?

一個循環包含在另一個循環中稱為nested loop。第1個循環成為外循環。里面的循環稱為內循環。內循環執行的次數作為總循環的次數。

第18題:c語言中函數的通常格式是怎樣的?

C語言的函數,包含4個部分。

返回值, 函數名, 參數, 函數體。

第19題:什么是指針的指針?

指針的指針是指一個指向指針所在地址的指針。

int a=5, *x=&a, **y=&x;

第20題:Break關鍵字在哪個地方使用?

Break可以用在循環中和switch語句當中。是用來終止當前的循環或跳出switch。

第21題:使用頭文件時雙引號和尖括號的區別是什么?

使用雙引號時,首先要在當前工作目錄中查找這個頭文件,如果找不到的話就會在內置的include path里面找。

使用尖括號時,只會在當前工作目錄中查找這個頭文件。

第22題:什么是sequential訪問文件?

這種文件用來存儲數據,在寫數據的時候會按照按照一個序列模式。在讀取的時候也是按照這個模式往外讀取。

第23題:如何向棧數據結構里面存儲數據?

這樣的數據是先進后出的。只有頂部的數據才可以被訪問到。存儲的時候使用push,獲取的時候使用pop。

第24題:C程序算法的意義是什么?

算法的意義在于提高程序的執行效率,是注重空間的節省,還是注重時間的節省,是寫算法時需要考慮的因素。

第25題:volatile關鍵字的作用?

volatile指定的關鍵字可能被系統、硬件、進程/線程改變,強制編譯器每次從內存中取得該變量的值,而不是從被優化后的寄存器中讀取。

第26題:如下條件判斷運算符哪個在c語言里不可用?

==, <>, <=, >=

答案是<>。

第27題:在c語言中可不可以用大括號包含一行代碼?

是的, 當然可以。很多程序員使用大括號來規范代碼結構,不管是一行還是多行。

第28題:描述一下modifier。

Modifier是數據類型的前置,用來標識存儲空間的大小。

比如說在32位處理器系統中, 整形的長度為4bits。

如果我們加了如下的modifier:

Long Int 就可以存8 bits。

Short Int 占 2 bits。

第29題:在c語言中有哪些modifiers?

Short

Long

Signed

Unsigned

long long

第30題:在c語言中如何產生隨機數?

rand 函數就是用來產生隨機數的,它可以產生任意從0開始的整數。

第31題:能不能在整型中存放32768這個數?

整數類型可以存放從-32768~32767之間的任何數值。但是32768不在這個范圍之內。這個時候modifier是我們需要的東西。Long Int數據類型就可以存放這個數。

第32題:在c語言中可以自定義頭文件嗎?

是的, 當然可以, 定義完頭文件以后可以存放函數的原型。

使用的時候, 用include來包含這個文件的名字。

第33題:解釋一下c語言中的動態數據結構。

動態數據結構在訪問內存方面非常高效。內存的訪問,要因程序的需求而定。

第34題:什么是indirection?

如果你定一個指針變量, 它指向一個值變量或者一個內存對象。在這種情況下,對這個值變量和對象來說沒有一個直接的引用。這種情況就是indirection.

但是如果我們聲明一個變量,它對值來說就是一個直接的引用。

第35題:在c語言中,什么時候會用到空指針?

有三種情況,在c語言中會用到空指針。

作為一個錯誤值。

作為一個監測值。

在一個遞歸數據結構中終止indirection。

第36題:解釋一下模塊化編程。

把主程序分成多個小的,可執行的模塊稱為模塊化編程。這個概念是為了增強重用性。同時也提高了程序的可維護性。

第37題:Call by value和call by reference有什么區別?

call by value傳的是值。Call by reference傳的是地址。

第38題:如何在c語言中定義一個字符串變量?

使用char定義一個字符數組。

第39題:在函數定義的時候何時用void?

當函數沒有返回值時,可以用void。

第40題:什么是preprocessor directives?

Preprocessor directives一般放在程序的開頭。主要是用來指定調用庫文件的。還有一個用途是用來定義一些常值變量,宏定義等等。#開頭。

第41題:這樣賦值對不對?錯在哪里?

myName="test";

不對。

我們不能用等號給一個字符串賦值。需要使用strcpy。

第42題:為什么c語言被認為是中級語言?

這是因為c語言既能像高級語言那樣編寫程序,又可以像低級語言如匯編那樣直接操作硬件。

第43題:什么是鏈表?

鏈表是一系列的元素連接在一起形成的數據結構。在c語言中,鏈表是用指針來構建的。使用鏈表數據結構是使用內存操作比較的一種方式。

第44題:什么是fifo?

First in first out. 隊列是典型的first in first out,數據結構。

第45題:什么是二叉樹?

二叉樹是鏈表的延伸。它的每一個節點都有兩個指針,一個指向左,一個指向右。

第46題:C語言中有些保留著是大寫的對嗎?

不對,c語言中的所有保留字必須是小寫,否則的話c的編譯器會報錯。

第47題:什么是輸出重定向?

輸出重定向是指把程序的輸出,除了輸出在屏幕上以外的另外選擇, 比如說,輸出到一個文件里。

第48題:什么是全局變量,如何定義它們?

全局變量是指在程序中任何地方都可以訪問到的變量。它一般定義在preprocessor directives的后面。

第49題:getch和getche, 這兩個函數的區別是什么?

前者是把用戶的輸入分配給一個變量。

后者是把用戶的輸入打印到屏幕上,同時分配給一個變量。

第50題:文本文件和二進制文件的區別是什么?

文本文件存放的是人類可以閱讀的內容,它包含字母數字和其他的字符。

而二進制文件存放的是1和0,只有電腦才能夠讀懂。

第51題:如何用隨機訪問的方法在一個數據文件中搜索數據?

fseek

在文件打開以后提供三個參數給這個函數。一個是文件的指針,一個是要搜索的字節數,再一個是文件中的搜索起點。

第52題:在c語言中有沒有內置的排序函數?

qsort

第53題:heap的優點和缺點是什么?

在heap上存放數據,要比在stack上存放數據要慢。

但是使用heap的主要優勢是靈活性。這是因為內存的訪問, 分配以及刪除可以按照任意順序來執行。

通過好的算法和設計可以規避heap速度慢的問題。

第54題:如何把字符串變成數字?

atoi

atof

使用c語言里面的內置函數可以做到。你也可以自己寫函數。

感謝各位的閱讀,以上就是“C語言常見的面試題有哪些”的內容了,經過本文的學習后,相信大家對C語言常見的面試題有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

文山县| 宾川县| 宝丰县| 翼城县| 大宁县| 岳阳县| 郴州市| 玉田县| 随州市| 德江县| 乌兰浩特市| 平利县| 巴马| 阳曲县| 三亚市| 邢台市| 渑池县| 延津县| 福贡县| 潼南县| 革吉县| 乐山市| 监利县| 东明县| 正蓝旗| 鲜城| 屏山县| 怀宁县| 嘉善县| 神池县| 宜州市| 定陶县| 金秀| 莒南县| 中阳县| 台江县| 永春县| 丘北县| 南郑县| 襄樊市| 聂荣县|