马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
1.C语言基础
1.1 数据范例
C语言中的基本数据范例包括:
int:整型
float:单精度浮点型
double:双精度浮点型
char:字符型
#include <stdio.h>
int main() {
int a = 10;
float b = 3.14;
double f = 1.234567891;
char c = 'A';
printf("a = %d, b = %.2f, c = %c f=%.9f\n", a, b, c, f);
return 0;
}
1.2 变量与常量
变量:用于存储数据,值可以改变。
常量:值不可改变,使用const关键字界说。
#include <stdio.h>
int main() {
int num = 100; // 变量
const int MAX = 1000; // 常量
printf("num = %d, MAX = %d\n", num, MAX);
return 0;
}
1.3 运算符
算术运算符:+, -, *, /, %
关系运算符:==, !=, >, <, >=, <=
逻辑运算符:&&, ||, !
#include <stdio.h>
int main()
{
int a = 10, b = 20;
printf("a + b = %d\n", a + b);
printf("a > b? %d\n", a > b);
if(a != b)
printf("a != b\n");
else
printf("a == b\n");
if(a == b && a > 0)
printf("a == b && a > 0");
return 0;
}
1.4 输入输出
printf():格式化输出
scanf():格式化输入
#include <stdio.h>
int main() {
int age;
printf("请输入你的年龄:");
scanf("%d", &age);
printf("你的年龄是:%d\n", age);
return 0;
}
2. 控制结构
2.1 条件语句
if语句
if-else语句
switch语句
#include <stdio.h>
int main() {
int score = 85;
if (score >= 90) {
printf("良好!\n");
} else if (score >= 60) {
printf("合格!\n");
} else {
printf("不合格!\n");
}
return 0;
}
#include<stdio.h>
int main()
{
double score;
printf("请输入分数:\n");
scanf("%lf", &score);
switch((int)(score / 10))
{
case 10:
case 9:
printf("A(最好)\n");
break;
case 8:
printf("B(良好)\n");
break;
case 7:
printf("C(良好)\n");
break;
case 6:
printf("D(合格)\n");
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
printf("E(不合格)\n");
break;
default:
printf("Error!\n");
}
}
2.2 循环语句
for循环
while循环
do-while循环
#include <stdio.h>
int main()
{
printf("for loop\n");
for(int i = 0; i < 5; i++)
{
printf("i = %d\n", i);
}
printf("while loop\n");
int i = 0;
while(i < 10)
{
i++;
printf("i = %d\n", i);
}
printf("do-while loop\n");
i = 0;
do
{
i++;
printf("i = %d\n", i);
}
while(i < 10);
return 0;
}
3. 函数
3.1 函数界说与调用
函数是C语言的基本模块,用于封装代码逻辑。
#include <stdio.h>
// 函数界说
int add(int a, int b)
{
return a + b;
}
int main()
{
int result = add(10, 20); // 函数调用
printf("10 + 20 = %d\n", result);
return 0;
}
3.2 递归函数
递归函数是调用自身的函数。
#include <stdio.h>
int factorial(int n)
{
if(n == 0) return 1;
return n * factorial(n - 1);
}
int main()
{
int result = factorial(5);
printf("5! = %d\n", result);
return 0;
}
4. 数组与指针
4.1 数组
数组是存储相同范例数据的集合。
#include <stdio.h>
int main()
{
int arr[5] = { 1, 2, 3, 4, 5 };
for(int i = 0; i < 5; i++)
{
printf("%d\n", arr);
}
return 0;
}
多维数组
对于更复杂的数据集合需求,可以接纳多维数组形式存储信息。比方二维数组用于模仿表格或者矩阵运算非常方便。界说时需留意其分列顺序遵循先行后列原则;当初始化全部元素时可省略首维度声明但次维度不可缺省
// 界说并初始化一个 2 行 3 列的二维数组
int array[2][3] =
{
{1, 2, 3},
{4, 5, 6}
};
// 打印二维数组
for(int i = 0; i < 2; ++i)
{
for(int j = 0; j < 3; ++j)
{
printf("%d ", array[j]);
}
printf("\n");
}
[code][/code] 4.2 指针
指针是存储变量地点的变量。
#include <stdio.h>
int main()
{
int a = 10;
int* p = &a; // 指针p指向a的地点
printf("a的值:%d,a的地点:%p\n", *p, p);
return 0;
}
5. 字符串与字符处理
5.1 字符串界说与操作
字符串是以\0末端的字符数组。
#include <stdio.h>
int main()
{
char str[] = "Hello, World!";
printf("%s\n", str);
return 0;
}
5.2 常用字符串函数
strlen():获取字符串长度
strcpy():复制字符串
strcat():连接字符串
#include <stdio.h>
#include <string.h>
int main()
{
char str1[] = "Hello";
char str2[] = "World";
char result[20];
strcpy(result, str1);
strcat(result, str2);
printf("结果:%s 长度:%d\n", result,strlen(result));
return 0;
}
6. 结构体与连合体
6.1 结构体
结构体是用户自界说的数据范例,可以包含多个不同范例的成员。
#include <stdio.h>
struct Student
{
char name[50];
int age;
};
int main()
{
struct Student stu = { "Alice", 18 };
printf("姓名:%s,年龄:%d\n", stu.name, stu.age);
return 0;
}
7. 动态内存管理
7.1 malloc与free
malloc用于动态分配内存,free用于释放内存。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int* arr = (int*)malloc(5 * sizeof(int));
for(int i = 0; i < 5; i++)
{
arr = i + 1;
printf("a[%d]=%d\n", i, arr);
}
free(arr); // 释放内存
return 0;
}
8. 文件操作
8.1 文件的打开与关闭
fopen():打开文件
fclose():关闭文件
#include <stdio.h>
int main()
{
FILE* fp = fopen("test.txt", "w");
if(fp == NULL)
{
printf("文件打开失败!\n");
return 1;
}
fprintf(fp, "abc123");
fclose(fp);
return 0;
}
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |