美文网首页
C语言语法回忆

C语言语法回忆

作者: 大佬的上半生 | 来源:发表于2020-03-07 23:59 被阅读0次
变量:

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

变量的命名规则:
    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输出浮点数

相关文章

  • C语言语法回忆

    变量: 变量的意义确定目标并提供存放的空间 变量的命名规则: 只能以字母或下划线开始 不能以数字开始 一般小写 关...

  • 如何学习零基础学习C语言

    C语言免费教学课程推荐:零基础C语言学习教程 (本课程主要讲解C语言的语法以及项目实战,以掌握C语言的语法和编程应...

  • C和C++混合编程之 extern “C”的使用

    首先要明白: C++号称是C语言的超集,也确实,从语言的基本语法上,C++是包含所有C语言的语法的,而且C++为了...

  • JavaScript基本概念(一)

    1.语法 ECMAScript的语法大量借鉴了C及其他类C语言(如Java和Perl)的语法。因此,熟悉这些语言的...

  • 2018-03-30:第三章——基本概念(3.1——3.4:语法

    3.1 语法 ECMAScript的语法大量借鉴了c及其他c语言(如Java和Perl)的语法。 3.1.1 ...

  • 红宝书之JS语法

    ECMAScript的语法大量借鉴了C及类C语言的语法。 JS的语法特点比较多,大致如下: 1.JS语言区分大小写...

  • OC-Block语法

    block 语法 block语法 -> 块语法标准C里面没有Block, C语言的后期扩展版本, 加入了匿名函数;...

  • JavaScript基础语法01

    JavaScript的语法大量借鉴了C 及其他类C 语言(如Java 和Perl)的语法。因此,熟悉这些语言的开发...

  • 《JavaScript权威指南》读书笔记3 语句

    for/in循环 这是C/C++语言没有的便捷语法,Java支持for/in,不过JavaScript语法稍有不同...

  • 2018/07/16

    c语言语法基础,今天07/17顺序,分支等语法。

网友评论

      本文标题:C语言语法回忆

      本文链接:https://www.haomeiwen.com/subject/iaqsfhtx.html