第一站:初识C语言-2

发布于:2022-11-27 ⋅ 阅读:(317) ⋅ 点赞:(0)

初识C语言-1:点此转入

目录

4.初识C语言之变量与常量

4.5 变量的作用域和生命周期

4.6 常量

4.6.1 字面常量

4.6.2 const修饰的常变量

4.6.3 #define定义的标识符常量

4.6.4 枚举常量

5.初识C语言之字符串与转义字符

5.1 字符串

5.2转义字符

6.选择语句

7.循环语句


4.初识C语言之变量与常量

4.5 变量的作用域和生命周期

作用域

作用域(scope)是程序设计概念,通常来说,一段程序代码所用到的名字并不总是有效/可用的而限定这个名字的可用性范围就是这个名字的作用域。

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

2.全局变量的作用域是整个工程(同一工程中不同的源文件也可以调用同一个全局变量)。

生命周期

变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段

1.局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

2.全局变量的生命周期是:整个程序的生命周期。

4.6 常量

C语言中常量和变量的定义形式有所差异。

C语言中的常量分为以下几种:

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

4.6.1 字面常量

3; //整数常量

100; //整数常量

3.14; //浮点数常量

'a'; //字符字面常量

"abcdef" //字符串字面常量

4.6.2 const修饰的常变量

const int num = 100;

num = 200; //出错,num为被const修饰的常变量,在语法中属于常量,不可更改
const int num
const int n = 10;
int arr[n] = {0};     //出错,定义数组时[]中应是常量,而n虽是const修饰的常变量,但本质还是变量,不可用来定义数组。
return 0;

4.6.3 #define定义的标识符常量

#include <stdio.h>
#define M = 100

int main()
{
    int arr[M] = {0}; //成功执行,说明M是标识符常量
    printf("%d\n",M); //打印出的值为100
    M = 200 //出错
    int M = 200 //出错,说明不能再用标识符常量作为变量名
    return 0;
}

4.6.4 枚举常量

枚举 - 一一列举

血型

性别

三原色 -Red Green Blue

enum Color
{
 //RED,GREEN,BLUE是枚举类型Color的可能取值,同时也是常量,所以叫枚举常量
    RED,//0枚举常量默认从0开始
    GREEN,//1
    BLUE//2
};

int main()
{
    enum Color c = BLUE;
    int a = 0;
    printf("%d\n",RED);
    printf("%d\n",BLUE);
    printf("%d\n",BLUE);
    
    //RED = 100;//出错,说明RED是枚举常量
    return 0;
}

5.初识C语言之字符串与转义字符

5.1 字符串

"hello world.\n"

这种由双引号引起来的一串字符成为字符串字面值(String Literal),或者简称字符串。

注:字符串的结束标志是一个\n的转义字符,在计算字符串长度的时候\0是结束标志,不算作字符串内容。

//%s - 打印字符串,打印到\0才停止

int main()
{
    char ch  = 'w';
    char ch1[] = {'a','b','c'};
    char ch2[] = "abc";
    
    printf("%s\n",ch1);//打印结果为abc乱码
    printf("%s\n",ch2);//打印结果为abc
    
    return 0;
}

上述代码中,打印ch1得到的是abc后接乱码,这是因为没有转义字符\0

如果在数组中加入'\0'

char ch1[] = {'a','b','c'};
printf("%s\n",ch1); //打印结果为abc

打印出的结果则为abc,与ch2相同

5.2转义字符

假如我们要在屏幕上打印一个目录:c:\code\test.c

我们该如何写代码?

#include <stdio.h>

int main()
{
    printf("c:\code\test.c\n");
    return 0;
}

实际上程序运行的结果是这样的:

这里就不得不提一下转义字符了

转义:转变原来的意义

下面来看一些转义字符

这里的最后两种转义字符与ASCII码有关,表示输出八进制或者十六进制转换成十进制ASCII码对应的ASCII字符

例子

//程序输出什么?
#include <stdio.h>

int main()
{
    printf("%d\n",strlen("abcdef"));
    //\62被解析成一个转义字符
    printf("%d\n",strlen("c:\test\628\test.c"));
    return 0;
}

所以最后输出的是

6

14

6.选择语句

如果好好学习,校招时候就可以拿一个好offer,走上人生巅峰。

如果不学习,毕业等于失业,回家卖红薯。

这就是选择!

#include <stdio.h>

int main()
{
    int choice = 0;
    printf("你会去敲代码吗?(1 or 0)");
    scanf("%d",&choice);
    if(choice == 1)
        printf("好offer\n");    
    else if(choice == 0)
        printf("回家卖红薯\n");
    else
        printf("输入错误\n");
        return 0;
}

7.循环语句

有些事必须一直做,比如日复一日的学习

比如:

C语言中如何实现循环呢

  • while语句
  • for语句(还没学到)
  • do ... while语句(还没学到)
#include <stdio.h>

int main()
{
int line = 0;

while (line<=20000)
{
printf("敲代码: %d\n", line);
line++;
}

if (line > 20000)
printf("好offer\n");
else
printf("好好学习,天天编程\n");

return 0;

好了,今天就学到了这里,期待明天的学习!

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到