前言

此篇博客对C语言的基础知识稍加总结,包括C语言中的static关键字作用,三大循环语句中出现的break和continue对循环体的影响,常量,生命周期,作用域,字符串,转义字符等等,其中常见的错误以及需要注意的事项在这里将会表现的淋漓尽致。


文章目录

  • 前言
    • 1.变量的作用域和生命周期
    • 2.转义字符
    • 3.关键字static作用
    • 4.#define作用
    • 5.while/for语句中的break和continue
    • 小结

1.变量的作用域和生命周期

在下面的知识点中会用到作用域和生命周期,因此在这里稍微说明一下。
作用域:通俗来说是限定代码中用到的名字的可用性范围。一般局部变量的作用域是变量所在的局部范围,而全局变量的作用域是整个工程。
生命周期:指的是变量的创建到变量的销毁这段时间称为生命周期。局部变量的生命周期是进入作用域生命周期开始到出作用域生命周期结束。全局变量的生命周期是整个程序的生命周期。
常量:不变的值C语言中用常量表示。它分以下几种:
1.字面常量。如:1000.
2.const修饰的常变量。如const float pai=3.14f.
3.#define定义的标识符常量。如#define MIN 60.
4.枚举常量。如:

enum Time
{hour,
minute,
second
};

2.转义字符

字符串的结束是以\0为标志的,在计算字符串长度的时候,不包含此符号。以下是常见的转义字符。
?:在书写连续多个问好时使用防止被解析成三字母词。
':表示 '字符常量
“:表示一个字符串内部的双引号”
\:表示一个反斜杠
\a:警告字符
\b:退格符
\n:换行
\r:回车
\t:水平制表符
\v:垂直制表符
\ddd:ddd表示三位的八进制的数字.如:\260
\xddd:ddd表示3个十六进制数字。如:\x3fe
如下笔试题所示:

在计算strlen的时候将\t,\32,按照转移字符形式输出。
关键字typedef:类型重命名的意思。如:
typedef unsigned int uint_32; //意思是将unsigned int 重命名为uint_32。

3.关键字static作用

在C语言中static是用来修饰变量和函数的。
1.修饰局部变量
static修饰局部变量改变了变量的生命周期,让静态局部变量出了作用域依然存在,到程序结束生命周期才结束。

void test1()
{int i = 0;i++;printf("%d ", i);
}
void test2()
{static int i = 0;i++;printf("%d ", i);
}
int main()
{for (int i = 0; i < 10; i++){test1();}printf("\n");for (int i = 0; i < 10; i++){test2();}printf("\n");system("pause");return 0;
}

结果如下图所示;

2.修饰全局变量
全局变量被static修饰,使得这个全局变量只能在本源文件内使用,不能在其他源文件内使用。如下所示:

//add.c
static int g_val = 2018;
//test.c,使用add.c中的变量在编译时会出现连接性错误。
int main()
{printf("%d\n", g_val);return 0; }

3.修饰函数
static修饰函数,使得函数只能在本源文件内使用,不能在其他源文件内使用。例如:在add.c源文件中定义函数:

//add.c
static int Add(int x,int y)
{return x+y;
}
//test.c调用add.c中的Add函数会发生连接性错误。
int main()
{printf("%d\n",Add(2,3));return 0;
}

4.#define作用

#define定义标识符常量,如:#define MAX 100
#define定义宏,如:#define ADD(x,y) ((x)+(y))

5.while/for语句中的break和continue

break在while循环中的作用:循环体中只要遇到break,就停止后期的所有的循环,直至终止循环。也就是说while中的break是用于永久终止循环的。 如下代码所示:输出结果是:1 2 3 4

#include <stdio.h>
int main()
{int i = 0;while(i<=10){i=i+1;if(i == 5)break;printf("%d ", i);}return 0;
}

continue在while循环中的作用:continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行,而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。如下代码所示:输出结果是:1 2 3 4 6 7 8 9 10

