C语言基础知识回顾(上)

本文介绍了C语言的基础知识,包括基本数据类型如整型、浮点型、字符型和布尔型,以及变量和常量的声明与使用。此外,文章还讨论了运算符、表达式和语句的概念,特别是函数的定义和调用。控制结构部分涵盖了if、for、while等流程控制语句,用于指导程序的执行流程。
摘要由CSDN通过智能技术生成

前言

C 语言是一种通用的编程语言,最早由 Dennis Ritchie 在 1970 年代初开发。它是一种高级语言,具有结构化程序设计的特点,并且具有较强的移植性。

C 语言拥有较为简单的语法,并且具有高效的编译器和运行环境,因此被广泛应用于各种领域,包括操作系统、编译器、数据库、科学计算和嵌入式系统等。

关于 C 语言的基础知识,主要包括以下几个方面:

基本语法:包括 C 语言的基本数据类型、变量、常量、运算符、表达式、语句和函数等。

控制结构:包括 C 语言中的流程控制语句,如 if、for、while、do-while 等。

函数:C 语言中的函数是组成程序的基本单位,可以定义不同功能的函数,并在程序中调用。

数组与指针:C 语言中的数组是一组相同类型的变量的集合,可以用来存储一组数据。指针是一种特殊的变量。

一、基本语法

(一)基本数据类型

基本数据类型是指简单的数据类型,包括整型、浮点型、字符型和布尔型。

整型:整型变量用于存储整数。C 语言中提供了多种整型类型,如 short、int、long 等。不同的整型类型可以存储不同范围的整数。

浮点型:浮点型变量用于存储小数。C 语言中提供了两种浮点型类型,即 float 和 double。float 类型可以存储单精度浮点数,double 类型可以存储双精度浮点数。

字符型:字符型变量用于存储单个字符。C 语言中的字符型变量使用 char 类型表示。

布尔型:布尔型变量用于存储布尔值。C 语言中的布尔型变量使用 _Bool 类型表示。    

(二)变量

变量是程序运行时可以改变的量。在使用变量之前,需要声明变量,声明变量时需要指定变量的类型和名称。例如:

int a; // 声明整型变量 a
float b; // 声明浮点型变量 b
char c; // 声明字符型变量 c

在声明变量时,也可以同时赋值:

int a = 10; // 声明整型变量 a 并赋值为 10
float b = 3.14; // 声明浮点型变量 b 并赋值为 3.14
char c = 'A'; // 声明字符型变量 c 并赋值为 'A'

在 C 语言中,变量名是大小写敏感的,也就是说 A 和 a 是两个不同的变量。变量名由字母、数字和下划线组成,但是不能以数字开头。

C 语言中还有一种特殊的变量——常量。常量是一种在程序运行时不能改变的量。常量可以使用 #define 宏定义,也可以使用 const 关键字声明。例如:

#define PI 3.14 // 定义常量 PI
const int MAX_VALUE = 100; // 声明常量 MAX_VALUE

常量的名称通常用大写字母表示,表明这是一个常量。

(三)常量

常量是一种在程序运行时不能改变的量。在 C 语言中,常量可以使用 #define 宏定义,也可以使用 const 关键字声明。

#define 宏定义是在预处理阶段进行的,可以用来定义常量和宏函数。宏定义的格式为:

#define 常量名 常量值

例如,定义常量 PI 的值为 3.14:

#define PI 3.14

使用 #define 宏定义时,常量名在程序中会被替换为常量值。这种方式定义的常量没有类型,也不占用内存空间。

使用 const 关键字声明常量的方式稍微复杂一些,格式为:

const 类型名 常量名 = 常量值;

例如,声明常量 MAX_VALUE 的值为 100:

const int MAX_VALUE = 100;

使用 const 关键字声明的常量有类型,且会占用内存空间。

常量的名称通常用大写字母表示,表明这是一个常量。在使用常量时,不能对它进行赋值操作。例如:

PI = 3.14159; // 错误,不能对常量赋值
MAX_VALUE = 200; // 错误,不能对常量赋值

使用常量的优点是可以提高代码的可读性,并且可以避免在程序中出现 magic number(即在代码中出现的难以理解的数字)。

(四)运算符

C 语言中的运算符是用来执行算术运算、比较运算、逻辑运算、赋值运算等操作的符号。

C 语言中的运算符分为以下几类:

算术运算符:包括 +、-、*、/ 和 % 等。

比较运算符:包括 >、<、>=、<=、== 和 != 等。

逻辑运算符:包括 &&、|| 和 ! 等。

赋值运算符:包括 =、+=、-=、*=、/= 和 %= 等。

位运算符:包括 &、|、^ 和 ~ 等。

条件运算符:即三目运算符(? :)。

逗号运算符:用于在一个表达式中包含多个子表达式。

