国产18禁黄网站免费观看,99爱在线精品免费观看,粉嫩metart人体欣赏,99久久99精品久久久久久,6080亚洲人久久精品

2016年計算機(jī)四級嵌入式系統(tǒng)開發(fā)工程師模擬試題三

時間:2016-08-12 14:07:00   來源:無憂考網(wǎng)     [字體: ]

  一.3、分析題。
  本題(各5分)。假設(shè)下面代碼中的變量都是合法變量,調(diào)用外部的函數(shù)都是正確的;卮饚讉問題:

  這些代碼意圖要干什么?

  是否有問題?

  如果有問題,該如何修改,或者如何避免類似錯誤發(fā)生?

  如果沒有問題,如果代碼有輸出,輸出是什么?

  1、———————————————————–

  int isvowel (char c)

  {

  return c==’a’’’’’’’’||c==’e’’’’’’’’||c==’i’’’’’’’’||c==’o’’’’’’’’||c==’u’’’’

  }

  2、———————————————————–

  while (c==’\t’||c=’ ‘||c==’\n’)

  c=getc(f);

  3、———————————————————–

  /* 當(dāng)x=2, y=3, z=? */

  if (x==0)

  if (y==0)

  z=-1;

  else

  z=x+y;

  4、———————————————————–

  /* 處理網(wǎng)絡(luò)事件 */

  void process_network_code(int x, int y)

  {

  /* 選擇modes_pointer資源 */

  switch (line) {

  case THING1:

  /* 處理異常1#, 使用老的modes_pointer資源 */

  doit1();

  break;

  case THING2:

  /* 處理異常2#, 需要重新啟動服務(wù) */

  if (x == STUFF) {

  /* 重新申請modes_pointer資源,沒有初始化 */

  do_first_stuff();

  /* 在這種條件下,有些資源不用重新申請 */

  if (y == OTHER_STUFF)

  break;

  /* 申請剩下的資源,并初始化 */

  do_later_stuff();

  }

  /* 初始化modes_pointer資源 */

  initialize_modes_pointer();

  break;

  default:

  /* 處理普通事件, 使用老的modes_pointer資源 */

  processing();

  }

  /* 使用modes_pointer資源,處理事件 */

  use_modes_pointer();

  }

  5、———————————————————–

  int is_gb2312_char(char c1, char c2)

  {

  if (c1 >= 0xa1 && c2 >= 0xa1)

  return 1;

  else

  return 0;

  }

  6、———————————————————–

  下面x, y的值是多少,有什么問題?

  int x = 10, y = 3;

  x ^= y;

  y ^= x;

  x ^= y;

  /* x=?, y = ? */

  7、———————————————————–

  int days[]={31,28,31,30,31,30,31,31,30,31,30,31,};

  int calendar[12][31];

  int (*monthp)[31];

  int *dayp;

  int i;

  memset(calendar, 0, sizeof(calendar));

  i = 0;

  for (monthp = calendar; monthp < &calendar[12]; monthp++) {

  for (dayp = *monthp; dayp < &(*monthp)[31]; dayp++) {

  if (dayp - *monthp < days[calendar - monthp]) {

  *dayp = i++ % 7 + 1;

  }

  }

  }

  8、———————————————————–

  void printnum(long n)

  {

  if (n < 0) {

  putchar(’-’’’’’’’’);

  n = -n;

  }

  if (n >= 10) {

  printnum(n/10);

  }

  putchar (”0123456789″[n%10]);

  }

  9、———————————————————–

  void * memchr(void *pv, unsigned char ch, size_t size)

  {

  unsigned char *pch = (unsigned char *) pv;

  unsigned char *pchEnd = pch + size;

  while (pch < pchEnd) {

  if (*pch == ch)

  return (pch);

  pch++;

  }

  return NULL;

  }

  10、———————————————————–

  void * memchr(void *pv, unsigned char ch, size_t size)

  {

  unsigned char *pch = (unsigned char *) pv;

  unsigned char *pchPlant = pch + size;

  unsigned char chSave = *pchPlant;

  *pchPlant = ch;

  while (pch != ch) {

  pch++;

  }

  *pchPlant = chSave;

  return ((pch == pchPlant) ? NULL : pch);

  }