初识c语言第二讲知识整理

  变量分为局部变量和全局变量

1.作用域和生命周期

作用域:变量在哪里起作用哪里就是作用域

局部变量的作用域:局部变量所在的范围

eg:  #include<stdio.h>

      int main ()

      {

           int a = 0;//在大括号里的变量是局部变量,a在大括号里发挥作用,因此大括号里部分是a的作用域

 

            printf("%d\n",a);

            return 0;

       }

全局变量的作用域是整个工程。

#include<stdio.h>

int a = 10;//在大括号外部的变量是全局变量

int main ( )

{

      printf("%d\n",a);

       return 0;

}//代码运行结果为10

在add.c中定义一个 int g_val =20;

在test.c中,写代码:

 #include <stdio.h>

int main ( )

{

     printf("%d\n",g_val);

    return 0;

}//此时代码无法运行,但并不代表不可以引用全局变量

//在test.c中加入extern(声明函数)来声明g_val,代码就可以运行。

将tset.c代码改为:

#include <stdio.h>

extern g_val

int main( )

{

     printf("%d\n",g_val);

     return 0;

} //此时代码成功打印出20。

生命周期,是指变量创建到变量销毁的一个时间。局部变量的生命周期是作用域的范围,全局变量的生命周期是整个工程的生命周期。

2.常量分为:字面常量,枚举常量,const修饰的常变量,#define 定义的常量标识符

#include<stdio.h>

int main ( )

{

     2;//整形常量字面值

      'w';//字符字面值

      "abcd"//字符串字面值

      return 0;

}

枚举-enum,枚举也就是一一列举。枚举常量也就是一一列举出来的常量

#include<stdio.h>

enum Sex

{

      MALE;

      FEMALE;

      SECURT;

}

int main ( )

{

     //enum sex s = MALE;//此时若打印的话则打印出MALE,enum sex 是类型,s是变量

     printf("%d\n",MALE);

      printf("%d\n",FEMALE);

      printf("%d\n",SECURT);

}//因为枚举常量没有初始值,所以默认为0,并以此递增,所以打印结果为0,1,2

//若要改变值,可以将枚举常量赋予初始值。若MALE=5,则后面打印结果为5,6,7。

2.字符串+转义字符+注释

2.1字符串:由双引号引起来的一组字符

字符串的结束标志是'\0',在字符串的结尾一般会有一个隐藏的字符串。用数组来存放字符串,一般把这个数字称之为字符数组

字符数组的写法:① char arr1[ ] ="abcd" // 在这种字符串中结尾处会有一个隐藏'\0',

                            ② char arr2[ ] ={'a','b','c','d'};//在这组字符数组中没有隐藏的'\0'

在计算数组长度时用到strlen,(strlen是一个库函数是c语言标准库中的函数,因此在使用strlen时要引用其头文件string.h) 。int len = strlen(arr1)(表示用变量len来接收数组1长度的返回值)

#include<stdio.h>

int main ( )

{

    char arr1[ ] = "abcd";

    char arr2[ ]={'a','b','c','d'};

    int  len1 = strlen(arr1);

    int len2 = strlen(arr2);

    printf( "%d %d\n",len1,len2);

    return 0;

}//此时打印出来的结果为4  15

strlen在计算字符串长度时是计算遇到\0之前的字符的个数,arr1中的结尾有隐藏的'\0'因此strlen再遇到斜杠0后自动停止,strlen(arr1)的长度为4。arr2中没有\0。因此strlen(arr2)的结果是一个随机值。

2.2转义字符,着重注意\ddd和\xdd

\ddd ,ddd表示1~3个八进制数字   \xdd,xdd表示1~2个十六进制数字。printf("%d\n",\157); 表示:先将八进制157转化为十进制数字并找到对应的ASCII码值(\xdd也是同样计算方法,不过是将十六进制转化为十进制)

2.3注释

c语言的注释风格为/*         */,缺陷是不能嵌套使用

c++的注释风格为//(非常推荐使用这种注释风格)

 

 

 

 

 

 

 

 

 

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值