C语言辅导资料 下载本文

{

case 0:

case 3: a+=2; case 1:

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

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

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

说明:8+8+10+5=31。 【例3.15】下面程序的运行结果是

#include void main() {

int y=10;

do{ y--; } while(--y); printf(“%d\\n”, y--); }

A.-1 B.1 C.8 D.0

【例3.16】下面程序的功能是输出以下金字塔图案的是: * *** ***** *******

#include void main() {

int i, j;

for(i=1; i<=4; i++) {

for(j=1; j<=4-i; j++) printf(“ ”); for(j=1; j<= ; j++) printf(“*”); printf(“\\n”); } }

在下划线处应填入的是

A.i B.2*i-1 C.2*i+1 D.i+2

【例3.17】下面程序段 。

for(t=1;t<=100;t++) {

scanf(“%d”,&x);

17

if(x<0) continue; printf(“=”,t); }

A.当x<0时整个循环结束 B.x>=0时什么也不做

C.printf函数永远也不执行 D.最多允许输出100个非负整数

【例3.18】若w,x,y,z,m均为int 型变量,则执行以下语句后的m值是 。

w=1; x=2; y=3; z=4; m=(w

A.1 B.2 C.3 D.4

【例3.19】请读以下程序:

#include void main() {

int a=5,b=0,c=0; if(a=b+c)

printf(“***\\n”); else

printf(“$$$\\n”); }

以上程序 。

A.有语法错误不能通过编译 B.可以通过编译但不能通过连接 C.输出*** D.输出$$$

【例3.20】下面程序段不是死循环的是 。

A.int i=100;

while(1) {

i=i0+1;

if(i>100) break;

}

B.for( ; ; ); C.int k=0;

do { ++k; } while(k<=0); D.int s=36;

while(s); --s;

【例3.21】有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件,若分成7个零件一组,则多3个,若分成9个零件一组,则多5个零件,下面程序是求这堆零件总数,请选择填空。

#include void main() {

int i;

18

for(i=100;i<200;i++) if((i-2)%4==0) if(!((i-3)%7))

if( ) printf(“%d”,i); }

A.i%9=5 B.i%9!=5 C.(i-5)%9!=0 D.i%9= =5

【例3.22】下面程序的运行结果是 。

#include void main() {

int i;

for(i=1;i<=5;i++) {

if(i%2)

printf(“*”); else

continue; printf(“#”); }

printf(“$\\n”); }

A .*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$

【例3.23】下面程序的运行结果是 。

#include void main() {

int i,j,x=0;

for(i=0;i<2;i++) {

x++;

for(j=0;j<=3;j++) {

if(j%2) continue; x++; } x++; }

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

A.x=4 B.x=8 C.x=6

19

D.x=12

2、填空题

【例3.24】C语言中,break语句只能用于 语句和 语句中。 【例3.25】当a=3,b=2,c=1时,表达式f=a>b>c的值是 。

【例3.26】若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是 。 【例3.27】下列程序计算2~100的偶数的累加和,请填空。

#include void main() {

int i, sum=0;

for( ) sum+=i;

printf(“sum=%d\\n”, sum); }

【例3.28】以下程序的输出结果是

#include void main() {

int x=15;

while(x>10 && x<50) {

x++;

if(x/3) {x++; break;} else continue; }

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

【例3.29】下面程序段是找出整数的所有因子,请填空。

scanf(“%d”, &x); i=1;

for( ; ; ) {

if(x%i= =0) printf(“=”,i); i++; }

【例3.30】下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。

int n=0, c; c=getchar( );

while( ) {

if( ) n++; c=getchar( ); }

【例3.31】等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被

20