《明解C语言》第二章学习笔记

学习目标:

《明解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;
}

猜你喜欢

转载自blog.csdn.net/weixin_51493740/article/details/109250449