资讯专栏INFORMATION COLUMN

C/C++基础学习笔记

Hancock_Xu / 1825人阅读

摘要:基本数据类型整型我们比较常用的是和为什么会常用,因为它能表示更大的数据范围。是占个字节,个字节位,所以的范围是占个字节取值范围表示的最大值表示的最大值的最大值表示的大得多得多。

1.基本数据类型

整型:short ,int , long , long long

我们比较常用的是int 和 long long ,为什么会常用long long ,因为它能表示更大的数据范围。

int 是占4个字节,1个字节8位,所以int的范围是(-2^31 ~ 2^31-1)

long long 占8个字节 取值范围 (-2^63 ~ 2^63-1)

#include#include#includeusing namespace std;​int main(){    int n;    printf("int 表示的最大值%d/n",INT_MAX) ;//2147483647    printf("long long表示的最大值%lld/n",LONG_LONG_MAX);//9223372036854775807​    /*int m =63;    long long a = 1;    while(m--)     {        a*=2;    }    printf("%lld/n",a-1);//**** long long的最大值 */    return 0;}

long long 表示的 int大得多得多。

浮点型 float ,double

通俗的讲就是能表示小数部分,float 占用4个字节,double 占用8个字节,所以double能比float表示更大的范围

小数点的处理

比如保留三位小数,并四舍五入

%.3lf 就是保留三位小数

 double a = 13.58465;    // 直接输出    printf("%.3lf",a);//会自动进行四舍五入    // 如果自己计算 四舍五入     a = (int)(a*1000 + 0.5)/1000.0;//.0是能讲int再次转为浮点型    printf("%lf",a);

奥赛一道题

计算分数的浮点数值

​#include​int main(){    int a,b;    scanf("%d%d",&a,&b);    double c = a*1.0/b;//注意要*1.0 假如5/7 因为int类型会抹去小数部分就会输出0    //double c = a / b;     printf("%.9lf",c);    return 0;}​

布尔类型

C语言中没有布尔类型,但是C++中有。

C++中bool类型的值只有两个,true 和 false 代表真和假

在C语言中想要表示真假可以用非0和0表示,通常用1和0

也可以定义成true 和 false

// c #include#define true 1#define false 0int main(){    if(true) printf("1");    else printf("0");    return 0;/*结果输出1*/}

#define 就是宏定义 上面就是将true定义为1,false定义0

字符型

char ,可以读入的类型为字符类型

补充一下字符A的ascll码为65 ,a的ascll码为97,字符0的ascll码为48

printf("%d/n","A");//65printf("%d","a");//97printf("%d","0");//48

所以推广出来,大小写字母转换差了32,0-9 字符想要转为整数只需减去48或者"0".

洛谷一道字符小写转大写的题

【深基2.例6】字母转换 - 洛谷

​#include​int main(){    char c ;    scanf("%c",&c);    printf("%c",c-32);    return 0;}​

2.输入

这里主要先说一下scanf,cin是C++的读入方式,相较于scanf速度会慢一点,到以后开始刷题的时候就会深刻体会到,scanf非常的神奇尤其是它的读入,下面就开始举一些例子

正常的读入我就不过多说,前面的例子都有设计

比如题目要求读入的格式 6/8 7/9 求6/8+7/9的和 你要怎么获取到6 7 8 9呢

这时候scanf的格式控制的优点就显示出来了,见下

#include​int main(){    int a,b,c,d;    scanf("%d/%d %d/%d",&a,&b,&c,&d);    printf("%d %d %d %d",a,b,c,d);     return 0;}

同(7,8) (9,10) 怎么获取7 8 9 10呢

#include​int main(){    int a,b,c,d;    scanf("(%d,%d) (%d,%d)",&a,&b,&c,&d);    printf("%d %d %d %d",a,b,c,d);     return 0;}

有些题的读入就会设计到很多没用的信息,所以我们正好可以通过scanf给读取掉,因为输入的格式是要按照scanf引号里面的格式输入的.


持续更新....

如有错误,请大佬们斧正!!!

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/123194.html

相关文章

  • vue 源码学习笔记三 vue中如何生成虚拟DOM

    摘要:调用了方法,参数是拿到后,判断类型是否为,如果有多个,则是模板上有多个根节点,触发告警。 vm._render 生成虚拟dom 我们知道在挂载过程中, $mount 会调用 vm._update和vm._render 方法,vm._updata是负责把VNode渲染成真正的DOM,vm._render方法是用来把实例渲染成VNode,这里的_render是实例的私有方法,和前面我们说...

    VioletJack 评论0 收藏0
  • 重学前端学习笔记(十七)--Promise里的代码为什么比setTimeout先执行?

    摘要:版本以及之前,本身还没有异步执行代码的能力,宿主环境传递给引擎,然后按顺序执行,由宿主发起任务。采纳引擎术语,把宿主发起的任务称为宏观任务,把引擎发起的任务称为微观任务。基本用法示例的回调是一个异步的执行过程。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的...

    pinecone 评论0 收藏0
  • 重学前端学习笔记(十七)--Promise里的代码为什么比setTimeout先执行?

    摘要:版本以及之前,本身还没有异步执行代码的能力,宿主环境传递给引擎,然后按顺序执行,由宿主发起任务。采纳引擎术语,把宿主发起的任务称为宏观任务,把引擎发起的任务称为微观任务。基本用法示例的回调是一个异步的执行过程。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的...

    zorpan 评论0 收藏0
  • 重学前端学习笔记(十七)--Promise里的代码为什么比setTimeout先执行?

    摘要:版本以及之前,本身还没有异步执行代码的能力,宿主环境传递给引擎,然后按顺序执行,由宿主发起任务。采纳引擎术语,把宿主发起的任务称为宏观任务,把引擎发起的任务称为微观任务。基本用法示例的回调是一个异步的执行过程。 笔记说明 重学前端是程劭非(winter)【前手机淘宝前端负责人】在极客时间开的一个专栏,每天10分钟,重构你的前端知识体系,笔者主要整理学习过程的一些要点笔记以及感悟,完整的...

    xiongzenghui 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<