走进C语言的世界1(变量,常量,基本数据类型)

本文深入探讨了程序设计中的变量与常量概念,包括它们在内存中的存储方式,以及整型、实型、字符型等基本数据类型的详细分类。通过实例讲解了变量的使用和数据类型的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.变量与常量
在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。

可与数据类型结合起来分类。例如,整型变量,整型常量,浮点常量,浮点变量,字符常量,字符变量,枚举常量,枚举变量。在程序中,常量是可以不经说明而直接引用,而变量则必须先定义后使用。

例1:有一个长方体,长宽高已给出,通过给定的长宽高计算该长方体的体积。(常量)

#include<stdio.h>//头文件
#include<stdlib.h>
#define Height 10;//定义常量
int main()
{
	int Long = 10;//定义整型变量,表示长度;
	int Width = 5;//定义整型变量,表示宽度;
	int result;//定义整型变量,表示长方体的体积
	result = Long*Width*Height;//具体计算体积;
	printf("长方体的体积是:");//提示
	printf("%d\n", result);//输出体积大小
	system("pause");
	return 0;//返回值为0;
}

调试结果:
在这里插入图片描述
例2:输入三个数,按照从大到小的顺序输出(变量)

#include<stdio.h>
#include<stdlib.h>
int main()
{
	int a, b, c, t;//定义变量
	scanf_s("%d %d %d", &a, &b, &c);
	if (a < b)//a<b交换值,a>=b值不变;以下同理
	{
		t = a;a = b;b = t;
	}
	if (a < c)
	{
		t = a;a = c;c = t;
	}
	if (b < c)
	{
		t = b;b = c;c = t;
	}
	printf("%d>%d>%d", a, b, c);//输出交换过值后的a,b,c
	system("pause");
	return 0;
}

调试结果:
在这里插入图片描述
2.基本数据类型
在这里插入图片描述
补充:内存中的二进制存储,一个字节=8位
1.整型变量的分类
1) 基本型:类型说明符为int,在内存中占4个字节。
2) 短整型:类型说明符为short int 或short。所占字节和取值范围均与基本型相同。
3) 长整型:类型说明符为long int 或long, 在内存中占4个字节。
4) 无符号型:类型说明符为unsigned。
2.实型变量分为:单精度(float型),双精度(double型)和长双精度(long double型)三类。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.字符型
字符常量是用单引号括起来的一个字符;例如:‘a’,‘b’;
字符串常量是由一对双引号括起来的字符序列。例如:“CHINA”,“C program”;字符串常量占的内存字节数等于字符串中字节数加1.增加的字节中用来存放\0;(ASCII码为0)。这是字符串结束的标志。
例3:计算变量所占字节数。

#include<stdio.h>//标准输入/输出头文件
#include<stdlib.h>//系统调用头文件
int main()//主程序
{
	//对C语言内置类型的所占字节数的测试
	printf("size of char is:%d\n", sizeof(char));//检测字符型数据所占字节数
	printf("size of short is:%d\n", sizeof(short));//检测短整型数据所占字节数
	printf("size of int is:%d\n", sizeof(int));//检测整型数据所占字节数
	printf("size of short int is:%d\n", sizeof(short int));//检测短整型数据所占字节数
	printf("size of long int is:%d\n", sizeof(long int));//检测长整型数据所占字节数
	printf("size of float is:%d\n", sizeof(float));//检测浮点型数据所占字节数
	printf("size of double is:%d\n", sizeof(double));//检测双精度型数据所占字节数
	//对字符及字符串数组所占字节数的测量
	char a[] = { 'a', 'b', 'c', 'd', 'e' };
	printf("size of a[] is:%d\n", sizeof(a));//输出数组a所占字节数
	char b[] = "abcde";//初始化字符串b
	printf("size of b[] is:%d\n", sizeof(b));//输出字符串b所占字节数

	char c[][3] = { { 'a', 'b', 'c' }, { 'd', 'e', 'f' }, { 'g', 'h', 'i' }, { 'j', 'k', 'l' } };//初始化二维字符型数组
	printf("size of c[][] is:%d\n", sizeof(c));//输出
	printf("sizeof (c[0]) is:%d\n", sizeof(c[0]));//二维数组中某行所占字节数
	printf("sizeof (c[0][0]) is:%d\n", sizeof(c[0][0]));//二维数组中某个元素所占字节数

	//对指针所占字节数的测量
	char *p=0;//sizeof(p)=4
	printf("size of char *p is:%d\n", sizeof(p));//输出字符型指针所占字符数

	//对字符数组所占字节数的测量
	char d[][5] = { "abcc", "deff", "ghii", "jkll" };
	printf("size of d[0] is:%d\n", sizeof(d[0]));//输出某一行字符所占字节数
	printf("size of d[0][0] is:%d\n", sizeof(d[0][0]));//输出二维数组中某一元素所占字节数
	system("pause");
	return 0;
}

调试结果:
在这里插入图片描述
例4:大写换小写

#include<stdio.h>
#include<windows.h>
int main()
{
	char a[20];
	int i;
	for (i = 0; i <= 20; i++)
	{
		scanf_s("%c", &a[i]);
		if (a[i] >= 65 && a[i] <= 90)
		{
			printf("%c", a[i] + 32);
		}
		if (a[i] >= 97 && a[i] <= 122)
		{
			printf("%c", a[i]);
		}
		if (a[i]<65 || (a[i]>90 && a[i]<97) || a[i]>122)
		{
			printf("%c", a[i]);
		}
	}
	getchar();
	getchar();
	return 0;
}

调试结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值