• 暑假初学知识笔记


    一开始看视频mooc的地址

      http://www.icourse163.org/learn/ZJU-1001614008?tid=1002163012#/learn/content?type=detail&id=1002872754&sm=1

      - Not found in current context(在当前上下文找不到,既当前状况下不能访问,不在当前作用域)C常出现

       - short,int--%d

       - char—%c

         但在scanf中char—%c  short—%hd

        - double——%lf,%e(只有输出,科学计数法)(双精度浮点数)也可以%f这是因为自动类型转换,从小变大。

        - float——%f,%e(只有输出,科学计数法)(浮点数)

                  -   1.23456e+10==1.23456*10的10次方

        -  2.23e-10==2.23*10的负10次方

        - unsigned ——%u

         - long——%ld

        - long long——%lld

        - unsigned long long ——%lu

        %i 读入十进制,八进制十六进制整数   
        %o 读入八进制整数   
        %x,%X 读入十六进制整数   
        %s 读入一个字符串,遇空格、制表符或换行符结束。   
        %f,%F,%e,%E,%g,%G 用来输入实数,可以用小数形式或指数形式输入。   
        %p 读入一个指针   
        %u 读入一个无符号十进制整数   
        %n 至此已读入值的等价字符数   
        %[] 扫描字符集合   
        %% 读%符号

    下方部分数据的范围取自他人博客:

      unsigned   int   0~4294967295   
      int   2147483648~2147483647 (-2^31~2^31-1)
      unsigned long 0~4294967295
      long   2147483648~2147483647  
      long long的最大值:9223372036854775807 
      long long的最小值:-9223372036854775808
      unsigned long long的最大值:1844674407370955161  

      char:-128~127  (因为还有个0,所以右边少一个)   short:-32768~32767 

      __int64的最大值:9223372036854775807
      __int64的最小值:-9223372036854775808
      unsigned __int64的最大值:18446744073709551615

     

         -  inf是无穷大(可以用浮点来表达),nan是不存在(浮点可表达)

        -fabs(b)——求b的绝对值

    - sqrt求平方根是要带上#include<cmath>头文件

    -a[n++]=x----a[n]=x;n++;

    -c=getchar();是指从stdio流中读取字符(在键盘上就行),在之前要先定义好数组。同时要声明char c;

     

      - int gcd(int x,int y)求最大公约数

      - sort指的是排序sort(a,a+n)是从a[0]到a[n-1]排序;要加上#include<algorithm>头文件;若是c语言要加using namespace std;

      - pow(2,i);指的是2的i次方,也要加#include<cmath>头文件

    --  在Java7之前,switch只能支持 byte、short、char、int或者其对应的封装类以及Enum类型。在Java7中,也支持了String类型。

      对于补码(二进制)来说正数转为负数:正数的0变1,1变0,再加个1;如7二进制(4bit)为0111而-7则为1001;9就不能用4bit了,因为首位为1的一定是负数。9二进制(8bit)为00001001而-9则为11110111。

    当有unsigned时,不以补码来表示。同时正数部分表达扩大一倍。

    1个字节占用8个bit。可以用sizeof这个运算符,来计算各类型的字节。不能再sizeof内进行计算。他是静态运算符。sizeof(int)=4(字节)

      - break:跳出循环。

      - continue:跳过循环这一轮剩下的语句进入下一轮

    要让输出的答案对其在printf("%d\t");

      - goto out;从这里

      - out:跳到这里

    因为

    - goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。

    但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。

    函数:C语言不可以函数嵌套定义

     

     - return ret会返回给后面的那个函数。

    scanf也是拥有返回值的,一般返回值判断为1,就是正确,而0则为错误

     

    在声明(如图函数原型)要加分号,而在实际函数头中是没有分号的。

    注意:经常函数头里面没有参数,既可以把a与b去掉。

    块即为大括号

    目前计算机只能运用到2^64位,所以当数据太大是,有必要进行大数运算,经常使用的是模拟手算,是要利用到数组的

    数组

    c语言中数组是从0开始计数。所以数组最大下标是数组个数减一。

    例如a[5]

    a[0] a[1] a[2] a[3] a[4]

     

     for循环

    这是C语言的一个漏洞,当类型不那么匹配的时候C语言,依然会继续。

    c语言是类型语言,但对类型检查会不强,毕竟c是70年代的语言了

     指针:

    int *p等价于int* p

    更新中

  • 相关阅读:
    浅谈最长上升子序列(LIS)
    浅谈树链剖分
    数字计数
    windy数
    骑士(树形dp)
    旅游规划
    皇宫看守
    k8s安装报错
    linux文件夹存储潜规则
    搭建覆盖率测试环境
  • 原文地址:https://www.cnblogs.com/guangguangge/p/7488883.html
Copyright © 2020-2023  润新知