zoukankan      html  css  js  c++  java
  • 2017-2018-1 20179226 《从问题到程序》第2周学习总结

    教材学习知识点总结

    1.基本字符包括:数字、大小写拉丁字母、可打印字符还有一些特殊字符。
    2.一个合法标识符是由字母和数字字符构成的一个连续序列,要求第一个字符必须是字母,序列中不能有空白字符。下划线字符“_”也当作字母看待。
    3.字符是一对单引号括起的单个字符。字符串书写形式是双引号括起的一系列字符。
    4.写程序时特别注意表达式的结果类型,格式串中的转换描述必须与之对应,否则就是错误。
    5.出现下溢时通常把结果归为0。

    教材学习中的问题和解决过程

    • 问题1:练习中“——”算合法的标识符么?
    • 问题1解决方案:查了资料发现并不是“——”而是多个下划线连起来的形式“____”,是合法的标识符。
    • 问题2:如果程序里要用标准库里的数学函数,程序前面要另写一行:#include <math.h>什么才是标准库里的数学函数?什么时候需要调用这个头文件?
    • 问题2解决方案:数学函数库,一些数学计算的公式的具体实现是放在math.h里,具体有:
      1、 三角函数
      double sin(double);正弦
      double cos(double);余弦
      double tan(double);正切
      2 、反三角函数
      double asin (double); 结果介于[-PI/2,PI/2]
      double acos (double); 结果介于[0,PI]
      double atan (double); 反正切(主值),结果介于[-PI/2,PI/2]
      double atan2 (double,double); 反正切(整圆值),结果介于[-PI,PI]
      3 、双曲三角函数
      double sinh (double);
      double cosh (double);
      double tanh (double);
      4 、指数与对数
      double frexp(double value,int exp);这是一个将value值拆分成小数部分f和(以2为底的)指数部分exp,并返回小数部分f,即f2^exp。其中f取值在0.5~1.0范围或者0。
      double ldexp(double x,int exp);这个函数刚好跟上面那个frexp函数功能相反,它的返回值是x2^exp
      double modf(double value,double iptr);拆分value值,返回它的小数部分,iptr指向整数部分。
      double log (double); 以e为底的对数
      double log10 (double);以10为底的对数
      double pow(double x,double y);计算x的y次幂
      float powf(float x,float y); 功能与pow一致,只是输入与输出皆为单精度浮点数
      double exp (double);求取自然数e的幂
      double sqrt (double);开平方根
      5 、取整
      double ceil (double); 取上整,返回不比x小的最小整数
      double floor (double); 取下整,返回不比x大的最大整数,即高斯函数[x]
      6 、绝对值
      int abs(int i); 求整型的绝对值
      double fabs (double);求实型的绝对值
      double cabs(struct complex znum);求复数的绝对值
      7 、标准化浮点数
      double frexp (double f,int p); 标准化浮点数,f = x 2^p,已知f求x,p (x介于[0.5,1])
      double ldexp (double x,int p); 与frexp相反,已知x,p求f
      8 、取整与取余
      double modf (double,double*); 将参数的整数部分通过指针回传,返回小数部分
      double fmod (double,double); 返回两参数相除的余数
      9 、其他
      double hypot(double x,double y);已知直角三角形两个直角边长度,求斜边长度
      double ldexp(double x,int exponent);计算x(2的exponent次幂)
      double poly(double x,int degree,double coeffs []);计算多项式
      int matherr(struct exception e);数学错误计算处理程序
      source: 《C & C++ Code Capsules》
  • 相关阅读:
    AAPay v1.5使用介绍
    我的第一款实用工具眼保程序(EyesBaby)
    C/C++中const关键字详解
    go 中flag模块
    go语言的一些基础知识
    12.Redis6中的新的数据类型
    性能测试实战30讲笔记——2.性能分析思路
    11.redis6的发布与订阅(编号大小无关内容)
    k8s——1.k8s介绍
    Docker——容器数据卷
  • 原文地址:https://www.cnblogs.com/9226ryf/p/7880579.html
Copyright © 2011-2022 走看看