中兴c语言 面试题,中兴手机嵌入式开发面试题汇总(1)
1:將一個整數10002存到磁盤上,以ASCII碼形式存儲和以二進制形式存儲,占用的字節數分別是
A.2和2
B.2和5
C.5和2
D.5和5
知識點:數據類型的存儲方式
2:表達式 !x 等效于
A.x==1
B.x==0
C.x!=1
D.x!=0
知識點:邏輯非
3:執行下列程序
#include? ″stdio. h″
main
{
printf(″%d\n″,NULL);
}
后輸出的結果是
A.-1
B.0
C.1
D.2
知識點:NULL的含義
4:下列關于C語言的敘述錯誤的是
A.英文字母大小寫不加以區分
B.不同類型的變量可以出現在同一個表達式中
C.在賦值表達式中賦值號兩邊的類型可以不同
D.某些運算符在不同的場合可以有不同的含義
5:設 int a=9,b=20 ;則 printf( ″ %d,%d\n ″ ,a--,--b) ;的輸出結果是
A.9 , 19
B.9 , 20
C.10 , 19
D.10 , 20
知識點:運算符的優先級
6:函數調用語句“ f((e1,e2),(e3,e4,e5)) ”中參數的個數是
A.1
B.2
C.3
D.5
知識點:函數調用
7:以“只讀”方式打開文本文件 a: \ aa.dat, 下列語句中哪一個是正確的
A.fp=fopen( ” a: \ aa.dat ” , ” ab ” ) //向二進制文件尾增加數據
B.fp=fopen( ” a: \ aa.dat ” , ” a ” ) //向文本文件尾增加數據
C.fp=fopen( ” a: \ aa.dat ” , ” wb ” )//為輸出打開一個二進制文件
D.fp=fopen( ” a: \ aa.dat ” , ” r ” )
知識點:文件的打開方式
8:在C語言中,有值函數的數據類型是指
A.函數形式參數的數據類型
B.函數返回值的數據類型
C.調用該函數時的實參的數據類型
D.任意指定的數據類型
知識點:有值函數
9:表達式 !x||a==b 等效于
A.!((x||a)==b)
B.!(x||y)==b
C.!(x||(a==b))
D.(!x)||(a==b)
知識點:運算符的優先級
10:設int a=10, b=20, c=30;條件表達式a
A.5
B.10
C.20
D.30
11:下列數據中,不是C語言常量的是
A.′\n′
B.″a″
C.e-2
D.012
12:C語言中計算a的3次方,正確的表達是
A.a^3
B.pow(a,3)
C.a**3
D.power(a,3)
知識點:c的庫函數
13:下列標識符中,不是C語言保留字的是
A.char
B.while
C.min
D.default
14:調用函數時,若實參是一個數組名,則向函數對應的形參傳送的是
A.數組的長度
B.數組的首地址
C.數組第一個元素的值
D.整個數組元素的值
16:執行語句“ k=5 | 3; ”后,變量 k 的當前值是
A.1
B.8
C.7
D.2
17:完成 C 源文件編輯后、到生成執行文件, C 語言處理系統必須執行的步驟依次為
A.連接、編譯
B.編譯、連接
C.連接、運行
D.運行
18:執行語句 printf( " |%9.4f|\n " ,12345.67); 后的輸出結果是
A.|2345.6700|
B.|12345.6700|
C.|12345.670|
D.|12345.67|
19:C語言不能選用的字母是
A.w
B.π
C.I
D.i
20:若變量定義時未初始化,則其值不確定的是
A.靜態全局變量
B.局部變量
//堆棧空間
C.靜態局部變量
D.全局變量
知識點:變量定義
21:char **p, a[16][8]; 問:p=a是否會導致程序在以后出現問題?為什么?
可能,有可能指針指向的地址為0,引起系統崩潰
a[0][0]=0,*p=a[0][0],**p的未知
22:命令tail用來打印文件中最后n行。命令格式為:
tail [-n] filename
其中
-n: n表示需要打印的行數,當省略此參數時,n的缺省值為10。
filename: 給定文件名。
例如,命令tail –20 example.txt表示打印文件example.txt的最后20行。
請用C語言實現該程序,該程序應具有一定的錯誤處理能力,例如能處理非法命令參數和非法文件名。
提示1:使用命令行參數;
提示2:可以使用下面的C庫函數:
- int atoi(char *s)將數字串轉換為相應整數;
- fopen, fclose, printf, fprintf, exit;
- fgets(char *s, int n, FILE *fp)從文件中讀入一行;
- void *malloc(unsigned size), free申請和釋放內存;
- strlen計算字符串長度;
- strcpy將一個字符串拷貝到另一個字符串中。
除此之外,不允許使用其它庫函數。
23:重載(overload)和重寫(overried,有的書也叫做“覆蓋”)的區別?重載:是指允許存在多個同名函數,而這些函數的參數表不同(或許參數個數不同,或許參數類型不同,或許兩者都不同)。
重寫:是指子類重新定義復類虛函數的方法。
從實現原理上來說:
重載:編譯器根據函數不同的參數表,對同名函數的名稱做修飾,然后這些同名函數就成了不同的函數(至少對于編譯器來說是這樣的)。如,有兩個同名函數:function func(p:integer):integer;和function func(p:string):integer;。那么編譯器做過修飾后的函數名稱可能是這樣的:int_func、str_func。對于這兩個函數的調用,在編譯器間就已經確定了,是靜態的。也就是說,它們的地址在編譯期就綁定了(早綁定),因此,重載和多態無關!
重寫:和多態真正相關。當子類重新定義了父類的虛函數后,父類指針根據賦給它的不同的子類指針,動態的調用屬于子類的該函數,這樣的函數調用在編譯期間是無法確定的(調用的子類的虛函數的地址無法給出)。因此,這樣的函數地址是在運行期綁定的(晚綁定)。
24:講述const,static,extern的作用;
const:
static:
1、擴展生存期;
2、限制作用域;
3、唯一性
extern:
25:耶穌有13個門徒,其中有一個就是出賣耶穌的叛徒,請用排除法找出這位叛徒:13人圍坐一圈,從第一個開始報號:1,2,3,1,2,3……,凡是報到“3”就退出圈子,最后留在圈內的人就是出賣耶穌的叛徒,請找出它原來的序號。
26:C/C++源代碼中,檢查花括弧“(”與 “)”,“{”與“}”)是否匹配,若不匹配,則輸出不匹配花括弧所在的行與列。
27:寫一個病毒。
28:一堆數在一個集合中,總共2n個,問如何將這些數分成A,B兩分,每分n個,要求A中的數均小于B中的數,需要考慮時間復雜度。
29:設計一函數,求整數區間[a,b]和[c,d]的交集
30:unsigned char *p1;
unsigned long *p2;
p1=(unsigned char *)0x801000;
p2=(unsigned long *)0x810000;
請問: p1+5=(unsigned char *)0x801005;
p2+5=(unsigned long *)0x810019;
總結
以上是生活随笔為你收集整理的中兴c语言 面试题,中兴手机嵌入式开发面试题汇总(1)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自检、开机故障及主板厂商资料
- 下一篇: 广联达报错access_广联达土建算量软