【C语言从入门到放弃 2】存储类、运算符、判断和循环详解

一、存储类

存储类是C语言中用于控制变量的生命周期、作用域和存储位置的关键字。C语言中有四种存储类:自动存储类、静态存储类、寄存器存储类和外部存储类。下面分别介绍这四种存储类的特点和用法。

  • 自动存储类(auto) 自动存储类是C语言中默认的存储类,用于定义局部变量。自动存储类的变量在函数内部定义,函数调用结束后会自动销毁。自动存储类的变量没有默认值,需要手动初始化。

示例:

void func() {
    auto int num; // 自动存储类的变量
    num = 10;
    printf("%d\n", num);
}
  • 静态存储类(static) 静态存储类用于定义静态变量,静态变量在程序执行期间一直存在,不会在函数调用结束后销毁。静态存储类的变量默认初始化为0。

示例:

void func() {
    static int count = 0; // 静态存储类的变量
    count++;
    printf("%d\n", count);
}
  • 寄存器存储类(register) 寄存器存储类用于定义寄存器变量,它告诉编译器将变量存储在寄存器中,以便快速访问。但是,寄存器存储类的变量不能取地址,因为寄存器的地址是无法获取的。

示例:

void func() {
    register int i; // 寄存器存储类的变量
    for (i = 0; i < 10; i++) {
        printf("%d\n", i);
    }
}
  • 外部存储类(extern) 外部存储类用于定义全局变量,全局变量在程序的任何地方都可以访问。外部存储类的变量可以在其他文件中使用,需要使用extern关键字进行声明。

示例:

// file1.c
extern int count; // 外部存储类的变量声明

// file2.c
int count = 0; // 外部存储类的变量定义

二、运算符

运算符是C语言中用于进行各种运算操作的符号。C语言提供了多种运算符,包括算术运算符、关系运算符、逻辑运算符、位运算符等。下面介绍几种常用的运算符及其用法。

  • 算术运算符 算术运算符用于进行基本的数学运算,包括加法(+)、减法(-)、乘法(*)、除法(/)和取模(%)等。

示例:

int a = 10, b = 5;
int sum = a + b; // 加法
int difference = a - b; // 减法
int product = a * b; // 乘法
int quotient = a / b; // 除法
int remainder = a % b; // 取模
  • 关系运算符 关系运算符用于比较两个值的大小关系,返回结果为真(非零值)或假(0)。包括大于(>)、小于(<)、大于等于(>=)、小于等于(<=)、等于(==)和不等于(!=)等。

示例:

int a = 10, b = 5;
int result1 = a > b; // 大于
int result2 = a < b; // 小于
int result3 = a >= b; // 大于等于
int result4 = a <= b; // 小于等于
int result5 = a == b; // 等于
int result6 = a != b; // 不等于
  • 逻辑运算符 逻辑运算符用于对多个条件进行逻辑运算,返回结果为真(非零值)或假(0)。包括逻辑与(&&)、逻辑或(||)和逻辑非(!)等。

示例:

int a = 10, b = 5, c = 0;
int result1 = (a > b) && (a > c); // 逻辑与
int result2 = (a > b) || (a > c); // 逻辑或
int result3 = !(a > b); // 逻辑非
  • 位运算符 位运算符用于对二进制位进行操作,包括按位与(&)、按位或(|)、按位异或(^)和按位取反(~)等。

示例:

int a = 10, b = 5;
int result1 = a & b; // 按位与
int result2 = a | b; // 按位或
int result3 = a ^ b; // 按位异或
int result4 = ~a; // 按位取反

三、判断

判断是C语言中用于根据条件执行不同代码块的结构。C语言提供了if语句和switch语句来实现判断功能。

  • if语句 if语句用于根据条件执行不同的代码块。如果条件为真,则执行if语句中的代码块;如果条件为假,则跳过if语句。

示例:

int num = 10;
if (num > 0) {
    printf("num is positive\n");
} else if (num < 0) {
    printf("num is negative\n");
} else {
    printf("num is zero\n");
}
  • switch语句 switch语句用于根据表达式的值选择执行不同的代码块。根据表达式的值,选择与之匹配的case标签,并执行相应的代码块。

示例:

int num = 2;
switch (num) {
    case 1:
        printf("num is 1\n");
        break;
    case 2:
        printf("num is 2\n");
        break;
    default:
        printf("num is not 1 or 2\n");
        break;
}

四、循环

循环是C语言中用于重复执行一段代码的结构。C语言提供了for循环、while循环和do-while循环来实现不同类型的循环。

  • for循环 for循环用于指定一个初始条件、循环条件和每次循环后的操作,循环条件为真时执行循环体。

示例:

for (int i = 0; i < 10; i++) {
    printf("%d\n", i);
}
  • while循环 while循环用于在指定条件为真时重复执行一段代码
int i = 0;
while (i < 10) {
    printf("%d\n", i);
    i++;
}
  • do-while循环 do-while循环先执行一次循环体,然后在指定条件为真时重复执行循环体。

示例:

int i = 0;
do {
    printf("%d\n", i);
    i++;
} while (i < 10);

五、跳转

跳转是C语言中用于改变程序执行流程的结构。C语言提供了break语句、continue语句和return语句来实现不同类型的跳转。

  • break语句 break语句用于终止当前循环或switch语句,并跳出循环或switch语句的代码块。

示例:

for (int i = 0; i < 10; i++) {
    if (i == 5) {
        break;
    }
    printf("%d\n", i);
}
  • continue语句 continue语句用于跳过当前循环的剩余代码,并开始下一次循环。

示例:

for (int i = 0; i < 10; i++) {
    if (i % 2 == 0) {
        continue;
    }
    printf("%d\n", i);
}
  • return语句 return语句用于结束函数的执行,并返回一个值给调用者。

示例:

int add(int a, int b) {
    return a + b;
}

 

你可能感兴趣的:(C,c语言,开发语言)