新年快乐,今天继续敲代码。突然想到3月份的ccf还考吗......
1.一维数组
数组大小必须是整数常量,不能是变量。
#include
结果:
注意:*未被赋值的元素一般情况默认初值为0。
*如果数组一开始没有赋初值,数组中的每个元素都可能会是一个随机数。
*若想给整个数组都赋初值0,则有以下两种方法:
int a[10]={0};
int a[10]={};
2.冒泡排序
原理:整个过程执行n-1趟,每一趟从左到右一次比较相邻的两个数,如果大的数在左边,则交换这两个数,当该趟结束时,该趟最大的数被移到当前剩余数的最右边。
#include
结果:
3.二维数组
二维数组的初始化:
#include
结果:
注意:若数组大小较大(10^6),则需要将其定义在主函数外面,否则会使程序异常退出。因为函数内部申请的局部变量来自系统栈,允许申请的空间较小;而函数外部申请的全局变量来自静态存储区,允许申请的空间较大。
4.memset
#include
结果:
5.字符数组
①scanf&printf
%c用来输入单个字符,%s用来输入一个字符串;
%c能够识别空格跟换行并将其输入,%s通过空格和换行来识别一个字符串的结束。
#include
结果:
②getchar&putchar:用来输入和输出单个字符
#include
结果:
③gets&puts:用来输入输出一行字符串
注意一维字符数组(char)的末尾一定会有个空字符0,即NULL,占用一个字符位,所以初始化字符数组时一定要比实际存储字符串的长度至少多1~多几个更保险!(实际上puts和printf就是通过识别0来输出的)
6.string.h
string.h包含了许多用于字符数组的函数,使用以下函数时记得添加这个头文件哦~
7.sscanf&sprintf:处理字符串问题的利器
sscanf:把字符数组str中的内容以%d的格式写到n中。
sprintf:把n以%d的格式写到字符数组str中。
#include
结果: