C的32个关键字数据类型关键字(12)char,short,int,long,

float,double,unsigned,signed,

struct,union,enum,void

控制语句关键字(12)if,else,switch,case,

default,for,do,while,

break,continue,goto,return

存储类关键字(5)auto,extern,register,static,const

其他关键字(3)sizeof,typedf,volatile

常量(在程序运行过程中,其值不能被改变的量)1

2

3

4

5

6

7

8

9#define PI 3.1415926

int (void)

{

const short a=10; /*const 关键字,限定一个变量为只读(常量)*/

printf("hello world,%dn",a);

return 0;

}#define 宏名 宏值(没有;即结束标记)(推荐使用宏定义方式定义常量)

匿名常量 “hello”、’A’、9、1.23

const 类型 变量名=变量值。

标识符命名规则(变量和常量的统称)标识符不能是关键字。如 system、main、printf

只能由数字、字母、下划线组成 0-9/a-z/A-Z/_

不能以数字开头

大小写严格区分

变量(在使用前必须先定义,定义前必须有相应的数据类型)变量三要素:变量类型、变量名、变量值

可以通过其名字和地址访问相应的内存

变量声明和变量定义的区别:变量定义:给变量在内存中开辟存储空间

变量声明:不会给变量开辟存储空间。向系统注册该变量。

注意:编译器在编译至变量赋值处,发现该变量尚未被定义,会自动寻找变量声明,将该声明提升成定义(隐式声明),如果声名前有 extern 关键字,则提升失败。

eg:1

2

3

4

5

6

7

8

9int (void)

{ /*extern关键字只作声明,不能作任何定义*/

extern int a; /*此处extern声明一个变量a,没有分配内存空间*/

a=10; /*err,没有空间,不可赋值*/

int b=10; /*定义一个变量值b,b的类型为int,值为10*/

return 0;

}

进制转换(8421码)

二进制(2^0~2^10)

计算机内部只采用二进制形式进行数据存储。

十进制转换二进制:除基逆取余(除二逆取余)

二进制转换十进制:按权展开再相加

8进制和16进制:以符号位为0表示八进制 最大数值为7 0~7 %o格式符打印

以符号位为0x表示16进制 最大数值为F 0~9 ABCDEF %x、%X格式符打印(大小写)8进制转2进制: 04735—–421码 —–100 111 011 101

2进制转8进制: 010 100 101 110 101 001 —–024565116转2:0xFAC12 —-8421码 —-1111 1010 1100 0001 0010

2转16:0001 0100 1011 1010 1001 ———0x14BA91

2

3

4

5

6

7

8

9

10

11int (void)

{

int t = 123; /*十进制方式赋值*/

int a = 076; /*定义一个8进制数*/

int b = 0x7a; /*定义一个16进制数*/

printf("十进制:%dn",t);

printf("八进制:%on",a);

printf("十六进制:%xn",b);

return 0;

}

编码(原反补码)在计算机系统中,数值一律用补码来存储,主要原因是:统一了零的编码

将符号位和其他位统一处理

将减法运算转变为加法运算

两个用补码表示的数相加是,如果最高位(符号位)有进位,则进位被舍弃char ch=10;10+(-10)78+(-34)10 原码: 0000 101078 补码: 0100 1110

-10原码: 1000 1010-34原码: 1010 0010

10 反码: 0000 1010-34反码: 1101 1101

-10反码: 1111 0110-34补码: 1101 1110

10 补码: 0000 1010

-10补码: 1111 0110

10 + (-10)78+(-34)

0000 1010 + 1111 0110 = 0000 00000100 1110 + 1101 1110=0010 1100

整型:int数据类型名称打印格式含义大小示数范围int整型变量%d十进制整型4字节-2^31~+2^31-1(-2147483648~+2147483647)

short:短整型变量%hd十进制短整型2字节-2^15~+2^15-1

long长整形%ld十进制长整型4字节不同平台不同系统中大小不同 4/8

long long长长整型%lld十进制长长整型8字节

无符号整型数据类型打印格式含义大小示数范围unsigend int%u十进制无符号整型4字节0~2^32-1 (0~4294967295)

unsigend short%hu十进制无符号短整型2字节0~2^16-1

unsigend long%lu十进制无符号长整型4字节不同平台不同系统中大小不同

unsigend long long%llu十进制无符号长长整型8字节

整型变量的定义和输出打印格式含义%d输出一个有符号的10进制int类型

%o(字母o)输出8进制int类型

%x输出16进制int类型,字母以小写输出

%X输出16进制int类型,字母以大写输出

%u输出一个10进制无符号数

sizeof 关键字sizeof(变量名) ————返回该变量的大小,单位:整数字节

sizeof(类型名) ————返回该数据类型的大小,单位:整数字节sizeof在系统内定义为:typedef unsigned int size_t 所以用%u匹配打印

sizeof是C语言的内置运算符

sizeof不是函数,它的功能是计算一个数据类型的大小,单位是字节

sizeof的返回值为 size_t

size_t类型在32位操作系统下是unsigned int(无符号整数)1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24int (void)

{

int a = 10;

short b = 20;

long c = 30;

long long d = 40;

printf("a=%dn",a); /* %d匹配int型数据 */

printf("b=%hdn",b); /* %h匹配short型数据 */

printf("c=%ldn",c); /* %ld匹配long型数据 */

printf("d=%lldn",d); /* %lld匹配long long型数据 */

size_t abc=10; /* size_t类型在32位操作系统下是unsigned int(无符号整数)*/

printf("abc=%un",abc); /* 此处及以下均以无符号整型%u输出*/

printf("int 型数据类型占用内存的大小 = %u字节n",sizeof(int));

printf("short 型数据类型占用内存的大小 = %u字节n",sizeof(short));

printf("long 型数据类型占用内存的大小 = %u字节n",sizeof(long));

printf("long long 型数据类型占用内存的大小 = %u字节n",sizeof(long long));

return 0;

}

