今天对第四、五堂课的笔记和作业内容进行以下记录。
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;
}