關於C語言的面試問題
今天,參加了一個公司的面試,下面寫一下一些感想和想法。
那個公司叫高知特資訊科技(上海)有限公司,還是個美國財富500強,上市公司。聽那個宣講人說的很牛X的。
那個宣講人大致給我們介紹了一下情況。就是高知特資訊科技有限公司上海分公司委託他們公司招聘25名工程師,並
且包括培訓業務。他們是個培訓公司,經常和大公司合作招聘和培訓,然後往公司裡輸送人才。
大家都知道,世界500強公司嘛,肯定對英語有很高的要求了。所以面試題都是全英的。不僅考察語言的能力還有
你的英語閱讀能力。他說,真正在職場面試的時候,尤其是那些大的公司,特別注重你的綜合素質和能力。綜合素質能
後達到60%的分數,然後程式設計能力只佔40%左右。英語真的很重要。。。
下面,說幾道面試的題目,都是我翻譯過的。
第一道題是考察union的。
#include <stdio.h> union{ int i; char x[2]; }a; int main(){ int b=0; a.x[0] = 10; a.x[1] = 1; printf("%d\n", a.i); return 0; }
猜猜看輸出的結果是什麼???
答案是 266
下面來解釋一下:
union是C語言的一種結構體,類似與struct,但是絕對不同。
它表示結構體中的資料成員公用一個位置來存放資料。union主要用來壓縮空間,如果一些資料不可能在同一時
間被用到,就可以考慮用union來存放資料。union的成員預設屬性是public。
union被宣告時,編譯程式自動產生一個變數,這個變數的長度是聯合中最大的變數的長度。所以,union型資料
所佔的空間等於其最大的成員所佔的空間。對union型的成員的存取都是相對於該聯合體的基地址的偏移量為0處開始
的,也就是聯合體的訪問不論是對哪個變數的存取都是從union的首地址開始的。
的變數時,編譯時才會為這種變數分配記憶體空間。union定義的時候需要注意一下三點:
1.成員變數的資料型別可以是基本資料型別或陣列、結構、聯合等構造型別及其他已宣告的合法的資料型別。
2.聯合型別的宣告僅僅是一個資料型別的說明,編譯時不會為其分配記憶體空間,只有當用聯合型別定義結構型別
3.聯合型別宣告中最後的分好“;”不要漏掉。
下面再看一個union的例子:
#include <iostream> #include <cstring> using namespace std; struct POINT{ //宣告結構型別 int x, y; }; union ONE{ //宣告聯合型別 POINT pt; //結構型別 int iValue; //整型型別 float fValue;//單精度型別 }; // void print(ONE one){ cout<<"聯合型別各個成員的值如下:"<<endl; cout<<"iValue = "<<one.iValue<<endl; cout<<"fValue = "<<one.fValue<<endl; cout<<"pt = ("<<one.pt.x<<","<<one.pt.y<<")"<<endl<<endl; } int main(){ ONE o = {10, 20}; o.iValue = 33; print(o); o.fValue = 80.0; print(o); POINT pt ={30, 40}; o.pt = pt; print(o); return 0; }
程式的執行結果是:
第二道題是讓你具體解釋rewind的含義和用法的。
rewind 功能是:將檔案內部的位置指標重新指向一個流的開頭。
注意:
不是檔案指標而是檔案內部的位置指標,隨著對檔案的讀寫,檔案的位置指標向後移動。而檔案指標是指向整個
檔案,如果不重新賦值檔案指標不會改變。
用法:
void rewind(FILE *stream)
引用標頭檔案 : stdio.h
返回值:無
----------------(參考百度知道)
相關文章
- 關於C語言結構體對齊問題的探討C語言結構體
- 有幾點關於C語言的疑問C語言
- 面試挖坑題:之C語言底層操作問題面試C語言
- 關於C語言的常量C語言
- 一家外企的面試題目(C/C++面試題,C語言面試題)面試題C++C語言
- 關於大數(C語言)C語言
- 關於C語言的位運算子C語言
- java語言相關的問題Java
- 主元素問題(C語言)C語言
- 關於C語言的簡單介紹C語言
- 關於C語言書的書名徵集C語言
- C語言關於檔案操作的命令C語言
- C語言關於多原始檔的呼叫C語言
- 關於Mysql 4.1語言問題的完美解決方法(轉)MySql
- 12個有趣的C語言面試題及答案C語言面試題
- 關於c語言模擬c++的多型C語言C++多型
- C語言解決排序問題C語言排序
- C語言緩衝區問題C語言
- c語言金字塔問題C語言
- C 語言常見問題(轉)
- 關於Integer面試的一個問題面試
- 關於c語言輸入字串的總結C語言字串
- C語言關於標頭檔案的使用C語言
- C語言初學者最常問的幾個問題C語言
- C語言常見使用問題2C語言
- C語言指標常見問題C語言指標
- (C語言版)猴子吃桃問題C語言
- 關於語言的思考
- Linux下C語言編譯的問題LinuxC語言編譯
- c語言實現貓吃老鼠的問題C語言
- 關於數位顛倒--C語言描述C語言
- C語言的謎題C語言
- c語言關於陣列的簡單運算C語言陣列
- 關於C語言的圖形程式設計薦C語言程式設計
- 【C語言練習題】小球反彈問題C語言
- Go語言切片面試真題7連問Go面試
- 關於 SAP ABAP 報表的多語言顯示問題試讀版
- c 語言指標操作經典問題指標