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

一、数据类型的分类

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

二、整型类型

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

整型数据常见的存储空间和值的范围(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)
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值