c卄基本编程题
本试题仅用于考查C++/C程序员的基本编程技能。 内容限于C++/C常用语法,不涉及数据结构、算法以 及深奥的语法。
考试成绩能反映出考生的编程质量以及对C++/C的理 解程度,
但不能反映考生的智力和软件开发能力。
一、 请填写BOOL, float,指针变量与〃零值〃比较的if 语句。
(10 分)
提示:这里〃零值〃可以是0,, FALSE或者〃空指针〃。 例如int变量n与〃零值〃比较的i f语句为:
if (n ==0) if (n!=0)
以此类推。
请写出BO OLfl ag与〃零值〃比较的if语句: 请写出floatx与\"零值\"比较的if语句: 请写出char*p与\"零值\"比较的if语句:
二、 以下为Win dowsNT下的32位C++程序,请计算si
zeof的值(10分) ch arst讥]二\"H ello\";
char *p=str; int n =10;
请计算
s ize of (str)= siz eof (p )= size of (n)=
voi d Func (chars tr [ 100])
{请计算 sizeof (st r ) =}
void*p=m alloc (1 00);
请计算 si zeof (p )= 三、简答题(25分)
1、头文件中的i fndef/defin e/endif干什么用? 2、ttinclu de 和
#include〃〃有什么区别?
3、 c onst有什么用途?(请至少说明两种)
4、 在C++程序中调用被C编译器编译后的函数, 为什么
要加exter n \"C\"声明?
5、请简述以下两个for循环的优缺点
//第一个 for (i=0; i
{if (co nd ition) DoS omething (); else
DoOthe r thing ();}
优点:缺点:
//第二个 if (cond ition)
{for (i=0;i D oS omething () ;} else { for (i=0;i
优点:缺点:
四、有关内存的思考题(20分)
void GetMe mory (c har*p) {
p= (c har*) mal 1 o c (100); }
vo idTest(void ) {
chartst r=NULL; G etM emory (s tr); str cpy (st r, \"h ellowor Id\"); printf (str);
}请问运行Test函数会有什么样的结果?答: ory (void)
ch arp[]=,,hell owor Id\";
c ha r*GetMem
ret ur np; }
voidT est (void) {
c har*str=NU L L; str=Ge tMe mory ();