2019年c語言經典面試題目
作為IT行業人士需要掌握的最基本的計算機語言—c語言,如今的地位只高不低,c語言掌握程度的高低往往在面試的時候可以完全表現出來,而有些問題是大家平時似乎是知道的,但卻不能完整準確地回答上來的,所以 陝西優就業小編今天幫大家整理了C語言經典面試題 ,希望對大家有所幫助。
1.在下面程式的底畫線處填上適當的字句,使該程式執行結果為60。
# include
class base{int X;
public∶
void int (int initX){X=initX; }
int Getnum() {return X+7; }
void main()
{_______
_______
cout<<1test.getnum();<1 p="">
}
2.下列程式的輸出結果是。
#include
void SB(char ch) {
switch(ch) {
case 'A': case 'a':
cout<<"well !"; break;
case 'B': case 'b'
cout<<"good !"; break;
case 'C': case 'c':
cout<<"pass ! "; break
default:
cout<<"bad! "; break;
)
cout<<1endl;<1 p="">
}
void main() {
char a[6] ="Abcaf'
for(int i=0; a[i]; i++) SB(a[i]);}
3.在下列程式的空格處填上適當的字句,使輸出為:0,8,5。
# include
# include
class Magic{
double x;
public∶
Magic(double d=0.00)∶x(fabs(d)){}
Magic _______{return Magic(sqrt(x*x+c.x*c.x));}
_______<<(ostream & os,Magic c){return os<<1c.x;}<1 p="">
};
void main()
{Magic ma;
cout<<1ma<1<1’,’<1<1magic(-8)<1<1’,’<1<1ma+magic(-3)+magic(-4);<1 p="">
}
關鍵字
問題一:static關鍵字的作用?
答:
Static的用途主要有兩個,一是用於修飾儲存型別使之成為靜態儲存型別,二是用於修飾連結屬性使之成為內部連結屬性。
1.靜態儲存型別:
在函式內定義的靜態區域性變數,該變數存在記憶體的靜態區,所以即使該函式執行結束,靜態變數的值不會被銷燬,函式下次執行時能仍用到這個值。
在函式外定義的靜態變數——靜態全域性變數,該變數的作用域只能在定義該變數的檔案中,不能被其他檔案透過extern引用。
2. 內部連結屬性
靜態函式只能在宣告它的原始檔中使用。
問題二:const關鍵字的作用?
答:
1.宣告常變數,使得指定的變數不能被修改。
const int a = 5;/*a的值一直為5,不能被改變*/
const int b; b = 10;/*b的值被賦值為10後,不能被改變*/
const int *ptr; /*ptr為指向整型常量的指標,ptr的值可以修改,但不能修改其所指向的值*/
int *const ptr;/*ptr為指向整型的常量指標,ptr的值不能修改,但可以修改其所指向的值*/
const int *const ptr;/*ptr為指向整型常量的常量指標,ptr及其指向的值都不能修改*/
2.修飾函式形參,使得形參在函式內不能被修改,表示輸入引數。
如int fun(const int a);或int fun(const char *str);
3.修飾函式返回值,使得函式的返回值不能被修改。
const char *getstr(void);使用:const *str= getstr();
const int getint(void); 使用:const int a =getint();
問題三:volatile關鍵字的作用?
答:
volatile指定的關鍵字可能被系統、硬體、程式/執行緒改變,強制編譯器每次從記憶體中取得該變數的值,而不是從被最佳化後的暫存器中讀取。例子:硬體時鐘;多執行緒中被多個任務共享的變數等。
問題四:extern關鍵字的作用?
答:
1.用於修飾變數或函式,表明該變數或函式都是在別的檔案中定義的,提示編譯器在其他檔案中尋找定義。
extern int a;
extern int *p;
extern int array[];
extern void fun(void);
其中,在函式的宣告帶有關鍵字extern,僅僅是暗示這個函式可能在別的原始檔中定義,沒有其他作用。如:
標頭檔案A:A_MODULE.h中包含
extern int func(int a, int b);
原始檔A: A_MODULE.c中
#include “A_MODULE.h”
int func(int a, int b)
{
returna+b;
}
此時,展開標頭檔案A_MODULE.h後,為
extern int func(int a, int b);/*雖然暗示可能在別的原始檔中定義,但又在本檔案中定義,所以extern並沒有起到什麼作用,但也不會產生錯誤*/
int func(int a, int b)
{
returna+b;
}
而原始檔B:B_MODULE.c中,
#include “A_MODULE.h”
int ret = func(10,5);/
展開標頭檔案A_MODULE.h後,為
extern int func(int a, int b);/*暗示在別的原始檔中定義,所以在下面使用func(5,10)時,在連結的時候到別的目標檔案中尋找定義*/
int ret = func(10,5);
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69902581/viewspace-2661718/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- c 語言指標操作經典問題指標
- 經典C/C++面試題C++面試題
- 一家外企的面試題目(C/C++面試題,C語言面試題)面試題C++C語言
- C++經典面試題C++面試題
- 16道嵌入式C語言面試題(經典)面試題
- 程式設計師C語言經典筆試題程式設計師C語言筆試
- Go語言經典筆試題Go筆試
- 每日一題:C語言經典例題之雞兔同籠每日一題C語言
- 經典面試題面試題
- js經典題目JS
- 前端面試經典題目合集(HTML+CSS)前端面試HTMLCSS
- C語言入門經典(第5版)C語言
- 10個經典的C語言小程式C語言
- 2019 CSS經典面試題(史上最全)CSS面試題
- 10個經典的C語言面試基礎演算法及程式碼C語言面試演算法
- java經典面試題Java面試題
- javascript經典面試題JavaScript面試題
- Js 經典面試題JS面試題
- 前端經典面試題前端面試題
- 《C語言入門經典》讀後感(一)C語言
- c/c++經典面試試題及標準答案C++面試
- 18年最新經典web前端面試題Web前端面試題
- 阿里歷年經典Java面試題彙總阿里Java面試題
- 前端面試經典題目彙總(持續更新中)前端面試
- C語言必須要記住的經典程式C語言
- Google經典面試題解析Go面試題
- 經典Java面試題收集Java面試題
- 經典SQL面試題1SQL面試題
- 經典SQL面試題2SQL面試題
- 部分JS經典題目解析JS
- JAVA經典題目彙總Java
- R語言經典例項R語言
- 谷歌面試官經典作品(CTCI)目錄谷歌面試
- 2019 JS經典面試題(基礎+高階)JS面試題
- 關於C語言的面試問題C語言面試
- [面試題]事件迴圈經典面試題解析面試題事件
- 經典排序演算法的 C語言 | Java 實現排序演算法C語言Java
- 20道JavaScript經典面試題JavaScript面試題