首页 > 其他分享 >重温c语言之,7天开整,就是随便的写写,第二天

重温c语言之,7天开整,就是随便的写写,第二天

时间:2024-11-01 18:21:35浏览次数:1  
标签:main int 重温 写写 num static 修饰 天开 全局变量

一:操作符

  除法:

    如果都是整数,除数,被除数都是整数,那么结果:就是整数的商(没有小数部分的),例如:7/2=3;

    如果除数或者被除数其中一个是浮点数,那么结果就是(条件是:能除尽的,并且小数在基础数据类型包含下的)完整的商(包含小数部分的):例如:7/2.0=3.500000;

    如果想要在printf中,想要取小数点后1位,基本类型是:float----%.1f;如果是double----%.1lf,其他的就是类似(什么小数点后几位什么的,这个数字就是变换着来就行了)

  取模:

    取模操作符的两端都是整数

  逗号表达式:

    逗号隔开的一串表达式,特点:从左向右的依次计算,整个表达式的结果是最后一个表达式的结果,

    例如:int a=10;int b=20;int c=0;int d=(c=a-2,a=b+c,c-3);      d=5

二:关键字

  typedef:

    1.用于一个已有名字的数据类型,使其更新一个新的名字,让代码变得更加的简介,例如:在头部写上:typedef unsigned int unit;那么在main里面

    unsigned int num1; 与unit num2;是相同的类型,只不过名字不相同,但是效果一样的

    2.用于结构体上面,把结构体命一个新的名字,例如:

    typedef struct Node     {         int data;         struct Node *next;     } Node;

   在main里面 :struct Node n;与    Node n2;的效果是一样的

  static:

    1.修饰局部变量

      //在不使用static的时候

      #include<stdio.h>

      void test(){

        int a=1;

        a++;

        printf("%d ",a);

      }

      int main(){

        int i=0;

        while(i<10){

          test():

          i++;

        }

      }

    这个的结果就是:2 2 2 2 2 2 2 2 2 2 

      //在使用static的时候呢

      #include<stdio.h>

      void test(){

        static int a=1;

        a++;

        printf("%d ",a);

      }

      int main(){

        int i=0;

        while(i<10){

          test():

          i++;

        }

      }

    这个的结果就是:2 3 4 5 6 7 8 9 10 11

    1. 为什么会有这么大的差距呢,就是因为static 存在,static修饰局部变量的时候,局部变量出了作用域,不会销毁,本质上就是,static修饰局部变量的时候,该变量了变量的存储位置(由局部变量----->成为静态变量)。影响了变量的生命周期,生命周期变长,变成和程序的生命周期一样

存储位置
栈区:局部变量
堆区:
静态区:静态变量

     2.修饰全局变量

      static修饰全局变量的时候,这个全局变量的外部链接属性就变成了内部链接属性。其他的源文件(.c)就不能再次使用这个全局变量,例如:

      test1.c

      int num=10;

      test2.c

      #include<stdio.h>

      #include"test1.c"

      int main(){

        print("%d\n",num);

        return 0;

      }

      这个结果就是:10

      如果变成static修饰的全局变量(num)时,这个全局变量(num)就是从外部链接属性变成了内部链接属性,test2.c这个源文件不能使用test1.c的内部变量了,例如:

      test1.c

      static int num=10;

      test2.c

      #include<stdio.h>

      #include"test1.c"

      int main(){

        print("%d\n",num);

      }

      结果:报错,原因,num这个变量没有定义且不存在

    3.修饰函数

      这个与修饰全局变量差不多,函数由原本的外部链接属性变成了内部链接属性

 

标签:main,int,重温,写写,num,static,修饰,天开,全局变量
From: https://www.cnblogs.com/xiejinghao/p/18518888

