1:設float a=2, b=4, c=3;,以下c語言表示式與代數式 (a+b)+c計算結果不一致的是:
a.(a+b)*c/2
b.(1/2)*(a+b)*c
c.(a+b)*c*1/2
d.c/2*(a+b)
2:為了向二進位制檔案尾部增加資料,開啟檔案的方式應採用
a.″ab″
b.″rb+″
c.″wb″
d.″wb+″
參***:d
r代表read的簡寫,+代表可讀可寫,w代表write,b代表bit二進位制位,t代表text
3:下述程式執行後的輸出結果是
#include
main()
a.gb.h
c.id.j
4:c語言中,下列運算子優先順序最高的是
a.!b.%
c.>>
d.= =
5:陣列定義為「 int a [ 4 ] ; 」,表示式 ( ) 是錯誤的。
a.*a
b.a [ 0 ]
c.ad.a++
參***:d
當a為陣列名時,可以當做一維指標進行取值運算,但是由於陣列名等同於常量指標,所以不可以對陣列名進行賦值運算。
所以當a為陣列時, a=任意表示式 這樣的計算都是非法的。
而a++,等效於a=a+1, 所以這種表示式一樣是非法的,編譯的時候會報錯
6:執行語句「 k=7>>1; 」後,變數 k 的當前值是
a.15
b.31
c.3d.1
7:定義函式時,預設函式的型別宣告,則函式型別取預設型別
a.void
b.char
c.float
d.int
8:若main()函式帶引數,引數個數最多是
a.0b.1
c.2d.3
9:若有巨集定義:#define mod(x,y) x%y
則執行以下語句後的輸出結果是
int a=13,b=94;
printf(″%d\n″,mod(b,a+4));
a.5b.7
c.9d.11
10:下列各個錯誤中,哪乙個不屬於編譯錯誤
a.改變 x 原值 3 為 5 ,寫作「 x==5;」
b.花括號不配對
c.復合語句中的最後一條語句後未加分號
d.變數有引用、無定義
11:下列程式段執行後, x 的值是( )
a=1;b=2;x=0;
if(!( -- a))x -- ;
if(!b)x=7;else ++x;
a.0b.3
c.6d.7
12:設
#define n 3
#define y(n) ((n+1)*n)
則表示式2*(n+y(5+1))的值是
a.42
b.48
c.54
d.出錯
13:若定義了char ch=cs;
則sizeof(cs)的值是
a.4b.5
c.6d.7
在32 位的系統上short 出來的記憶體大小是2 個byte;
int 出來的記憶體大小是4 個byte;
long 出來的記憶體大小是4 個byte;
float 出來的記憶體大小是4 個byte;
double 出來的記憶體大小是8 個byte;
char 出來的記憶體大小是1 個byte。
(注意這裡指一般情況,可能不同的平台還會有所不同,具體平台可以用sizeof關鍵字測試一下)
18:若變數已正確定義,表示式( j=3 , j++ )的值是
a.3b.4
c.5d.0
什麼鬼???
19:c 語言中運算物件必須是整型的運算子是
a.%b./
c.!d.**
嵌入式筆試題
考查逗號表示式 main 這段程式的輸出是 a c 3 d 3 b c 5 d 3 c c 3 d 5 d c 5 d 5 應該選c。c語言提供一種特殊的 運算子,逗號運算子,優先級別最低,它將兩式聯接起來,如 3 5,6 8 稱為逗號表示式,其求解過程先表示式1,後表示式2,整個表示式值是表示式2...
嵌入式 筆試題
指出下列程式的執行結果 int main memcpy a 3,a,5 for int i 0 i 10 i return 0 解答 0 1 2 0 1 5 6 7 8 9 注意 1 陣列a作為引數時,轉化為普通指標 a 3 按照char長度計算 2 memcpy的原型是 void memcpy v...
華為嵌入式筆試題
華為嵌入式軟體開發筆試題 在一字串中使用 隱藏敏感字元?include stdio.h intmain ys len i printf 請輸入 scanf s c b j while b j mg len j 1 測試用的輸出 printf b 0 c n b 1 printf mg len d n...