- 嵌入式C語言面試題(附答案) 推薦度:
- 相關推薦
2016年嵌入式面試C語言試題「精選」
第1題: 考查對volatile關鍵字的認識
#include
static jmp_buf buf;
main()
{
volatile int b;
b =3;
if(setjmp(buf)!=0)
{
printf("%d ", b);
exit(0);
}
b=5;
longjmp(buf , 1);
}
請問, 這段程序的輸出是
(a) 3
(b) 5
(c) 0
(d) 以上均不是
第2題:考查類型轉換
main()
{
struct node
{
int a;
int b;
int c;
};
struct node s= { 3, 5,6 };
struct node *pt = &s;
printf("%d" , *(int*)pt);
}
這段程序的輸出是:
(a) 3
(b) 5
(c) 6
(d) 7
第3題:考查遞歸調用
int foo ( int x , int n)
{
int val;
val =1;
if (n>0)
{
if (n%2 == 1) val = val *x;
val = val * foo(x*x , n/2);
}
return val;
}
這段代碼對x和n完成什么樣的功能(操作)?
(a) x^n (x的n次冪)
(b) x*n(x與n的乘積)
(c) n^x(n的x次冪)
(d) 以上均不是
第4題:考查指針,這道題只適合于那些特別細心且對指針和數(shù)組有深入理解的人
main()
{
int a[5] = {1,2,3,4,5};
int *ptr = (int*)(&a+1);
printf("%d %d" , *(a+1), *(ptr-1));
}
這段程序的輸出是:
(a) 2 2
(b) 2 1
(c) 2 5
(d) 以上均不是
第5題:考查多維數(shù)組與指針
void foo(int [][3]);
main()
{
int a [3][3]= { { 1,2,3} , { 4,5,6},{7,8,9}};
foo(a);
printf("%d" , a[2][1]);
}
void foo(int b[][3])
{
++ b;
b[1][1] =9;
}
這段程序的輸出是:
(a) 8
(b) 9
(c) 7
(d)以上均不對
第6題:考查逗號表達式
main()
{
int a, b,c, d;
a=3;
b=5;
c=a,b;
d=(a,b);
printf("c=%d" ,c);
printf("d=%d" ,d);
}
這段程序的輸出是:
(a) c=3 d=3
(b) c=5 d=3
(c) c=3 d=5
(d) c=5 d=5
第7題:考查指針數(shù)組
main()
{
int a[][3] = { 1,2,3 ,4,5,6};
int (*ptr)[3] = a;
printf("%d %d ", (*ptr)[1], (*ptr)[2]);
++ptr;
printf("%d %d" , (*ptr)[1], (*ptr)[2]);
}
這段程序的輸出是:
(a) 2 3 5 6
(b) 2 3 4 5
(c) 4 5 0 0
(d) 以上均不對
第8題:考查函數(shù)指針
int *f1(void)
{
int x =10;
return(&x);
}
int *f2(void)
{
int*ptr;
*ptr =10;
return ptr;
}
int *f3(void)
{
int *ptr;
ptr=(int*) malloc(sizeof(int));
return ptr;
}
上面這3個函數(shù)哪一個最可能引起指針方面的問題
(a) 只有 f3
(b) 只有f1 and f3
(c) 只有f1 and f2
(d) f1 , f2 ,f3
【嵌入式面試C語言試題「」】相關文章:
嵌入式C語言面試題(附答案)03-17
嵌入式系統(tǒng)開發(fā)人員C語言測試題03-31
精選C++面試題及答案05-23
計算機C語言試題及答案02-25
經(jīng)典C語言面試算法題03-17
2017年嵌入式軟件面試題03-06