变量、常量和宏定义、数据类型

一·、变量

1、变量的意义就是确定目标并提供存放的空间

2、变量名只能英文(A-Z,a-z)、数字(0-9)还有下划线(_)组成,其次定义变量名时只能是字母跟下划线开头,变量名区分大小写(一般的使用小写命名变量,大写命名常量),不能使用关键字命名

总共有44个关键字:

[ANSI C]( cauto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、while)

[C99](inline、restrict、_Bool、_Complex、_Imaginary

[C11](_Alignas、_Alignof、_Atomic、_Static_assert、_Noreturn、_Thread_local、_Generic

二、数据类型

1、声名变量需要指定数据类型:

整数类型

short int、int、long int、long long int

补充:int没有限制说明大小,只是要求short int⩽int⩽long int⩽long long int

浮点数类型

float、double、long double

字符类型

char

布尔类型(初学未学仅需知道)

_Bool

枚举类型(初学未学仅需知道)

enum

2、sizeof运算符

1、用于获得数据类型或表达式的长度

sizeof(object);        //sizeof(对象);

sizeof(type_name);        //sizeof(类型);例:sizeof(int);

sizeof object;        //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 j);
    printf("size of k is %d\n",sizeof k);

    return 0;
}

#include<stdio.h>
 
int main()
{
    printf("int = %d\n",sizeof(int));
    printf("short int = %d\n",sizeof(short));
    printf("long int = %d\n",sizeof(long));
    printf("long long int = %d\n",sizeof(long long));
    printf("char = %d\n",sizeof(char));
    printf("_Bool = %d\n",sizeof(_Bool));
    printf("float = %d\n",sizeof(float));
    printf("double = %d\n",sizeof(double));
    printf("long double = %d\n",sizeof(double));
   
    return 0;
}
    

打印的单位:字节

3、singned和unsigned(带符号位和不带符号位)

singed带符号可以存放正数和负数

unsigned不带符号可以存放更多的正数

写法:

[signed] short [int]

unsigned short [int]

[signed] int

unsigned int

[singned] long [int]

unsigned long [int]

[signed] long [int]

[signed] long long [int]

unsigned long long [int]

#include<stdio.h>
int main()
{
        short i;
        unsigned short j;
        /*霸王硬上弓,明明声明无符号的却赋值带符号*/
        i=-1;
        j=-1;

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

 三、常量和宏定义

 1、变量补充

字符型只能存放一个字母

整型可以存放一个字母但是不建议这么做,不可以存放带小数(3.142593)类型要对号入座

浮点型存放带小数如果小数很大,可以使用double

2、常量

整型常量:520,1314,123

实型常量:3.14,5.12,8.97

字符常量:'L','o','v','e'

转义字符:'\n','\t','\b'

字符串常量:"FishC"

符号常量:使用时必须定义

3、宏定义 定义符号常量

格式:#define 标识符 常量

例:

#define URL "http://www.fishc.com"

所有URL都会替换成"http://www.fishc.com"

#include<stdio.h>
#define URL "http://www.fishc.com"
#define NAME "鱼C工作室"
#define BOSS "小甲鱼"
#define YEAR 2010
#define MONTH 5
#define DAY 20

int main()
{
    printf("%s成立于#d年#d月#d日\n",NAME,YEAR,MONTH,DAY);
    printf("%s是%s创立于__\n",NAME,BOSS);
    printf("%s的域名是%s\n",NAME,URL);

    return 0;
}

 标识符(identifier)

变量名只能英文(A-Z,a-z)、数字(0-9)还有下划线(_)组成,其次定义变量名时只能是字母跟下划线开头,变量名区分大小写(一般的使用小写命名变量,大写命名常量),不能使用关键字命名

字符串常量

字符:'F'、'i'、's'、'h'、'C'

' '只能存放一个数字(0-9)或字母(A-Z大小写)为一个字符,编译器为它编译时需要准备一个字节存放

字符串:

" "能存放多个由字母或数字组成的字符

"Hello world"

即转义为单个字符

'H' 'e' 'l' 'l' 'o' ' ' ' 'w' 'o' 'r' 'l' 'd'共为11个字符

那计算机怎么知道有多少个字符,需要准备多少字节呢?在哪结束?

计算机会在编译后自动在字符串结尾处加个\0以表示字符串的结束位置

\0也属于一个字符所以上面 Hello world 共有12个字符

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值