第十一章学习总结!

算术运算

1.除号运算 / 的俩整数相除的结果为整数,例5/3  结果为1

2.除号有向零取整的特性 例:

3.取余号%的俩侧都是整数 例7%5   结果为2


范例程序里出现了一个^运算符,经过查询这是一个异或运算符,当然范例里面当作输出字符来对待,这里只做了解

真异或假结果为真

真异或真结果为假

假异或假结果为假

假异或真结果为真


应用程序:

/*设x为一个三位整数,将其个,十,百位数分离出来,分别保存到变量a,b,c中
课程:贺利坚老师C视频第十一课*/
#include <stdio.h>
#include <math.h>
int main()
{
    int a,b,c,x;
    scanf("%d",&x);
    a=x%10;
    b=(x/10)%10;
    c=x/100;
    printf("这个数的个,十,百位数分别为:%d %d %d\n",a,b,c);
    return 0;

}



如果有除法,应该避免除数为0


强制数据类型转换

语法:

(类型)(表达式)

例:(int)(x+y)     强制将x+y的结果转转成int类型

强制类型转换可能会丢失信息   例3.1415转换成int会丢失小数后面的数据


关于调用数学函数sin等 可以用#include <math.h>来实现


课后习题

<span style="color:#663333;">/*编写一个程序,其功能为:从键盘上输入一个浮点数(小数点后有三位数),然后分别输出该数的整数部分和小数部分
课程:贺利坚老师C视频第十一课*/
#include <stdio.h>
int main()
{
    int a,b;
    float c;
    scanf("%f",&c);
    a=(int)(c*1000)%1000;//乘以1000得到一个整数形式的数  再与1000取余,得到小数后三位
    b=c*1000/1000;
    printf("该数的整数部分为%d 小数部分为%d\n",b,a);
    return 0;

}

上面程序要注意,%前后出现float等非整型数据时必须强制转换为整型,否则编译器不让你过

参考了贺老师的代码发现可以直接用自动转换来实现取整数- - ! a=x;


题目三:

/*小慧过生日,小明(小明真忙)要买鲜花送她。每枝红玫瑰5元,满5支送1枝,满20枝送5枝。小明一共有n(n>10)元钱,最多能买到多少?
课程:贺利坚老师C视频第十一课*/
#include <stdio.h>
int main()
{
    int a,b,n;
    printf("请输入你要给小明的钱数:");
    scanf("%d",&b);
    if(b>10)
    {
    n=b/5;
    a=(n/20)*5+(n%20)/5;
    n=n+a;
    printf("小明可以买到:%d枝玫瑰",n);

    }
    else
    {
        printf("你太抠门了!");
    }
    return 0;
} 

题目四:

程序

/*输入3个双精度实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。
课程:贺利坚老师C视频第十一课*/
#include <stdio.h>
#include <math.h>
int main()
{
    double a,b,c;
    scanf("%lf %lf %lf",&a,&b,&c);
    printf("和为:%lf\n,a+b+c;
    printf("平均值为:%lf\n",(a+b+c)/3);
    printf("平方和为:%lf\n",(pow(a,2)+pow(b,2)+pow(c,2)));
    printf("平方和的开根为:%lf\n",sqrt(pow(a,2)+pow(b,2)+pow(c,2)));
    return 0;

}
以上pow为求次方的数学函数  格式pow(x,y)   x为要求的数,y为次方    也可以用来开立方,例开8的5次根号   pow(8,1.0/5)

      sqrt为开平方根的数学函数   格式sqrt()


题目5

程序

<pre name="code" class="cpp">/*输入3个双精度实数,分别求出它们的和、平均值、平方和以及平方和的开方,并输出所求出各个值。
课程:贺利坚老师C视频第十一课*/
#include <stdio.h>
#include <math.h>
#define pai 3.1415
int main()
{
    double r,b,x,y;
    scanf("%lf %lf",&r,&b);
    x=r*cos(b/180*pai);
    y=r*sin(b/180*pai);
	printf("%lf,%lf",x,y);

    return 0;

}


 

用到公式

2π/360=弧度/角度   即弧度=π*角度/180


今天就到这里了




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值