C语言语法回忆

变量:

变量的意义确定目标并提供存放的空间

变量的命名规则:
    1. 只能以字母或下划线开始
    1. 不能以数字开始
    1. 一般小写
    1. 关键字不允许用
常量:
  • define预处理器
  • const关键字
  • 两者区别
    define 与const

符号变量define是预编译指令,在预编译的时候仅仅进行字符替换,预编译后符号常量就不存在了,例如define PI 3.1415926 ,编译以后就不存在PI了,所有的PI都被换成了3.1415926。而且PI没有存储单元。而常变量const变量要占用存储单元,有变量值,只是值不能改,它有符号变量的优点,而且比较方便。
1.const定义的常数带类型,define不带类型,
2.const是在 编译运行的时候起作用,而define是在编译的预处理阶段起作用。
3.define只是简单的字符串替换,没有类型检查。而const有对应的数据类型,是要进行判断的,可以避免一些低级的错误。
4.#deifne定义后赋值不可修改,const可通过指针修改

二进制,八进制,十进制,十六进制
  • 二进制机器识别
    我们习惯于十进制的数
    一个位只能表示0,或者1两种状态,简称bit,一个位是一个bit.
    一个字节为八个二进制,称为8位,简称BYTE,八个比特是一个字节
    一个字为两个字节,简称WORD,两个字为双字,简称DWORD。

  • 八进制以八为基数的数制系统,C语言当中0表示八进制,如0444

  • 十六进制以十六为基数的数制系统,C语言当中0X表示八进制,如0X12

原码,反码,补码
  • 原码:用第一个数表示符号,其余表示值。因为第一位是符号位,所以8位二进制数的取值范围就是:[1111_1111 , 0111_1111] 即 [-127 , 127] ,原码是容易被人脑所理解的表达方式

  • 反码:正数的补码反码是其本身,负数的反码是符号位保持不变,其余位取反。例如正数1的原码是[0000_0001],它的反码是是其本身[0000_0001],
    -1的原码是[1000_0001],其反码是[1111_1110].

  • 补码:正数的补码是其本身,负数的补码是在其反码的基础上+1,例如正数1的原码是[0000_0001],他的补码是其本身[0000_0001],
    -1的补码是[1111_1111]

大端对齐与小端对齐
  • 大端对齐:高位字节放在内存低端,低位字节放在内存高端
  • 小端对齐:高位字节放在内存高端,低位字节放在内存低端
变量
int
  • int 是一个32位二进制整数,在内存中展4个字节
    C 中用%d printf输出一个有符号的整数,%u printf输出一个无符号的整数
  • 整数溢出
    计算一个整数的时候超过整数能够容纳最大的单位后,整数会溢出,溢出的结果就是高位舍弃。
    当一个小的整数赋值给大的整数,符号位不会丢失,会继承。
char

char 占用一个字节的大小的字符,本质是一个整数,一个只有一个字节的整数。

char carry[];

字符串

int array[] 数组

定义方式
char t[];
char t[10];
char t[10]={0}

浮点数

如果是整数计算,尽量不要用浮点数,浮点数的效率很低

float: 四个字节
double: 八个字节
long double : 十六个字节
vloat

是一个修饰符,防止编译器优化代码,因为这个变量可能会被意外的地方或不同线程修改,加上这个关键字编译器就不会去假设这个值了

register

声明变量在CPU寄存器里面

volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了

scanf

通过获取键盘放入变量中,变量一点要使用变量地址接收

%o输出八进制无符号的
%c输出字符
%d输出整数
%x输出16进制小写
%X输出16进制大写
\t输出空格
%f输出浮点数

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,393评论 5 467
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,790评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,391评论 0 330
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,703评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,613评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,003评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,507评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,158评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,300评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,256评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,274评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,984评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,569评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,662评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,899评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,268评论 2 345
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,840评论 2 339

推荐阅读更多精彩内容

  • 1.编译程序(1)gcc xx.c,他会默认生成一个a.out的可执行文件,在a.out所在目录,执行./a.o...
    萌面大叔2阅读 1,253评论 0 1
  • 1.编译程序 (1)gcc xx.c,他会默认生成一个a.out的可执行文件,在a.out所在目录,执行./a....
    萌面大叔2阅读 457评论 0 1
  • 进制基本概念 什么是进制?进制是一种计数的方式,数值的表示形式 常见的进制十进制、二进制、八进制、十六进制 进制书...
    极客江南阅读 1,989评论 0 11
  • C语言基础 编译程序 gcc xx.c,他会默认生成a.out的可执行文件,在a.out所在目录,执行./a.ou...
    帅碧阅读 619评论 1 3
  • C语言学习路线及重难点 Mac系统及常用工具 常量、变量 运算符:自增、自减运算符 (重点) 分支结构 循环结构 ...
    litongde阅读 354评论 0 4