C语言入门Part 3

关键字: 常见关键字介绍及用法,static 和 extern区别与联系,typedef和#define区别

  • C语言入门part1
  • C语言入门part2

常见关键字

  • auto 存储说明符 声明变量的生存期为自动,所声明的变量默认为整型(声明之后变量生命周期还是在当前括号中,所以在C语言中用的不多)
  • break 跳出当前循环,结束所有循环
#include<stdio.h>
int main()
{int i = 0;for (i = 0; i < 4; i++){if (i == 1){break;//i=1时跳出循环直接执行printf语句}printf("HELLO\n");}return 0;
}//运行结果打印出1个HELLO
  • continue 结束本趟循环,跳到循环判断条件处
#include<stdio.h>
int main()
{int i = 0;for (i = 0; i < 4; i++){if (i == 1){continue;//i=1时跳至外层for循环继续循环}printf("HELLO\n");}return 0;
}//运行结果打出三个HELLO
  • case 用在switch(和if一样都是选择语句)中
  • default 和case一起用在swtich 里面,表示默认情况下
int main()
{int i = 0;scanf("%d",&i);switch(i){case 1:printf("1\n");break;//必须加break,加break表直接跳出到return 0,不加break程序将会依次执行,如输入2,系统输出2 0,输入1,系统输出1 2 0case 2:printf("2\n");break;default://默认情况下,即输入的不是1也不是2的情况printf("0\n");break;}return 0;
}
  • goto 跳转到某一条标签标识的语句(类似汇编中的JMP)
  • register 寄存器 存储说明符
 register int a=10;//建议编译器把a放在寄存器中
  • void 无类型
  • static 静态的 存储说明符
    *修饰局部变量,局部变量的生命周期增长,直至整个程序执行结束,static局部变量只初始化一次,下一次依据上一次的结果值
void Test()
{static int c = 0;//(test函数结束,c并未失效)i=0,c=0;i=1,由于static局部变量只初始化一次,下一次依据上一次的结果值,所以c=1....c++;//c=1;c=2.....printf("%d\n",c);//1 2 3 4 5
}int main()
{int i = 0;for(i = 0;i < 5;i++){Test();}return 0;
}

若上述程序将static int c = 0;改为 int c = 0;则结果输出五个1
*修饰全局变量,全局变量的作用域被限制在当前的源文件(.c文件)
*修饰函数,该函数作用域也被限制在当前的源文件中,其修饰的函数统称为静态函数,也叫内部函数

  • extern 声明外部符号 存储说明符
    extern还可用来修饰函数,其修饰的函数统称为外部函数,可被其他函数调用。且C语言规定如果定义一个函数的时候省略extern,则隐含为外部函数。

  • static和extern的区别和联系
    static用来声明一个内部函数/变量
    extern用来声明一个外部函数/变量

  • typedef 类型重定义 给复杂的类型重起名


typedef unsigned int u_int;//u给unsigned int命名为 u_int;

typedef int Arr[10];//加上typedef后Arr就从一个数组名变为int类型(int[10] Arr类型),后续要定义一个数组直接
Arr arr={1,2,3,4,5,6....};
  • typedef unsigned int u_int;和 #define u_int unsigned int 区别
    typedef 关键字 常用来定义一个标识符及关键字的别名,在编译过程中进行,增加程序可读性,建议用这个
    #define 宏定义语句 常用来定义常量(包括无参量和带参量),在于处理过程中进行,所以难以发现潜在错误

C语言入门Part 3—大致梳理(中篇)相关推荐

  1. C语言入门part2—大致知识点梳理(中篇)

    C语言入门part2-大致知识点梳理(中篇) 关键字: 选择语句,循环语句,函数,数组,操作符,if(a >= 15 && a <= 20)和 if( 15 <= a ...

  2. C语言入门part4—大致梳理最终篇

    C语言入门part4-大致梳理最终篇 关键字:关键字define,内存,指针,结构体 C语言入门part1 C语言入门part2 C语言入门part3 define 定义一个标识符常量,后面一般不加分 ...

  3. C语言入门part1—大致知识点梳理(上篇)

    C语言入门part1-大致知识点梳理(上篇) **关键字:**变量常量,全局变量局部变量,字符串+转义字符+注释,sizeof,求数据类型范围(举例char类型),原码反码补码,scanf等等杂七杂八 ...

  4. C语言入门调试与思维

    C语言入门调试与思维 刚开始我作为一个C语言编译小白,对程序的书写和运行难以上手,初始阶段期间看了很多程序员路上的感想,也对程序这个行业有大致的了解,感到很新颖,很适合我的一个基础语言系,我用一学期来 ...

  5. Oracle PL/SQL语言入门

    一.背景介绍 结构化查询语言(Structured Query Language,简称SQL)是用来访问关系型数据库一种通用语言,属于第四代语言(4GL),其执行特点是非过程化,即不用指明执行的具体方 ...

  6. C语言入门经典材料领走不谢!

    小天从大学开始,便开启资料收集功能.近几年以大数据的飞速发展,计算机科技进入新的发展阶段,再加上日常的深入研究,小天收集整理了丰富的C语言资料,内容涵盖"入门经典","考 ...

  7. C语言入门(一代小白被迫被拔苗助长)

    C语言入门(数据类型.运算符和表达式) 一.我的大学生活 1.我的C语言开始 一. 话不多说,先搞笑一下(以我来到学校为例),来到学校鸟语花香,阳光明媚,我热情的认识了我的新舍友(以小胖最为热情),还 ...

  8. 零基础学C语言(C语言入门)

    C语言入门(初识C语言) 初识C语言 前言 什么是C语言 为什么要选择C语言作为学习的第一门语言 一.第一个C语言程序 1.1 #include 1.2 int main() 1.3 printf 1 ...

  9. Julia教程:Julia语言入门

    正如我在" 朱莉娅是什么? ", Julia是一种用于数值计算的免费开源高级,高性能动态编程语言,它将动态语言的开发便利性与已编译的静态类型语言的性能相结合. 它设计用于科学计算, ...

最新文章

  1. ionic4中使用Swiper触屏滑动---心酸路
  2. PHP连接数据库并创建一个表
  3. 读写锁ReadWriteLock和缓存实例
  4. Tensorflow学习
  5. 修改unity变量名但不丢失序列化值
  6. 11.2.4 jQuery动画
  7. COMBO--组合拳打穿回调地狱~
  8. html自动滑动轮播代码,html+css+js 实现自动滑动轮播图
  9. ie兼容响应式布局的实现总结 和 针对ie浏览器的CSS
  10. Lecture 9 Random built Binary Search Trees BSTs
  11. python 获取 字典中的指定键_python中字典方法的详细教程
  12. 字节跳动暑期日常实习前端面试
  13. NPOI导出EXCEL报_服务器无法在发送 HTTP 标头之后追加标头
  14. 河北工业大学 高等数学学习资料分享(课件,录屏,教材,答案)
  15. 人群疏散matlab程序,人群疏散方法及系统与流程
  16. Win8 ××× 客户端安装出现 An error occurred installing the TAP device driver 错误的解决...
  17. 深度ip转换器手机版app_优优手机管家app手机版-优优手机管家免费下载v1.0.0
  18. 什么软件可以让手机使用免费WiFi上网
  19. 学计算机的看图写话,小老鼠上网看图写话
  20. Delft3d GRD及ENC问题

热门文章

  1. 022 利用头皮脑电信号预测癫痫发作2021
  2. 电大计算机c语言形考作业,(2017年电大)c语言形成性考核册.doc
  3. 中国网络安全企业50强(2016年上半年)
  4. 机器学习之条件随机场(CRF)
  5. 什么是多媒体应用开发?
  6. 当Python和R遇上北京二手房(上)
  7. Cuckoo沙箱安装步骤
  8. 想让你跟古埃及法老都无障碍沟通,Google 上线了这款工具
  9. 金蝶软件服务器地址怎么修改,怎样修改金蝶系统服务器地址
  10. 非支配排序遗传算法c语言,第三代非支配排序遗传算法(NSGA-III)