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 語言指標操作經典問題指標
- 經典面試題面試題
- 前端經典面試題前端面試題
- Js 經典面試題JS面試題
- javascript經典面試題JavaScript面試題
- java經典面試題Java面試題
- 每日一題:C語言經典例題之雞兔同籠每日一題C語言
- Google經典面試題解析Go面試題
- 經典Java面試題收集Java面試題
- [面試題]事件迴圈經典面試題解析面試題事件
- C語言入門經典(第5版)C語言
- js經典題目JS
- 經典 JS 閉包面試題JS面試題
- leetcode-面試經典150題LeetCode面試
- 前端經典面試題(有答案)前端面試題
- 20道JavaScript經典面試題JavaScript面試題
- Runtime經典面試題(附答案)面試題
- Python經典面試題(附答案)!Python面試題
- JavaScript經典面試題詳解JavaScript面試題
- 經典Java面試題收集(二)Java面試題
- 面試挖坑題:之C語言底層操作問題面試C語言
- 軟體測試經典面試題(1)面試題
- 軟體測試經典面試題(3)面試題
- Spark 經典面試題彙總《一》Spark面試題
- Java經典面試題-不古出品Java面試題
- PHP經典面試題,有答案哦PHP面試題
- 2019 CSS經典面試題(史上最全)CSS面試題
- 多執行緒經典面試題執行緒面試題
- 2023前端二面經典手寫面試題前端面試題
- 前端面試經典題目合集(HTML+CSS)前端面試HTMLCSS
- C語言必須要記住的經典程式C語言
- 乾貨來臨:C語言面試54題附答案C語言面試
- 20201215-經典基礎C語言題01-三個數排大小C語言
- 【整理】8道Python經典面試題合集!Python面試題
- 經典web開發工程師面試題Web工程師面試題
- Java經典面試題(二)-不古出品Java面試題
- 智力題(程式設計師面試經典)程式設計師面試