首页 > 编程语言 >C程序设计(安徽专升本3.2基本数据类型)

C程序设计(安徽专升本3.2基本数据类型)

时间:2024-08-14 19:24:37浏览次数:17  
标签:字符 字节数 int 数据类型 long 3.2 专升本 printf 类型

一、数据类型的分类

 在本章节我们之讲解基础的数据类型,因为后续的数据类型将会单独对此讲解,常考的为基本数据类型,数组,函数,指针这几种类型!其它类型作为了解,认识即可

二、整型类型

此处对整数类型的讲解排除字符型和布尔型,它们单独拉出讲解,且我不喜欢废话讲解,我直接列表加代码讲解!因为这东西概念都是死的,只有认识后在你们多次练习刷题中才能汲取到使用的经验,因为光靠文字是理解不完的!

整型数据常见的存储空间和值的范围(Visual中)
类型字节数取值范围
[signed] int(signed为默认有符号数,后续没写代表默认前面有)主要我打字手疼,钓鱼被鱼钓了4-2³¹~2³¹-1
unsigned int(usgned写在类型前为无符号数)40~2³²-1
short [int]2-2¹⁵~2¹⁵-1
unsigned short [int]2 0~2¹⁶-1
long [int]4-2³¹~2³¹-1
unsigned long [int]40~2³²-1
long long [int]8-2⁶³~2⁶³-1
unsigend long long [int]80~2⁶⁴-1

  

#include <stdio.h>
int main() {
	//输出不同类型在内存中所占空间的大小
	printf("char类型字节数:%zu\n", sizeof(char));
	printf("short类型字节数:%zu\n", sizeof(short));
	printf("int类型字节数:%zu\n", sizeof(int));
	printf("long类型字节数:%zu\n", sizeof(long));
	printf("long long类型字节数:%zu\n", sizeof(long long));
	printf("float类型字节数:%zu\n", sizeof(float));
	printf("doubel类型字节数:%zu\n", sizeof(double));
	//sizeof()是一个编译时运算符,用于计算对象或类型所占用的内存空间大小,单位是字节(byte)
	//使用 %zu 可以确保 printf 能够正确处理 size_t 类型的值。
	long int a; //这就是在long [int]前的[int]可以存在也可以不存在
	printf("%zu", sizeof(a));
	/*
	在 C 语言中,long int 和 long 在大多数情况下是相同的,它们都表示长整型。
	然而,在一些特定的编译器和平台上,可能会有细微的差别。
	通常,long 至少是 32 位,而 long int 明确地指定了这是一个长整型整数。
	*/
	return 0;
}

三、字符型数据

  • 定义:字符变量使用类型符char定义字符变量。它也可以使用signed和unsigned修饰符表示符号属性;用于表示单个字符
字符型数据的春初空间和值的范围
类型字节数取值范围
signed char1-2⁷~2⁷-1
unsigned char10~2⁸-1
#include <stdio.h>
int main() {
	char n = 'p';  //单引号定义的是一个单个的字符
	printf("%d\t%c",n,n); //%d将n对应的字符转化为对应的ascll码
    char str[]="A"; //双引号定义的是一个数组
	return 0;
}
  1. 单引号括住的是单个字符,双引号括住的是一个字符序列(字符串)。

  2. 存储方式不同:单个字符在内存中只占用一个字节来存储其 ASCII 值;而字符串除了存储字符本身,还需要额外存储一个结束标志 '\0' 。

数组在后面细讲,此处只做个区别介绍!要赋值单个字符切记使用单引号

四、浮点型数据

  • 浮点型数据是用来表示具有小数点的实数的
实型数据的有关情况
类型字节数有效数数值范围
float(单精度)460以及1.2x10⁻³⁸~3.4x10³⁸
double(双精度)8150以及2.3x10⁻³⁰⁸~1.7x10³⁰⁸
long double(长双精度)8150以及2.3x10⁻³⁰⁸~1.7x10³⁰⁸

注:浮点类型它是没有无符号和有符号即unsigned和signed

	float aa = 2.1234567;
	double bb = 1.1234567;
	printf("%.15f\t%.15f\n",aa,bb);

