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

c程序員筆試題

時(shí)間: 謝樺657 分享

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


  C/C++筆試測(cè)試題

  一、 填空題(20分)

  1. 已知下列變量,請(qǐng)計(jì)算該變量大?。?/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是由____個(gè)元素組成的一維數(shù)組,這個(gè)一維數(shù)組的每個(gè)元素本身又是由___個(gè)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 =______

  二、 簡(jiǎn)答題(25分)

  1、static有什么用途?(請(qǐng)至少說(shuō)明兩種)

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

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

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

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

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

  7、簡(jiǎn)單描述一下C和C++有什么不同?

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

  三、 程序分析(25分)

  1、請(qǐng)寫出下列代碼的輸出內(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ù)字字符形成一個(gè)十進(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程序員筆試題

時(shí)間: 謝樺657 分享

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


  C/C++筆試測(cè)試題
 

  一、 填空題(20分)

  1. 已知下列變量,請(qǐng)計(jì)算該變量大?。?/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是由____個(gè)元素組成的一維數(shù)組,這個(gè)一維數(shù)組的每個(gè)元素本身又是由___個(gè)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 =______

  二、 簡(jiǎn)答題(25分)

  1、static有什么用途?(請(qǐng)至少說(shuō)明兩種)

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

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

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

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

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

  7、簡(jiǎn)單描述一下C和C++有什么不同?

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

  三、 程序分析(25分)

  1、請(qǐng)寫出下列代碼的輸出內(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ù)字字符形成一個(gè)十進(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、指出程序中的錯(cuò)誤

  void test2()

  {

  char string[10], str1[10];

  int i;

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

  str1[i] = 'a';

  strcpy( string, str1 );

  }

  5、請(qǐng)問(wèn)運(yùn)行Test函數(shù)會(huì)有什么樣的結(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ù),計(jì)算輸入的日期是本年第幾天,如2007年1月5日是 2007年第5天 int DayOfYear(int year,int month,int day)

  3、編寫一個(gè)金額類{符號(hào),整數(shù)部分,小數(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、指出程序中的錯(cuò)誤

  void test2()

  {

  char string[10], str1[10];

  int i;

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

  str1[i] = 'a';

  strcpy( string, str1 );

  }

  5、請(qǐng)問(wèn)運(yùn)行Test函數(shù)會(huì)有什么樣的結(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ù),計(jì)算輸入的日期是本年第幾天,如2007年1月5日是 2007年第5天 int DayOfYear(int year,int month,int day)

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

349632