嵌入式常见笔试题总结(3)
生活随笔
收集整理的這篇文章主要介紹了
嵌入式常见笔试题总结(3)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
1:設(shè)float a=2, b=4, c=3;,以下C語言表達式與代數(shù)式 (a+b)+c計算結(jié)果不一致的是?
A.(a+b)*c/2?
B.(1/2)*(a+b)*c?
C.(a+b)*c*1/2?
D.c/2*(a+b)?
參考答案:B,因為a,b,c三個變量都是浮點數(shù),所以在B答案中其結(jié)果是0,因為在計算1/2是就是0,如果改成1/2.0就正確了。
2:為了向二進制文件尾部增加數(shù)據(jù),打開文件的方式應(yīng)采用?
A.″ab″?
B.″rb+″?
C.″wb″?
D.″wb+″?
參考答案:D
3:下述程序執(zhí)行后的輸出結(jié)果是?
#include?
main()?
{?
int x='f';?
printf("%c\n",'a'+(x-'a'+1));?
}?
A.g?
B.h
C.i?
D.j?
參考答案:A
4:C語言中,下列運算符優(yōu)先級最高的是?
A.!?
B.%?
C.>>?
D.= =?
參考答案:A
5:數(shù)組定義為“ int a [ 4 ] ; ”,表達式 ( ) 是錯誤的。?
A.*a?
B.a [ 0 ]?
C.a?
D.a++?
參考答案:D
6:執(zhí)行語句“ k=7>>1; ”后,變量 k 的當(dāng)前值是?
A.15?
B.31?
C.3?
D.1?
參考答案:C
7:定義函數(shù)時,缺省函數(shù)的類型聲明,則函數(shù)類型取缺省類型?
A.void?
B.char?
C.float?
D.int?
參考答案:D
8:若main()函數(shù)帶參數(shù),參數(shù)個數(shù)最多是?
A.0?
B.1?
C.2?
D.3?
參考答案:C 只知道有定義形式main(int argc,char* argv[]))
9:若有宏定義:#define MOD(x,y) x%y
則執(zhí)行以下語句后的輸出結(jié)果是
int a=13,b=94;
printf(″%d\n″,MOD(b,a+4));?
A.5?
B.7?
C.9?
D.11?
參考答案:B
10:下列各個錯誤中,哪一個不屬于編譯錯誤?
A.改變 x 原值 3 為 5 ,寫作“ x==5 ;”?
B.花括號不配對?
C.復(fù)合語句中的最后一條語句后未加分號?
D.變量有引用、無定義?
參考答案:A
11:下列程序段運行后, x 的值是( )?
a=1;b=2;x=0;?
if(!( -- a))x -- ;?
if(!b)x=7;else ++x;?
A.0?
B.3?
C.6?
D.7?
參考答案:A
12:設(shè)
#define N 3
#define Y(n) ((N+1)*n)
則表達式2*(N+Y(5+1))的值是?
A.42?
B.48?
C.54?
D.出錯?
參考答案:B Y(5+1) 傳遞過去的應(yīng)該是6,而不是簡單的把5+1給替換掉
13:若定義了char ch[]={″abc\0def″},*p=ch;則執(zhí)行printf(″%c″,*p+4);語句的輸出結(jié)果是?
A.def?
B.d?
C.e?
D.0?
參考答案:C
14:下列轉(zhuǎn)義字符中錯誤的是?
A.′\000′?
B.′\14′?
C.′\x111′?
D.′\2′?
參考答案:C error C2022: '273' : too big for character
15:算術(shù)運算符,賦值運算符和關(guān)系運算符的運算優(yōu)先級按從高到低依次為?
A.算術(shù)運算、賦值運算、關(guān)系運算?
B.算術(shù)運算、關(guān)系運算、賦值運算?
C.關(guān)系運算、賦值運算、算術(shù)運算?
D.關(guān)系運算、算術(shù)運算、賦值運算?
參考答案:B
16:設(shè)#define N 3?
#define Y(n) ((N+1)*n)?
則表達式2*(N+Y(5+1))的值是?
A.42?
B.48?
C.54?
D.出錯?
參考答案:B
17:表達式 strcmp( “ 3.14 ”,“ 3.278 ” ) 的值是一個?
A.非零整數(shù)?
B.浮點數(shù)?
C.0?
D.字符?
參考答案: A
18:設(shè)struct?
{ short a;?
char b;?
float c;?
}cs;?
則sizeof(cs)的值是?
A.4?
B.5?
C.6?
D.7?
參考答案: D 字節(jié)對齊的話應(yīng)該是8
19:若變量已正確定義,表達式( j=3 , j++ )的值是?
A.3?
B.4?
C.5?
D.0?
參考答案:A
20:C 語言中運算對象必須是整型的運算符是?
A.%?
B./?
C.!?
D.**?
參考答案:A
簡答題
21:打印一個N*N的方陣,N為每邊字符的個數(shù)( 3〈N〈20 ),要求最外層為“X”,第二層為“Y”,從第三層起每層依次打印數(shù)字0,1,2,3,...?
例子:當(dāng)N =5,打印出下面的圖形:?
X X X X X?
X Y Y Y X?
X Y 0 Y X?
X Y Y Y X?
X X X X X?
22:談?wù)凜OM的線程模型。然后討論進程內(nèi)/外組件的差別。?
23:多態(tài)類中的虛函數(shù)表是Compile-Time,還是Run-Time時建立的??
參考答案:
24:#include?
void main()?
{ int c;?
while ((c=getchar())!= ′\ n ′ )?
switch(c - ′ 2 ′ )?
{ case 0:?
case 1:putchar(c+4);break;?
case 2:putchar(c+4);break;?
case 3:putchar(c+3);break;?
default:putchar(c+2);break;?
}?
printf( ″\ n ″ );?
}?
運行時輸入: 2473 ,輸出結(jié)果:?
參考答案:6897 VC++6.0測試過
25:用兩個棧實現(xiàn)一個隊列的功能??
參考答案: 設(shè)2個棧為A,B, 一開始均為空.入隊:?
將新元素push入棧A;出隊:?
(1)判斷棧B是否為空;?
(2)如果不為空,則將棧A中所有元素依次pop出并push到棧B;?
(3)將棧B的棧頂元素pop出;這樣實現(xiàn)的隊列入隊和出隊的平攤復(fù)雜度都還是O(1),?
26:寫一語句實現(xiàn)x是否為2的若干次冪的判斷。 參考答案:!(X)&(X-1)
27:解二次方程:a*x*x+b*x+c?
int Quadratic( double a,double b,double c,double& x1,double& x2);?
返回值:解的個數(shù)?
28:如何判別一個數(shù)是unsigned。?
參考答案; #define issignal(x) ((x>=0 && ~x>=0) ? 1:0) //為1是無符號 為0有符號
29:執(zhí)行下述程序的輸出結(jié)果是? ABCDEFCDEFEF? 。
#include?
char b[]="ABCDEF";?
main()?
{?
char *bp;?
for (bp=b;*bp;bp+=2)?
printf("%s",bp);?
printf("\n");?
}?
30:已知一個數(shù)組table,用一個宏定義,求出數(shù)據(jù)的元素個數(shù)。 參考答案:#define NTBL
#define NTBL (sizeof(table)/sizeof(table[0]))
A.(a+b)*c/2?
B.(1/2)*(a+b)*c?
C.(a+b)*c*1/2?
D.c/2*(a+b)?
參考答案:B,因為a,b,c三個變量都是浮點數(shù),所以在B答案中其結(jié)果是0,因為在計算1/2是就是0,如果改成1/2.0就正確了。
2:為了向二進制文件尾部增加數(shù)據(jù),打開文件的方式應(yīng)采用?
A.″ab″?
B.″rb+″?
C.″wb″?
D.″wb+″?
參考答案:D
3:下述程序執(zhí)行后的輸出結(jié)果是?
#include?
main()?
{?
int x='f';?
printf("%c\n",'a'+(x-'a'+1));?
}?
A.g?
B.h
C.i?
D.j?
參考答案:A
4:C語言中,下列運算符優(yōu)先級最高的是?
A.!?
B.%?
C.>>?
D.= =?
參考答案:A
5:數(shù)組定義為“ int a [ 4 ] ; ”,表達式 ( ) 是錯誤的。?
A.*a?
B.a [ 0 ]?
C.a?
D.a++?
參考答案:D
6:執(zhí)行語句“ k=7>>1; ”后,變量 k 的當(dāng)前值是?
A.15?
B.31?
C.3?
D.1?
參考答案:C
7:定義函數(shù)時,缺省函數(shù)的類型聲明,則函數(shù)類型取缺省類型?
A.void?
B.char?
C.float?
D.int?
參考答案:D
8:若main()函數(shù)帶參數(shù),參數(shù)個數(shù)最多是?
A.0?
B.1?
C.2?
D.3?
參考答案:C 只知道有定義形式main(int argc,char* argv[]))
9:若有宏定義:#define MOD(x,y) x%y
則執(zhí)行以下語句后的輸出結(jié)果是
int a=13,b=94;
printf(″%d\n″,MOD(b,a+4));?
A.5?
B.7?
C.9?
D.11?
參考答案:B
10:下列各個錯誤中,哪一個不屬于編譯錯誤?
A.改變 x 原值 3 為 5 ,寫作“ x==5 ;”?
B.花括號不配對?
C.復(fù)合語句中的最后一條語句后未加分號?
D.變量有引用、無定義?
參考答案:A
11:下列程序段運行后, x 的值是( )?
a=1;b=2;x=0;?
if(!( -- a))x -- ;?
if(!b)x=7;else ++x;?
A.0?
B.3?
C.6?
D.7?
參考答案:A
12:設(shè)
#define N 3
#define Y(n) ((N+1)*n)
則表達式2*(N+Y(5+1))的值是?
A.42?
B.48?
C.54?
D.出錯?
參考答案:B Y(5+1) 傳遞過去的應(yīng)該是6,而不是簡單的把5+1給替換掉
13:若定義了char ch[]={″abc\0def″},*p=ch;則執(zhí)行printf(″%c″,*p+4);語句的輸出結(jié)果是?
A.def?
B.d?
C.e?
D.0?
參考答案:C
14:下列轉(zhuǎn)義字符中錯誤的是?
A.′\000′?
B.′\14′?
C.′\x111′?
D.′\2′?
參考答案:C error C2022: '273' : too big for character
15:算術(shù)運算符,賦值運算符和關(guān)系運算符的運算優(yōu)先級按從高到低依次為?
A.算術(shù)運算、賦值運算、關(guān)系運算?
B.算術(shù)運算、關(guān)系運算、賦值運算?
C.關(guān)系運算、賦值運算、算術(shù)運算?
D.關(guān)系運算、算術(shù)運算、賦值運算?
參考答案:B
16:設(shè)#define N 3?
#define Y(n) ((N+1)*n)?
則表達式2*(N+Y(5+1))的值是?
A.42?
B.48?
C.54?
D.出錯?
參考答案:B
17:表達式 strcmp( “ 3.14 ”,“ 3.278 ” ) 的值是一個?
A.非零整數(shù)?
B.浮點數(shù)?
C.0?
D.字符?
參考答案: A
18:設(shè)struct?
{ short a;?
char b;?
float c;?
}cs;?
則sizeof(cs)的值是?
A.4?
B.5?
C.6?
D.7?
參考答案: D 字節(jié)對齊的話應(yīng)該是8
19:若變量已正確定義,表達式( j=3 , j++ )的值是?
A.3?
B.4?
C.5?
D.0?
參考答案:A
20:C 語言中運算對象必須是整型的運算符是?
A.%?
B./?
C.!?
D.**?
參考答案:A
簡答題
21:打印一個N*N的方陣,N為每邊字符的個數(shù)( 3〈N〈20 ),要求最外層為“X”,第二層為“Y”,從第三層起每層依次打印數(shù)字0,1,2,3,...?
例子:當(dāng)N =5,打印出下面的圖形:?
X X X X X?
X Y Y Y X?
X Y 0 Y X?
X Y Y Y X?
X X X X X?
22:談?wù)凜OM的線程模型。然后討論進程內(nèi)/外組件的差別。?
23:多態(tài)類中的虛函數(shù)表是Compile-Time,還是Run-Time時建立的??
參考答案:
| 虛擬函數(shù)表是在編譯期就建立了,各個虛擬函數(shù)這時被組織成了一個虛擬函數(shù)的入口地址的數(shù)組. 而對象的隱藏成員--虛擬函數(shù)表指針是在運行期--也就是構(gòu)造函數(shù)被調(diào)用時進行初始化的,這是實現(xiàn)多態(tài)的關(guān)鍵. |
24:#include?
void main()?
{ int c;?
while ((c=getchar())!= ′\ n ′ )?
switch(c - ′ 2 ′ )?
{ case 0:?
case 1:putchar(c+4);break;?
case 2:putchar(c+4);break;?
case 3:putchar(c+3);break;?
default:putchar(c+2);break;?
}?
printf( ″\ n ″ );?
}?
運行時輸入: 2473 ,輸出結(jié)果:?
參考答案:6897 VC++6.0測試過
25:用兩個棧實現(xiàn)一個隊列的功能??
參考答案: 設(shè)2個棧為A,B, 一開始均為空.入隊:?
將新元素push入棧A;出隊:?
(1)判斷棧B是否為空;?
(2)如果不為空,則將棧A中所有元素依次pop出并push到棧B;?
(3)將棧B的棧頂元素pop出;這樣實現(xiàn)的隊列入隊和出隊的平攤復(fù)雜度都還是O(1),?
26:寫一語句實現(xiàn)x是否為2的若干次冪的判斷。 參考答案:!(X)&(X-1)
27:解二次方程:a*x*x+b*x+c?
int Quadratic( double a,double b,double c,double& x1,double& x2);?
返回值:解的個數(shù)?
28:如何判別一個數(shù)是unsigned。?
參考答案; #define issignal(x) ((x>=0 && ~x>=0) ? 1:0) //為1是無符號 為0有符號
29:執(zhí)行下述程序的輸出結(jié)果是? ABCDEFCDEFEF? 。
#include?
char b[]="ABCDEF";?
main()?
{?
char *bp;?
for (bp=b;*bp;bp+=2)?
printf("%s",bp);?
printf("\n");?
}?
30:已知一個數(shù)組table,用一個宏定義,求出數(shù)據(jù)的元素個數(shù)。 參考答案:#define NTBL
#define NTBL (sizeof(table)/sizeof(table[0]))
總結(jié)
以上是生活随笔為你收集整理的嵌入式常见笔试题总结(3)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python os读取文件名_Pytho
- 下一篇: 大学生创新创业计划-2020