100条经典C语言笔试题目(全) .pdfVIP

  • 22
  • 0
  • 约1.75万字
  • 约 17页
  • 2024-12-16 发布于山东
  • 举报

100条经典C语言笔试题目

1、请填写bool,float,指针变量与“零值”比较的if语句。

提示:这里“零值”可以是0,0.0,FALSE或者“空指针”。例如int变量n与“零值”

比较的if语句为:

if(n==0)

if(n!=0)

以此类推。

(1)请写出boolflag与“零值”比较的if语句:

【标准答案】if(flag)

if(!flag)

(2)请写出floatx与“零值”比较的if语句:

【标准答案】constfloatEPSINON=0.00001;

if((x=-EPSINON)(x=EPSINON)

不可将浮点变量用“==”或“!=”与数字比较,应该设法转化成

“=”或“=”此类形式。

(3)请写出char*p与“零值”比较的if语句

【标准答案】if(p==NULL)

if(p!=NULL)

2、以下为Linux下的32位C程序,请计算sizeof的值。

charstr[]=“Hello”;

char*p=str;

intn=10;

请计算(1)sizeof(str)=

(2)sizeof(p)=

(3)sizeof(n)=

【标准答案】(1)6、(2)4、(3)4

(4)voidFunc(charstr[100])

{

……;

}

请计算sizeof(str)=

(5)void*p=malloc(100);

请计算sizeof(p)=

【标准答案】(4)4、(5)4

3、longa=0x801010;

a+5=?

【标准答案】0x801010用二进制表示为:“100000000001000000010000”,十

进制的值为8392720,再加上5就是8392725。

4、用变量a给出下面的定义

e)一个有10个指针的数组,该指针是指向一个整型数的;

f)一个指向有10个整型数数组的指针;

g)一个指向函数的指针,该函数有一个整型参数并返回一个整型

数;

h)一个有10个指针的数组,该指针指向一个函数,该函数有一个整型参

数并返回一个整型数;

【标准答案】e)int*a[10];f)int(*a)[10]

g)int(*a)(int);h)int(*a[10])(int)

5、设有以下说明和定义:

typedefunion{longi;intk[5];charc;}DATE;

structdata{intcat;DATEcow;doubledog;}too;

DATEmax;

则语句printf(%d,sizeof(structdate)+sizeof(max));的执行结果是:_____

【标准答案】DATE是一个union,变量公用空间.里面最大的变量类型是int[5],占

用20个字节.所以它的大小是20.

data是一个struct,每个变量分开占用空间.依次为int4+DATE20+double8=32.

所以结果是20+32=52。

当然...在某些16位编辑器下,int可能是2字节,那么结果是int2+DATE10+

double8=20

6、请问以下代码有什么问题:

intmain()

{

chara;

char*str=a;

strcpy(str,hello);

printf(str);

return0;

}

【标准答案】没有为str分配内存空间,将会发生异常

文档评论(0)

1亿VIP精品文档

相关文档