C语言期末试卷6

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

C程序设计期末考试试卷F-A

(本试卷共9 页,命题日期:200 年月日)

一、选择填空(每空2分)

1.设int a,b;则表达式a=2,b=++a*2的值为【1】。

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

2.下面程序的运行结果是【2】

main()

{int a=-10,b=-3;

printf(“%d\n”,(a=a-b,a+b));

}

A)-10 B) –4 C) -7 D) -13

3.以下能正确定义变量a, b和c并为它们赋值的语句是【3】

A) int a=5; b=5; c=5; B) int a,b,c=5;

C) a=5,b=5,c=5; D) int a=5, b=5, c=5;

4.设a为整型变量,不能正确表达数学关系 10

A) 1010 && a<15 D)!(a<=10) && !(a>=15)

5.若已定义: int x=5.5,y; 则表达式y=2.75+x/2的值是【5】。

A) 5.5 B) 5 C) 4 D) 4.0

6.定义int a;后,语句printf("%d\n",(a=3*5,a*4,a+5));的输出是【6】。

A) 65 B) 20 C) 15 D) 10

7.若给定条件表达式(S)? (a++) : (a--),

则与表达式S等价的是【7】。

A) 和(S==0)等价 B) 和(S==1)等价

C) 和(S!=0)等价 D) 和(S!=1)等价

8.若定义int d, c=6;则执行下面的语句后,d的值为【8】。

switch(c)

{ case 0:d=0;break;

case 1:

case 2:d=1;break;

case 3:

case 4:d=2;break;

default:d=3; }

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

9.若执行下面程序时,从键盘输入"3,4",则输出是【9】。

main()

{ int a,b,s;

scanf("%d,%d",&a,&b);

s=a;

if (a

s=s*s;

printf("%d\n",s);

}

A) 4 B) 16 C) 18 D) 20

10.下列程序段执行后,s的值为【10】。

int k,s=0;

for(k=1;k<=10;++k); s=s+k;

A) 1+2+3+...+10 B) 0 C) 11 D) 10

11.若i,j已定义为int 类型,则以下程序段中内循环体的总的执行次数是【11】。

for(i=5;i;i--)

for(j=0;j<4;j++)

{ ...... }

A) 20 B) 24 C) 25 D) 30

12.设 int a=1,b=2,c=3,d=4;

则表达式(a!=b)?(--c):d++的值为【12】。

A) 5 B) 4 C) 2 D) 3

13.运行以下程序段的输出结果是【13】。

int a=5;

if(a++>5) printf("%d\n",a);

else printf("%d\n",a--);

A) 4 B) 6 C) 5 D) 有语法错误14.定义以下结构体数组

struct date

{ int year;

int month;

int day; };

struct s

{ struct date birth;

char name[20];

} x[4]={{1977, 8, 7, "hangzhou"}, {1975, 9, 5, "Tianjin"}};

语句printf("%s,%d,%d,%d", x[0].name,x[1].birth.year,

x[1].birth.month, x[1].birth.day); 的输出结果为【13】。

A) hangzhou,1977,8,7 B) hangzhou,1975,9,5

C) Tianjin,1977,8,7 D) Tianjin,1975,9,5

15.下列各程序段中,可以实现1×2×3×4×5×6×7×8×9×10的是【15】。

A) int k=1,M=0; for (;k<11;++k) M*=k;

B) int k=1,M=1; while (k<10); M*=k,k++;

C) int k=1,M=1; for (;;++k); M*=k;

D) int k=1,M=1; while (k<=10) {M*=k;k++;}

16.下面程序段,不是死循环的是【16】。

A) int i=100;

while(2)

{i=i%100+1;

if(i>100) break;

}

B) for( ; ; );

C) int k=0;

do{++k;} while(k>=0);

D) int s=45;

while(s); s--;

17. 为表示关系y在闭区间[x,z]内,应使用的C语言表达式是(【17】)。

A) (x<=y)&&(y<=z) B)(x<=y)AND(y<=z)

C) x<=y<=z D)(x<=y)&(y<=z)

18. 下面的程序运行后输出的结果是【18】。

main()

{int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23},(*p)[4]; p=a;

printf("%d",*(*(p+2)+3)); }

A) 9 B) 15 C) 21 D) 23

19.下列一维数组说明中,正确的是(【19】)。

A) #define SIZE 8

float b[SIZE];

B) int n; scanf("%d", &n); float b[n];

C) int m=7, a[m];

相关文档
最新文档