当前位置:首页 > C语言单元习题集
x < 0时y = 2x x > 0时y=x x = 0时y=x+1
《C语言程序设计》习题集
下面程序段能正确表示以上关系的是()。
(A)y = 2x; (B)y = 2x; (C)if(x >= 0) (D)y= x+1;
if(x!=0) if(x<=0) if(x>0) y=x; if(x<=0) if(x>0) y=x; if(x= =0) y=x+1; else y=x+1; if(x<0) y=2x; else y=x+1; else y=x; else y=2x; else y=x;
10. 若有以下变量定义: float x;int a,b;
则正确的switch语句是()。
(A)switch(x) (B)switch(x) (C)switch(a+b) (D)switch(a+b) {case 1.0:printf(“ok”); {case 1,2:printf(“ok”); {case 1:printf(“ok”); {case 1:printf(“ok”); case 2.0:printf(“this”); case .3:printf(“this”); case 2*a:printf(“this”); case 1+2:printf(“this”); } } } } 1. 以下两条if语句合并成一条if语句为()。 if(a <= b) x=1; else y=2;
if(a>b) printf(“****y=%d\\n”,y); else printf(“####x=%d\\n”,x);
2. 以下程序的功能是计算一元二次方程ax2+bx+c=0的根,补足程序中空缺的语句。 #include
{float a,b,c,_abs,_derta,_doublea,part1,part2; printf(“enter a ,b,c:”); scanf(“%f%f%f”,&a,&b,&c); if( )
if( ) printf(“no answer due to input error\\n”); else printf(“the single root is %f\\n”,-c/b); else
{ _derta = b*b – 4*a*c; _doublea = 2*a;
- 13 -
part1 = -b/(2*a); _abs = abs(_derta); part2 = sqrt(_abs)/_doublea; if( )
《C语言程序设计》习题集
printf(“complex root\\n real part=%f image part = %f\\n”,part1,part2); else
printf(“real roots\\n root1 = %f root2 = %f\\n”,part1+part2,part1- part2);}}
3. 以下程序段的运行结果是()。
int x=1 ,y=0; switch(x) {case 1: switch(y)
{ case 0: printf(“x=1 y=0\\n”);break; case 1:printf(“x=1\\n”);break; } case ‘2’:printf(“x=2\\n”);}
4. 根据以下if语句写出与其功能相同的switch语句。
(x的值在0-100之间) if语句: if(x<60) m=1; else if(x<70) m=2; else if(x<80) m=3; else if(x<90) m=4; else if(x<100) m=5; switch语句: switch( )
{ ( ) m=1:break; case 6:m=2;break; case 7:m=3;break; case 8:m=4;break; ( ) m=5; }
1. 编写一程序,要求由键盘输入三个数,计算以这三个数为边长的三角形面积。
2. 输入圆的半径r和一个整型数k,当k = 1时,计算圆的面积;当 k= 2时,计算圆的周长;当 k = 3
- 14 -
《C语言程序设计》习题集
时,既要求出圆的面积也要求出圆的周长。编程实现以上功能。
- 15 -
《C语言程序设计》习题集
循环结构
1. 在do-while循环中,循环由do开始,用while结束;必须注意的是:在while表达式后面的()不能丢,
它表示do-while循环的结束。 (A)0 (B)1 (C); (D),
2. for语句中的表达式可以部分或全部省略,但两个()不可省略。但当三个表达式均省略后,因缺少判
断条件,循环会无限制地执行下去,形成死循环。 (A)0 (B)1 (C); (D), 3. 程序段如下: int k=1;
while(! k= = 0){k = k+1; printf(“%d\\n”,k);} 则以下说法中正确的是()
(A)while循环执行2次(B)无限循环(C)循环体语句一次也不执行(D)执行一次 4. 程序段如下: int k=0;
while(k ++ <= 2); printf(“last = %d\\n”,k); 则正确的执行结果是last = ( )
(A)2 (B)3 (C)4 (D)无结果 5. 执行下面的程序后,a 的值为( ) main() { int a , b;
for( a=1 , b=1 ; a<=100; a++) { if(b>=20) break;
if(b%3 = = 1) { b+=3; continue; } b-=5;}}
(A)7 (B)8 (C)9 (D)10 6. 分析下列程序 main() { int n[3], I, j,k; for(I=0; I<3;I++) n[I]=0;
- 16 -
共分享92篇相关文档