【c语言】基础数据类型

news2024/11/15 15:47:27

文章目录

        • 1、什么数据类型
        • 2、常量
        • 3、变量
        • 4、整型数据
        • 5、浮点型数据
        • 6、字符型数据
        • 7、字符串数据

1、什么数据类型

​ 在生活中,裁缝做衣服需要用到不同的化纤、棉花、丝绸等布料,炒不同的菜需要油、盐等不同的配方,而程序员在编写程序时也需要用到不同的数据类型,数据类型的分类如下图:

在这里插入图片描述

2、常量

​ 常量是指在程序运行过程中,其值不发生改变的量。常量又可分为整型、实型(也称为浮点型)、字符型和字符串型

​ 整型常量、实型常量、字符型常量在编译时可以直接带入代码段的常量;例如在字符串“你好”中,双引号中间的汉字就是字符串型常量,无论双引号中间的内容是ASCII码字符,还是汉字或其他国家的文字等,都是字符串型常量

整型 : 100  125
实型 : 3.14  0.125 
字符型:'a'
字符串型:"a"
3、变量

​ 变量代表内存中具有特定属性的一个存储单元,它用来存放数据即变量的值。这些值在程序的执行过程中是可以改变的。

​ 变量名实际上以一个名字代表一个对应的存储单元地址。编译链接程序时,由编译系统为每个变量名分配对应的内存地址(就是空间),从变量中取值实际上是通过变量名找到内存中存储单元的地址,并从该存储单元中读取数据

C语言规定标识符只能由字母、数字和下画线三种字符组成,并且第一个字符必须为字母或下画线

正确的:

a,_total,month

错误的:

M.D,$123,3D
4、整型数据

定义一个整型变量时要使用关键字int,占4个字节。我们来看下面的例子

#include "stdio.h"
#define PI 3+2
int main(){
    int i = PI * 2;
    printf("i=%d",i);
}

这里面的PI就是定义的常量,而输出结果会是7,而不是10,原因是常量会进行直接编入相当于 3 + 2 * 2

而下面定义的i就是变量,因为它是随着右边的式子变化的

5、浮点型数据

常量

表示浮点型常量的形式有两种,如下表,其中e代表10的幂次,幂次可正可负

小数形式0.123
指数形式3e-3(即0.003)

**注意:**字母e(或E)之前必须有数字,且e后面的指数必须为整数

变量

通过float来定义浮点型变量。占用4个字节空间

6、字符型数据

用单引号括起来的一个字符是字符型常量,且只能包含一个字符!

例如,‘a’、‘A’、"1、'是正确的字符型常量

而’abc’、“a”、""是错误的字符型常量

下表中给出了各种转义字符及其作用。以“\”开头的特殊字符称为转义字符,转义字符用来表示回车、退格等功能键

转义字符作用
\n换行
\b退格
\\反斜杠

字符型变量使用关键字 char 进行定义,一个字符型变量占用1字节大小的空间。一个字符常量存放到一个字符型变量中时,实际上并不是把该字符的字型放到内存中,而是把该字符的ASCII码值放到存储单元中,每个字符的ASCII码值详见附录A。打印字符型变量时,如果以字符形式打印,那么计算机会到 ASCII 码表中查找字符型变量的ASCII码值,查到对应的字符后会显示对应的字符存储(ASCI码)

7、字符串数据

字符串型常量是由一对双引号括起来的字符序列。例如,“How do you do.”、“CHINA”“a"和”$123.45"是合法的字符串型常量

我们可用语句

printf("How do you do.")  //输出一个字符串

但要注意的是,'a’是字符型常量,而"a"是字符串型常量,二者是不同的,

例如,如果先用语句 char c定义字符型变量 c,后令 c="a"或 c=“CHINA”,

那么这样的赋值都是非法的,原因是不可以将字符串型常量赋值给字符型变量.

C语言中没有定义字符串型变量的关键字,介绍字符数组时我们将详细讲解如何存放字符串。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1483979.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

我在代码随想录|写代码Day31 | 贪心算法总结篇 | 贪心终结一题

&#x1f525;博客介绍&#xff1a; 27dCnc &#x1f3a5;系列专栏&#xff1a; <<数据结构与算法>> << 算法入门>> << C项目>> &#x1f3a5; 当前专栏: << 算法入门>> 专题 : 数据结构帮助小白快速入门算法 &#x1f4…

对程序、进程、线程、并发、并行、高并发概念的讲解

一、概述 程序、进程、线程、并发、并行和高并发是计算机科学领域中非常重要的概念。 了解进程、线程、并发和并行的概念&#xff0c;可以更好地利用计算机的多核处理器和并行计算能力&#xff0c;提高计算机性能。 了解进程和线程为操作系统中的资源管理提供了基础&#xff…

VMwareWorkstation17.0搭建深度Deepin23Beta3系统虚拟机(完整安装步骤详细图文教程)

VMwareWorkstation17.0搭建深度Deepin23Beta3系统虚拟机&#xff08;完整安装步骤详细图文教程&#xff09; 一、Deepin23Beta3深度操作系统1. Deepin深度操作系统介绍2.Deepin官网3.Deepin深度操作系统的下载地址3.1 Deepin20.9深度操作系统3.1 Deepin V23 Beta3(Unstable)深度…

java项目打包运行报异常:xxxxx-1.0-SNAPSHOT.jar中没有主清单属性

pom.xml中加入这段话即可 <build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><version>2.4.4</version><executions><execution><…

Siamrpn++论文中文翻译(详细!)

SiamRPN: Evolution of Siamese Visual Tracking with Very Deep Networks SiamRPN&#xff1a;具有非常深度网络的Siamese视觉跟踪的进化 【siamrpn论文地址】 https://arxiv.org/abs/1812.11703 摘要 基于Siamese网络的跟踪器将跟踪表示为目标模板和搜索区域之间的卷积特征…

