C语言 常量变量 数据类型

1、常量:不能被改变的量

○1 数字常量。

例如 12,23.4,12.5f

12 = 23; //error

23.4 = 45.6; //error

○2 字符常量。

例如’\0’ , ’0’, ’A’, ’a’, ’\n’

对应的 ASCII 码值 0 48 65 97 10(换行)

‘0’ = ‘1’; //error,等同 48 = 49;

○3 字符串常量。”0”, ”abcd”

○4 宏定义。宏定义就是字符替换。

格式:#define 宏名 值

例如:#define PI 3.14

PI = 3.14159 //error,等同 3.14 = 3.14159;

○5 const 常量。

const int ca = 10;

ca = 20; //error

2、变量,能被修改的量。

定义:数据类型 变量名;

例如:int a = 0; a = 10;//ok

标识符命名规则:

1、以字母,下划线_,和数字组成

2、只能以字母或下划线开头

3、不能使用关键字

4、区分大小写(大小写敏感) 合法的标识符:abc,a1,_a,a_b,A,Float。

非法的标识符:1a,a*b,float。

3、数据类型。char short int(整数默认) long long long float double(小数默认)

占用的字节数    1       2    2/4(4 个为主)   4          8         4          8

char 类型的取值范围    -128~127;

unsigned char 类型的取值范围 0~255;

char 类似是 mini 的整型
 

char ch = ‘a’;  

printf(“%c,%d\n”,ch,ch); //输出: a,97

printf(“%c,%d\n”,98,98); //输出:b,98

 常量:不能修改的值
      1.数字常量,例如  10,12.5,1.25*10^1(错误),1.25e1(考试)
      2.字符常量,字符用''包括起来,例如'\0','\n','0','A','a'  (计算机保存的是字符的编码)
                                                         0  换行 48,65,97    需要记忆
                注意,字符只能保护一个字母或者数字或者符号.'ab'是错误的写法
      3.字符串常量,字符串用""包括起来.例如"abc"
      4.宏,它就是一个字符替换.  #define 宏名  替换的内容
      5.const 常量:把变量变为只读
 变量:可以修改的值.先定义后使用
      类型  变量名;
      有符号数:标准规定最高位表示符号,0为正数,1为负数
      整数(默认有符号signed, unsigned无符号):char ,short ,int(默认) ,long,long long
                                                                         1       2       4            4        8
      1字节最多表示256中不同的状态
      char的取值范围:-128~127
      unsigned char 的取值范围:不包含负数,所有的都为正数(包含0),0~255
      short:万级别;int,long:十亿级别;long long:能解决地球上的所有数据

      正数二进制:直接写  
      负数二进制:绝对值取反+1(一定要记住)
      20 :0001 0100
      -20:1110 1100
      127:0111 1111
      -128:1000 0000->0111 1111->1000 0000
      -1:0000 0001->1111 1110->1111 1111  (全1)
      根据二进制计算数值:1.看是否为有符号数,如果是无符号数全部值相加;
      如果是有符号数,首先看符号位,符号位是0,则全部值相加;符号位是1,则为负数且绝对值为取反+1
         无符号: 1000 0000->128
         有符号: 1111 0101->-0000 1011->-11
         有符号:  0010 0101->37
      小数:float,double(默认)
               4       8


#include <stdio.h>
int main()
{
    unsigned char a = 128;//1000 0000
    char b = 128;//1000 0000->-0111 1111->-1000 0000->-128
    printf("%d,%d\n",a,b);

   // char a = 127 + 1;//0111 1111 +1 ->1000 0000
    //printf("%d\n",a);
    //printf("%d,%d\n",sizeof(1),sizeof(12.3));
   // int a = 12.3;

    //for (char a = 0; a < 128; a++)//a:-128~127
    //{
    //    printf("%d\n",a);
    //}
   // int a;//定义一个int的变量a
    //int b = 10;//定义一个int的变量b并初始化为10

    return 0;
}

/*
int main()
{
    int a = 10;
    printf("%d\n",a);//读a
    a = 20;//写a
    printf("%d\n", a);

    const int ca = 10;//只读
    printf("%d\n",ca);
    //ca = 20;//error

    return 0;
}
*/

/*
#define PI 3.1415926  //定义一个宏
int main()
{
    //PI = 4;//3.1415926 =  4;
    double r = 5;//半径
    double c = 2 * PI * r;//double c = 2 * 3.14 * r;
    double s = PI * r * r;//double s = 3.14 * r * r;
   // printf("%c", '\a');//%c:输出一个字符
    //printf("%d,%d,%d,%d,%d\n",'\0','\n','0','A','a');
   // 'a' = 100;//error   97 = 100;
    //12.5 = 12.3;//error
    //10 = 100;//error
    //1e8;//10的8次方,
    //1e-6;//10的-6次方
   // int a = 10;
    //a = 100;//ok
    //'a' = 'b';//97 = 98;
    //int a = 10;
    //int b = 20;
    //a = b;

	return 0;
}
*/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

安冉冄先森

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值