字符型:char(本质就是一个字节大小的整型)一个字节(8 bit)%c 打印 有符号示数范围:-128~127(-2^7~+2^7-1) 无符号示数范围:0~255(0~2^8-1)

‘0’ : ASCII 值—–48

‘a’ : ASCII 值—–97

‘A’ : ASCII 值—–65

‘ ’: ASCII 值—–0 #define NULL ((void *)0)泛型指针

‘n’: ASCII 值—–10

‘t’: 按8字符做对齐输出。不足8字符用空格补齐

注意:用单引号引起来的’a’表示字符常量a,双引号引起来的”a”表示字符串常量。不允许

‘abc’ 这种写法

有符号数和无符号输的区别:有符号数最高为符号位,0表示正数,1表示负数

转义序列(用于打印无法打印的ASCII字符)转义序列含义ASCII码值(十进制)a警报007

b退格008

f换页012

n换行010

r回车013

t水平制表符009

v垂直制表符011

反斜杠()092

’单引号039

”双引号034

?问号063

在c语言中039是不是int型,C数据类型相关推荐

  1. c语言输入12行怎么输入,c语言中,定义什么型别的变数能同时储存数字跟字元,怎么输入...

    c语言中,定义什么型别的变数能同时储存数字跟字元,怎么输入以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! c语言中,定义 ...

  2. c语言中 static int,c语言中static unsigned int n=0;是什么意思?请大师指点迷津,学生有礼了。...

    c语言中static unsigned int n=0;是什么意思?请大师指点迷津,学生有礼了.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我 ...

  3. c语言中c为字符型便量,c='97'是否正确,C语言判断题Word版

    <C语言判断题Word版>由会员分享,可在线阅读,更多相关<C语言判断题Word版(3页珍藏版)>请在人人文库网上搜索. 1.传播优秀Word版文档 ,希望对您有帮助,可双击去 ...

  4. c语言中voild和int,C++的new和malloc

    基本定义 new和malloc都是在堆上进行的内存分配,也称动态内存分配: 程序员自己负责在何时用 free 或 delete 释放内存.动态内存的生存期由我们决定,使用非常灵活,但问题也最多. ne ...

  5. c语言中c为字符型便量,c='97'是否正确,计算机二级C语言 考点06 字符型常量变量...

    计算机二级C语言 考点06 字符型常量变量 1.已定义c为字符型变量,则下列语句中正确的是 A)c='97'; B)c="97"; C)c=97; D)c="a" ...

  6. C语言中malloc为字符型指针分配内存引起的缓冲区泄露

    /* 问题描述; 缓冲区溢出: (1)malloc:分配一块连续的未被使用得当内存块,但是不能保证内存块临近的其他内存块也未被使用: (2)当用malloc未char类型指针分配一个字节长度内存时,但 ...

  7. c语言中char、int以及单引号与双引号的一些理解

    char strng[] = "12345";char x = 1;char x1 = '1';char x2[] = {1, 2, 3, 4, 5};char x3[] = {' ...

  8. C语言中用unsigned的作用,C语言中unsigned和int的计算

    有符号数和无符号数在一起运算,不要以为遵循的仍然是短的向长的靠齐.以前我们知道,如果一个short和一个int在一起运算, 首先编译器会将short自动转换为一个int类型中间变量,然后进行运算.但是 ...

  9. C语言中struct, union, enum 三大复合数据类型

    2019独角兽企业重金招聘Python工程师标准>>> struct结构体 struct声明一个结构体,它将一些相关联的数据打包成一个整体. 首先看结构体占用内存空间的大小. str ...

最新文章

  1. 【ACM】杭电OJ 2048 2049
  2. mac全选文字的快捷键_最全Mac系统快捷键一览
  3. Thinkphp5.0 多图上传名称重复BUG
  4. Distinct Characters Queries CodeForces - 1234D(线段树求区间字母种类数)
  5. 加载数据时,页面显示正在加载的动画,支持移动端
  6. 7种JIRA集成可优化Java开发流程
  7. linux 进程 命令 cat,Linux cat命令详解
  8. python装饰器使用多吗_如何理解Python装饰器?
  9. 使用arguments对象模拟函数重载
  10. python倒三角代码_vb代码输出倒三角形 python倒三角代码
  11. 获取input添加图片的路径以及fakepath的解决方法
  12. dede 表单必填_dede自定义表单“必填项”设置方法
  13. if函数3个条件3个结果C语言,if函数3个条件嵌套公式 包括60为及格否则为不及格...
  14. 工程师思维的核心 |《转向:用工程师思维解决商业难题》
  15. Windows11 Windows安全中心无法打开 Windows Defender无法打开
  16. Hibernate 中setResultTransformer使用
  17. html中怎么做扇形菜单,CSS3实现扇形动画菜单流程详解
  18. 解决editplus编译出现中文乱码
  19. \tutorial_code\introduction\windows_visual_studio_Opencv
  20. 【NI Multisim 14.0原理图设计基础——查找元器件】

热门文章

  1. nginx+lua (一)
  2. 微信公众平台前端开发技巧分享
  3. 自相关函数,功率谱,时间序列信号模型三者的关系
  4. 统计自然语言处理笔记
  5. Python入门二(1)
  6. 科大星云诗社动态20210829
  7. 腾讯产品课观后感之定位2018-08-22
  8. RuntimeError: ‘cryptography‘ package is required for sha256_password or caching_sha2_password auth m
  9. php5 函数,2017PHP5函数大全
  10. vue手机端回退_vue移动端弹框组件,vue-layer-mobile