C语言数据类型,常量、变量,基础知识

数据类型

  1. 一个工程中可以出现多个.c文件,但是多个.c文件中只能有一个main函数。

数据类型

解释说明

例子

长度

输出所需的格式字符

char

字符数就类型

char ch='a';

1byte

%c

short

短整型

short (int) a=1;

2byte

%hd

int

整形

int a=10;

4byte

%d

long

长整型

4byte

%ld

long long

更长的整形

8byte

%lld

float

单精度浮点数

float a=12.1;

4byte

%f

double

双精度浮点数

double a=0.0;

8byte

%lf

注:C语言标准规定sizeof(long)>=sizeof(int),有的版本int的长度是2byte

打印一个整数--%d
#include<stdio.h>
int main{
    printf("%d\n",100);
    return 0;
}
sizeof--关键字--操作符--计算数据类型或者变量所占空间的大小,单位:字节(byte)
int main{
    printf("%d\n"sizeof(char));
}
计算机中的单位(由小到大)
  1. bit--比特位--最小的单位--只能存放一个二进制位的数字的单位

  1. byte--字节--1字节=8bit

  1. kb--1kb=1024byte

  1. mb--1mb=1024kb

  1. gb--1gb=1024mb

常量,变量

常量--不能改变的量

C语言常量分为以下几种:

  1. 字面常量

  1. const修饰的常变量(本质是变量,只是不能在被修改)

  1. #define定义的标识符常量,#define是C语言的一条预处理命令,成为宏定义命令。

  1. 枚举常量

#include<stdio.h>
//#define定义的标识符常量
#define MAx 100//定义标识符常量时后面不能出现分号“;”,如果出现分号,则分号也是常量的一部分
int main(){
 //字面常量
    3.1;//float型字面常量
    2;//int型字面常量
    'a';//char型字面常量
 //const修饰的常变量
    const int num=10;//num是变量,const修饰后就变为了不能修改的变量的(常变量)
    num=20;//错误,const修饰后不可修改
    const int n=10;
    int arr[n]={0};//错误,[]内需要常量,n本质是变量
 //#define定义的标识符常量
 int n=Max;
 Max=10;//错误,已被定义为常量不可更改
 printf("%d",n);//结果为100
}
//枚举常量,可以一一列举的常量
#include<stdio.h>
enum Sex{//enum 枚举关键字
  //性别这种枚举变量量未来可能的三种取值
    MALE;
    FEMALE;
    SECRET;
};
int main(){
    enum Sex=MALE;//三种可能取值中的一个
    printf("%d\n",MALE);//结果为0,枚举常量默认从零开始
    return 0;
}
变量--能被改变的量

创建一个变量

int main{
    //int 变量的类型
    //a是变量
    int a=0;
    a=a+1;
    printf("%d\n",a);
    return 0;
}
局部变量

定义在{}内部的叫局部变量。

变量取名规则:

  1. 标识符只能由字母,数字,下划线三类字符组成。

  1. 第一个字符必须是字母(也可以是下划线,但被视为系统自定义的标识符)

  1. 大写字母和小写字母是不同的字符

  1. 标识符可以任意长,只有前32位有效

  1. 标识符不能是C的关键字

//全局变量a
int a=10;
int main{
    //局部变量a
    int a=100
    printf("%d/n",a);
    return 0;
}
//结果为100;
//当全局变量与局部变量名字相同时,局部变量优先使用
int main{
    int a=0,b=0;
    int sum=0;
    //scanf输入,&取地址符:取出变量或函数的地址,while(~scanf("%d",&a)){}输入多组数据案例
    scanf("%d %d",&a,%b);
    sum=a+b;
    printf("%d\n",sum);
}
全局变量

定义在{}外部的叫全局变量

//全局变量a
int a=10;
int main{
    printf("%d/n",a);
    return 0;
}
作用域和生命周期
作用域
  • 局部变量的作用域就是变量所在的局部范围。

  • 全局变量的作用域就是整个工程

#include<stdio.h>
int g_v=20;//全局变量
int main(){
    int a=10;//局部变量
    {
        printf("%d",a);//局部变量不可用
        printf("%d",g_v);//全局变量可用
    }
    printf("%d",a);//局部变量可用
    printf("%d",g_v);//全局变量可用
    return 0;
}
//在此项目中另建C文件
extern int g_v;//声明一下变量
int main(){
  printf("%d",a);//局部变量不可用
  printf("%d",g_v);//全局变量可用  
  return 0;
生命周期

变量的生命周期指的是变量的创建到变量的销毁的一个时间段

  1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。

  1. 全局变量的生命周期是:整个程序的生命周期


初学C语言,不对的地方请大佬指教。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值