习题四 基本输入输出
一、填空题
1. C语句分为五种:_______、函数调用语句、_______、空语句和_______
2. 一条基本语句的最后一个字符是_______
3. 复合语句又称分程序,是用_______括起来的语句。
4. 使用标准输入输出库函数时,程序的开头要有如下预处理命令:_______
5. getchar函数的作用是从终端输入_______个字符。
6. printf函数的作用是向终端_______若干个任意类型的数据。
7. printf函数中的“格式控制”,包括_______ _______ 两种信息。
8. scanf函数中的“格式控制”后面应当是变量_______,而不是变量名。
9. 在用scanf函数中输入数据时,如果在“格式控制”字符串中除了格式说明以外还有其他字符,则应在对应位置输入与这些字符相同的_______
10. 在用”%c”格式输入字符时,空格字符和“转义字符”都作为有效字符_______
11. 在输入数据时,遇以下情况时该数据认为结束:遇 _______ 、或按_______ _______ ;按指定的宽度结束;遇非法输入。
12. 输入数据时不能规定_______
二、选择题
1 以下不属于流程控制语句的是(  )。
A)表达式语句        B)选择语句      C)循环语句        D)转移语句
2 putchar函数可以向终端输出一个(  )。
A)整型变量表达式值                B)实型变量值
C)字符串                          D)字符或字符型变量值
3 getchar函数的参数个数是(  )。
A1                  B0            C2            D)任意
4 以下程序的输出结果是(  )。
    main()
    {
        printf(“\n*s1=%15s*”, “chinabeijing”);
        printf(“\n*s2=%-5s*”, “chi”);
    }
A*s1=chinabeijing  *                B*s1=chinabeijing  *
  *s2=**chi*                              *s2=chi  *
C*s1=*chinabeijing*                D*s1=  chinabeijing*
  *s2=chi*                                  *s2=chi  *
5 printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式(  );如果字符串长度小于5,则输出按方式(  )。
A)从左起输出该字串,右补空格        B)按原字符长从左向右全部输出
C)右对齐输出该字串,左补空格        D)输出错误信息
6 已有定义int a=-2;和输出语句:printf(“%8x”,a); 以下正确的叙述是(  )。
A)整型变量的输出格式符只有%d一种
B)%x是格式符的一种,它可以适用于任何一种类型的数据
C)%x是格式符的一种,其变量的值按十六进制输出,但%8x是错误的
D)%8x不是错误的格式符,其中数字8规定了输出字段的宽度
7 int a,b;  scanf(“%d%d”,&a,&b); 不可以用(  )作为输入的分隔符。
A),          B 空格            C 回车        DTAB
8 已有如下定义和输入语句,若要求a1a2c1c2的值分别为1020AB,当从第一列开始输入数据时,正确的数据输入方式是(  )。
    int a1,a2; char c1,c2;
    scanf(“%d%d”,&a1,&a2);
    scanf(“%c%c”,&c1,&c2);
A1020AB<CR>                    B10 20<CR>
                                          AB<CR>
C10  20  AB<CR>                D10 20AB<CR>
9 阅读以下程序,当输入数据的形式为 25,13,10<CR> 正确的输出结果为( 
    main()
    {   
int x,y,z;
            scanf(“%d%d%d”, &x, &y, &z);
            printf(“x+y+z=%d\n”,x+y+z);
    }
Ax+y+z=48        Bx+y+z=35        Cx+z=35        D)不确定值
10.已有程序段和输入数据的形式如下,程序中输入语句的正确形式应当为(  )。
    main()
    {
            int a; float f;
            printf(“\nInput number:”);
            输入语句
            printf(“\nf=%f,a=%d\n”,f,a);
    }
    Input number:4.5 2<CR>
Ascanf(“%d,%f ”,&a,&f);            Bscanf(“%f,%d”,&f,&a);
Cscanf(“%d%f ”,&a,&f);                Dscanf(“%f%d”,&f,&a);
11.根据定义和数据的输入方式,输入语句的正确形式为(  )。
    已有定义:float f1,f2;
    数据的输入方式:4.52
            3.5
Ascanf(“%f,%f ”,&f1,&f2);            Bscanf(“%f %f ”,&f1,&f2);
Cscanf(“%3.2f %2.1f ”,&f1,&f2);        Dscanf(“%3.2f %2.1f ”,&f1,&f2);
12.阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是(  )。
    main()
    {
            int x; float y;
            printf(“enter x,y:”);
            输入语句
            输出语句
    }
    输入形式        enter x,y: 2  3.4
    输出形式        x+y=5.40
Ascanf(“%d,%f ”,&x,&y);  printf(“\nx+y=%4.2f ”,x+y);
Bscanf(“%d%f ”,&x,&y);      printf(“\nx+y=%4.2f ”,x+y);
Cscanf(“%d%f ”,&x,&y);      printf(“\nx+y=%6.1f ”,x+y);
Dscanf(“%d%3.1f ”,&x,&y);    printf(“\nx+y=%4.2f ”,x+y);
13.以下说法正确的是(  )。
A)输入项可以为一实型常量,如scanf(“%f ”,3.5);
B)只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);
C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f ”, &f);
D)当输入数据时,必须指明变量的地址,如scanf(“%f ”,&f);
14.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 为使变量a的值为1b3c2,从键盘输入数据的正确形式应当是(  )。
A132<回车>                    B1,3,2<回车>
Ca=1 b=3 c=2<回车>            Da=1,b=3,c=2<回车>
15.已有如下定义和输入语句,若要求a1a2c1c2的值分别为1020AB,当从第一列开始输入数据时,正确的数据输入方式是(  )。
    int a1,a2; char c1,c2;
    scanf(“%d%c%d%c”, &a1, &c1, &a2, &c2);
A10A 20B<CR>                B10 A 20 B<CR>
C10A20B<CR>                D10A20 B<CR>
三、阅读程序,写出运行结果
1 main()
{    short i;       
    i=-4;
    printf("\ni:dec=%d, oct=%o, hex=%x, unsigned=%u\n", i, i, i, i );
   
2main()
{    int d=-2;
printf(" * d(1)=%d * d(2)=%3d * d(3)=%-3d * \n", d, d, d);
printf(" * d(4)=%o * d(5)=%7o * d(6)=%-7o * \n", d, d, d);
   
3main()
{    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);
    printf函数和scanf函数的格式说明都使用
4 main()
{    float a=123.456; double b=8765.4567;
    printf("(1%f\n",a);
    printf("(2%14.3f\n",a);
    printf("(3%6.4f\n",a);
    printf("(4%lf\n",b);
    printf("(5%14.3lf\n",b);
    printf("(6%8.4lf\n",b);
    printf("(7%.4f\n",b);
   
四、编程题   
1.  编写程序,从键盘上输入三个数分别给变量abc,求它们的平均值。并按如下形式输出:average of **,** and** is**.**。其中,三个**依次表示abc的值,**.**表示abc的平均值。
2.  1.31英里=1.609公里,地球与月球之间的距离大约是238857英里,请编写C程序,在屏幕上显示出地球与月球之间大约是多少公里?
3.  设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf输入数据,输出计算结果(保留小数点后两位数字)。请编程序。
4.  输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9,取小数点后两位数字。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。