C语言程序设计作业1答案

第1次作业答案

一、 单项选择题(本大题共19小题)

1.C语言规定:在一个源程序中,main函数的位置( A)必须在最开始

B)必须在系统调用的库函数的后面 C)可以任意 D)必须在最后

2.一个C语言程序是由(

)。[B]

)。[C]

A)一个主程序和若干个子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成

3.C程序中,注释的内容写在( A)/*和*/之间

)。[A]

C)*/和/*之间

D)*\\和\\*之间

B)\\*和*\\之间

4.C语言程序中每个语句和数据定义的最后必须有一个( A)分号

B)逗号

C)空格

)。[A]

D)冒号

)。[C]

5.若x、i、j和k都是int型变量,则计算下面表达式后,x的值为( X=(i=4,j=16,k=32) A)4

B)16

C)32

D)52 )。[C]

C)double int A;

6.不正确的变量说明是( A)unsigned int ui;

B)short int s; D)int i,j,k;

7.合法的C语言程序标识只符是( A)5dm

B)a>b

)。[C]

D)$a

C)Hh )。[C] C)?ab?

8.不合法的字符常量是( A)?2?

B)?\\101?

D)?\\n? )。[C]

D)a*e/c/b*3

9.若有代数式A)a/b/c*e*3

3ae,则不正确的表达式是( bc

B)3*a*e/b/c

C)3*a*e/b*c

)。[C]

10.以下选项中不合法的赋值语句是( A)c=(a=1,b=2);

B)k=i=j;

C)a=b+c=5; D)n1=(n2=(n3=0));

11.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是(

)。[C]

B) !(A %2 = =0)

C)!(A%2)

D)A%2 )。[C]

A)A%2= =1

12.若w=1,x=2,y=3,z=4,则条件表达式w

B)3

C)2

D)1

13.设ch 是char 型变量,其值为 A, 下面表达式的值为( ch = ( ch >= ?A? && ch <= ?Z? ) ? ( ch + 32 ) : ch ; A)A

B)a

C)Z

D)z

)。[B]

14.假定所有变量均已正确说明,下列程序运行后x的值是( a=b=c=0, x=35; if (! a) x――;

else if (b ); if ( c) x=3; else x=4; A)34

B)4

C)35

D)3

)。[A]

15.下面程序段的输出结果是( int n=4;

)。[A]

while (n――) printf(“%2d”, ――n); A)2 0

B)31

C)3 2 1

D)2 1 0

16.下面程序段的输出结果是( int x=3; do

{ printf(“=”, x-=2); } while (!(――x)); A)1

B)30

)。[C]

C)1 -2

)。[C]

D)死循环

17.以下for循环的执行次数是( for (x=0,y=0;(y=123)&&(x<4);x++); A)是无限循环

B)循环次数不定 C)执行4次

D)执行3次

18.若有说明:int a[5][6]; 则对a数组元素的正确引用是( A)a[2][6]

B)a[4,5]

C)a[1+3][0]

D)a(1)(5)

)。[C]

19.判断字符串s1是否大于字符串s2,应当使用( A)if ( s1>s2)

)。[D]

B)if (strcmp ( s1,s2))

C)if ( strcmp( s2, s1)>0)

二、填空题(本大题共15小题)

D)if ( strcmp( s1,s2 )>0)

1.设a=10,则赋值表达式a+=a-=a*a的值是 。 [-180] 2.设a=3,b=4,c=5。则逻辑表达式a||b+c&&b-c的值是 。[1] 3.若已知定义a =10, b=20, 则表达式 ! a

4.若有定义 int a [3][4]={{1,2}, {0},{ 4,6,78,10}}; 则初始化后a[1][2]得到的初值是 。[0] 5.若有定义 int a [3][4]={{1,2}, {0},{ 4,6,78,10}}; 则初始化后a[2][1]得到的初值是 。[6]

6.下面程序段的输出结果是 [**1** **3**] void main() { int x=1, y=0; switch ( x) { case 1: switch ( y )

{ case 0: printf(“**1**\\n”); break; case 1: printf(“**2**\\n”); break; } case 2:

printf(“**3**\\n”); } }

7.下面程序段的输出结果是 void main() { int x=3,y=6,a=0;

。[x=4, y=5, a=1]

while (x++!=(y-=1)) { a+=1;

if (y>x) printf(\ } }

8.下面程序输出结果是_____________________。[i=6,k=4] #include void main() { int i,j,k=19;

While (i=k-1) { k- =3;

if (k%5==0) { i++; continue; } else if (k<5) break; i++; }

Printf(“i=%d,k=%d\\n”,i,k); }

9.如下程序段的输出结果是 。[16] int i=0 , sum=1; do {

sum+=i+ +; }

while ( i<6); printf(“%d”, sum);

10.下列的for循环执行 次。[4] for ( x=0, y=0; ( y!=99) && x<4; x++ );

11.若x 是int型变量,下面程序段的输出结果是 。 [**3##4 **5]

for ( x=3; x<6 ; x++ )

printf ( ( x%2 ) ? ( “ ** %d”) : (“## %d\\n”), x);

12.补足程序,实现如下功能:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。 [ (1)score >=0 && score <=100 (2)score

{ float score, max=0, min=100; printf(“ Input the score”); scanf( “ %f”, &score); while ( (1) ) { if ( score > max) max=score; if ( (2) ) min=score;

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4