小白的C程序设计 (4)

今天对第四、五堂课的笔记和作业内容进行以下记录。
1、新学习了一个数学库的函数 pow (求幂)。
2、在Visual C++ 6.0 字符型数据作为 signed char 处理的,因此有效范围是 0-127,,超过此范围时用 %c 格式输出结果不可料。
3、整型变量在可输出字符的范围内是可以与字符数据相互转化的。

*#include<stdio.h>//本例是对 2,3内容 的补充//
int main ()
{
char c1,c2;
 c1=197;
 c2=198;
printf("c1=%c,c2=%c\n",c1,c2);
printf("c1=%d,c2=%d\n",c1,c2);
return 0;
}

4、我们还发现了一个有意思的现象,这是作业的内容之一,在Visual C++ 6.0的编译环境中,当圆球的体积输入 4.0/3.0 时会得到正确答案,但输入 4/3 是一个错误的结果,遗憾的是还没弄清楚为什么会得到一个错误的结果。

#include<stdio.h>
int main()
{
float r,h,C,s,S,v,V;
float pi=3.141592;
printf("请输入圆半径r:");
scanf("%f",&r);
printf("请输入圆柱高h:");
scanf("%f",&h);
 C=2*pi*r;
 s=pi*r*r;
 S=4*pi*r*r;
 v=4.0/3.0*pi*r*r*r;
 V=pi*r*r*h;
printf("圆周长:  C=%6.2f\n",C);
printf("圆面积:  s=%6.2f\n",s);
printf("圆球表面积: S=%6.2f\n",S);
printf("圆球体积: v=%6.2f\n",v);
printf("圆柱体积: V=%6.2f\n",V);
return 0;

5、scanf 函数是输入函数,只有它是不会有输出结果的,前几天糊涂了,我还以为是编译器坏了。下面给出具体程序:

#include<stdio.h>
int main()
{
 int a,b;
 float x,y;
 char c1,c2;
 scanf("a=%db=%d",&a.&b);
 scanf("%f%e",&x,&y);
 sacnf("%c%c",&c1,&c2);
 return o;
}

题目要求是用 scanf 函数输入数据,使 a=3,b=7,x=8.5,y=71.82,c1=‘A’,c2='a’在键盘上应该如何输入。
很显然正确的输入方法应该是这样的:
a=3,b=7
8.5 71.82Aa
由于没有输出函数,因此无法知道输出结果是否正确,此时想要对结果进行检测最好加上已下内容,就可以看到结果了。

printf("a=%db=%dx=%fy=%fc1=%cc2=%c",a,b,x,y,c1,c2);

6、还找了一个可以输出中文字符的方式,但可惜的是只能原样输出,而且有一定的限制。

#include<stdio.h>
int main()
{
 
 putchar(getchar());
 putchar(getchar());
 putchar(getchar());
 putchar(getchar());
 putchar(getchar());
 putchar(getchar());
 putchar(getchar());
 putchar(getchar());
 putchar(getchar());
 putchar(getchar());
 putchar('\n');
 return 0;
}

7、在C语言中,对于逻辑表达式,若其值为“真”,则以 1 表示;若其值为“假”,则以 0 表示。但是在判断一个逻辑量的值时,系统会以 0 作为“假”。以非 0 作为“真”。
8、条件表达式可以使程序更简明清晰,下面以“输入三个整数 a,b,c,输出其中最大值”为例进行说明。

#include<stdio.h>
int main ()
{
 int a,b,c;
 printf("请输入三个整数:");
 scanf("%d,%d,%d",&a,&b,&c);
 if(a<b)
  if(b<c)
   printf("max=%d\n",c);
  else
   printf("max=%d\n",b);
 else if(a<c)
  printf("max=%d\n",c);
 else 
  printf("max=%d\n",a);
 return 0;
}
#include<stdio.h>
int main()
{
 int a,b,c,temp,max;
 printf("请输入三个整数:");
 scanf("%d,%d,%d",&a,&b,&c);
 temp=(a>b)?a:b;
 max=(temp>c)?temp:c;
 printf("三个整数的最大数是%d\n",max);
 return 0;
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值