当前位置: 首页 > article >正文

C语言基本语法————基本数据类型、变量与常量

一、基本数据类型 

        在C语言这门严谨的语言中,所有的数都不能像数学中一样直接写,为了节省计算机的储存空间优化计算,将数据分为一下几种类型;

1、整型

      (1)、有符号整型

        有符号整型的数据类型通常包括 int、short、long、long long 四种,(同样都是整数,将其划分为不同的大小长度是为了更好的节省空间)因为是有符号类型,所以前面要加上 signed ,但是通常省略,也就是说在代码中直接打出 int 类型就代表是有符号类型的。 

名称字节大小(字节)范围
short2-32,768 到 32,767
int4-2,147,483,648 到 2,147,483,647
long4 或 8-2,147,483,648 到 2,147,483,647 (32位系统)<br>-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807 (64位系统)
long long8-9,223,372,036,854,775,808 到 9,223,372,036,854,775,807

其实除了Int外的三个数据类型,前面都还有个int  ,但是为了书写方便也会省略 

        (2)、无符号整型

         无符号数用 unsigned 表示 ,只表示数据量,而没有方向(没有正负,且无符号数最高位不是符号位,而就是数的一部分),无符号数不可能是负数。

名称字节大小(字节)范围
unsigned short20 到 65,535
unsigned int40 到 4,294,967,295
unsigned long4 或 80 到 4,294,967,295 (32位系统)<br>0 到 18,446,744,073,709,551,615 (64位系统)
unsigned long long80 到 18,446,744,073,709,551,615

2、字符型

        字符型就是单个字符(只占一个字节),声明字符型变量的时候字符要用单引号引起来;

char c = 'a';  //声明一个字符类型的变量

3、浮点型

        和整型一样,为了节省内存,将浮点型(小数),也分为了两种 单精度浮点型双精度浮点型

名称字节大小(字节)范围精度(有效数字)
float4±1.175494351 × 10<sup>-38</sup> 到 ±3.402823466 × 10<sup>38</sup>6-7位
double8±2.2250738585072014 × 10<sup>-308</sup> 到 ±1.7976931348623157 × 10<sup>308</sup>15-16位

二、变量与常量

1、变量

1、变量的声明

        声明变量相当于实在计算机内存中分配了一块内存,计算机会根据你声明的数据类型的不同给予不同大小的内存地址;(注意:此时仅仅只是有了内存,但是变量并没有数值

        变量声明的格式 (在C语言中;代表着语句的结束,声明变量后要加分号“  ;  ”  就像语文写完一句话加句号是一个道理)

//数据类型  变量名
     int     a;   //声明一个整型变量
    double   b;    //声明一个浮点型变量

变量名的命名规则(以下条件必须同时成立):
1、数字、字母、下划线、$组成
2、不能以数字开头
3、不能Java的关键字和保留字(有特殊含义)
        如:int、double、class等是关键字
            const、goto是保留字
4、区分大小写 
        如:A和a是不同的变量
               INT不是关键字可以做变量名
              不正确:123a,long,45-er,er-56
              正确的:a123,Long,_45,er_56,$12

2、变量的初始化

       初始化就是将数值放入计算机分配的内存中

int a = 3;        //初始化变量
double b = 3.14;

3、变量的作用域

       (1) 局部变量

        举个例子,数学试卷中应用题第一提有一个变量x = 100,它的有效范围就是这一题,到了第二题就不适用了,C语言中的变量也有它的有效范围(变量的有效范围就是所在的最近的大括号里)。

        (2)全局变量

        全局变量是定义在函数外部,通常是在程序的顶部。全局变量在整个程序生命周期内都是有效的,在任意的函数内部能访问全局变量。

        全局变量可以被任何函数访问。也就是说,全局变量在声明后整个程序中都是可用的。

#include <stdio.h>
 
/* 全局变量声明 */
int g;
 
int main ()
{
  /* 局部变量声明 */
  int a, b;
 
  /* 初始化 */
  a = 10;
  b = 20;
  g = a + b;
 
  return 0;
}

 2、常量

        变量可以通过初始化给定数值,也可以使用“=”进行赋值,是看可以改变的值,常量是给定值后,值不会变化 

1) 使用 #define 预处理器

#define 常量名 常量值

 代码案例:

#include <stdio.h>
 
#define PI 3.14 //定义常量 PI 常量值 3.14
 
int main() {
 
//PI = 3.1415 可以吗?   不可以修改,因为 PI 是常量
 
//PI = 3.1415; //提示 = 左值 必须是可修改的值
 
double area;
 
double r = 1.2;//半径
 
area = PI * r * r;
 
printf("面积 : %.2f", area);
 
getchar();
 
return 0;
 
}

2) 使用 const 关键字

const 数据类型 常量名 = 常量值; //即就是一个语句

#include <stdio.h>
 
//说明
 
//1. const 是一个关键字,规定好,表示后面定义了一个常量
 
//2. PI 是常量名,即是一个常量,常量值就是 3.14
 
//3. PI 因为是常量,因此不可以修改
 
//4. const 定义常量时,需要加 分号
 
const double PI = 3.14;
 
int main() {
 
//PI = 3.1415 可以吗? => 不可以
 
double area;
 
double r = 1.2;
 
area = PI * r * r;
 
printf("面积 : %.2f", area);
 
getchar();
 
return 0;
 
}

 


http://www.kler.cn/a/325428.html

相关文章:

  • C++ 编程基础(5)类与对象 | 5.8、面向对象五大原则
  • [241115] Debian 12.8 发布 | Mistral AI 推出批量 API,成本降低 50%
  • GRE做题笔记(零散的个人经验)
  • 基于大语言模型意图识别和实体提取功能;具体ZK数值例子:加密货币交易验证;
  • Notepad++的完美替代
  • 从零开始学习 sg200x 多核开发之 uboot saveenv 功能使能
  • HDFS组件相关问题-持续更新
  • Growthly Quest 增长工具:助力 Web3 项目实现数据驱动的增长
  • RTE 大会报名丨AI 时代新基建:云边端架构和 AI Infra ,RTE2024 技术专场第二弹!
  • 【在Linux世界中追寻伟大的One Piece】进程间通信
  • 在Windows on Arm上使用Electron构建桌面应用
  • Rust和Go谁会更胜一筹
  • Day28笔记-Python自动化操作Word
  • Redis结合Caffeine实现二级缓存:提高应用程序性能
  • 计算机组成原理之数制与编码
  • 交通标志与路面标识检测系统源码分享
  • linux 系统磁盘空间查看与清理
  • 基于nodejs+vue的旅游管理系统
  • 【OS】计算机系统概述|操作系统基本概念|并发|并行|虚拟异步
  • 如何在O2OA中使用ElementUI组件进行审批流程工作表单设计
  • C++:模拟实现vector
  • 2025秋招内推|招联金融
  • 推荐常用的搜索渠道
  • Unity 热更新(HybridCLR+Addressable)-创建Addressable资源
  • H.264与H.265
  • FFmpeg源码:avio_seek函数分析