12-c语言重点关键字的概念

1.printf函数是一个标准库函数,能够以精确的格式输出程序运算的结果。

  • printf函数的调用格式为:
  • printf("格式控制字符串",输出项列表);
  • 例如:printf("%d,%d",a, b);

 

2.scanf函数是一个阻塞式函数

  • 程序会停在scanf函数出现的地方, 直到接收到数据才会执行后面的代码
  • scanf函数原型包含在标准输入输出头文件“stdio.h”中,用于接收键盘输入的内容。
    • 格式:scanf("格式控制字符串",输入项地址列表);
    • 例如: scanf("%d", &num);
    • 格式控制字符串:
      • 规定数据输入的格式,由格式控制符和普通字符组成,格式控制符和百分号(%)一起使用, 用来说明输入数据的数据类型(格式字符)。
    • 输入项地址列表:
      • 需要接收数据的变量地址,这些输入项与格式控制字符串在类型和数量上要对应,当有多个 输入项时,各个地址名之间以逗号“,”分隔。输入格式和变量类型要保持一致。

3.

  • continue语句的作用是跳过循环体中剩余的语句而继续下一次

 

 

4.static和extern关键字-对变量的作用

本小节知识点:

  1. 【掌握】static 与 extern对局部变量的作用
  2. 【掌握】static 全局变量的作用
  3. 【掌握】extern对全局变量的作用

1.static 与 extern对局部变量的作用

  • static对局部变量的作用

    • 延长局部变量的生命周期,从程序启动到程序退出,但是它并没有改变变量的作用域
    • 定义变量的代码在整个程序运行期间仅仅会执行一次
  • extern用在函数内部

    • 不是定义局部变量,它用在函数内部是声明一个全局变量

2.static 全局变量的作用

  • 全局变量分类:

    • 内部变量:只能在本文件中访问的变量
    • 外部变量:可以在其他文件中访问的变量,默认所有全局变量都是外部变量
  • static对全局变量的作用

    • 声明一个内部变量 static int a;
    • 定义一个内部变量 static int a = 10;
  • 由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以 避免在其它源文件中引起错误。


3.extern对全局变量的作用

  • extern作用

    • 完整声明一个外部变量 extern int a;
    • 完整定义一个外部变量 extern int a = 10;
  • 如果声明的时候没有写extern那系统会自动定义这个变量,并将其初始化为0

  • 如果声明的时候写extern了,那系统不会自动定义这个变量。

 

 

 

 

5.typedef基本概念

  • C语言不仅?供了丰富的数据类型,而且还允许由用户自己定义类型说明符,也就是说允许由用户为数据类型取“别名”。

2.typedef语法格式

typedef 原类型名 新类型名;
+ 其中原类型名中含有定义部分,新类型名一般用大写表示,以便于区别。
+ 有时也可用宏定义来代替typedef的功能,但是宏定义是由预处理完成的,而typedef则是在编译 时完成的,后者更为灵活方便。



6.const关键字

 如果const写在指针类型的左边那么意味着指向的内存空间中的值不能改变但是指针的指向可以改变

     如果const写在指针的数据类型和*号之间那么意味着指向的内存空间中的值不能改变但是指针的指向可以改变

     如果const写在指针的右边(数据类型 * const), 那么意味着指针的指向不可以改变但是指针指向的存储空间中的值可以改变

     

     规律:

     如果const写在指针变量名的旁边那么指针的指向不能变而指向的内存空间的值可以变

     如果const写在数据类型的左边或者右边那么指针的指向可以改变但是指向的内存空间的值不能改变

7.static对局部变量的作用

    当使用static来修饰局部变量那么会延长局部变量的生命周期并且会更改局部变量存储的位置 将局部变量从栈转移到静态区中

     只要使用static修改局部变量之后当执行到定义局部变量的代码就会分配存储空间但是只有程序结束才会释放该存储空间

 

 

 应用场景":

 

     当某个方法的调用频率非常高而该方法中更有些变量的值是固定不变的

 

     那么这个时候就可以使用static来修饰该变量让该变量只开辟一次存储空间

 

     这样可以提高程序的效率和性能

 

 

 

转载于:https://www.cnblogs.com/wc-Home/p/5235441.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值