C语言第一天#S1E4E5E6

变量:给变量命名的规则

数据类型:每个变量坑的大小

#include <stdio.h>

int main()
{
    int a;
    char b;
    float c;
    double d;
    a = 520;
    b ='H';
    c = 3.14;
    d = 3.141592653;
	printf("我爱你用数字表示是%d\n",a); 
	printf("I love %cCY!\n",b); //%c表示引用字符型 
	printf("圆周率是%.2f\n",c);//%.2f表示精确到小数点后两位的浮点数 
	printf("精确一点的圆周率是%11.9f\n",d);//%11.9表示该数据总占宽度是11.小数点后有9位 
        return 0;
}

整型常量:整数 520

实型常量:有小数的数 3.14

字符常量:普通字符”H“和转义字符\n \b

字符串常量:”HCY“

符号常量:使用前必须定义。

定义符号常量:#define 标识符 常量

#define YEAR ”2023“

#include <stdio.h>

#define NAME "MARS CONCERT" 
#define YEAR 2023
#define MOOD "开心" /*宏定义习惯上用大写定义*/
int main()
{
	printf("%s在%d的心情是%s\n",NAME,YEAR,MOOD);
	return 0;
}

编译器读取字符串时会在后面加上一个\0表示终止。因此一个字符串的长度要加上1

字符长度:short int<int <long int<long  long int 

sizeof(类型)可以知道这个类型的长度

#include <stdio.h>
 int main()
 {
 	int i;
 	char j;
 	float k;
 	 i = 123;
 	 j = 'c';
 	 k = 3.14;
 	 
 	 printf("size of int is %d\n",sizeof(int));
 	 printf("size of i is %d\n",sizeof(i));
 	 printf("size of char is %d\n",sizeof(char));
 	 printf("size of j is %d\n",sizeof(j));
 	 printf("size of float is %d\n",sizeof(float));
 	 printf("size of k is %d\n",sizeof(k));
  } 

signed 带符号位 ,可存放负数unsigned 不带符号位,只能放0和正数

用来限定char或int的取值范围

默认类型是signed

#include <stdio.h>
 int main()
 {
 	short i;
 	unsigned short j;
 	 i = 1;
 	 j = -1;

 	 printf("%d\n",i);
 	 printf("%d\n",j);
 	
  } 

结果是 1  65535

为什么是65535?

cpu能读懂的最小单位:bit

内存机构的最小寻址单位:byte

1 byte == 8 bit

short 是4个byte 也就是4*8=32,32个1是2的32次方-1=65535

pow函数为计算某个数有多少次方。

#include <stdio.h>

int main()
{
    int result = pow(2,32)-1;
    printf("result = %d\n",result);
    return 0;
}

结果是2147483647

实际上2的32次方-1=4294967295

原因是默认类型为signed,符号位为0,只有31个1.

定义为 unsigned,并将%d 换成%u

#include <stdio.h>

int main()
{
    unsigned int result = pow(2,32)-1;
    printf("result = %u\n",result);
    return 0;
}

计算机是如何存放负数的?

  • 8
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值