首页 > 其他分享 >教你快速上手C语言中的数据类型和变量

教你快速上手C语言中的数据类型和变量

时间:2023-09-09 18:00:39浏览次数:40  
标签:变量 int 数据类型 long C语言 printf

(章节目录)

在这里插入图片描述

前言

  哈喽,各位铁汁们好啊!✨今天来给大家带来的是初识C语言里面的数据类型变量。   今天主要带大家简单认识-一下C语言,俗话说没吃过猪肉,也见过猪跑。了解下每个数据类型是干嘛的。可以读懂C语言的简单程序,其他的博主就不多介绍了。   后面会为大家详细介绍 高阶知识,比如整形变量存储范围是怎么来的,他是怎么存储的等等········

一 、数据类型

1.1 什么是数据类型?

  大家都知道在数字没被发明之前人们是由结绳记事的,后来发明者数字 入人们就开始数字表示一个或者一些物品了,这些数字我们叫做数据。 而在C语言中想表示

  • 一个物品、或者一个人的名字、价格等······
  • 是表示数据的呢?

1.2 数据类型有哪些

在C语言中想表示一个物品的名字、价格、折扣就必须有数据类型 那C语言提供的数据类型有哪些呢?

  • 描述字符的有 char      //短整型
  • 描述整形有 short     //短整型 int       //整形 long      //长整型 long long    //更长的整形
  • 描述浮点数有 float         //单精度浮点数 double       //双精度浮点数
  1. C语言为什么有这么多类型呢?
  • 存在这么多的类型,其实是为了更加丰富的表达生活中的各种值。
  1. 每种类型的大小是多少?
  • 我们用sizof操作符来看一下每种类型是多大的。
  • sizof是C语言中用来计算 大小 的操作符。
#include <stdio.h>
int main()
{
    printf("%d\n", sizeof(char));
    printf("%d\n", sizeof(short));
    printf("%d\n", sizeof(int));
    printf("%d\n", sizeof(long));
    printf("%d\n", sizeof(long long));
    printf("%d\n", sizeof(float));
    printf("%d\n", sizeof(double));
    printf("%d\n", sizeof(long double));
    return 0;
}
  • 这里我们可以看到每个数据类型的大小1表示的是 1bit 在这里插入图片描述

在计算机中常见的单位 bit —— 比特位 bytc —— 子节

  • 这些单位之间的换算 1bytc = 8bit 1KB = 1024bytc 1MB = 1024KB 1GB = 1024MB 1TB = 1024GB 1PB = 1024TB 等等·······

所以一个字符char在C语言中占一个字节***8个bit位*** 整形int在C语言中占4个字节***32个比特位*** 其他各位读者们靠上面的程序图推算下。

  • 补充一点

在C语言标准中: ==sizeof(long long)>=sizof(long)>=sizof(int)>sizof(short)>sizof(char)== 所以long在不同位数的操作系统上有可能是4个字节或者8个但一定比int要大

二、变量

2.1变量的定义

变量的定义就是先写 类型名 在写变量名 之后给他赋值 在语言中等号是赋值的意思

char ch = 'w'; int weight = 120; int salary = 20000;

2.2变量的命名

  • 只能由字母(包括大写和小写)、数字和下划线( _ )组成。
  • 不能以数字开头。
  • 长度不能超过63个字符。
  • 变量名中区分大小写的。
  • 变量名不能使用关键字。 ==变量的命名我们尽量做到有意义==

我们来看几组示例: int  2*3; //这种就是错误的 int  2b; //err错误 int  _2b; //ok int  _2B; //ok int  char; //使用了关键字命 错误

2.3 变量的分类

上次我们讲了变量的命名但没有讲使用 在使用变量我们需要用到2个库函数

//scanf
//printf
//库函数 - C语言的编译器提供的现成的函数,直接可以使用
//scanf的作用是输入数据,数据从键盘读取到内存中
//printf的作业是输出数据,数据从内存打印(输出)到屏幕上
//使用的时候要包含头文件stdio.h
#include <stdio.h>
// %c - 字符
// %d - 整型
// %s - 字符串
// %f - float
// %lf - double
// %p - 地址的打印
int main()
{
	int a = 0;
	scanf("%d", &a);
	printf("%d", a);
	char ch = 0;
	scanf("%c", &ch);
	printf("%c", ch);
	return 0;
}

这里&这个符号是取地址操作符表示把我们输入的结果放到a变量的地址里面。 %d是表示10进制scanf里面使用就是输入的是10进制整数读取的。

全局变量

定义在main()函数外面的变量我们称为 全局变量 即在程序中所有人都可以调用使用它并不是很安全。 下面我们演示一下全局变量的使用和为什么不安全。 这里我们使用了***函数***调用它

int a = 2023;
//函数的定义void是空的意思,由于我们只是打印不返回值所以这里
//函数的返回值为空 test()是函数名
void test()
{
	printf("2---> %d\n", a);
}

int main()
{
	a = 2022;//为什么说他不安全呢?因为我们不管是谁它都可以
	//修改全局变量的值
	printf("1---> %d\n", a);//在main函数调用
	test();//函数调用就是写上函数名然后给上分号;

	return 0;
}

