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;