C语言课程总结
前言
为了更好地提升自己,结束了C语言课程后,详细总结和复盘是必要的。因此,我写了这篇文章。
目前,这篇文章主要专注于梳理我在学习C语言期间的主要内容。如果CSDN支持文章的更新,我将在后续的文章中继续分享我在学习C语言过程中遇到的问题以及解决方法。如果CSDN的文章无法更新,我将另行发布新的文章来进行详细解释和分享。
这种总结和复盘对于巩固知识、发现不足之处并不断提高自己非常重要。希望通过这些文章的分享,能够对其他学习C语言的人也有所帮助。
C语言学习
1、C语言语法
1.注释
// 单行注释
/*
多行注释
*/
2.入口函数—>main
每个C程序的起点,程序从main函数开始执行,直到main函数结束。
2.入口函数--->main
main函数可以接受两个参数:
int main(int argc, char *argv[])
{
// 函数体
return 0; // 可选的返回值
}
2、相关运算符
1.赋值运算符(=)(将=右边的值赋值给=的左边)
+= -= *= /=
a+=2 <===>a=a+2
2.算术运算符
+,-,*,/,%(求余),++,--
/ ---->整数/整数=整数 3/2 =1 8/3=2
3.0/2=1.5
% ----->求余 8%3=2 16%3=1
++:
3、选择结构
C语言中的选择结构用于根据条件的真假来决定程序执行的不同路径。
1. if语句
if (条件)
{
// 如果条件为真,执行这里的代码
}
2.if-else语句
if (条件)
{
// 如果条件为真,执行这里的代码
}
else
{
// 如果条件为假,执行这里的代码
}
3.if-else if-else语句
if (条件1)
{
// 如果条件1为真,执行这里的代码
}
else if (条件2)
{
// 如果条件2为真,执行这里的代码
}
else
{
// 如果所有条件都为假,执行这里的代码
}
4.嵌套的if语句
if (条件1)
{
if (条件2)
{
// 如果条件1和条件2都为真,执行这里的代码
}
else
{
// 如果条件1为真,条件2为假,执行这里的代码
}
}
else
{
// 如果条件1为假,执行这里的代码
}
5.switch语句
switch (表达式)
{
case 值1:
// 如果表达式的值等于值1,执行这里的代码
break;
case 值2:
// 如果表达式的值等于值2,执行这里的代码
break;
// 可以有更多的case分支
default:
// 如果表达式的值不匹配任何case,执行这里的代码
}
4、循环结构
C语言提供了多种循环结构,允许你重复执行一段代码,直到某个条件满足为止。以下是C语言中的主要循环结构
1.for循环
for (初始化; 条件; 更新)
{
// 循环体
}
2.while循环
while (条件)
{
// 循环体
}
3.do-while循环
do
{
// 循环体
} while (条件);
4、指针
C语言中的指针是一种非常重要且强大的数据类型,它允许你直接访问内存地址和管理数据的存储位置。指针可以用于许多不同的编程任务,包括动态内存分配、数组操作、函数参数传递等。
1.指针的声明和定义
int *ptr; // 声明一个指向整数的指针
double *pDouble; // 声明一个指向双精度浮点数的指针
2.取地址操作符
int *ptr; // 声明一个指向整数的指针
double *pDouble; // 声明一个指向双精度浮点数的指针
3.指针的解引用操作符*
int y = *ptr; // 将y赋值为ptr所指向的整数的值
4.指针的使用
//访问和修改数据
int data = 42;
int *ptr = &data;
*ptr = 99; // 修改ptr所指向的内存中的值,现在data的值为99
//函数参数传递
void modifyValue(int *valuePtr) {
*valuePtr = 123; // 修改传入指针所指向的值
}
int main() {
int num = 0;
modifyValue(&num); // 将num的地址传递给函数
// 现在num的值为123
return 0;
}
5.空指针和
int *ptr = NULL;
5数组
C语言中的数组是一种用于存储相同类型的多个数据元素的数据结构。数组允许你以一个名称来引用一组数据,并使用索引来访问各个元素。
1.数组的声明和定义
// 声明一个整数数组,但不分配内存空间
int myArray[5];
// 声明并初始化一个整数数组
int numbers[3] = {1, 2, 3};
// 声明并初始化一个字符数组(可以不指定数组大小,编译器会根据初始化值自动确定大小)
char name[] = "John";
2.数组的访问
int values[4] = {10, 20, 30, 40};
int x = values[2]; // 获取数组中的第三个元素(值为30)
3.数组的初始化
int arr[5]; // 未初始化,元素的值是不确定的
int arr2[3] = {1, 2, 3}; // 初始化数组
4.数组的大小
int numbers[5] = {1, 2, 3, 4, 5};
int size = sizeof(numbers); // 获取数组numbers的大小
5.多维数组
int matrix[3][3] = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
int element = matrix[1][2]; // 获取二维数组中的元素(值为6)
6.数组和指针
int numbers[3] = {1, 2, 3};
int *ptr = numbers; // 数组名numbers可以被视为指向数组的指针
7.数组的遍历
int data[5] = {10, 20, 30, 40, 50};
for (int i = 0; i < 5; i++) {
printf("%d ", data[i]);
}
总结
关于学习C语言的主要内容,大致如前文所述,历时10天,中间还包括了一个国庆长假。考试时我已经感到有些吃力,难免会有一些知识遗漏之处,希望大家能够包涵。