2023年嵌入式面试问题及解答英文

上传人:桔**** 文档编号:396405629 上传时间:2023-01-04 格式:DOC 页数:19 大小:48KB
返回 下载 相关 举报
2023年嵌入式面试问题及解答英文_第1页
第1页 / 共19页
2023年嵌入式面试问题及解答英文_第2页
第2页 / 共19页
2023年嵌入式面试问题及解答英文_第3页
第3页 / 共19页
2023年嵌入式面试问题及解答英文_第4页
第4页 / 共19页
2023年嵌入式面试问题及解答英文_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《2023年嵌入式面试问题及解答英文》由会员分享,可在线阅读,更多相关《2023年嵌入式面试问题及解答英文(19页珍藏版)》请在金锄头文库上搜索。

1、Basic c question.1.Question:where in memory the variables are stored? Local variables, global variables, static. AnswerLocal variables sit in Stack. Global and static goto Data segment. Dynamic memory comes from Heap.2.Questioncan you explian the meaning for the follwoing programchar *c1, *c2, *c3,

2、*c4, *c5 ; char analysis8 = a, n, a, l, y, s, i ,s; int main() c5 = c4 = analysis; +c4; c3 = &analysis6; c2 = c5 + 2 ; c1 = &analysis7 - 3 ; printf (%ct%ct%ct%ct%c, *c1,*c2,*c3,*c4,*c5); return 0; Answerc1, c2, c3, c4 and c5 are pointers (which can hold addresses). analysis is an array variable whic

3、h is holding the string analysis. c5 = c4 = analysis; The starting address of the array is given to c5 and c4. Hence they point to first character a in the array. +c4; c4 is incremented by 1. Hence points to n in the array. c3 = &analysis6; c3 is given the address of 7th character (count from 0) of

4、the array. Hence c3 points to character i. c2 = c5 + 2 ; c5 points to first character. plus 2 means, c2 points to 3rd character a (second a in the string). c1 = &analysis7 - 3 ; c1 points to 3rd character from the end (not counting the last character). c1 holds the address. *c1 means the data strore

5、d at c1. Since c1 points to 3rd character from the end (that is 5th character - count starts from 0), *c holds character y. Hence *c1 will print y on the screen. Similarly for other pointer variables *c2, *c3, *c4 and *c53.Question:a=5 b=10 c=7(ac)?a:(bc)?b:c)Answer: 104Question : How do you declare

6、 an array of N pointers to functions returningpointers to functions returning pointers to characters?A. char *(*(*aN)()();B. Build the declaration up incrementally, using typedefs:C. Use the cdecl program, which turns English into C and viceversa:D. All of the above. Answer : D5Question : void main(

7、)int count=10,*temp,sum=0;temp=&count;*temp=20;temp=∑*temp=count;printf(%d %d %d ,count,*temp,sum); Answer : 20; 20; 20;6Question : void main()int i=7;printf(%d,i+*i+); Answer : 49. Note: Dont change a variable twice in one expression.7Question : The number of syntax errors in the program?int f(

8、)void main()f(1);f(1,2);f(1,2,3);f(int i,int j,int k)printf(%d %d %d,i,j,k); Answer : None.8Question : void main()float j;j=1000*1000;printf(%f,j);A. 1000000B. OverflowC. ErrorD. None of the above Answer : D9Question : Give the output of the programvoid main()unsigned i=1; /* unsigned char k= -1 = k

9、=255; */signed j=-1; /* char k= -1 = k=65535 */* unsigned or signed int k= -1 =k=65535 */if(ij)printf(greater);elseif(i=j)printf(equal); Answer : less10Give the output of the programvoid main()char *s=12345sn;printf(%d,sizeof(s); Answer : 411Question : Give the output of the programvoid main()int i;

10、for(i=1;i (1,2)B. *g(1,2)C. (*g)(1,2)D. g(1,2) Answer : C13Question: Can you have constant volatile variable?Answer:YES. We can have a const volatile variable.a volatile variable is a variable which can be changed by the extrenal events (like an interrput timers will increment the voltile varible. I

11、f you dont want you volatile varibale to be changed then declare them as “const volatile”.14.Question:study the code:#includevoid main()const int a=100;int *p;p=&a;(*p)+;printf(a=%dn(*p)=%dn,a,*p);What is printed?A)100,101 B)100,100 C)101,101 D)None of the aboveAnswer CEmbedded C 1. Using the #defin

12、e statement, how would you declare a manifest constant that returns the number of seconds in a year? Disregard leap years in your answer. Answer#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)ULIm looking for several things here: Basic knowledge of the #define syntax (for example, no semi-colon at the

13、end, the need to parenthesize, and so on) An understanding that the pre-processor will evaluate constant expressions for you. Thus, it is clearer, and penalty-free, to spell out how you are calculating the number of seconds in a year, rather than actually doing the calculation yourself A realization that the expression will overflow an integer argument on a 16-bit machine-hence the need for the L, telling the compiler to treat the variable as a Long As a bonus, if you modified

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号