当前位置:文档之家› C语言程序设计-第3章 练习题

C语言程序设计-第3章 练习题

一、单项选择题
题目1
若x的值为15,则执行“if(x>10) x++; else x--;”语句后,x的值为()。

a. 14
b. 15
c. 10
d. 16
题目2
若x的值为-10,则执行“if(!x) x++; else x--;”语句后,x的值为()。

a. -9
b. -11
c. -10
d. 0
题目3
若x的值为10,则执行“switch(x%3){case
0: x++; case 1:x++; case 2: x++;}”语句后,x的值为()。

a. 13
b. 12
c. 11
d. 10
题目4
若x的值为10,则执行“switc h(x%3){case
0: x++; break; case 1:x++; default: x++;}”语句后,x的值为()。

a. 9
b. 10
c. 11
d. 12
题目5
若n的值为10,则执行“for(i=1;
i<n; i++) S;”语句的过程中,表达式i=1共被执行的次数为()。

a. n
b. n+1
c. 1 B. n-1 C.
n-1
d. 1
题目6
若n的值为10,则执行“for(i=0;
; i++) if(i>n/3) break;”语句后,i的值为()。

a. 3
b. 6
c. 4
d. 5
题目7
若n的值为10,则执行“for(i=1;
i<n; i++) S;”语句的过程中,表达式i++共被执行的次数为()。

a. n+1
b. n
c. 1
d. n-1
题目8
若n的值为10,则执行“for(i=0;
i<n; i++) for(j=i; j<n; j++) S;”语句后,内层循环体S语句的执行总次数为()。

a. n(n-1)/2
b. (n+1)/2
c. n*n
d. n(n+1)/2
题目9
若n的值为10,则执行“while(n-->0)
s+=n;”语句的过程中,循环体被执行的次数为()。

a. 8
b. 10
c. 11
d. 9
题目10
若n的值为5,s的值为0,则执行“while(n-->0) s+=n;”语句后,s的值为()。

a. 10
b. 15
c. 12
d. 14
题目11
在下列的语句中,必须以分号作为结束的语句是()。

a. while
b. for
c. switch
d. do
题目12
若n的值为5,s的值为0,则执行“do s+=n--; while(n>0);”语句后,s的值为()。

a. 12
b. 13
c. 15
d. 14
题目13
要结束任一种循环语句或switch语句的执行,则在其中使用的语句为()。

a. goto
b. break
c. continue
d. return
二、判断题
题目14
在if语句中,必须带有else子句,不能省略它。



题目15
在for循环语句的头部,for后面括号内共有3个表达式位置。



题目16
for循环语句不能够被转换为while循环语句。



题目17
while循环语句中的循环体可能不会被执行。



题目18
while循环语句的循环体,只能是复合语句,不能是简单语句。



题目19
do-while循环语句中的循环体可能不会被执行。



题目20
do-while循环语句的循环体,只能是复合语句,不能是简单语句。



题目21
do-while循环语句是以循环体结尾的。



题目22
break语句可以使用在switch语句中。



题目23
return语句中可以带有返回表达式。



题目24
continue只能使用在任一种循环语句的循环体中。



三、程序填空题
#include<stdio.h>
void main() {
int a=5,b=8,c;
if(3*a>2*b) c=2*a+3*b;
else if(a==b) c=a*a+b*b;
else c=a*b+3;
printf("c=%d\n",c);
}
答案:
题目28
#include<stdio.h>
void main() {
int x=5,y=0;
switch(2*x-3) {
case 4: y+=x;
case 7: y+=2*x+1;
case 10: y+=3*x;
}
printf("y=%d\n",y);
题目30
#include<stdio.h>
void main() {
int i,s=0;
for(i=16; i>0; i-=2)
if(i%3==0 || i%4==0) s+=i;
printf("s=%d\n",s);
}
答案:
题目31
#include<stdio.h>
void main() {
int i,x,y,s=0;
scanf("%d %d",&x,&y);
if(x>y) {i=x; x=y; y=i;}
for(i=x; i<=y; i++)
if(i%2==1) s+=i*i;
printf("s=%d\n",s);
}
供参考,感谢您的配合和支持)。

相关主题