C预言寄出(笔记)变量,常量,数据溢出,进制转换。。。。。。。

一,常量与变量
1:关键字:
数据类型关键字(12个):
char ,short,long,int,float,double,unsinged,singed,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,typedef,volatile
在这里插入图片描述


#include <stdio.h>
int main(void)
{
 // 黄瓜3元/斤 购买5斤
 //常量:在程序运行过程中其值不能改变的量 称为常量
 const int price = 3;  //常量
 int weight = 5;  //黄瓜重量
 //变量:在程序运行过程中其值可以改变的量 称为变量
 int sum;
 sum = price * weight;
 printf("%d元", sum);
 return 0;
}
运行结果:15元
#include <stdio.h>
#define  PI 3.13159 //圆周率
int main(void)
{
 float r = 3.4;
 float s = r*r*PI;
 float l = 2*PI*r;+
 printf("s = %.2f\n", s); //%f 占位符:输出一个浮点数 默认保留6位小数,四舍五入 
 printf("l = %.2f", l);  // ".2"代表保留2位小数
 return 0;
}
运行结果:
s = 36.20
l = 21.29

#include <stdio.h>
int main()
{
printf(“long%u\n”,sizeof(long));
printff(“short%u\n”,sizeof(short));
printf(“longlong%u”,sizeof(long long));
return 0;
}
运行结果:
long 4
short 2
long long 8
2,标识符
1:不能使用系统关键字
2:只能用下划线“_”,数字,字母
3:标识符不能数字开头
4:标识符区分大小写
5:见名知义
整型变量的定义和输出
以char为例:unsigned 0~256
signed -128~127
%u 占位符:表示输出一个整型无符号数据
%x 占位符:输出一个16进制整型数据
%o 占位符:输出一个8进制整型数据
c语言无法直接书写二进制
整型数据的输入:如scanf(“%d”,&a);
必须要用到取地址运算符&
其会从终端界面读取数据赋给a
整型的大小与范围:
sizeof用于计算数据在内存中所占的字节(BYTE)数大小
sizeof返回数据类型为size_t(unsigned int)
一个字节八个位(bit)
注意:整型数据在内存中占的字节数与所选择的操作系统有关。虽然c语言标准中没有明确规定整型数据长度,但long类型整数的长度不能短于int型,short类型长度不能长于int类型
当一个小的整型数据类型赋值给一个大的数据类型,不会出错,因为·编译器会自动转化。但当一个大的类型赋值给一个小的数据类型,那么就可能丢失高位。
3.字符型
字符型变量用于存储一个单一字符,在c语言中用char表示。其中每一个字符变量都会占用一个字节。在字符型变量赋值时,需要用一对英文半角格式的单引号("")把字符括起来。
字符变量实际上并不是把该字符本身放到变量的存储单元去,而是将该字符对应的ASCII编码放到变量的存储单元中。char的本质就是一个1字节大小的整型。
#include <stdio.h>
int main()
{
char ch=‘a’; //字符型变量
printf(“%c\n",ch); //打印字符型变量
printf(“字符型大小:%d\n",sizeof(ch));
return 0;
}
转义字符
注意:红色字体标注的位不可打印字符。
浮点型数据
实型变量又可称浮点型变量,浮点型变量是用来存储小数数值的,在c语言中,浮点型变量分为两种:单精度浮点型(float)、双精度浮点型(double),但是double型变量比float更精确。
由于浮点型变量是有限的存储单元组成,因此只能提供有限的有效数字。在有效位以外的数字将被舍去。这样可能会产生一些误差。
不以f结尾的常量是double类型,以f结尾的常量如(3.14)
是float类型。

#include <stdio.h>
int main(void)
{
 float a = 3.14;		//浮点型数据在内存中的格式分为 符号位 指数位 小数位
 double b = 3.14;
 printf("%.2f\n", a);
 printf("%1f\n", b);
 return 0;
}
运行结果:
3.14
3.140000

%p 占位符:输出一个16进制无符号数据(如地址)
%e 占位符:输出一个科学计数法表示的数据
4.进制之间的转换
1:十进制转二进制:除二反序取余法:一直除二取余,从最后的余数取到第一个从左到右排成二进制数
2:二进制转十进制:权值法:将一个二进制数从末尾开始乘以2的次幂(从0开始依次加1)
3:二进制转成八进制:将一个二进制数从右到左3个为一组分割成若干组,每一组以2中方式相同的方法得到一个数,然后按顺序排列即得到一个8进制数
4:八进制转二进制:同样地,一个数字位一组,以1中方法得到3位数组成一组的二进制数,并以原来的顺序依次排列成二进制数
5:八进制转10进制:同2方法一样,不过其中的2变为8
6:关于二进制转16进制,及16进制转2进制,同3,4的方法一致,不过是4位数分割一组和一个数字得到4位二进制数字的组罢了
7:16进制转10进制,与1相似,2变为16得结果; 10进制转16进制也是此种套路
进制术语和小数存储方式:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
例:
char ch=10
原码:0000 1010
反码:0000 1010
补码:0000 1010
char ch1=-10
原码:1000 1010
反码:1111 0101
补码:1111 0110
二进制是计算机技术中广泛采用的一种 数制二进制数据是用0和1两个数码来表示的数。它的基数为2,进制规则是逢2进1,借位规则是借1当2
当前的计算机系统使用的全都是二进制系统,数据在计算机中主要以补码的形式存储的。
在计算机中,数值一侓用补码来存储主要是因为:
统一了零的编码
将符号位和其它位统一处理
将减法运算转变成加法运算
两个用补码表示的数相加时,如果最高位(位符号)有进位,则进位数被舍弃
在这里插入图片描述
数值溢出
例:
char ch=127;
ch=ch+2;
printf("%d",ch);
运行结果为:-127

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值