欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > C语言学习总结

C语言学习总结

2025/3/11 12:03:39 来源:https://blog.csdn.net/qq_19406475/article/details/146161775  浏览:    关键词:C语言学习总结

C语言学习总结

一、C语言基础
  1. 特点:结构化、高效、可移植、面向过程
  2. 程序结构
#include <stdio.h> // 预处理指令
int main() {       // 主函数入口printf("Hello, World!");return 0;      // 返回值
}

二、数据类型
类型说明示例
int整型int a = 10;
float单精度浮点型float b=3.14;
double双精度浮点型double c=5.0;
char字符型char d='A';

例题1:计算圆的面积(使用float

#include <stdio.h>
int main() {float r = 5.0;float area = 3.14159 * r * r;printf("Area: %.2f", area);return 0;
}

答案Area: 78.54


三、运算符
  1. 算术运算符+, -, *, /, %
  2. 逻辑运算符&&, ||, !
  3. 自增/自减i++, ++i

例题2:求整数各位和

#include <stdio.h>
int main() {int num = 123, sum = 0;while(num > 0) {sum += num % 10;num /= 10;}printf("Sum: %d", sum); // 输出6 (1+2+3)return 0;
}

四、控制结构
  1. 条件语句
if (score >= 60) {printf("Pass");
} else {printf("Fail");
}
  1. 循环语句
for(int i=0; i<5; i++) {printf("%d ", i); // 输出0 1 2 3 4
}

例题3:判断闰年

int year = 2024;
if ((year%4==0 && year%100!=0) || year%400==0) {printf("Leap year");
} else {printf("Not leap year");
}

答案Leap year


五、函数
// 函数声明
int add(int a, int b);int main() {printf("%d", add(3,5)); // 输出8return 0;
}// 函数定义
int add(int a, int b) {return a + b;
}

例题4:交换两个变量值(指针实现)

void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;
}int main() {int x=10, y=20;swap(&x, &y);printf("x=%d, y=%d", x, y); // x=20, y=10return 0;
}

六、数组与指针
  1. 一维数组
int arr[5] = {1,2,3,4,5};
printf("%d", arr[2]); // 输出3
  1. 指针与数组
int *p = arr;
printf("%d", *(p+2)); // 输出3

例题5:反转数组

int arr[] = {1,2,3,4,5};
int n = sizeof(arr)/sizeof(arr[0]);
for(int i=0; i<n/2; i++) {int temp = arr[i];arr[i] = arr[n-1-i];arr[n-1-i] = temp;
}
// 结果:5 4 3 2 1

七、结构体
struct Student {char name[20];int age;
};int main() {struct Student s1 = {"Alice", 20};printf("%s: %d", s1.name, s1.age);return 0;
}

八、文件操作
FILE *fp = fopen("test.txt", "w");
fprintf(fp, "Hello File!");
fclose(fp);

常见问题总结

  1. 未初始化指针int *p; *p=10;(错误)
  2. 数组越界int arr[3]; arr[3]=5;(错误)
  3. 内存泄漏:忘记使用free()释放动态内存

综合例题

题目:动态创建数组存储学生成绩,计算平均分

#include <stdio.h>
#include <stdlib.h>int main() {int n, *arr, sum=0;printf("输入学生人数:");scanf("%d", &n);arr = (int*)malloc(n * sizeof(int));for(int i=0; i<n; i++) {printf("输入第%d个成绩:", i+1);scanf("%d", &arr[i]);sum += arr[i];}printf("平均分:%.2f", (float)sum/n);free(arr);return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词