2011国二c语言上机加笔试题库(含答案)(6)

2019-04-02 17:20

{

float a, b, t ; scanf( \ %f\ , &a, &b); if(a>b) { t=a;

a=b ; b=t; }

printf(“%5.2f, %5.2f\\n”, a, b);

}

9.若输入8642,以下程序的输出结果为 place=4,每位数字为:8,6,4,2 。 main() {

long int num;

int gw, sw, bw, qw, ww, place;

printf(“请输入一个0~99999之间的整数:”); scanf(“%ld”, &num); if(num>9999) place=5; else if(num>999) place=4; else if(num>99) place=3; else if(num>9) place=2; else place=1;

printf(“place=%d,”, place); printf(“每位数字为: ”); ww=num/10000;

qw=(num-ww*10000)/1000;

bw=(num-ww*10000-qw*1000)/100;

sw=(num-ww*10000-qw*1000-bw*100)/10; gw=num-ww*10000-qw*1000-bw*100-sw*10; switch(place)

{case 5: printf(“%d, %d, %d, %d, %d”, ww, qw, bw, sw, gw); break; case 4: printf(“%d, %d, %d, %d”, qw, bw, sw, gw); break; case 3: printf(“%d, %d, %d”, bw, sw, gw); break; case 2: printf(“%d, %d”, sw, gw); break; case 1: printf(“%d”, gw); break; } }

10.若输入1988,程序运行的结果为 1988年是闰年 ;若输入1989,则结果为 1989年不是闰年 。main() {int year, leap;

scanf(“%d”, &year); if(year%4) leap=0;

else if(year0) leap=1; else if(year@0) leap=0;

else leap=1;

if(leap) printf(“%d年是闰年。\\n”, year); else printf(“%d年不是闰年。\\n”, year); }

11.用以下程序把大写字母A~Z转换成对应的小写字母a ~ z,其他字符不转换。 main() {char ch;

scanf ( \ );

ch=( ch>='A'&&ch<='Z' )?ch+32:ch; printf(“char=%c\\n”, ch ); }

12.条件“2020&&x<30||x<=-100 。

13.若已知a=10, b=20, 则表达式!a

14.若已定义int a=25, b=14, c=19; 以下三目运算符(?:)所构成的语句的执行结果是 ###a=26,b=13,c=19 。

a++<=25&&b--<=2&&c++?printf(“***a=%d, b=%d, c=%d\\n”, a, b, c): printf(“###a=%d, b=%d, c=%d\\n”, a, b, c);

15.以下两条if语句可合并成一条if语句为 if(a>b){y=2;printf(\else {x=1;printf(\ 。 if(a<=b) x=1; else y=2;

if(a>b) printf(“**** y=%d\\n”, y); else printf(“#### x=%d\\n”, x);

第六章 循环控制

一 单项选择题

1.下面程序段的运行结果是( )。

int n=0;

while(n++<=2); printf(“%d”,n);

A) 2 B) 3 C) 4 D) 有语法错 2.设有程序段: t=0;

while(printf(“*”))

{t++;

if(t<3) break; }

下面描述正确的是( )。 A) 其中循环控制表达式与0等价 B) 其中循环控制表达式与'0'等价 C) 其中循环控制表达式是不合法的 D) 以上说法都不对

3.下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对相等数时结束循环,请选择填空( )。 #include main()

{int a,b,t;

scanf(“%d%d”,&a,&b); while( ___________ ) {if(a>b)

{t=a;a=b;b=t;}

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

A) !a=b B) a!=b C) a==b D) a=b 4.C语言中,while和do-while循环的主要区别是( )。 A) do-while的循环体至少无条件执行一次

B) while的循环控制条件比do-while的循环控制条件更严格 C) do-while允许从外部转到循环体内 D) do-while的循环体不能是复合语句 5.对以下程序段描述正确的是( )。 x=-1; do

{x=x*x;} while(!x);

A) 是死循环 B) 循环执行二次 C) 循环执行一次 D) 有语法错误 6.以下描述中正确的是( )。

A) do-while循环中循环体内不能使用复合语句

B) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C) 在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操作 D) do-while循环中,根据情况可以省略while 7.若有如下语句 int x=3;

do{ printf(“=”,x-=2);} while(!(--x)); 则上面程序段( )。

A) 输出的是1 B) 输出的是1和-2 C) 输出的是3和0 D) 是死循环 8.下面有关for循环的正确描述是( )。

A) for循环只能用于循环次数已经确定的情况

B) for循环是先执行循环的循环体语句,后判断表达式 C) 在for循环中,不能用break语句跳出循环体

D) for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 9.对for(表达式1; ;表达式3)可理解为( )。

A) for(表达式1;0;表达式3) B) for(表达式1;1;表达式3)

C) for(表达式1;表达式1;表达式3) D) for(表达式1;表达式3;表达式3) 10.若i为整型变量,则以下循环执行次数是( )。

for(i=2;i==0;) printf(“%d”,i--);

A) 无限次 B) 0次 C) 1次 D) 2次 11.以下不是无限循环的语句为( )。 A) for(y=0,x=1;x>++y;x=i++) i=x; B) for(;;x++=i); C) while(1){x++;}

D) for(i=10;;i--) sum+=i;

12.下面程序段的运行结果是( )。

for(y=1;y<10;) y=((x=3*y,x+1),x-1); printf(“x=%d,y=%d”,x,y);

A) x=27,y=27 B) x=12,y=13 C) x=15,y=14 D) x=y=27 13.执行语句for(i=1;i++<4;) ;后变量i的值是( )。 A) 3 B) 4 C) 5 D) 不定

14.有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,请选择填空( )。 #include main() {int i;

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

15.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空( )。 #include main()

{ int i=0,j,k;

do{i++;k=316-13*i;}while( _k______ ); j=k/11;

printf(“316=13*%d+11*%d”,i,j); }

A) k/11 B) k C) k/11==0 D) k==0 16.下面程序的运行结果是( )。 #include main() {int y=10;

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

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

17.若运行以下程序时,从键盘输入ADescriptor(表示回车),则下面程序的运行结果是( )。 #include main() {char c;

int v0=1,v1=0,v2=0; do{

switch(c=getchar())

{case ?a?:case ?A?: case ?e?:case ?E?: case ?i?:case ?I?: case ?o?:case ?O?:

case ?u?:case ?U?:v1+=1;

default:v0+=1;v2+=1; }

}while(c!=?\\n?);

printf(“v0=%d,v1=%d,v2=%d\\n”,v0,v1,v2); }

A) v0=7,v1=4,v2=7 B) v0=8,v1=4,v2=8 C) v0=11,v1=4,v2=11 D) v0=12,v1=4,v2=12 18.下面程序的运行结果是( )。 #include main()


2011国二c语言上机加笔试题库(含答案)(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2014黄委会考试黄河知识专用内部资料

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: