C语言练习题(谭浩强第四版)..附有答案 下载本文

高级语言程序设计综合练习一 学号: 姓名:

第三章 顺序结构

一、选择题

1. 下面程序的输出是:( ) main()

{ int k=11;

printf(\ }

A) k=11,k=12,k=13 B) k=11,k=13,k=13 C) k=11,k=013,k=oXb D) k=11,k=13,k=b

2. 以下合法的C语言赋值语句是:( )

A)a=b=58 B)k=int(a+b) ; C)a=58,b=58 D)--i;

3. 以下程序的输出结果是:( ) main()

{ int x=10,y=3;

printf(“%d\\n”,y=x/y); }

A)0 B)1 C)3 D)不确定

4. 若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是:(A)read (a,b,c); B)scanf(“%d%d%d”,a,b,c); C)scanf(“%D%D%D”,%a,%b,%c); D)scanf(“%d%d%d”,&a,&b,&b);

5. 执行下面程序段后,c3中的值是:( )

int c1=1 , c2=2 , c3; c3=c1/c2;

A)0 B)1/2 C)0.5 D)1

6. 以下程序段的输出是:( )

float a=57.666;

printf(“*%4.2f*\\n”, a);

A)*57* B)*58* C)*57.66* D)*57.67*

7. 若有以下定义和语句:( ) int a=5,b b=a++;

此处b的值是:( )

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

8. 以下程序的输出结果是:( ) main()

{ int x=10,y=10;

)9

高级语言程序设计综合练习一 学号: 姓名:

printf(\ }

A) 10 10 B) 9 9 C) 9 10 D) 10 9

9. 已知字符A的ASCII码为十进制的65,下面程序的输出是:( ) main() {

char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3';

printf(\ }

A) 67,D B) B,C

C) C,D D) 不确定的值

10. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是:( main() {

int x;

scanf(\ if (x++>5)

printf(\

else

printf(\

}

A) 7和5 B) 6和3 C) 7和4 D) 6和4

11. 若执行下面的程序从键盘输入3和4,则输出是:( ) main()

{ int a,b,s;

scanf(\ s=a;

if (a

printf(\ }

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

12. 设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值

scanf(\

为了把100和765.12分别赋给i和f,则正确的输入为:( ) A) 100<空格>765.12<回车> B) i=100,f=765.12<回车>

C) 100<回车>765.12<回车> D) x=100<回车>,y=765.12<回车>

) 10

高级语言程序设计综合练习一 学号: 姓名:

二、判断题

1.( F )在C语言中,实型数据在内存都中占4个字节。

2.( F )在C语言中,参加算术( +,-,*,/,% )运算的数据可以是任何类型的数据。

3.( F )若有定义和语句:int a;char c;scanf(\当通过键盘输入:

10,‘A’之后,则变量a中存放的是10,变量c中存放的是‘A’。

4.( F )C语言中,变量名只能是小写字母表示,符号常量名可用大写表示 5.( F )在C语言中,变量可以不要定义,直接使用 6.( T )一个C语言程序总是从主函数开始执行的

7.( F )注释语句必须用/*和*/括起来,且只能位于某一语句的后面

第四/五章 选择结构与循环结构

一、选择题

1. 有以下程序 main( )

{ int i;

for ( i=0; i<3; i++ ) switch ( i )

{ case 1 : printf(\ case 2 : printf(\ default : printf(\ }

}

执行后输出结果是:( )

A)011122 B)012 C)012020 D)120

2. 以下程序的输出结果是:( ) main()

{ int a=5,b=4,c=6,d;

printf(\(a>c?a:c) : (b)); }

A) 5 B) 4 C) 6 D) 不确定

3. 以下程序中,while循环的循环次数是:( ) main()

{ int i=0; while(i<10)

{ if(i<1) continue; if(i==5) break; i++; } }

11

高级语言程序设计综合练习一 学号: 姓名:

A) 1 B) 10 C) 6 D) 死循环,不能确定次数

4. 以下程序的输出结果是:( ) main( )

{ int a=0,i;

for(i=1;i<5;i++) switch(i) { case 0:

case 3: a+=2; case 1:

case 2: a+=3; default: a+=5; }

printf(\ }

A) 31 B) 13 C) 10 D) 20

5. 若执行以下程序时从键盘上输入9,则输出结果是:( ) main() { int n;

scanf (\ if(n++<10)

printf (\

else

printf(\

}

A) 11 B) 10 C) 9 D) 8

6. 有以下程序段 int k=0;

while(k=1)

k++;

则while 循环执行的次数是:( )

A) 无限次 B) 有语法错,不能执行 C) 一次也不执行

7. 以下程序执行后sum的值是:( ) main()

{ int i , sum;

for(i=1;i<6;i++) sum+=i; printf(\ }

A)15 B)14 C) 不确定 D)0

8. 以下程序输出结果是:( )

D) 执行1次 12