基于ssm疫情期间高校防控系统+vue论文

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;学生信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不能满足广大…

贪吃蛇(C语言)步骤讲解

一&#xff1a;文章大概 使用C语言在windows环境的控制台中模拟实现经典小游戏 实现基本功能&#xff1a; 1.贪吃蛇地图绘制 2.蛇吃食物的功能&#xff08;上&#xff0c;下&#xff0c;左&#xff0c;右方向控制蛇的动作&#xff09; 3.蛇撞墙死亡 4.计算得分 5.蛇身加…

【LeetCode:230. 二叉搜索树中第K小的元素 + 二叉树 + 递归】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…

YOLOv9:Learning What You Want to Learn Using Programmable Gradient Information

YOLOv9&#xff1a;Learning What You Want to Learn Using Programmable Gradient Information 摘要 今天的深度学习方法关注的是如何设计最合适的目标函数&#xff0c;使模型的预测结果最接近ground truth的真实情况。同时&#xff0c;必须设计一个适当的体系结构&#xff…

CSS 【详解】响应式布局(含 rem 详解)

响应式布局&#xff1a; 同一页面在不同的屏幕上有不同的布局&#xff0c;即一套代码自适应不同的屏幕。 为什么 rem 能用于实现响应式布局&#xff1f; px 绝对长度单位&#xff0c;不同客户端表现都相同&#xff0c;不具有响应式em 相对长度单位&#xff0c;相对于父元素的 f…

【博图TIA-Api】通过Excel自动新建文件夹和导入FB块

【博图TIA-Api】通过Excel自动新建文件夹和导入FB块 说明思路准备获取Excel表格内文件名和FB块名等信息新建文件夹部分筛分获取的文件夹数据&#xff0c;去掉重复内容创建文件夹 导入FB块导出FB块的xml文件查找需要放置的文件夹导入块 说明 续上一篇文章&#xff0c;这次是根据…

Python爬虫——Urllib库-3

目录 ajax的get请求 获取豆瓣电影第一页的数据并保存到本地 获取豆瓣电影前十页的数据 ajax的post请求 总结 ajax的get请求 获取豆瓣电影第一页的数据并保存到本地 首先可以在浏览器找到发送数据的接口 那么我们的url就可以在header中找到了 再加上UA这个header 进行请…

【Easyx】easyx从入门到精通 — 初步入门

easyx 初步入门 1 安装easyx图形库2 如何使用Easyx3 效果初试4 基本图形绘制4.1 绘制点4.2 绘制直线4.3 绘制圆形4.4 绘制矩形4.5 绘制椭圆4.6 绘制圆角矩形4.7 绘制扇形 Thanks♪(&#xff65;ω&#xff65;)&#xff89;谢谢阅读&#xff01;&#xff01;&#xff01;下一篇…

mTSL: netty单向/双向TLS连接

创建证书 不管是单向tls还是双向tls(mTLS)&#xff0c;都需要创建证书。 创建证书可以使用openssl或者keytool&#xff0c;openssl 参考 mTLS: openssl创建CA证书 单向/双向tls需要使用到的相关文件: 文件单向tls双向tlsServer端Client端备注ca.key----需要保管好&#xff0…

Linux高负载排查最佳实践

在Linux系统中&#xff0c;经常会因为负载过高导致各种性能问题。那么如何进行排查&#xff0c;其实是有迹可循&#xff0c;而且模式固定。 本次就来分享一下&#xff0c;CPU占用过高、磁盘IO占用过高的排查方法。 还是那句话&#xff0c;以最佳实践入手&#xff0c;真传一句话…

mysql 常用命令练习

管理表格从表中查询数据从多个表查询修改数据sql变量类型 管理表格 创建一个包含三列的新表 CREATE TABLE products (id INT,name VARCHAR(255) NOT NULL,price INT DEFAULT 0,PRIMARY KEY(id) // 自增 ); 从数据库中删除表 DROP TABLE product; 向表中添加新列 ALTER TAB…

使用Xftp连接CentOS 7进行文件的传输

一、查看虚拟机IP地址 在虚拟机中打开终端输入 ifconfig &#xff1a; 我的虚拟机IP为192.168.23.131 二、打开XFtp 7连接虚拟机 其余设置为默认&#xff0c;点击连接后输入你的用户名和密码&#xff1a; 输入密码后弹出如下界面表示连接成功~ 三、传输文件 传输文件只需用鼠…

【Linux杂货铺】调试工具gdb的使用

目录 &#x1f308;前言&#x1f308; &#x1f4c1;背景介绍 &#x1f4c1; 使用 list [行号] / [函数名] run/r break/b [行号] / [函数名] info break disable break enable break delete break [断点编号] next/n step/s continue/c finish print/p [变量…

Leetcode438. 找到字符串中所有字母异位词 -hot100

题目&#xff1a; 代码(首刷看解析 2024年3月2日&#xff09;&#xff1a; 感觉自己这个ac率根本不可能找得到实习 class Solution { public:vector<int> findAnagrams(string s, string p) {int plen p.size(), slen s.size();if (slen < plen) return {};vector…

LeetCode 热题 100 | 图论(一)

目录 1 200. 岛屿数量 2 994. 腐烂的橘子 2.1 智障遍历法 2.2 仿层序遍历法 菜鸟做题&#xff0c;语言是 C 1 200. 岛屿数量 解题思路&#xff1a; 遍历二维数组&#xff0c;寻找 “1”&#xff08;若找到则岛屿数量 1&#xff09;寻找与当前 “1” 直接或间接连接在…