C语言,练习3

  1. 通过下面的程序掌握各种格式转换符的正确使用方法。
  • 输入以下程序:

#include <stdio.h>

void main()

{

     int a,b;

     float d,e;

     char c1,c2;

     double f,g;

     long m,n;

     unsigned int p,q;

     a=61;b=62;

     c1='a';c2='b';

     d=3.56;e=-6.78;

     f=3157.890121;g=0.123456789;

     m=50000;n=-60000;

     p=32768;q=40000;

printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);

printf("f=%15.6f,g=%15.12f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);

}

  • 运行此程序并分析结果。        运行结果

  • 在此基础上,将程序第9~14行改为:

a=61;b=62;

     c1=a;c2=b;

     f=3157.890121;g=0.123456789;

     d=f;e=g;

     p=a=m=50000;;q=b=n=-60000;

运行程序,分析结果。

运行结果,此程序为顺序结构,所以是从上到下运行计算由“p=a=m=50000;;q=b=n=-60000;”

所以p m所得为最后赋值

  • 改用scanf函数输入数据而不用赋值语句,scanf函数如下:

scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,

%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,

&e,&f,&g,&m,&n,&p,&q);

输入的数据如下:

61,62,a,b, 3.56,-6.87,3157.890121,

0.123456789,50000,-60000,32768,40000

分析运行结果。

(说明:lf和ld格式符分别用于输入double型和long型数据)

  • 在④基础上,将printf语句改为:

printf("a=%d,b=%d\nc1=%c,c2=%c\n

d=%15.6f,e=%15.12f\n",a,b,c1,c2,d,e);

printf("f=%15.6f,g=%15.12f\nm=%ld,

n=%ld\np=%d,q=%d\n",f,g,m,n,p,q);

运行程序。

因为更改了输出数据类型,输出结果精确值(小数点后的位数)有所不同,因为输入是数据分隔用的是逗号(,)而不是空格,所以输出时结果前面有逗号

6.将p、q改用%o格式符输出。

将scanf函数中的%lf和%ld改为%f和%d,运行程序并观察分析结果

lf和ld格式符分别用于输入double型和long型数据,f和d则为整型和单精度数

  1. 按要求编写程序,并上机运行。题目为:设半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积,圆柱体积。用scanf()输入数据,用printf()输出计算结果。输出时要有文字说明,取小数点后两位数字。

#include <stdio.h>

#include<match.h>

#define PI3.14

void main()

{

         float r,h,c,s1,s2,v1,v2;

         r=1.5,h=3.0;

         c=2.0*PI*r;

         s1=PI*pow(r,2);

         s2=4.0*PI*pow(r,2),

         v1=4.0/3*PI*pow(r,3);

         v2=s1*h;

         printf("圆周长为:%f\n,圆面积为:%f/n,圆球表面积为:%f/n,圆球体积为:%f/n,圆柱体积:%f/n",c,s1,s2,v1,v2);

return0;

}

这个程序主要考察我们对数学运算试的表达

  1. 编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf函数输出这两个字符。

#include <stdio.h>

int main(){

    char c1,c2;

    printf("读入两个字符:");

    c1 = getchar();

    c2 = getchar();

    putchar(c1);

    putchar(c2);

    printf("\nc1的ASCII码:%d\n",c1);

printf("c2的ASCII码:%d\n",c2);

}

运行程序

  • 3
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

请在此处输入你的昵称

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值