您的位置: 网站首页 > 程序开发 > C语言程序设计 > 第3章 顺序结构程序设计 > 【3.7 练 习 题】

3.7 练 习 题

 

3.7  练  习  题

1.选择题

(1)以下说法正确的是       。

A.输入项可以为一个实型常量,如scanf("%f",3.5)

B.只有格式控制没有输入项也能进行正确输入,如scanf("%d")

C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%

4.2f",&f)

D.当输入数据时,必须指明变量的地址,如scanf("%f",&f)

(2)若a为整型变量,则以下语句       。

a=-2L;

printf("%d\n",a);

A.赋值不合法                                        B.输出值为-2

C.输出为不确定值                                 D.输出值为2

(3)若x和y均定义为int型,z定义为double型,以下scanf()函数调用语句不合法的是       。

A.scanf("%d%lx,%le",&x,&y,&z);          B.scanf("%2d*%d%lf",&x,&y,&z);

C.scanf("%x%*d%o",&x,&y);                 D.scanf("%x%o%6.2f",&x,&y,&z);

(4)若a、b、c均定义为int型,要给它们输入数据,正确的输入语句是       。

A.read(a,b,c);                                         B.scanf("%d%d%d",a,b,c);

C.scanf("%D%D%D",a,b,c);                   D.scanf("%d%d%d",&a,&b,&c);

(5)若有定义和语句:

int n=10;

printf("%\n",n);

其输出结果是       。

A.输出10           B.输出一空行            C.没有输出        D.编译不通过

(6)若a是float型变量,b是unsigned型变量,以下输入语句中合法的是       。

A.scanf("%6.2f%d",&a,&b);                   B.scanf("%f%n",&a,&b);

C.scanf("%f%3o",&a,&b);                      D.scanf("%f%f",&a,&b);

(7)字母a的ASCII码为97,则下列语句的运行结果为       。

char a='a';

a--;

printf("%d,%c\n",a+'2'-'0',a+'3'-'0');

A.b,c                                              B.a-运算不合法,故有语法错

C.98,c                                            D.格式描述和输出项不匹配,输出无定值

(8)若k1、k2、k3、k4均为int型变量,为了将整数10赋给k1和k3,将整数20赋给k2和k4,则对应以下scanf()函数调用语句的正确输入方式是       。

scanf("%d%d",&k1,&k2);

scanf("%d,%d",&k3,&k4);

A.1020              B.10 20                 C.10,20                   D.1020

1020            1020             10,20               10,20

2.填空题

(1)以下程序的运行结果是       。

#include <stdio.h>

void main()

{

    float f=3.1415927;

    printf("%f,%5.4f,%3.3f",f,f,f);

}

(2)以下程序的运行结果是       。

#include <stdio.h>

void main()

{

    float f=3.5;

    printf("%f,%g",f,f);

}

(3)以下程序的运行结果是       。

#include <stdio.h>

void main()

{

    int x=0177;

    printf("%-3d,%-6d,%-6o,%-6x,%-6u\n",x,x,x,x,x);

}

(4)以下程序的运行结果是       。

#include <stdio.h>

void main()

{

    char c='A'+10;

    printf("c=%c\n",c);

}

(5)以下程序输入123456后,其运行结果是       。

#include <stdio.h>

void main()

{

    int a,b;

    scanf("%2d%3d",&a,&b);

    printf("a=%d,b=%d\n",a,b);

}

(6)以下程序输入x=1.23,y=50后,其运行结果是       。

#include <stdio.h>

void main()

{

    float x,y;

    scanf("x=%f,y=%f",&x,&y);

    printf("x=%7.2f,y=%7.2f\n",x,y);

}

3.上机操作题

(1)编写一个程序,求出任一输入字符的ASCII码。

(2)编写一个程序,输入一个字符,依次输出其前导字符、该字符和后续字符。

(3)编写一个程序,输出任意一个十进制整数对应的八进制数和十六进制数。

(4)编写一个程序,从键盘输入圆锥体的半径r和高度h,计算其体积。