int main()
{int i = 0;while (i <= 10){i = i + 1;if (i == 5)//break;continue;printf("%d ", i);}system("pause");return 0;
}

break和continue在for循环中:通过验证,for循环中也可以出现break和continue,他们的意义基本上和while相同。

小结

之前有接触到static修饰的变量以及函数和for循环中的break和continue,对其含义总是模棱两可,通过对此处反复推敲,学习理解,基本上熟悉了它不合时宜的出现的意思,知道它出现就有意想不到的结果 ,哈哈,加油,年轻人!


C语言中static关键字和break/continue在for/while循环中的作用相关推荐

  1. 【✊基础不牢,地动山摇のC语言中static关键字✊】

    C语言中static关键字 用static声明限定外部变量与函数,可以将其后声明的对象的作用域限定为被编译源文件的剩余部分.要降对象指定为静态存储,可以在正常的声明之前加上关键字static作为前缀. ...

  2. C语言中static关键字的作用

    在C语言中static的作用如下 第一.在修饰变量的时候,static修饰的静态局部变量只执行一次,而且延长了局部变量的生命周期,直到程序运行结束以后才释放.  第二.static修饰全局变量的时候, ...

  3. C语言中static关键字详解

    C语言中staic关键字很简单,简单到你的任何一个项目中可以不写一个staic关键字也是没有问题的.写这篇章主要是一下自己的staic的理解和应用,当然在章开头依旧要照本宣科简述一下static关键字 ...

  4. C语言中static关键字的作用详解,全网最透彻

    在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有 ...

  5. c语言中的exit,return,break,continue辨析(超详细)

    概览目录 1.exit(0); 2.continue; 3.break; 4.return; exit(0); 直接退出所有程序,返回操作系统 continue; 跳出这一次循环,进入下一次循环 比如 ...

  6. c语言中static关键字用法详解

    概述 static关键字在c语言中比较常用,使用恰当能够大大提高程序的模块化特性,有利于扩展和维护. 但是对于c语言初学者,static由于使用灵活,并不容易掌握.本文就static在c语言中的应用进 ...

  7. break、continue在switch以及循环中的作用

    收集了两种关于continue语句和break语句区别的说法,意思一样.

  8. c语言typeof 变量,c语言中typeof关键字

    为什么因为一个关键字而专门写一篇随笔呢?因为这个关键字在Linux里面地位非同一般!这个关键字typeof在linux内核里面使用非常广泛! 下面这两个等效声明,用于声明int类弄的变量a typeo ...

  9. c语言中{的作用,C语言中Static和Const关键字的作用

    C语言中Static和Const关键字的作用 程序的局部变量存在于(堆栈)中,全局变量存在于(静态区 )中,动态申请数据存在于(堆)中.那么关于C语言中Static和Const关键字的作用,你了解多少 ...

最新文章

  1. mac开启sshserver
  2. linux部署项目文档,Linux系统部署项目
  3. 【LaTeX】E喵的LaTeX新手入门教程(2)基础排版
  4. nvm-windows的安装配置
  5. 扎心了!腾讯扩招至5000人,99%应届生:与我无瓜
  6. 继微信支付后 支付宝宣布向银联云闪付开放线上场景
  7. 学linux做笔记本,linux学习之笔记本安装CentOS7
  8. 国密(1) - 私钥Key文件( PEM格式)编解码方法
  9. Confirming the Buzz about Hornets——2021美赛C题思路及题解
  10. web前端入门到实战:CSS mix-blend-mode滤色screen混合模式
  11. windows 防火墙开启导致ping不通
  12. 图片阴影效果和影子效果
  13. 老鼠流和大象流:如何检测和监控周期性流量
  14. 剑指XX游戏(七) - 不拼搏,枉少年
  15. padStart()和padEnd()使用
  16. weblogic(一).简介与安装
  17. Google Adwords选择合适的出价策略
  18. NPDP第一章:新产品开发战略
  19. PTA枚举和模拟类型八道题型
  20. 2021-05-23:打开Office后界面上显示一个横幅提示:你的许可证不是正版,并且你可能是盗版软件的受害者

热门文章

  1. 7种方法让你的图片处理更具创意
  2. OpenCV——边缘检测原理
  3. 跑monkey需要安装什么_安装集成吊顶有什么作用,集成吊顶安装需要注意什么
  4. 【Cocos Creator 实战】05 - 如何判断拼图完成(胜利)
  5. 11.2 22大数据c语言自测3题解
  6. Mac 登录ssh服务器
  7. 深度估计软件DERS6.1使用方法
  8. SPEC2006详细参数和测试过程常见问题处理总结(附实例操作)
  9. STM32程序DAP下载方式和串口下载方式分析
  10. CSS3实现3D魔方翻转网页动画特效