c语言-数据类型(上)

发布时间:2024年01月15日

目录

一、数据类型

二、常量与变量

常量:

变量:

三、进制(八,十,十六)

十进制:

八进制:

十六进制:

四、基本类型

1.整型常量:

2.整型变量:

1)读写操作:

2)输出形式:

3.实型常量


一、数据类型

基本类型整型:int,short,long
字符型:char
实型(浮点型):float(单精度),double(双精度)
构造类型数组类型

数据

类型

结构类型:struct
联合类型:union
枚举类型:enum
指针类型char*,int*,int**

构造类型是由基本类型封装打包而成

二、常量与变量

常量:

1.运行过程中值不能被改变的量(但是不能反过来说,值不能改变的量是常量)

2.整型,字符型,字符串

3.一般出现在表达式或赋值语句的右边(赋值语句是右边的值赋值给左边)

a=100+b;
c=12.5;

变量:

1.系统根据变量类型分配内存空间,其值可以被改变

2.变量名称表示空间的内容(可以通过操作变量名操作空间)

3.命名规则:由字母,数字,下划线组成,不能以数字开头

4.c中全有小写字母组成,两个单词中间用_隔开(如num_value)

?? c++中第一个单词小写第二个单词首字母大写(如numValue)

三、进制(八,十,十六)

整型常量用进制区分:

十进制:

0~9组成,输出可以使用(%d,%u,%ld,%lu)

八进制:

0~7组成,输出可以用%o ? ?-> ? 可以使用%#o

十六进制:

0~9,a~f组成,输出可以使用%x ?-> ? 可以使用%#x

不同进制只是数据的表现形式,不会修改数据本身

使用%#o和%#x的目的是可以加上具有该进制特点的前缀便于区分

#include<stdio.h>
int main(int argc,char *argv[]){
 int num = 10;
 printf("十进制:num = %d\n",num);
 printf("八进制:num = %#o\n",num);
 printf("十六进制:num = %#x\n",num);
while(1);
return 0;
}

运行结果:

四、基本类型

c语言不支持二进制输入输出

1.整型常量:

按照三中进制划分可以有十进制,八进制,十六进制三种输出形式

2.整型变量:

分为有符号整型和无符号整型,其中整型又可以分为短整型,整型和长整型

1)读写操作:

注意:局部变量不初始化,内容随机,尽量初始化为0

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
    //int num;//局部变量若不初始化,内容随机,这样后面的printf输出的就是随机值了
	int data = 0;
	int num = 0;
	printf("num = %d\n",num);//读,取值
	
	num = 100;//写,赋值
	printf("num = %d\n",num);

	data = num;//对num是读,对data是写
	printf("data = %d\n",data);

	//获取键盘输入
	printf("请输入一个int型数据:");
	scanf("%d",&data);//&data表示data对应空间的起始地址
	printf("data = %d\n",data);

}

运行结果:

2)输出形式:

%d是有符号整型,%u是无符号整型

%ld是有符号long型,%lu是无符号longxing

%hd是有符号short型,%hu是无符号short型

适用于输出,也适用于输入

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
	int num1 = 0;
	printf("num1 = %d\n",num1);//%d是有符号整int型输出

	unsigned int num2 = 0;
	printf("num2 = %u\n",num2);//%u是无符号int型输出

	long num3 = 0;
	printf("num3 = %ld\n",num3);//%ld是有符号long型数据输出

	unsigned long num4 = 0;
	printf("num4 = =%lu\n",num4);//%lu是无符号long型数据输出

	short num5 = 0;
	printf("num5 = %hd\n",num5);//%hd是有符号short型数据输出

	unsigned short num6 = 0;
	printf("num6 = %hu\n",num6);//%hu是无符号short型数据的输出
}

3.实型常量

1)也被称为实数或者浮点数

2)有两种形式:十进制形式:数字加小数点

? ? ? ? ? ? ? ? ? ? ? ? 指数形式:123e3代表123*10的三次方

3)不以f结尾的默认是double型,以f结尾的是float型

4)%f是float型,%lf是double型

5)赋值语句等号两边类型尽量保持一致

如float a = 3.14就不太好,因为不加f是double型,等式左边是float右边是double

6)sizeof加变量不加(),加类型必须加(),但是为了统一,一般都加上

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(int argc, char* argv[]) {
	//赋值语句,=两边的类型尽量保持一致
	float a = 3.14f;//有f结尾的是float型
	double b = 3.14;//无f结尾的是double型

	printf("sizeof(3.14) = %d\n",sizeof(3.14));//double型,8
	printf("sizeof(3.14f) = %d\n",sizeof(3.14f));//float型,4

	printf("sizeof(b) = %d\n", sizeof(b));//同上
	printf("sizeof(a) = %d\n", sizeof(a));//同上

	printf("a = %f\n",a);//%f输出float型数据
	printf("b = %lf\n",b);//%lf输出double型数据

	scanf("%f",&a);
	scanf("%lf",&b);

}

运行结果:

文章来源:https://blog.csdn.net/m0_73885339/article/details/135182397
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。