五、布尔类型

  • 在C语言中并没有内置的布尔类型,在整型中0就是false,非0就是true(在循环,分支章节详解);
  • 或使用#include <stdbool.h>文件中的内置布尔类型,true就是真,false就是假
#include <stdio.h>
#include <stdbool.h> //调用bool类型的文件
main(){
 bool t=true;  //布尔类型中true表示整型1
 bool f=false; //布尔类型中false表示整型0
 printf("%d\t%d",t,f)
}

标签:字符,字节数,int,数据类型,long,3.2,专升本,printf,类型
From: https://blog.csdn.net/weixin_51263756/article/details/141183435

相关文章

  • 基本数据类型之间的转换
    自动类型转换(隐式转换)自动类型转换发生在从低级类型向高级类型转换时,不需要进行任何显式操作。Java中的基本数据类型按照精度从低到高的顺序是:byte、short、char(在运算中视为int)、int、long、float、double。转换规则如下:精度或可表示范围小的类型自动转换成精度或可表示范围大......
  • C语言---数据类型和变量
    1.数据类型介绍  C语⾔提供了丰富的数据类型来描述⽣活中的各种数据。使⽤整型类型来描述整数,使⽤字符类型来描述字符,使⽤浮点型类型来描述⼩数。所谓“类型”,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才知道怎么操作。2.内置类型1.字符型char  ......
  • MySQL数据库——数据库的数据类型(一)
    四、数据类型1.数据类型分类分类数据类型说明数值类型BIT(M)位类型。指定位数,默认值1,范围1-64TINYINT[UNSIGNED]带符号的范围-128127,无符号范围0255.默认有符号BOOL使用0和1表示真和假SMALLINT[UNSIGNED]带符号是-2^15次方到2^15-1,无符号是2^16-1IN......
  • 数据类型
    数据类型强类型语言:要求变量的使用严格符合规定,所有变量必须先定义后才能使用。弱类型语言:要求变量的使用符合规定。JSJava的数据类型分为两大类基本类型数值类boolean类:true和false占一位引用类型类、接口、数组1B(byte、字节)=8bit(位)publicclassDemo3{pu......
  • 数据类型的转换
    目录导言一、隐式类型转换1.整型隐式类型转换2.浮点型隐式类型转换3.字符型隐式类型转换4.布尔型隐式类型转换二、显式类型转换1.整型显式类型转换2.引用数据类型显式类型转换父类和子类之间的转换接口和实现类之间的转换三、类型转换的注意事项1.数据溢出和精度丢失2.强......
  • JavaScript数据类型
    JavaScript共有8种数据类型,可以分为两类:基本数据类型和复杂数据类型。1.基本数据类型(PrimitiveTypes)这些数据类型是不可变的,意味着一旦创建了它们的值,就无法更改。Number:用于表示整数和浮点数。例如:42,3.14,-7BigInt:用于表示任意精度的大整数。例如:1234567890123456......
  • Android跨平台开发之Dart 3.5 与 Flutter 3.24:革新跨平台应用开发
    本文首发于公众号“AntDream”,欢迎微信搜索“AntDream”或扫描文章底部二维码关注,和我一起每天进步一点点Dart3.5与Flutter3.24:革新跨平台应用开发在软件开发领域,跨平台开发框架层出不穷,但鲜有能像Flutter这样在短时间内迅速崛起,获得广泛的认可和应用。随着Dart......
  • 【数据分析---- Pandas进阶指南:核心计算方法、缺失值处理及数据类型管理】
    前言:......
  • R 语言学习教程,从入门到精通,R 数据类型(6)
    1、R数据类型数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。R语言中的最基本数据类型主要有三种:数字逻辑文本数字常量主要有两种:逻辑类型在许多其他编程语言中常称为布尔型(Boolea......
  • MySQL 数据类型详解
    MySQL是一种广泛使用的关系型数据库管理系统,它支持多种数据类型以满足各种应用场景的需求。本文将详细介绍MySQL支持的数据类型、它们的使用场景以及实现原理,并通过图示帮助读者更直观地理解。目录简介数值类型整型浮点型定点型日期和时间类型字符串类型字符串二进制字......