习题3
3.1 C 语言的语句有哪几类?
3.2 选择题
(1)putchar函数可以向屏幕输出一个( )。
A.整型变量表达式
B.实型变量值
C.字符串
D.字符或字符型变量值
(2)printf函数中用到格式符“%5s”,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出方式为( );如果字符串长度小于5,则输出方式为( )。
A.从左起输出该字符串,右补空格
B.按原字符长从左向右全部输出
C.右对齐输出该字符串,左补空格
D.输出错误信息
(3)阅读以下程序,当输入数据的形式为:25, 13, 10<CR>(注:<CR>表示回车),则正确的输出结果为( )。
void main() { int x,y,z; scanf("%d%d%d",&x,&y,&z); printf("x+y+z=%d\n",x+y+z); }
A.x+y+z=48
B.x+y+z=35
C.x+z=35
D.不确定值
(4)根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为( )。
void main() { char ch1,ch2,ch3; /* 此处加入输入语句 */ printf("%c%c%c",ch1,ch2,ch3); /* “%c”间都没有空格 */ }
输入形式:A _ B_ C ↙
输出形式:A _ B
A.scanf("%c%c%c", &ch1, &ch2, &ch3);(“%c”间都没有空格)
B.scanf("%c,%c,%c", &ch1, &ch2, &ch3);
C.scanf("%c%c%c", &ch1, &ch2, &ch3);(“%c”间都有一个空格)
D.scanf("%c%c", &ch1, &ch2, &ch3);(两个“%c”间没有空格)
(5)已知ch是字符型变量,下面不正确的赋值语句是( )。
A.ch='a+b';
B.ch='\0';
C.ch='0'+'9';
D.ch=40+9;
3.3 填空题
(1)以下程序的输出结果是_____。
void main() { short i; i=-4; printf("i:dec=%hd,oct=%ho,hex=%hx,unsigned=%hu\n",i,i,i,i); }
(2)以下程序的输出结果是_____。
void main() { char c='x'; printf("c:dec=%d,oct=%o,hex=%x,ASCII=%c\n",c,c,c,c); }
(3)以下程序的输出结果是_____。
void main() { int x=1,y=2; printf("x=%d y=%d sum=%d\n",x,y,x+y); printf("10 Squared is:%d\n",10*10); }
(4)假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。
a=( ); b=( ); a=( );
(5)若x为int型变量,则执行以下语句后的x值为_____。
x=7; x+=x-=x+x;
(6)有一输入语句scanf("%d", k);,则不能使float类型变量k得到正确数值的原因是_____和_____。
3.4 怎样区分赋值表达式和赋值语句?什么时候使用赋值表达式?什么时候使用赋值语句?
3.5 已知矩形的长和宽分别是300和20,请编写计算其周长和面积的程序。
3.6 输入一个圆的半径,分别求圆的周长和面积。
3.7 输入三角形的三条边的边长,请编写求其面积的程序。
3.8 鸡兔同笼问题:已知笼中有头h个,有脚f条,问笼中鸡、兔各有多少只?试编程。
3.9 输入一个华氏温度,要求计算出摄氏温度。计算公式为:
要求:输入要有提示,输出要有文字说明,并取两位小数。
3.10 从键盘输入任意一个4位数,编程分隔出该4位数的各位数字,计算它们的和并输出到显示器上。
3.11 输入任意一个字符,输出其对应的ASCII码。
3.12 请写出下面程序的输出结果:
void main() { int a=5,b=7,c=-1; float x=67.6584,y=-879.123; long n=123456789; unsigned u=-1; printf("%d%d\n",a,b); printf("%3d%3d\n",a,b); printf("%f,%f\n",x,y); printf("%-10f,%-10f\n",x,y); printf("%8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n",x,y,x,y,x,y); printf("%e,%10.2e\n",x,y); printf("%c,%d,%o,%x\n",c,c,c,c); printf("%ld,%lo,%lx\n",n,n,n); printf("%u,%o,%x,%d\n",u,u,u,u); printf("%s,%5.3s\n","COMPUTER","COMPUTER"); }
3.13 已知三角形的三个顶点坐标为(1.5, 2)、(3, 1)、(2.1, 4),求该三角形的重心坐标和各边长度。提示:如图3.6所示,已知三角形的三个顶点,则该三角形的重心G点的坐标为xG=(x1+x2+x3)/3,yG=(y1+y2+y3)/3。
图3.6 三角形的重心
3.14 已知圆半径和圆柱高,求圆球表面积、圆球体积和圆柱体积。要求:输入要有提示,输出要有文字说明,并取两位小数。