嵌入式面试C语言试题「」

时间:2021-04-06 16:47:21 嵌入式培训 我要投稿

2016年嵌入式面试C语言试题「精选」

  第1题: 考查对volatile关键字的认识

2016年嵌入式面试C语言试题「精选」

  #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题:考查指针,这道题只适合于那些特别细心且对指针和数组有深入理解的人

  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题:考查多维数组与指针

  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题:考查指针数组

  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题:考查函数指针

  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个函数哪一个最可能引起指针方面的问题

  (a) 只有 f3

  (b) 只有f1 and f3

  (c) 只有f1 and f2

  (d) f1 , f2 ,f3

【2016年嵌入式面试C语言试题「精选」】相关文章:

嵌入式开发—C语言面试题08-17

嵌入式C语言面试题(附答案)09-24

2016年嵌入式c语言面试题及答案09-12

嵌入式C/C++面试题201611-12

嵌入式C语言笔试题及答案08-19

2016年嵌入式c语言笔试题11-12

2016年嵌入式软件C语言笔试题11-07

2017年嵌入式c语言笔试题及答案08-19

华为c语言笔试面试题题库11-09