在c语言中039是不是int型,C数据类型
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数据类型相关推荐
- c语言输入12行怎么输入,c语言中,定义什么型别的变数能同时储存数字跟字元,怎么输入...
c语言中,定义什么型别的变数能同时储存数字跟字元,怎么输入以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! c语言中,定义 ...
- c语言中 static int,c语言中static unsigned int n=0;是什么意思?请大师指点迷津,学生有礼了。...
c语言中static unsigned int n=0;是什么意思?请大师指点迷津,学生有礼了.以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我 ...
- c语言中c为字符型便量,c='97'是否正确,C语言判断题Word版
<C语言判断题Word版>由会员分享,可在线阅读,更多相关<C语言判断题Word版(3页珍藏版)>请在人人文库网上搜索. 1.传播优秀Word版文档 ,希望对您有帮助,可双击去 ...
- c语言中voild和int,C++的new和malloc
基本定义 new和malloc都是在堆上进行的内存分配,也称动态内存分配: 程序员自己负责在何时用 free 或 delete 释放内存.动态内存的生存期由我们决定,使用非常灵活,但问题也最多. ne ...
- c语言中c为字符型便量,c='97'是否正确,计算机二级C语言 考点06 字符型常量变量...
计算机二级C语言 考点06 字符型常量变量 1.已定义c为字符型变量,则下列语句中正确的是 A)c='97'; B)c="97"; C)c=97; D)c="a" ...
- C语言中malloc为字符型指针分配内存引起的缓冲区泄露
/* 问题描述; 缓冲区溢出: (1)malloc:分配一块连续的未被使用得当内存块,但是不能保证内存块临近的其他内存块也未被使用: (2)当用malloc未char类型指针分配一个字节长度内存时,但 ...
- c语言中char、int以及单引号与双引号的一些理解
char strng[] = "12345";char x = 1;char x1 = '1';char x2[] = {1, 2, 3, 4, 5};char x3[] = {' ...
- C语言中用unsigned的作用,C语言中unsigned和int的计算
有符号数和无符号数在一起运算,不要以为遵循的仍然是短的向长的靠齐.以前我们知道,如果一个short和一个int在一起运算, 首先编译器会将short自动转换为一个int类型中间变量,然后进行运算.但是 ...
- C语言中struct, union, enum 三大复合数据类型
2019独角兽企业重金招聘Python工程师标准>>> struct结构体 struct声明一个结构体,它将一些相关联的数据打包成一个整体. 首先看结构体占用内存空间的大小. str ...
最新文章
- 【ACM】杭电OJ 2048 2049
- mac全选文字的快捷键_最全Mac系统快捷键一览
- Thinkphp5.0 多图上传名称重复BUG
- Distinct Characters Queries CodeForces - 1234D(线段树求区间字母种类数)
- 加载数据时,页面显示正在加载的动画,支持移动端
- 7种JIRA集成可优化Java开发流程
- linux 进程 命令 cat,Linux cat命令详解
- python装饰器使用多吗_如何理解Python装饰器?
- 使用arguments对象模拟函数重载
- python倒三角代码_vb代码输出倒三角形 python倒三角代码
- 获取input添加图片的路径以及fakepath的解决方法
- dede 表单必填_dede自定义表单“必填项”设置方法
- if函数3个条件3个结果C语言,if函数3个条件嵌套公式 包括60为及格否则为不及格...
- 工程师思维的核心 |《转向:用工程师思维解决商业难题》
- Windows11 Windows安全中心无法打开 Windows Defender无法打开
- Hibernate 中setResultTransformer使用
- html中怎么做扇形菜单,CSS3实现扇形动画菜单流程详解
- 解决editplus编译出现中文乱码
- \tutorial_code\introduction\windows_visual_studio_Opencv
- 【NI Multisim 14.0原理图设计基础——查找元器件】
热门文章
- nginx+lua (一)
- 微信公众平台前端开发技巧分享
- 自相关函数,功率谱,时间序列信号模型三者的关系
- 统计自然语言处理笔记
- Python入门二(1)
- 科大星云诗社动态20210829
- 腾讯产品课观后感之定位2018-08-22
- RuntimeError: ‘cryptography‘ package is required for sha256_password or caching_sha2_password auth m
- php5 函数,2017PHP5函数大全
- vue手机端回退_vue移动端弹框组件,vue-layer-mobile