栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C语言入门-学习笔记(4)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C语言入门-学习笔记(4)

文章主要记录C语言的学习笔记。 四、C语言的数据类型

C语言的数据类型主要包括四种类型:

1、基本类型:C语言的基本类型包括两种类型——整数类型和浮点类型。

2、void类型:void类型说明没有可用的值。

3、枚举类型:枚举类型是用来定义在程序中只能赋予其一定离散整数值的变量。

4、派生类型:派生类型包括:数组类型、结构体类型、共用体类型、指针类型和函数类型。

4.1 C语言基本数据类型

C语言的整数类型

下表列出了关于标准整数类型的存储大小和值范围的细节(不同操作系统位数的的存储大小有所区别):

类型存储大小值范围
char1 字节-128 到 127 或 0 到 255
unsigned char1 字节0 到 255
signed char1 字节-128 到 127
int2 或 4 字节-32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int2 或 4 字节0 到 65,535 或 0 到 4,294,967,295
short2 字节-32,768 到 32,767
unsigned short2 字节0 到 65,535
long4 字节-2,147,483,648 到 2,147,483,647
unsigned long4 字节0 到 4,294,967,295

我们可以使用 sizeof (type) 运算符来得到对象或类型的存储字节大小。

实例:获取不同类型的存储字节大小。

#include
#include
int main(void)
{
	int A = 18;
	printf("char 存储大小 : %lu n", sizeof(char));
	printf("unsigned char 存储大小 : %lu n", sizeof(unsigned char));
	printf("signed char 存储大小 : %lu n", sizeof(signed char));
	printf("int 存储大小 : %lu n", sizeof(int));
	printf("unsigned int 存储大小 : %lu n", sizeof(unsigned int));
	printf("short 存储大小 : %lu n", sizeof(short));
	printf("unsigned short 存储大小 : %lu n", sizeof(unsigned short));
	printf("long 存储大小 : %lu n", sizeof(long));
	printf("unsigned long 存储大小 : %lu n", sizeof(unsigned long));
	return 0;
}

C语言的浮点类型

下表列出了关于标准浮点类型的存储大小、值范围和精度的细节:

类型存储大小值范围精度
float4 字节1.2E-38 到 3.4E+386 位有效位
double8 字节2.3E-308 到 1.7E+30815 位有效位
long double16 字节3.4E-4932 到 1.1E+493219 位有效位

C语言的void类型

void 类型指定没有可用的值。它通常用于以下三种情况下:

序号类型与描述
1函数返回为空
C 中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的返回类型为空。例如 void exit (int status);
2函数参数为空
C 中有各种函数不接受任何参数。不带参数的函数可以接受一个 void。例如 int rand(void);
3指针指向 void
类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数 void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。

C语言的枚举类型

枚举类型的定义:

 enum 枚举名 {枚举元素1,枚举元素2,……}枚举变量;

 enum 枚举名 {枚举元素1,枚举元素2,……};

 enum {枚举元素1,枚举元素2,……}枚举变量;

也可以使用关键字typedef为该枚举类型自定义一个新的类型名字

typedef  enum{枚举元素1,枚举元素2,……}自定义枚举名;

注:枚举元素之间以逗号的方式隔开。

实例:定义一个枚举类型来表示球的射门方向,在switch语句中来判断是否进球成功。

#include
#include
int main(void)
{
	typedef enum 														
	{
		LEFT = 0,
		MID = 1,
		RIGHT = 2
	}GOAL_DIR;															//定义枚举类型GOAL_DIR
	GOAL_DIR goal_dir;													//定义枚举变量goal_dir	

	while(1)
	{
		int defend_dir = rand() % 3;									//生成一个0-2的随机数
		printf("请选择你的射门方向0:左,1:中间,2:右边n");
		scanf("%u", &goal_dir);
		switch (goal_dir)
		{
		case LEFT:
			printf("你的射门方向是左边n");
			if (goal_dir == defend_dir)
			{
				printf("Yesn");
			}
			else
			{
				printf("Non");
			}
			break;
		case MID:
			printf("你的射门方向是中间n");
			if (goal_dir == defend_dir)
			{
				printf("Yesn");
			}
			else
			{
				printf("Non");
			}
			break;
		case RIGHT:
			printf("你的射门方向是右边n");
			if (goal_dir == defend_dir)
			{
				printf("Yesn");
			}
			else
			{
				printf("Non");
			}
			break;
		default:
			break;
		}

		printf("%dn", defend_dir);
	}

	return 0;
}				

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/853499.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号