相关文章

  • 重温c语言之,7天开整,就是随便的写写,第一天
    一:转义字符\t是一个字符,在printf里面,只占一个位置;其他什么的抽象字符,用一个'\'+抽象字符就可以出现;\ddd这个是8进制的,可以转成10进制的,之后参考ASCLL码表即可二:枚举类型的函数与数组一样,有下标,都是从0开始的三:数组可以先不在【】这里面填写多少,但是需......
  • 基础图论重温
    最短路 https://www.luogu.com.cn/problem/B3647都是基于松弛更新最短路的,即:dis[u][v]=min(dis[u][v],dis[u][k]+dis[k][v]),其中u是起点,v是终点,k是u->v路径中的一点。记得考虑重边,自环的情况!!  Floyd 多源最短路,即求多个u->v的最短路,考虑dp转移即可。O(n^3),与n......
  • Python重温笔记
    1.Python解释器将Python代码翻译为二进制,交给计算机去运行。是Python.exe程序2.python中数字有四种类型整数、布尔型、浮点数和复数。即int型,bool(true与false),float,,a+bj的复数等变量不需要声明,但是在使用的时候需要提前赋值。print(变量名)输出变量值,也可以输出数字;prin......
  • 【重温童年】基于tkinter模块设计的Q宠大乐斗武器升星模拟器:重温经典,畅享休闲时光
    在快节奏的现代生活中,我们总是在寻找那些能够让我们暂时忘却烦恼,沉浸在简单快乐中的休闲方式。对于许多80后、90后而言,Q宠大乐斗无疑是一款充满回忆的经典网页游戏。它以其独特的宠物养成、战斗系统以及丰富多样的武器系统,吸引了无数玩家的心。今天,就让我们一起重温那段美好的......
  • 今天开周会重点说到上次那个项目被客户反馈,原因是很多需求被遗漏,我心里既自责,更多的是
            今天开周会了,重点说到上次那个项目被客户反馈了,原因是很多需求被遗漏,导致负责开发人员需要去客户那边完善,这样一来验收时间往后移动,间接导致我们下一个本身就时间紧迫的项目所剩时间又缩短一大截。老板重点强调了责任,开发人员没有按照需要一点一点对照实现,测试......
  • 从计组中从重温C中浮点数表示及C程序翻译过程
    目录移码​编辑 传统浮点表示格式浮点数的存储(ieee754)->修炼内功例子:  ​编辑浮点数取的过程  C程序翻译过程移码 传统浮点表示格式浮点数的存储(ieee754)->修炼内功根据国际标准IEEE(电⽓和电⼦⼯程协会) 32位例子:  64位  IEEE754对有效......
  • 如果从今天开始,一个月时间能成为黑客吗?
    前言如果从今天开始,一个月时间能成为黑客吗?很多人可能都有这样的问题。成为黑客是一个很复杂的过程,你需要拥有扎实的理论基础、丰富的实践经验和敏锐的安全意识。资深黑客告诉你,如果一个月时间想成为上能黑企业、下能黑个人的黑客,几乎是不可能的。但如果是指成为一名能唬......
  • 今天开始学习 虚幻五 下载安装 创建第一个项目
    首先需要下载EpicGames(这不是一个和steam类似的游戏平台吗?) 在这里实现下载下面需配置vs 选择C++游戏开发勾选上UnrealEngine安装程序和支持预览 打开编译器 选择游戏第三人称游戏C++项目位置和项目名称必须是英文不能包含中文这样就创建好了第一个项目......
  • 前端太卷了,不玩了,写写node.js全栈涨工资,赶紧学起来吧!!!!!
    前端太卷了,不玩了,写写node.js全栈涨工资,赶紧学起来吧!!!!!首先聊下node.js的优缺点和应用场景Node.js的优点和应用场景Node.js作为后端开发的选择具有许多优点,以下是其中一些:高性能:Node.js采用了事件驱动、非阻塞I/O模型,使得它能够处理大量并发请求而不会阻塞线程,从而具有出色......
  • 前端太卷了,不玩了,写写node.js全栈涨工资,赶紧学起来吧!!!!!
    首先聊下node.js的优缺点和应用场景Node.js的优点和应用场景Node.js作为后端开发的选择具有许多优点,以下是其中一些:高性能:Node.js采用了事件驱动、非阻塞I/O模型,使得它能够处理大量并发请求而不会阻塞线程,从而具有出色的性能表现。轻量级和高效:Node.js的设计简洁而轻量,......