运算符的优先级指的是在表达式中运算符的执行顺序。优先级高的运算符会优先执行。例如,在表达式 2 + 3 * 4 中,* 运算符的优先级

(五)表达式

在 C 语言中,表达式是指由运算符和操作数组成的式子。表达式会在程序运行时计算出一个值。

C 语言中的表达式可以使用算术运算符、比较运算符、逻辑运算符、赋值运算符等运算符来构成。例如:

1 + 2 // 算术表达式
a > b // 比较表达式
a == b && c != d // 逻辑表达式
a = b + c // 赋值表达式

表达式的值可以是常量、变量或者其他表达式的值。例如:

1 + 2 * 3 // 表达式的值为 7
a + b - c // 表达式的值取决于变量 a、b 和 c 的值
(a > b) ? a : b // 表达式的值取决于变量 a 和 b 的值

表达式的值可以赋值给变量,例如:

int x;
x = 1 + 2 * 3; // 表达式的值被赋值给变量 x

表达式的运算顺序取决于运算符的优先级。优先级高的运算符会优先进行运算。例如,在表达式 2 + 3 * 4 中,* 运算符的优先级比 + 运算符高,所以 3 * 4 会先进行运算,得到 12,再与 2 进行 + 运算,得到最终的结果 14。

(六)语句

在 C 语言中,语句是用来完成特定任务的代码块。在 C 语言中,语句以分号结尾。例如:

int x = 0; // 赋值语句
x += 1; // 赋值语句
printf("Hello, world!"); // 函数调用语句

C 语言中的语句分为以下几类:

赋值语句:用于将表达式的值赋值给变量。例如:
int x = 0; // 将 0 赋值给变量 x
x += 1; // 将 x 加上 1 后的值赋值给 x

函数调用语句:用于调用函数。例如:
printf("Hello, world!"); // 调用函数 printf
控制语句:用于控制程序的流程。C 语言中提供了多种控制语句,包括 if、for、while 和 switch 等。

(七)函数

在 C 语言中,函数是一段可以被多次调用的代码块,可以帮助我们实现特定功能。使用函数的好处是可以把复杂的代码拆分成若干个小的函数,使代码更加结构化、可读性更高。

在 C 语言中,函数的声明包括函数的返回类型、函数名、参数列表和函数体。例如,定义一个名为 max 的函数,返回两个整数的最大值:

int max(int a, int b) {
if (a > b) {
return a;
} else {
return b;
}
}

函数的返回类型是 int,函数名是 max,参数列表是 (int a, int b),函数体是 if-else 语句块。

在函数体中,可以使用 return 语句结束函数的执行并返回结果。

函数的调用是通过函数名和参数列表来调用的。例如,调用 max 函数:

int x = max(1, 2); // x 的值为 2

在 C 语言中,还有一种特殊的函数——库函数。库函数是由 C 语言标准库或者第三方库提供的函数,可以直接使用。

二、控制结构

控制结构是用来控制程序的流程的语句。C 语言中的控制结构包括分支结构和循环结构。

(一)分支结构

分支结构是用来控制程序执行不同代码块的结构。C 语言中提供了 if 和 switch 两种分支结构。

if 语句是用来在表达式为真时执行代码块的语句。if 语句的格式为:

if (表达式) {
// 代码块
}

例如,求两个数的最大值:

int a, b;
if (a > b) {
printf("a is larger than b\n");
}

if 语句还可以搭配 else 语句使用,在表达式为假时执行代码块。例如:

int a, b;
if (a > b) {
printf("a is larger than b\n");
} else {
printf("b is larger than or equal to a\n");
}

switch 语句是用来执行多个代码块的语句,根据表达式的值来决定执行哪个代码块。switch 语句的格式为:

switch (表达式) {
case1:
// 代码块1
break;
case2:
// 代码块2
break;
// ...
default:
// 默认代码块
break;
}

例如,输出数字对应的字符串:

int n;
switch (n) {
case 1:
printf("One\n");
break;
case 2:
printf("Two\n");
break;
case 3:
printf("Three\n");
break;
// ...
default:
printf("Invalid number\n")

(二)循环结构

循环结构是用来执行重复代码块的结构。C 语言中提供了 for 和 while 两种循环结构。

for 循环是用来执行指定次数的循环。for 循环的格式为:

for (初始化语句; 条件表达式; 更新语句) {
// 代码块
}

例如,输出 1 到 10 的数字:

for (int i = 1; i <= 10; i++) {
printf("%d\n", i);
}

while 循环是用来执行条件为真时的循环。while 循环的格式为:

while (条件表达式) {
// 代码块
}

例如,输入数字直到输入 0 为止:

int n;
while (n != 0) {
scanf("%d", &n);
}

循环结构还可以搭配 break 和 continue 语句使用。break 语句用于结束循环,continue 语句用于跳过本次循环剩余的代码并进行下一次循环。

今天的回顾就先到这里了,我们下期再见!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值