新学期给新生做C语言的培训,讲着自己都经常卡壳,意识到C语言需要再学习一下了。
我们往往接触到的第一个C语言程序是 Hello World
#include<stdio.h>
int main()
{
printf("Hello World");
return 0;
}
在运行的时候同学经常犯得错误中有一个细节,与C的常识有关。就是运行,编译,与编译运行,这三者的区别。
- 运行:将已经编译到电脑中的程序运行一边
- 编译:将现有的程序“烧”到电脑中
- 编译运行:将程序先编译再运行
当程序从未编译过,我们直接点运行时,系统会提醒我们先进行编译,这时候一般没什么问题。但同学们之后更改了代码,又再次点运行,这是系统会直接运行你之前编译的代码。简而言之,就是你新写的代码被无视了。
在C语言中,程序完整的流程是 编译(产生一个`hello.o`文件)---链接,将数个.o文件相连产生一个可执行文件hello.exe。运行.exe文件。
所以如果同学们修改完代码直接点运行,实际上运行的是之前的代码编译链接的.exe文件。
整型数据类型
计算机通过晶体管开关状态记录0或1(即数据)。它们通常8个为一组,我们称为字节,且一字节可以表示256个不同数值。对应关系如下表:
C语言的整型数据类型
类型名称 | C语言中的关键字 | 注释 |
字符型 | char | 一个很小的数 |
短整型 | short | 较小的数 |
整型 | int | 普通的数 |
长整型 | long | 较大的数 |
加长整型 | long long | 非常大的整数 |
测数据类型所占的字节大小
printf("%d\n",sizeof(int))
sizeof(),跟类型:测类型占字节大小。跟变量:测变量所属类型占字节大小。跟常量:测常量所属类型占字节大小。
补码
有两种方法将5点拨回0点,1.顺时针拨7个钟,2.逆时针反拨5个点。
在这里我们可以看出:x+7=x-5。加7等效于减5
补码是一种计算机中表示负整数的方法。在计算机中,正数的补码和其原码相同,而负数的补码则是其原码按位取反(除符号位外)并加1。这样可以直接对正负数进行加法运算。(减去一个数=加上这个数的补码)
例如,+7的补码是0111(二进制),-7的补码则是1001(二进制)。在补码表示法中,最高位(符号位)为0表示正数,为1表示负数。
未完待续....