学习c语言的第二周

目录

   1.常量与变量

   2.简单的求和

   3.变量作用域和生命周期


常量与变量

      常量的分类:

  • 字面常量
  • const 修饰的常变量
  • #define 定义的标识符常量
  • 枚举常量

1.字面常量

1.int main()
2.{
3.    3.14;
4.    10;
5.    'a'
6. //这些都是字面变量
7.
8.    return 0;
9.}

2.const 修饰的常变量

1.int main()
2.{
3. //const修饰的常变量
4. const int num = 10;//num是常变量-具有常属性(不能改变的属性)-本质还是变量
6. num = 20;
7. printf("num = %d\n",num);//此时系统会报错,因为const修饰后 num的值不可以改变 
8.    return 0;
9.}

3.#define 定义的标识符常量

1.#define MAX 10000
2.int main()
3.{    
4.//若这里将MAX改变就是错的,因为max值不可以更改,已经被定义了  
5.//MAX = 20000(错误)
6. int n = MAX;
7.printf("n = %d\n",n);
8.    return 0;
9.}

4.枚举常量(可以一一列举的常量)

以性别(男性,女性,秘密)为例

1.enmu Sex
2.{
3. //这种枚举类型的变量的未来可能取值   
4. //以下就是枚举常量  
5.   MALE
6.   FEMALE
7.   SECRET
8.};
9.int main()
10.{
11. enum Sex s = MALE;//变量s只可以在上面三种中选一种改变
12. return 0;
13.}


变量类型

  • 浮点数变量

例如: double weight = 75.3

           printf("%lf\n",weight)

注:单精度float 用“%f” ; 双精度double用"%lf\n"

  • 局部变量 与 全局变量
1.//在外部定义的变量为全局变量
2.int a = 100;//全局变量
3.int main()
4.{   
5. //在内部的变量就是局部变量  
6. int a = 10;
7.printf("%d\n",a);
8.}
注:上面局部变量与全局变量冲突,按照“局部优先”输出结果


求和

1.//scanf是输入函数
2.int main()
3.{    
4. int a = 6 ; 
5. int b = 2;
6. scanf(%d %d,&a,&b)//表示将a,b分别存放到第一和第二个%d中
7. sum = a + b;
8. printf("sum=%d\n",sum);
9. return 0
10.}

注意:直接用scanf函数vs2013会报错,只需将scanf改为scanf_s(scanf_s不是c语言,是vs编译器提供的,其他编译器无法识别,第二个解决方法是在源文件第一行加“#define_CRT_SECURE_NO_WARNINGS 1”)

 

变量作用域和生命

  • 变量作用域(这个变量哪里可以用,哪里就是它的作用域)

1.局部变量的作用域:就是变量所在的局部范围.

1.int main()
2.{
3.   printf("hehe\n");   
4.   {
5.       int a = 10
6.       printf("a = %d\n",a);
7.    }//这个括号内就是变量a的作用域
8.   return 0
9.}    

2.全局变量的作用域:整个工程

1.int g_val = 2022;\\全局变量
2.int main()
3.{
4.   printf("1;%d\n", g_val); \\数字为表示第一次打印
5.   {
6.      printf("2;%d\n", g_val);\\第二次打印
7.   }
8.      printf("3;%d\n", g_val);\\第三次打印
9.   return 0
10.}

全局变量的作用域整个工程理解:同一“源文件”但不同代码文件之间也可以用(跨文件)

 注:要用 extern 声明才可以跨文件使用

生命周期

解释:从变量的创建到销毁之间的时间段

          1. 局部变量的生命周期:从进入局部范围就是生命开始,出去局部生命就结束

          2.全局变量的生命周期:就是程序的生命的周期(从程序开始到结束)


over

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值