C语言---每天小练习,从大到小输出
发布人:shili8
发布时间:2025-02-15 01:22
阅读次数:0
**C语言每天小练习**
###1. 大型数组的声明和初始化在 C语言中,数组是用来存储一组相同类型数据的。我们可以使用 `int arr[10];` 来声明一个大小为10 的整数数组。
c#include <stdio.h>
int main() {
int arr[10];
// 初始化数组 for (int i =0; i < 10; i++) {
arr[i] = i *2;
}
// 输出数组元素 printf("Array elements: ");
for (int i =0; i < 10; i++) {
printf("%d ", arr[i]);
}
printf("
");
return0;
}
###2. 指针的使用在 C语言中,指针是用来存储内存地址的变量。我们可以使用 `int *ptr = &arr[0];` 来声明一个整数指针,并将其初始化为数组 `arr` 的第一个元素的地址。
c#include <stdio.h>
int main() {
int arr[10];
// 初始化数组 for (int i =0; i < 10; i++) {
arr[i] = i *2;
}
// 声明指针并初始化为数组的第一个元素的地址 int *ptr = &arr[0];
// 输出指针所指向的值 printf("Value at address %p: %d
", (void *)ptr, *ptr);
return0;
}
###3. 结构体的定义和使用在 C语言中,结构体是用来存储多个不同类型数据的。我们可以使用 `struct Person { int age; char name[20]; };` 来定义一个名为 `Person` 的结构体。
c#include <stdio.h>
// 定义结构体struct Person {
int age;
char name[20];
};
int main() {
// 声明结构体变量并初始化 struct Person person = {25, "John"};
// 输出结构体成员的值 printf("Name: %s
", person.name);
printf("Age: %d
", person.age);
return0;
}
###4. 函数的定义和使用在 C语言中,函数是用来执行特定任务的代码块。我们可以使用 `int add(int a, int b) { return a + b; }` 来定义一个名为 `add` 的函数。
c#include <stdio.h>
// 定义函数int add(int a, int b) {
// 函数体 return a + b;
}
int main() {
// 调用函数并输出结果 printf("Result: %d
", add(5,3));
return0;
}
###5. 多维数组的声明和使用在 C语言中,多维数组是指有多个维度的数组。我们可以使用 `int arr[2][3];` 来声明一个大小为2x3 的整数多维数组。
c#include <stdio.h>
int main() {
// 声明多维数组 int arr[2][3];
// 初始化多维数组 for (int i =0; i < 2; i++) {
for (int j =0; j < 3; j++) {
arr[i][j] = i *3 + j;
}
}
// 输出多维数组元素 printf("Array elements: ");
for (int i =0; i < 2; i++) {
for (int j =0; j < 3; j++) {
printf("%d ", arr[i][j]);
}
printf("
");
}
return0;
}
###6. 指针数组的声明和使用在 C语言中,指针数组是指有多个指针的数组。我们可以使用 `int *arr[3];` 来声明一个大小为3 的整数指针数组。
c#include <stdio.h>
int main() {
// 声明指针数组 int *arr[3];
// 初始化指针数组 for (int i =0; i < 3; i++) {
arr[i] = &i;
}
// 输出指针所指向的值 printf("Value at address %p: %d
", (void *)arr[0], *arr[0]);
printf("Value at address %p: %d
", (void *)arr[1], *arr[1]);
printf("Value at address %p: %d
", (void *)arr[2], *arr[2]);
return0;
}
###7. 结构体数组的声明和使用在 C语言中,结构体数组是指有多个结构体的数组。我们可以使用 `struct Person arr[3];` 来声明一个大小为3 的结构体数组。
c#include <stdio.h>
// 定义结构体struct Person {
int age;
char name[20];
};
int main() {
// 声明结构体数组 struct Person arr[3];
// 初始化结构体数组 for (int i =0; i < 3; i++) {
arr[i].age = i *2;
strcpy(arr[i].name, "John");
}
// 输出结构体成员的值 printf("Name: %s
", arr[0].name);
printf("Age: %d
", arr[0].age);
printf("Name: %s
", arr[1].name);
printf("Age: %d
", arr[1].age);
printf("Name: %s
", arr[2].name);
printf("Age: %d
", arr[2].age);
return0;
}
###8. 函数指针的声明和使用在 C语言中,函数指针是指有多个函数的指针。我们可以使用 `int (*func)(int, int);` 来声明一个整数函数指针。
c#include <stdio.h>
// 定义函数int add(int a, int b) {
return a + b;
}
int main() {
// 声明函数指针并初始化为add函数的地址 int (*func)(int, int) = add;
// 调用函数指针并输出结果 printf("Result: %d
", func(5,3));
return0;
}
###9. 多维指针数组的声明和使用在 C语言中,多维指针数组是指有多个指针的多维数组。我们可以使用 `int **arr[2][3];` 来声明一个大小为2x3 的整数多维指针数组。
c#include <stdio.h>
int main() {
// 声明多维指针数组 int *arr[2][3];
// 初始化多维指针数组 for (int i =0; i < 2; i++) {
for (int j =0; j < 3; j++) {
arr[i][j] = &i;
}
}
// 输出多维指针所指向的值 printf("Value at address %p: %d
", (void *)arr[0][0], *arr[0][0]);
printf("Value at address %p: %d
", (void *)arr[1][0], *arr[1][0]);
printf("Value at address %p: %d
", (void *)arr[0][1], *arr[0][1]);
printf("Value at address %p: %d
", (void *)arr[1][1], *arr[1][1]);
printf("Value at address %p: %d
", (void *)arr[0][2], *arr[0][2]);
printf("Value at address %p: %d
", (void *)arr[1][2], *arr[1][2]);
return0;
}
###10. 结构体指针数组的声明和使用在 C语言中,结构体指针数组是指有多个结构体的指针数组。我们可以使用 `struct Person **arr;` 来声明一个整数结构体指针数组。
c#include <stdio.h>
// 定义结构体struct Person {
int age;
char name[20];
};
int main() {
// 声明结构体指针数组 struct Person *arr[3];
// 初始化结构体指针数组 for (int i =0; i < 3; i++) {
arr[i] = &i;

