C程序设计语言
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

习题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 已知圆半径和圆柱高,求圆球表面积、圆球体积和圆柱体积。要求:输入要有提示,输出要有文字说明,并取两位小数。