而在一个工程中有很多.C文件那么在其他文件定义的全局变量 我们该怎么使用+ 只需要***声明***一下这个全局变量我们就可以使用了

//需要声明外部符号
extern int g_val;//只需要声明一下这个变量就可以使用了
int main()//extern 是声明的意思
{
	printf("%d\n", g_val);
	return 0;
}

局部变量

在一对大括号里面的或者我们可以叫做程序段里面定义的我们可以叫做局部变量

int main()
{
	int a = 0;
	return 0;
}

这里的变量a就是局部变量

  • 那么当局部变量全局变量同名的情况下又会怎么样呢?
  • C语言规定当局部变量和全局变量同名时局部优先
  • 下面我们来举个例子
int a = 6;
int main()
{
	int a = 12;
	printf("%d",a);
	return 0;
}

大家猜一下这个代码会输出多少呢?

总结

好了今天主要是带大家认识数据类型和变量 总结一下今天学了:   数据类型有哪些?   变量的定义   变量的命名规则   变量的使用   全局变量   局部变量 希望对各位读者有用呢! 看到这里了还不给博主扣个点赞收藏

标签:变量,int,数据类型,long,C语言,printf
From: https://blog.51cto.com/u_16163707/7420431

相关文章

  • Python中跨越多个文件使用全局变量
    这个琐碎的指南是关于在Python中跨多个文件使用全局变量。但是在进入主题之前,让我们简单地看看全局变量和它们在多个文件中的用途。Python中的全局变量全局变量是不属于函数范围的变量,可以在整个程序中使用。这表明全局变量也可以在函数体内部或外部使用。让我们看一个例子:......
  • 变量的赋值和更新
    在Python中,变量的赋值和更新很简单。下面是一些示例代码:变量的赋值:#整数类型变量的赋值x=10#字符串类型变量的赋值name="John"#列表类型变量的赋值numbers=[1,2,3,4,5]变量的更新:#更新整数类型变量的值x=x+5#或者更简洁地写作x+=5#更......
  • Java基础——基本数据类型转换
    基本数据类型转换基本数据类型数据类型所占字节取值范围boolean未定false与truebyte1个字节-2^7~2^7-1char2个字节0~2^16-1short2个字节-2^15~2^15-1int4个字节-2^31~2^31-1long8个字节-2^63~2^63-1float4个字节-2^128~+2^128double8个字节-2^1024~+2^1024方法调用规则从低位类型到......
  • python进阶 day08字典数据类型内置方法
    字典数据类型内置方法1.作用对于值添加描述信息使用他2.定义方式用{}以逗号隔开加入键值对:key:valueinfo_dict={'name':'wangdapao','age':18,'height':120,'gender':'female','hobby_list':['dapao','basketball'......
  • Linux下C语言调用libcurl库获取天气预报信息
    一、概述当前文章介绍如何在Linux(Ubuntu)下使用C语言调用libcurl库获取天气预报的方法。通过HTTPGET请求访问百度天气API,并解析返回的JSON数据,可以获取指定城市未来7天的天气预报信息。二、设计思路【1】使用libcurl库进行HTTPGET请求在代码中包含<curl/curl.h>头文件,以便使用libc......
  • Java(day08):变量、常量及其作用域
    前言Java是一种面向对象编程语言,它通过变量和常量来处理数据类型。本文将介绍Java中的变量、常量及其作用域以及如何使用它们。摘要本文将介绍Java中的变量、常量及其作用域。我们将讨论变量和常量的含义、如何定义和使用它们,以及作用域的概念和限制。我们还将提供代码示例......
  • 元组数据类型内置方法
    元组数据类型内置方法元组和列表的内置方法一模一样,但是元祖无法修改元组咋i定义的那一刻他的元素个数以及元素的值就全部固定了毫无用处,早期永远一般用于减小内存占用,以后只要定义列表就行了定义方式列表的中括号改成小括号tup=(1,2,3,4,5)内置方法查看索引位置......
  • 列表数据类型的内置方法
    列表数据类型的内置方法1.作用列表的作用就是可以描述多个值,就比如一个人可以有很多的爱好2.定义方式hobby_list=['play','swimming','dancing']print(hobby_list)lt=list('randysun')print(lt)3.内置方法优先掌握索引取值hobby_list=['play','swimming......
  • 第三讲 变量的解构赋值
    第三讲变量的解构赋值本章是ES6的新的知识点,值得学习哦^.^3.1为什么使用解构赋值​体验之前的代码变量方式//1.旧社会如何使用变量;//赋值方式//leta=250;//letb=666;//letc=888;//console.log(a,b,c);//......
  • c语言学习之路--static的用法(笔记)
    1.static修饰局部变量时可以理解为将局部变量变为全局变量,如图:#include<stdio.h>voidtest(void){ inta=1; a++; printf("a的值为%d\n",a); }intmain(void){ inti=0; while(i<5){ i++; test(); } return0;}没有static时结果为a的值为2a的值为2......