作为绝大多数人入门的编程语言C语言,同时又是编程语言榜前三的常青树,无论学到什么水平的人都不敢说自己是完全精通吧, 虽然之前已经学了两遍,但是寒假回来又自己学了一遍,还是有原来没有的收获,所以呢,废话不多说,开始和大家分享。
一,首先是原码,反码,补码的问题:
1.正数的原码也就是反码也就是补码(所谓的三位一体),很简单,没什么需要特别说明的。
2.负数的反码是原码符号位不动,其他位按位取反,负数的补码是反码加1。
例:6 0000 0110 原码 反码 补码
17 0001 0001 原码 反码 补码
-23 1001 0111 原码
1110 1000 反码
1110 1001 补码
-15 1000 1111 原码
1111 0000 反码
1111 0001 补码
二,标识符由数字字母下划线组成,由字母开头,(下划线可以当成字母)虽然我也不太明白,但是C语言中,确实可以把下划线当做字母来用。
三,一个字节是八个二进制位。
1024个字节是1k
1024k = 1兆
1024兆 = 1t
1024t = ..等于啥我也不知道,一般单位到t在先使用就够用了
四,内存不看怎么存,只看怎么读!计算机只识别0和1。
五,强制跳转语句
例:#include<stdio.h>
int main(void)
{
printf("1\n");
ABC://标号
printf("2\n");
printf("3\n");
printf("4\n");
goto ABC;//改变程序的运行顺序,跳转到标号的位置继续执行
printf("5\n");
return 0;
}
强制跳转语句的优点:语法简单,让人们更容易理解该语法的用法
强制跳转语句的缺点:是的程序的可读性变差,让程序更没有逻辑性,但是却又非常好用。
即便不知道强制跳转语句的用法,使用判断循环也可以达到相同的效果, 但作为一个非常好用的语法,以及作为一个大牛程序员的骄傲,会这样一个语法也是不错的吧~
六,const 语法
const在C语言中的作用只有一个,就是安全性的考虑,const语法本质上分两种,如果细分还可以分三种
例:1,const char *p = &a;
把它的名字叫做星前const,不能通过*p改变所指变量的值,但是却可以改变指针p的指向
2,char * const p = &a;
把它的名字叫做星后const,不能改变指针的指向,但是能改变指针所指的值
3,const char * const p = &a;
无非是前两种的结合,一颗指针指向一个变量,值不能改变,指针指向也不能改变。
当然了,如果想强行改变的话,也是可以的,但是在该加的地方加上const能够说明开发人员的思维更严谨!
七,二维数组作为函数参数
#include<stdio.h>
void func(int (*p)[4])
{
return;
}
int main(void)
{
int a[5][4];
func(a);
return 0;
}
没什么具体说明的了,自己认为代码已经说明了一切~
先写这些吧,留点消化的时间,一会儿再开始C语言第二篇,本来感觉C语言没什么好说的了,但是每看一回都自觉不自觉的会有新的收获。想起那句老话:学到老,活到老~~。