C语言全解析:从入门到精通

十年开发一朝灵 2024-11-09 17:34:51

第3章 基本语法

在这一章中,我们将详细介绍C语言的基本语法,包括注释、变量与数据类型、常量、运算符和输入输出。这些基础知识是编写C程序的基石,掌握它们将为你后续的学习打下坚实的基础。

3.1 注释

注释是代码中不被执行的部分,主要用于解释代码的功能和逻辑。C语言支持两种注释方式:

单行注释:使用 // 开头,注释从 // 开始到行末的所有内容。多行注释:使用 /* 开始, */ 结束,可以跨越多行。

3.1.1 单行注释

#include <stdio.h>int main() { // 这是一个单行注释 printf("Hello, World!\n"); // 输出字符串 return 0;}

3.1.2 多行注释

#include <stdio.h>int main() { /* * 这是一个多行注释 * 可以跨越多行 */ printf("Hello, World!\n"); return 0;}

3.2 变量与数据类型

变量是程序中用来存储数据的标识符。C语言提供了多种数据类型,每种数据类型都有其特定的用途和大小。

3.2.1 基本数据类型

整型:int:通常占用4个字节,范围通常是-2,147,483,648到2,147,483,647。short:通常占用2个字节,范围通常是-32,768到32,767。long:通常占用4个字节,范围通常是-2,147,483,648到2,147,483,647。long long:通常占用8个字节,范围通常是-9,223,372,036,854,775,808到9,223,372,036,854,775,807。浮点型:float:通常占用4个字节,精度约为6-7位小数。double:通常占用8个字节,精度约为15位小数。long double:通常占用10个字节或更多,精度更高。字符型:char:通常占用1个字节,用于存储单个字符。布尔型:_Bool(C99引入):通常占用1个字节,表示真(1)或假(0)。

3.2.2 变量声明和初始化

#include <stdio.h>int main() { int age = 25; // 声明并初始化一个整型变量 float height = 1.75; // 声明并初始化一个浮点型变量 char grade = 'A'; // 声明并初始化一个字符型变量 _Bool is_student = 1; // 声明并初始化一个布尔型变量 printf("Age: %d\n", age); printf("Height: %.2f\n", height); printf("Grade: %c\n", grade); printf("Is student: %s\n", is_student ? "Yes" : "No"); return 0;}

3.3 常量

常量是程序中不可改变的值。C语言中定义常量的方式有两种:使用 #define 预处理器指令和使用 const 关键字。

3.3.1 使用 #define 定义常量

#include <stdio.h>#define PI 3.14159 // 定义一个常量int main() { float radius = 5.0; float area = PI * radius * radius; printf("Area of the circle: %.2f\n", area); return 0;}

3.3.2 使用 const 定义常量

#include <stdio.h>int main() { const float PI = 3.14159; // 定义一个常量 float radius = 5.0; float area = PI * radius * radius; printf("Area of the circle: %.2f\n", area); return 0;}

3.4 运算符

C语言提供了多种运算符,用于执行各种数学和逻辑运算。

3.4.1 算术运算符

+:加法-:减法*:乘法/:除法%:取模(求余)#include <stdio.h>int main() { int a = 10; int b = 3; printf("a + b = %d\n", a + b); printf("a - b = %d\n", a - b); printf("a * b = %d\n", a * b); printf("a / b = %d\n", a / b); // 整数除法 printf("a %% b = %d\n", a % b); // 取模 return 0;}

3.4.2 关系运算符

==:等于!=:不等于<:小于<=:小于等于>:大于>=:大于等于#include <stdio.h>int main() { int a = 10; int b = 3; printf("a == b: %s\n", a == b ? "True" : "False"); printf("a != b: %s\n", a != b ? "True" : "False"); printf("a < b: %s\n", a < b ? "True" : "False"); printf("a <= b: %s\n", a <= b ? "True" : "False"); printf("a > b: %s\n", a > b ? "True" : "False"); printf("a >= b: %s\n", a >= b ? "True" : "False"); return 0;}

3.4.3 逻辑运算符

&&:逻辑与||:逻辑或!:逻辑非#include <stdio.h>int main() { int a = 10; int b = 3; int c = 5; printf("(a > b) && (b < c): %s\n", (a > b) && (b < c) ? "True" : "False"); printf("(a < b) || (b < c): %s\n", (a < b) || (b < c) ? "True" : "False"); printf("!(a < b): %s\n", !(a < b) ? "True" : "False"); return 0;}

3.4.4 位运算符

&:按位与|:按位或^:按位异或~:按位取反<<:左移>>:右移#include <stdio.h>int main() { int a = 10; // 1010 in binary int b = 3; // 0011 in binary printf("a & b = %d\n", a & b); // 0010 printf("a | b = %d\n", a | b); // 1011 printf("a ^ b = %d\n", a ^ b); // 1001 printf("~a = %d\n", ~a); // 11111111111111111111111111110101 (in two's complement) printf("a << 1 = %d\n", a << 1); // 10100 printf("a >> 1 = %d\n", a >> 1); // 0101 return 0;}

3.5 输入输出

C语言提供了标准库函数来进行输入和输出操作。常用的输入输出函数包括 printf 和 scanf。

3.5.1 输出

printf 函数用于将格式化的字符串输出到标准输出(通常是屏幕)。

#include <stdio.h>int main() { int age = 25; float height = 1.75; char grade = 'A'; printf("Age: %d\n", age); printf("Height: %.2f\n", height); printf("Grade: %c\n", grade); return 0;}

3.5.2 输入

scanf 函数用于从标准输入(通常是键盘)读取格式化的输入。

#include <stdio.h>int main() { int age; float height; char grade; printf("Enter your age: "); scanf("%d", &age); printf("Enter your height: "); scanf("%f", &height); printf("Enter your grade: "); scanf(" %c", &grade); // 注意前面的空格,用于忽略前导空白字符 printf("Age: %d\n", age); printf("Height: %.2f\n", height); printf("Grade: %c\n", grade); return 0;}

3.6 小结

通过本章的学习,我们掌握了C语言的基本语法,包括注释、变量与数据类型、常量、运算符和输入输出。这些基础知识是编写C程序的基石,掌握它们将为你后续的学习打下坚实的基础。

0 阅读:5

十年开发一朝灵

简介:感谢大家的关注