导图社区 计算机二级C语言程序设计基础知识(七)
指针、数组、结构体、函数、文件操作、动态内存分配、位运算、字符串处理、预处理指令及错误处理是计算机编程中常用的核心概念和技术要素。
编辑于2020-09-16 01:40:17计算机二级C语言程序设计基础知识(七)
定义和声明指针: 指针是一个存储变量内存地址的变量。例如:int *ptr
指针的初始化和赋值: 初始化指针时,需要为其分配内存。例如:int *ptr = NULL; *ptr = &num
指针的运算: 可以对指针进行运算,例如递增、递减、加法、减法等。例如:ptr++; ptr--
指针与数组的关系: 数组名是数组首元素的地址,可以通过指针访问数组。例如:int arr[5]; int *ptr = arr
指针作为函数参数: 可以将指针作为参数传递给函数,实现对变量的修改。例如:void swap(int *a, int *b)
数组
定义和声明数组: 数组是一组相同类型的数据元素的集合。例如:int arr[5]
数组元素的访问: 通过下标访问数组元素,下标从0开始。例如:arr[0] = 1
多维数组: 数组可以有多个维度,例如二维数组、三维数组等。
数组与指针的关系: 数组名是数组首元素的地址,可以使用指针访问数组。
结构体
定义和声明结构体: 结构体是一种自定义的数据类型,可以包含不同类型的成员变量。例如:struct student {char name[20]; int age;}
结构体成员的访问: 可以通过结构体变量名和成员运算符访问结构体成员。例如:struct student s; s.age = 18
结构体和指针: 可以使用指针访问结构体的成员,也可以通过指针传递结构体变量。
函数
定义和声明函数: 函数是一段完成特定任务的代码块,可以通过函数名调用执行。例如:int sum(int a, int b)
函数的参数和返回值: 函数可以接受参数,也可以返回值。例如:int max(int a, int b); return a > b ? a : b
函数的调用和递归: 可以通过函数名调用函数,也可以在函数中调用自身实现递归。
文件操作
打开和关闭文件: 可以使用文件指针和文件名来打开和关闭文件。例如:FILE *fp; fp = fopen("file.txt", "r"); fclose(fp)
读取和写入文件: 可以使用文件指针和一些IO函数来读取和写入文件内容。例如:fscanf(fp, "%d", &num); fprintf(fp, "%d", num)
动态内存分配
动态内存分配函数: 可以使用动态内存分配函数来分配和释放内存。例如:malloc(), calloc(), realloc(), free()
动态内存的使用和释放: 分配内存之后,要及时释放内存,避免内存泄漏。例如:int *ptr = malloc(sizeof(int)); free(ptr)
位运算
位运算符: 位运算符可以直接对二进制数进行操作,例如按位与、按位或、按位异或等。例如:a & b; a | b; a ^ b
位操作函数: 可以使用位操作函数来进行位运算,例如位移、取反等。例如:~a; a << n; a >> n
字符串处理
字符串的定义和初始化: 字符串是一串字符组成的数组,可以使用字符数组或指针来表示。例如:char str[20] = "Hello"; char *ptr = "World"
字符串的输入和输出: 可以使用库函数来输入和输出字符串。例如:scanf("%s", str); printf("%s", str)
字符串的操作和处理: 可以使用库函数和循环等来处理字符串,例如拼接、复制、比较、查找等。例如:strcpy(dest, src); strcat(dest, src); strcmp(str1, str2)
预处理指令
#include 指令: 可以使用#include指令引入头文件,以便使用其中定义的函数和变量。例如:#include <stdio.h>
#define 指令: 可以使用#define指令定义常量和宏。例如:#define PI 3.14; #define MAX(x, y) ((x) > (y) ? (x) : (y))
#ifdef 和 #ifndef 指令: 可以使用#ifdef和#ifndef指令判断宏的定义情况。例如:#ifdef DEBUG; #ifndef DEBUG
错误处理
错误码和错误提示: 可以使用错误码和错误提示来标识和描述错误。例如:#define ERROR_INVALID_INPUT -1; printf("Invalid input.")
异常处理: 可以使用异常处理机制来捕获和处理错误。例如:try { ... } catch (Exception e) { ... }