C语言程序设计模拟试题3(附答案)

  • 格式:doc
  • 大小:51.00 KB
  • 文档页数:12

下载文档原格式

  / 12
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《C语言程序设计》模拟试卷三

一、填空题。(每空2分,共16分)

1.在内存中,短整型变量占字节,单精度实型变量占字节,字符型变量占字节。

2.一个C语言文件是由若干个组成。

3.设有以下变量定义,并已赋确定的值

char w; int x; float y; double z;

则表达式:w*x+z-y所求得的数据类型为。

4.若x为int类型,请以最简单的形式写出与逻辑表达式!x等价的C语言关系表达式。5.若有如下图所示五个连续的int类型的存储单元并赋值如下图,a[0]的地址小于a[4]的地址。p和s是基类型为int的指针变量。请对以下问题进行填空。

a[0] a[1] a[2] a[3] a[4]

(1)若p已指向存储单元a[1]。通过指针p,给s赋值,使s指向最后一个存储单元a[4]的语句是。(2)若指针s指向存储单元a[2],p指向存储单元a[0],表达式s-p的值是。

二、单项选择题。(每题2分,共40分)

1.设有int x=11; 则表达式(x++ * 1/3) 的值是()。

A) 3 B) 4 C) 11 D) 12

2.下列程序的输出结果是()。

A) 3 B) C) 0 D)

main()

{double d=; int x,y;

x=; y=(x+/;

printf(“%d \n”, d*y);

}

3.下列程序执行后的输出结果是(小数点后只写一位)()。

A) 6 6 B) 6 6

C) 6 6 D) 6 6

main()

{ double d; float f; long l; int i;

i=f=l=d=20/3;

printf("%d %ld %f %f \n", i,l,f,d);

scanf("%d",&d);

}

4.下列变量定义中合法的是()。

A) short _a=;B) double b=1+;

C) long do=0xfdaL; D) float 2_and=1-e-3;

5.设int x=1, y=1; 表达式(!x||y--)的值是()。

A) 0 B) 1 C) 2D) -1

6.与y=(x>01:x<0-1:0);的功能相同的if语句是()。

A) if (x>0) y=1; B) if(x)

else if(x<0)y=-1; if(x>0)y=1;

else y=0; else if(x<0)y=-1;

else y=0;

C) y=-1 D) y=0;

if(x) if(x>=0)

if(x>0)y=1; if(x>0)y=1;

else if(x==0)y=0; else y=-1;

else y=-1;

7.以下循环体的执行次数是()。

A) 3 B) 2 C) 1D) 0

main()

{ int i,j;

for(i=0,j=1; i<=j+1; i+=2, j--)printf(“%d \n”,i);

}

8.以下叙述正确的是()。

A) do-while语句构成的循环不能用其它语句构成的循环来代替。

B) do-while语句构成的循环只能用break语句退出。

C) 用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D) 用do-while语句构成的循环,在while后的表达式为零时结束循环。9.下列程序执行后的输出结果是()。

A) G B) H C) I D) J

main()

{ int x=’f’; printf(“%c \n”,’A’+(x-‘a’+1)); }

10.执行下面的程序段后,变量k中的值为()。

A) 不定值B) 33C) 30 D) 10

int k=3, s[2];

s[0]=k; k=s[1]*10;

11.若已定义:

int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a, i;

其中0≤i≤9, 则对a数组元素不正确的引用是()。

A) a[p-a] B) *(&a[i]) C) p[i]D) a[10]

12.下列程序执行后的输出结果是()。

A) 6 B) 7C) 8 D) 9

void func(int *a,int b[])

{ b[0]=*a+6; }

main()

{ int a,b[5];

a=0; b[0]=3;

func(&a,b); printf(“%d \n”,b[0]);

}

13.下列程序的运行结果是()。

A) a=%2,b=%5 B) a=2,b=5

C) a=d, b=d D) a=%d,b=%d

#include <>

main()

{ int a=2,c=5;

printf(“a=%d,b=%d\n”,a,c); }

14.下列程序执行后的输出结果是()。

A) 3B) 6C) 9 D) 随机数

main()

{ int a[3][3], *p, i;

p=&a[0][0];

for(i=0; i<9; i++) p[i]=i+1;

printf(“%d \n”,a[1][2]);

}

15.设有数组定义: char array [ ]= “China”; 则数组array所占的空间为()。

A) 4个字节B) 5个字节C) 6个字节D) 7个字节

16.下列程序的输出结果是()。

A) 4 B) 6 C) 8D) 10

int b=2;

int func(int *a)

{ b += *a; return(b);}

main()

{ int a=2, res=2;

res += func(&a);

printf(“%d \n”,res);

}

17.有以下定义和语句

int a[3][2]={1,2,3,4,5,6,},*p[3];

p[0]=a[1];

则*(p[0]+1)所代表的数组元素是( )

A)a[0][1] B)a[1][0] C)a[1][1] D)a[1][2]

18.下列程序的输出结果是()。

A) 5B) 6 C) 7 D) 8

struct abc

{ int a, b, c; };

main()

{ struct abc s[2]={{1,2,3},{4,5,6}};