学习目标:
《明解C语言》第三版
第二章
运算和数据类型
学习内容:
2-1 运算 2-2 数据类型学习时间:
2020年10月23日晚7-9时
学习笔记:
2-1 运算
运算符和操作数
#include<stdio.h>
int main(void)
{
int vx,vy;
puts("请输入两个整数。");
printf("整数vx:");scanf("%d",&vx);
printf("整数vy:");scanf("%d",&vy);
printf("vx+vy=%d\n", vx+vy);
printf("vx-vy=%d\n", vx-vy);
printf("vx*vy=%d\n", vx*vy);
printf("vx/vy=%d\n", vx/vy);
printf("vx%%vy=%d\n", vx%vy);
return 0;
}
1.像+、* 这样可以进行运算的符号称为运算符。作为运算对象的变量或者常量称为操作数。
2.
运算符 |
---|
a*b a和b的积 |
a/b a和b的商 |
a%b a除以b所得到的余数 |
a+b a和b的和 |
a-b a和b的差 |
3.使用printf函数输入%。
格式化字符串中的%具有转换说明的功能。因此想要输出%的时候,就必须写成%%。
练习2-1
/* 显示前者是后者的百分之几 */
#include <stdio.h>
int main(void)
{
int a,b;
puts("请输入两个整数。");
printf("整数x:");scanf("%d",&a);
printf("整数y:");scanf("%d",&b);
printf("x的值是y的%.0f%%\n.",((double)a/b)*100);
return 0;
}
练习2-2
/* 读取两个整数,然后输出它们的和以及积。 */
#include <stdio.h>
int main(void)
{
int a, b;
puts("请输入两个整数。");
printf("整数a:");scanf("%d",&a);
printf("整数b:");scanf("%d",&b);
printf("它们的和是%d, 积是%d",a+b, a*b);
return 0;
}
2-2 数据类型
数据类型
#include<stdio.h>
int main(void)
{
int n;
double x;
n=9.99;
x=9.99;
printf("int 型变量n的值:%d\n",n);
printf(" n/2:%d\n",n/2);
printf("double型变量x的值:%f\n",x);
printf(" x/2.0:%f\n",x/2.0);
return 0;
}
1.像5和37整数类型的称为整数常量。像3.14这样包含小数的常量称为浮点型常量。通常整型常量都是int类型,而浮点型常量都是double类型。
2.double类型的变量通过printf函数输出时需要使用%f,通过scanf函数赋值的时候需要使用何时字符串%lf。
练习2-3
/* 显示出读取的实数的值 */
#include <stdio.h>
int main(void)
{
double a;
printf("请输入一个实数:");scanf("%lf",&a);
printf("你输入的是%f",a);
return 0;
}
数据类型和运算
“int/int"=int
“double/double”=double
“double/in”=double
“int/double”=double
练习2-4
#include<stdio.h>
int main(void)
{
int n1,n2,n3,n4;
double d1,d2,d3,d4;
n1 = 5/2;
n2=5.0/2.0;
n3=5.0/2;
n4=5/2.0;
d1=5/2;
d2=5.0/2.0;
d3=5.0/2;
d4=5/2.0;
printf("n1=%d\n",n1);
printf("n2=%d\n",n2);
printf("n3=%d\n",n3);
printf("n4=%d\n\n",n4);
printf("d1=%f\n",d1);
printf("d2=%f\n",d2);
printf("d3=%f\n",d3);
printf("d4=%f\n",d4);
return 0;
}
类型转换
(double)(a+b) 类型转换表达式:将a+b的结果转化为double类型
练习2-5
/* 读取两个整数的值,计算出前者是后者的百分之几,并用实数输出结果。 */
#include <stdio.h>
int main(void)
{
int a, b;
puts("请输入两个整数。");
printf("整数a:");scanf("%d",&a);
printf("整数b:");scanf("%d",&b);
printf("a是b的%f%%\n",((double)a/b*100));
return 0;
}
转换说明
#include<stdio.h>
int main(void)
{
int a,b,c;
int sum;
double ave;
puts("请输入三个整数");
printf("整数a");scanf("%d",&a);
printf("整数b");scanf("%d",&b);
printf("整数c");scanf("%d",&c);
sum=a+b+c;
ave=(double)sum/3;
printf("它们的合计值是%5d。\n",sum); //输出99999
printf("它们的平均值是%5.1f。\n,ave); //输出999.9
return 0;
}
%5d … 显示至少5位的十进制整数。
%5.1f … 显示至少5位的浮点数。但是,小数点后只显示1位。
%0(0标志)9(最小字段宽度).9(精度)f(转换说明符)
练习2-6
/* 读取表示身高的整数,显示出标准体重的实数值。标准体重根据公式
(身高-100)*0.9进行计算,所得结果保留一位小数。 */
#include <stdio.h>
int main(void)
{
int a;
printf("请输入您的身高:");scanf("%d",&a);
printf("您的标准体重是%.1f公斤",(a - 100) * 0.9);
return 0;
}