一、判断题(对的写T,错的写F并说明原因,每小题4分,共20分)
1、有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为0。( )
2、int (*ptr) (),则ptr是一维数组的名字。( )
3、指针在任何情况下都可进行>,<,>=,<=,==运算。( )
4、switch(c) 语句中c可以是int ,long,char ,float ,unsigned int 类型。( )
5、#define print(x) printf("the no, "#x",is ")
二、填空题(共30分)
1、在windows下,写出运行结果,每空2分,共10分。
char str[ ]= "Hello";
char *p=str;
int n=10;
sizeof(str)=( )
sizeof(p)=( )
sizeof(n)=( )
void func(char str[100])
{ }
sizeof(str)=( )
2、void setmemory(char **p, int num)
{ *p=(char *) malloc(num);}
void test(void)
{ char *str=NULL;
getmemory(&str,100);
strcpy(str,"hello");
printf(str);
}
运行test函数有什么结果?( )10分
3、设int arr[]={6,7,8,9,10};
int *ptr=arr;
*(ptr++)+=123;
printf("%d,%d",*ptr,*(++ptr));
( ) 10分
二、编程题(第一小题20,第二小题30分)
1、 不使用库函数,编写函数int strcmp(char *source, char *dest)
相等返回0,不等返回-1;
2、 写一函数int fun(char *p)判断一字符串是否为回文,是返回1,不是返回0,出错返回-1
五、 阅读程序题(每个小题5分,共20分)
1.阅读以下程序,概括地写出程序的功能。
#i nclude
double Exp(double x)
{ double sum=1.0;
double term=x;
double i=1 ;
while (term>=1.0E-8)
{ sum+=term ;
i++;
term=term*x/i ;
}
return sum ;
}
void main()
{ double s;
s=Exp(1.0)+Exp(2.0);
ision(8);
cout<<"s="<<
}
2. 阅读程序,写出程序执行时输出结果。
#i nclude
const int SIZE=10;
class stack
{ char stck[SIZE];
int top;
public:
void init();
void push(char ch);
char pop();
};
void stack::init()
{ top=0; }
void stack::push(char ch)
{ if(top==SIZE)
{ cout<<"Stack is full.n";
return ;
}
stck[top++]=ch;
}
char stack::pop()
{ if(top==0)
{ cout<<"Stack is empty.n";
return 0;
}
return stck[--top];
}
void main()
{ stack s1, s2;
();
();
('a');
('b');
('c');
('x');
('y');
('z');
for(int i=0; i<3; i++)
cout<<"Pop s1:"<<
for(i=0; i<3; i++)
cout<<"Pop s2:"<<
}
程序结果:
3.阅读程序,写出程序运行时输出结果。
#i nclude
class Tdate
{ public:
Tdate();
Tdate(int d);
Tdate(int m, int d);
Tdate(int m, int d, int y);
protected:
int month;
int day;
int year;
};
Tdate::Tdate()
{ month=4;
day=15;
year=1995;
cout<<<"/" <<<"/" <<
}
Tdate::Tdate(int d)
{ month=4;
day=d;
year=1996;
cout<<<"/" <<<"/" <<
}
Tdate::Tdate(int m, int d)
{ month=m;
day=d;
year=1997;
cout<<<"/" <<<"/" <<
}
Tdate::Tdate(int m, int d, int y)
{ month=m;
day=d;
year=y;
cout<<<"/" <<<"/" <<
}
void main()
{ Tdate aday;
Tdate bday(10);
Tdate cday(2,12);
Tdate dday(1,2,1998);
}
运行结果:
4.阅读程序,写出程序运行时输出结果。
#i nclude
#i nclude
class shape
{ public:
shape(double x, double y):xCoord(x), yCoord(y){}
virtual double Area()const {return 0.0; }
protected:
double xCoord, yCoord;
};
class AA :public shape
{ public:
AA(double x, double y, double r): shape(x,y), rad(r){}
virtual double Area()const { return 3.0 * rad * rad; }
protected:
double rad;
};
class BB :public shape
{ public:
BB(double x1, double y1, double x2, double y2)
:shape(x1, y1), x2Coord(x2), y2Coord(y2){ }
virtual double Area()const;
protected:
double x2Coord, y2Coord;
};
double BB:Area()const
{ return fabs((xCoord-x2Coord)* (yCoord - y2Coord));
//库函数fabs(double t)求得t的绝对值
}
void fun(const shape& sp)
{ cout<<
}
void main()
{ AA aa(2.0, 5.0, 4.0);
fun(aa);
BB bb(2.0, 8.0, 12.0, 17.0);
fun(bb);
}
运行结果:
六、 编写程序题(每小题10分,共20分)
华为招聘-C语言笔试试题
进修社
人气:1.83W
周排行榜
- 1华为招聘程序员 笔试真题分享
- 2C语言笔试题总结
- 3C语言基础笔试题
- 42017年c语言面试笔试题
- 5C语言笔试复习题
- 6C语言笔试题回忆
- 7外企C语言笔试题
- 8二级C语言面试笔试试题
- 9C语言常用笔试题
- 10腾讯C语言笔试题
- 11华为笔试试题
- 12中兴c语言笔试题
- 13华为C语言上机试题及答案
- 14C语言求职笔试题
- 15C语言笔试题集锦