2021-07-01
《零基础学C语言》—基础知识
1、else if一般用于互斥的语句块之间进行条件判断,其中一项满足则跳过后续else if语句;如果全部不满足,则执行else中的语句。
2、用switch语句处理多分支选择的情况,可以减少对if语句的使用,从而提高程序代码的可读性。switch语句检验的条件必须是一个整型表达式,case语句检验的值必须是一个整型常量(也可以是常量对应的字母)。任意两个case语句不能使用相同的常量值,default可以省略。如果某个case中不加break,将会顺序执行直到遇到下一个break跳出switch语句,或者直到将switch中的语句执行完毕。
3、break语句只能用于循环语句和switch语句,且对于循环嵌套的情况,只能跳出该break语句对所在的最内层循环。
4、continue语句只终止本次循环,break语句是终止整个循环。
5、对于gets_s函数来说,如果函数的参数直接是一个定义好的字符数组的名字,则不用再在gets_s函数中声明buffer大小;如果函数的参数是一个指向已知大小的字符数组的指针,则需要在gets_s函数中声明buffer的大小。
《零基础学C语言》—核心技术
① 二维数组为所有元素赋初值的时候,若大括号内的数据个数少于数组元素的个数,则系统默认将后面未被赋值的元素值设置为0,且添加数据的方向为按行添加。且二维数组为所有元素赋值时可以省略行下标,不能省略列下标。但不能直接省略行下标进行定义。
② C语言中没有专门的字符串变量,没有string类型,通常就使用一个字符数组来存放一个字符串。如果字符数组要作为一个字符串用puts输出,则字符数组最后一位需要空出来存放’\0’;否则它就不是一个字符串,因此就不能正常使用puts和gets函数。
③ 在不指定字符数组的长度对其进行初始化时,用花括号单个赋值除非在末尾加上’\0’,否则不是一个字符串;而用""括起来的字符默认是字符串,末尾自动添加结束符’\0’。若字符数组长度大于用来初始化的元素个数,则后面全部自动补齐为’\0’。
④ 除了初始化字符数组的时候以外,不能用赋值语句将一个字符串常量或字符数组直接赋给一个字符数组。
⑤ C获取系统时间,采用结构体:
struct tm *Systime;
time_t nowtime;
time(&nowtime);
Systime = localtime(&nowtime);
打印时可根据需要打印不同的时间数据:(可以这么理解,但是使用时,不能这么用。)
年
printf(“%d\n”,1900+Systime->tm_year);
月
printf(“%d\n”,Systime->tm_mon+1);
日
printf(“%d\n”,Systime->tm_mday);
时
printf(“%d\n”,System->tm_hour);
分
printf(“%d\n”,System->tm_min);
秒
printf(“%d\n”,System->tm_sec);