蜜蜂职场文库 > 职业规划 >

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 != &39;\0&39; && ( 1 ) )

{

if(*p >=&39;0&39;&& *p <=&39;9&39;)

{

k= 2 +*p-&39;0&39;;

++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] = &39;a&39;;

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、编写一个金额类{符号,整数部分,小数部分},实现金额的加法、减法功能

64273