计算机二级题库(2)

2019-03-03 17:41

1.#include main()

{ int a=1,b=3,c=5; if (c==a+b)

printf(\ else

printf(\ }

运行结果为:no 2. #include main()

{ int a=12, b= -34, c=56, min=0; min=a; if(min>b) min=b; if(min>c) min=c;

printf(\ }

运行结果为: min=-34

定义变量,并赋值 此时a=12, b= -34, c=56, min=0

将a中值拷贝,赋给min,覆盖了min中的0,此时min中的值被更新为12。 若min>b成立,则执行min=b;若min>c成立,则执行min=c;输出min中的值

12大于-34,第一个if语句的表达式成立,因此执行min=b; 执行后min中的值被更新 为-34.

-34小于56,第二个if语句的表达式不成立,因此不执行min=c; 最后输出min中的值,为-34. 3. #include main()

{ int x=2,y= -1,z=5; if(x if(y<0) z=0; else z=z+1;

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

运行结果为:5

遇到选择结构,首先要明确条件表达式成立时执行哪些操作。本题中,第一个if语句,其后的复合语句没有大括号{ },说明复合语句中只包含一条语句,进而省略了{ }。内层的if...else...是选择结构的第二种基本形式,在结构上视为一条语句。因此内层的if...else...作为第一个if语句的复合语句。

4. #include main()

{ float a,b,c,t; a=3; b=7; c=1; if(a>b)

{t=a;a=b;b=t;} if(a>c)

{t=a;a=c;c=t;} if(b>c)

{t=b;b=c;c=t;}

printf(\ }

运行结果为:1.00,2.00,7.00

本题包含了3个if语句,每个if语句后的{ }都不可省略,因为每个{ }中都包含了多条语句

若表达式a>b成立,则执行{t=a;a=b;b=t;} 若表达式a>c成立,则执行{t=a;a=c;c=t;} 若表达式b>c成立,则执行{t=b;b=c;c=t;}

输出a,b,c中的值,要求输出的每个数据宽度为5个空格,小数部分保留2位,数据右对齐

5. #include< stdio .h > main ( )

{floatc=3.0 , d=4.0; if ( c>d ) c=5.0; else

if ( c==d ) c=6.0; elsec=7.0;

printf ( “%.1f\\n”,c ) ; }

运行结果为:7.0

此题为if...else...语句的嵌套,第二if...else...作为第一个if...else...语句else部分的复合语句。

若表达式c>d成立,则执行c=5.0;否则(表达式c>d不成立)

若表达式c==d成立,则执行c=6.0;否则,执行c=7.0;输出c中的值 6. #include \ main() {char c; c=getchar();

while(c!='?') {putchar(c);c=getchar(); } }

如果从键盘输入abcde?fgh(回车)

运行结果为:abcde 7. #include main() { char c;

while((c=getchar())!=’$’)

{ if(‘A’<=c&&c<=‘Z’)putchar(c);

else if(‘a’<=c&&c<=‘z’)putchar(c-32);} }

当输入为ab*ABí#CD$时,运行结果为:ABABCDCD 8. #include main()

{ int x, y =0; for(x=1;x<=10;x++) { if(y>=10) break; y=y+x; }

printf(“%d %d”,y,x); }

运行结果为:10 5

for( 表达式1;表达式2;表达式3) { }

(1) 先求解表达式1. (2) 求解表达式2,若其值为真,执行循环体,然后执行 (3). 若为假,则结束循环,转到(5).(3) 求解表达式3 .(4) 转回上面 (2)继续执行.(5) 循环结束,执行for语句下面的一个语句 break ,跳出循环体;continue,结束本次循环(第i次循环),继续执行下一次循环(第i+1次循环) 9. #include main( ) {char ch;

ch=getchar( ); switch(ch)

{case‘A’ : printf(“%c”,’A’);

case‘B’ : printf(“%c”,’B’); break; default: printf(“%s\\n”,”other”); } }

当从键盘输入字母A时,运行结果为:AB 10. #include main( )

{ int a=1,b=0; scanf(“%d”,&a); switch(a)

{case 1: b=1;break; case 2: b=2;break;

default : b=10;} printf(\; }

若键盘输入5,运行结果为:10

首先用scanf函数为变量a赋值为5。 执行switch语句。switch后面的条件表达式为a,因此表达式的值即为5. 用5依次与下面 case中的常量匹配。没有找到匹配的常量,因此两个case后的语句都不执行。执行default后面的语句b=10;将10赋给变量b。输出变量b,结果为10 11. #include main()_

{ char grade=’C’; switch(grade) {

case ‘A’: printf(“90-100\\n”); case ‘B’: printf(“80-90\\n”); case ‘C’: printf(“70-80\\n”);

case ‘D’: printf(“60-70\\n”); break; case ‘E’: printf(“<60\\n”); default : printf(“error!\\n”); } }

运行结果为: 70-80 60-70 12. #include main() { int y=9; for(;y>0;y- -) if(y%3==0)

{ printf(%d”,- -y); } }

运行结果为: 852

13. #include main()

{ int i,sum=0;i=1;

do{ sum=sum+i; i++; }while(i<=10); printf(“%d”,sum); }

运行结果为: 55 14. #include #define N 4 main()

{ int i;

int x1=1,x2=2; printf(\ for(i=1;i<=N;i++)

{ printf(\ if(i%2==0) printf(\ x1=x1+x2; x2=x2+x1; } }

运行结果为: 1 2 3 5 8 132134

表达式1为i=1,表达式2(循环条件)为i<=N即i<=4,表达式3为i++ 循环变量初值i为1,循环条件(即表达式2)i<=4成立,进入第1次循环 第1次循环执行printf(\因此屏幕上输出12

执行if语句。1%2不为0,if语句的条件表达式不成立,不执行printf(\ 执行x1=x1+x2=1+2=3;此时x1中的值已变为3执行x2=x2+x1=2+3=5。 转向表达式3,执行i++,i为2。循环条件i<=4成立,进入第2次循环 第2次循环执行printf(\因此屏幕上输出35

执行if语句。2%2==0,if语句的条件表达式成立,执行printf(\换行 执行x1=x1+x2=3+5=8;此时x1中的值已变为8执行x2=x2+x1=5+8=13。 转向表达式3,执行i++,i为3。循环条件i<=4成立,进入第3次循环 第3次循环执行printf(\因此屏幕上输出813

执行if语句。3%2不为0,if语句的条件表达式不成立,不执行printf(\ 执行x1=x1+x2=8+13=21;此时x1中的值已变为21 执行x2=x2+x1=21+13=34。

转向表达式3,执行i++,i为4。循环条件i<=4成立,进入第4次循环 第2次循环

执行printf(\因此屏幕上输出2134

执行if语句。4%2==0,if语句的条件表达式成立,执行printf(\换行 执行x1=x1+x2=21+34=55;此时x1中的值已变为55 执行x2=x2+x1=34+55=89。

转向表达式3,执行i++,i为5。循环条件i<=4不成立,结束循环 15. #include main( ) {intx, y;

for(x=30, y=0; x>=10, y<10; x--, y++) x/=2, y+=2;

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

运行结果为: x=0,y=12


计算机二级题库(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017-2018厦门市九年级下数学质检试题及答案

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

马上注册会员

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