學(xué)習(xí)啦>創(chuàng)業(yè)指南>職場>職業(yè)規(guī)劃>

c程序員筆試題

時間: 謝樺657 分享

  程序員是從事程序開發(fā)、維護(hù)的專業(yè)人員。一般將程序員分為程序設(shè)計人員和程序編碼人員,但兩者的界限并不非常清楚,特別是在中國。軟件從業(yè)人員分為初級程序員、高級程序員、系統(tǒng)分析員,系統(tǒng)架構(gòu)師,測試工程師五大類。今天學(xué)習(xí)啦小編為大家精心準(zhǔn)備的是:c程序員面試相關(guān)筆試題。具體內(nèi)容如下,歡迎參考閱讀:


  C/C++筆試測試題

  一、 填空題(20分)

  1. 已知下列變量,請計算該變量大?。?/p>

  short (*a)[100];

  short *b[100];

  那么 sizeof(a[0])等于___, sizeof(b[0])等于___

  2. char *b = “abcd”;

  那么sizeof(b) 等于___, strlen(b) 等于____

  3. short a[5][3];

  從本質(zhì)上看,a是由____個元素組成的一維數(shù)組,這個一維數(shù)組的每個元素本身又是由___個short類型整數(shù)組成的一維數(shù)組;sizeof(a[0])等于_____

  4. 表達(dá)式 1<<1 + 1的值等于____. 表達(dá)式 1 < 2 | 4的值等于_____.

  5. #define A(x) x+x; int i = 5*A(5); i =______

  二、 簡答題(25分)

  1、static有什么用途?(請至少說明兩種)

  2、關(guān)鍵字const是什么含意?

  3、對于一個頻繁使用的短小函數(shù),在C語言中應(yīng)用什么實現(xiàn),在C++中應(yīng)用什么實現(xiàn)?

  4、局部變量能否和全局變量重名?

  5、頭文件中的 ifndef/define/endif 干什么用?

  6、#include 和 #include “filename.h” 有什么區(qū)別?

  7、簡單描述一下C和C++有什么不同?

  8、引用與指針有什么區(qū)別?

  三、 程序分析(25分)

  1、請寫出下列代碼的輸出內(nèi)容

  #include "stdio.h"

  main()

  {

  int a,b,c,d;

  a=10;

  b=a++;

  c=++a;

  d=10*a++;

  printf("b,c,d:%d,%d,%d",b,c,d);

  return 0;

  }

  2、程序填空

  函數(shù)long fun2(char*str)的功能是:自左至右順序取出非空字符串str中的數(shù)字字符形成一個十進(jìn)制整數(shù)(最多8位)。

  例如,若字符串str的值為"f3g8d5.ji2e3p12fkp",則函數(shù)返回值為3852312。

  long fun2(char *str)

  {

  int i=0;

  long k=0;

  char *p=str;

  while (*p != '

c程序員筆試題

時間: 謝樺657 分享

  程序員是從事程序開發(fā)、維護(hù)的專業(yè)人員。一般將程序員分為程序設(shè)計人員和程序編碼人員,但兩者的界限并不非常清楚,特別是在中國。軟件從業(yè)人員分為初級程序員、高級程序員、系統(tǒng)分析員,系統(tǒng)架構(gòu)師,測試工程師五大類。今天學(xué)習(xí)啦小編為大家精心準(zhǔn)備的是:c程序員面試相關(guān)筆試題。具體內(nèi)容如下,歡迎參考閱讀:


  C/C++筆試測試題
 

  一、 填空題(20分)

  1. 已知下列變量,請計算該變量大小:

  short (*a)[100];

  short *b[100];

  那么 sizeof(a[0])等于___, sizeof(b[0])等于___

  2. char *b = “abcd”;

  那么sizeof(b) 等于___, strlen(b) 等于____

  3. short a[5][3];

  從本質(zhì)上看,a是由____個元素組成的一維數(shù)組,這個一維數(shù)組的每個元素本身又是由___個short類型整數(shù)組成的一維數(shù)組;sizeof(a[0])等于_____

  4. 表達(dá)式 1<<1 + 1的值等于____. 表達(dá)式 1 < 2 | 4的值等于_____.

  5. #define A(x) x+x; int i = 5*A(5); i =______

  二、 簡答題(25分)

  1、static有什么用途?(請至少說明兩種)

  2、關(guān)鍵字const是什么含意?

  3、對于一個頻繁使用的短小函數(shù),在C語言中應(yīng)用什么實現(xiàn),在C++中應(yīng)用什么實現(xiàn)?

  4、局部變量能否和全局變量重名?

  5、頭文件中的 ifndef/define/endif 干什么用?

  6、#include 和 #include “filename.h” 有什么區(qū)別?

  7、簡單描述一下C和C++有什么不同?

  8、引用與指針有什么區(qū)別?

  三、 程序分析(25分)

  1、請寫出下列代碼的輸出內(nèi)容

  #include "stdio.h"

  main()

  {

  int a,b,c,d;

  a=10;

  b=a++;

  c=++a;

  d=10*a++;

  printf("b,c,d:%d,%d,%d",b,c,d);

  return 0;

  }

  2、程序填空

  函數(shù)long fun2(char*str)的功能是:自左至右順序取出非空字符串str中的數(shù)字字符形成一個十進(jìn)制整數(shù)(最多8位)。

  例如,若字符串str的值為"f3g8d5.ji2e3p12fkp",則函數(shù)返回值為3852312。

  long fun2(char *str)

  {

  int i=0;

  long k=0;

  char *p=str;

  while (*p != '\0' && ( 1 ) )

  {

  if(*p >='0'&& *p <='9')

  {

  k= 2 +*p-'0';

  ++i;

  }

  3 ;

  }

  return k;

  }

  3、寫出下列程序的輸出結(jié)果

  int f(int x ,int y)

  {

  int r;

  if(y==1) r=x;

  else r=f(x,y-1)+x;

  return r;

  }

  main()

  {

  int a=7,b=6;

  printf("%d",f(a,b));

  }

  4、指出程序中的錯誤

  void test2()

  {

  char string[10], str1[10];

  int i;

  for(i=0; i<10; i++)

  str1[i] = 'a';

  strcpy( string, str1 );

  }

  5、請問運(yùn)行Test函數(shù)會有什么樣的結(jié)果?

  void Test(void)

  {

  char *str = (char *) malloc(100); strcpy(str, “hello”); free(str); if(str != NULL) {

  }

  四、 編程(30分)

  1、編寫函數(shù),從src中拷貝count字節(jié)到dest中。

  void* mystrcpy( char *dest, const char *src, int count )

  strcpy(str, “world”); printf(str); }

  (以下試題二選一)

  2、編寫函數(shù),計算輸入的日期是本年第幾天,如2007年1月5日是 2007年第5天 int DayOfYear(int year,int month,int day)

  3、編寫一個金額類{符號,整數(shù)部分,小數(shù)部分},實現(xiàn)金額的加法、減法功能

' && ( 1 ) )

  {

  if(*p >='0'&& *p <='9')

  {

  k= 2 +*p-'0';

  ++i;

  }

  3 ;

  }

  return k;

  }

  3、寫出下列程序的輸出結(jié)果

  int f(int x ,int y)

  {

  int r;

  if(y==1) r=x;

  else r=f(x,y-1)+x;

  return r;

  }

  main()

  {

  int a=7,b=6;

  printf("%d",f(a,b));

  }

  4、指出程序中的錯誤

  void test2()

  {

  char string[10], str1[10];

  int i;

  for(i=0; i<10; i++)

  str1[i] = 'a';

  strcpy( string, str1 );

  }

  5、請問運(yùn)行Test函數(shù)會有什么樣的結(jié)果?

  void Test(void)

  {

  char *str = (char *) malloc(100); strcpy(str, “hello”); free(str); if(str != NULL) {

  }

  四、 編程(30分)

  1、編寫函數(shù),從src中拷貝count字節(jié)到dest中。

  void* mystrcpy( char *dest, const char *src, int count )

  strcpy(str, “world”); printf(str); }

  (以下試題二選一)

  2、編寫函數(shù),計算輸入的日期是本年第幾天,如2007年1月5日是 2007年第5天 int DayOfYear(int year,int month,int day)

  3、編寫一個金額類{符號,整數(shù)部分,小數(shù)部分},實現(xiàn)金額的加法、減法功能

349632