学习啦>创业指南>职场>职业规划>

c程序员笔试题

谢桦分享

  程序员是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。今天学习啦小编为大家精心准备的是:c程序员面试相关笔试题。具体内容如下,欢迎参考阅读:


  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];

  从本质上看,a是由____个元素组成的一维数组,这个一维数组的每个元素本身又是由___个short类型整数组成的一维数组;sizeof(a[0])等于_____

  4. 表达式 1<<1 + 1的值等于____. 表达式 1 < 2 | 4的值等于_____.

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

  二、 简答题(25分)

  1、static有什么用途?(请至少说明两种)

  2、关键字const是什么含意?

  3、对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?

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

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

  6、#include 和 #include “filename.h” 有什么区别?

  7、简单描述一下C和C++有什么不同?

  8、引用与指针有什么区别?

  三、 程序分析(25分)

  1、请写出下列代码的输出内容

  #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、程序填空

  函数long fun2(char*str)的功能是:自左至右顺序取出非空字符串str中的数字字符形成一个十进制整数(最多8位)。

  例如,若字符串str的值为"f3g8d5.ji2e3p12fkp",则函数返回值为3852312。

  long fun2(char *str)

  {

  int i=0;

  long k=0;

  char *p=str;

  while (*p != '

c程序员笔试题

谢桦分享

  程序员是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。今天学习啦小编为大家精心准备的是:c程序员面试相关笔试题。具体内容如下,欢迎参考阅读:


  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];

  从本质上看,a是由____个元素组成的一维数组,这个一维数组的每个元素本身又是由___个short类型整数组成的一维数组;sizeof(a[0])等于_____

  4. 表达式 1<<1 + 1的值等于____. 表达式 1 < 2 | 4的值等于_____.

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

  二、 简答题(25分)

  1、static有什么用途?(请至少说明两种)

  2、关键字const是什么含意?

  3、对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?

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

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

  6、#include 和 #include “filename.h” 有什么区别?

  7、简单描述一下C和C++有什么不同?

  8、引用与指针有什么区别?

  三、 程序分析(25分)

  1、请写出下列代码的输出内容

  #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、程序填空

  函数long fun2(char*str)的功能是:自左至右顺序取出非空字符串str中的数字字符形成一个十进制整数(最多8位)。

  例如,若字符串str的值为"f3g8d5.ji2e3p12fkp",则函数返回值为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、写出下列程序的输出结果

  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、请问运行Test函数会有什么样的结果?

  void Test(void)

  {

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

  }

  四、 编程(30分)

  1、编写函数,从src中拷贝count字节到dest中。

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

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

  (以下试题二选一)

  2、编写函数,计算输入的日期是本年第几天,如2007年1月5日是 2007年第5天 int DayOfYear(int year,int month,int day)

  3、编写一个金额类{符号,整数部分,小数部分},实现金额的加法、减法功能

' && ( 1 ) )

  {

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

  {

  k= 2 +*p-'0';

  ++i;

  }

  3 ;

  }

  return k;

  }

  3、写出下列程序的输出结果

  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、请问运行Test函数会有什么样的结果?

  void Test(void)

  {

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

  }

  四、 编程(30分)

  1、编写函数,从src中拷贝count字节到dest中。

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

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

  (以下试题二选一)

  2、编写函数,计算输入的日期是本年第几天,如2007年1月5日是 2007年第5天 int DayOfYear(int year,int month,int day)

  3、编写一个金额类{符号,整数部分,小数部分},实现金额的加法、减法功能

    349632