C杂讲:常量与变量

目录

知识点1【常量与变量概念】

1、常量 值不能被修改 (千万不能反过来说:值不能修改就是常量)

2、变量 系统根据变量的类型 开辟对应的空间 其值可以被修改

 知识点2【整型变量的操作-读、写】取值、赋值

知识点3【实型 常量】

知识点4【字符常量和变量】(重要)

1、字符常量 char


知识点1【常量与变量概念】

1、常量 值不能修改 (千万不能反过来说:值不能修改就是常量)

10 20 4.14 ‘a’ "abcd"

2、变量 系统根据变量的类型 开辟对应的空间 其值可以被修改

变量名 代表的是 空间的内容 (重要)

操作变量 就是 对空间内容的操作

变量名的命名规则:由数值、字母、下划线组成但不能以数字开头。

A: num_1     B: _num1     C: 1_num     D: num

 知识点7【八进制 十进制 十六进制】

十进制:0~9

八进制:0~7

十六进制:0~9 a~f

八进制 十进制 十六进制 都是整型的输出形式。

不同进制 仅仅是数据的表现形式 不会修改数据本身(重要)

void test03()
{
	int num = 100;

	//十进制 输出 %d %u %ld  %lu
	printf("十进制:num=%d\n", num);//100
	//八进制 输出 %o   以0开头
	printf("八进制:num=%#o\n", num);//0144
	//十六进制 输出 %x  以0x开头
	printf("十六进制:num=%#x\n", num);//0x64

	//不同进制 仅仅是数据的表现形式 不会修改数据本身
}
int main(int argc,char *argv[])
{
	test03();

	return 0;
}

 知识点2【整型变量的操作-读、写】取值、赋值

void test04()
{
	//局部变量不初始化 内容随机
	//int num;
	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);

}

整形的输出形式

void test05()
{
	int num1 = 0;
	//%d 有符号int数据输出 
	printf("num1 = %d\n", num1);

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

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

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

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

unsigned short num6=0;

scanf("%hu",&num6);//输入

知识点3【实型 常量】

void test06()
{
	//赋值语句 = 两边的类型 尽量保证一致
	float f = 3.14f;//有没有问题
	double d = 3.14;

	//不以f结尾的 实型常量 为double类型
	printf("sizeof(3.14) =%d\n",sizeof(3.14));//8

	//以f结尾的 实型常量 为float类型
	printf("sizeof(3.14f) =%d\n",sizeof(3.14f));//4

	//%f 输出 float数据
	printf("f = %f\n",f);
	
	//%lf 输出 double数据
	printf("d = %lf\n", d);
	
	scanf("%f", &f);
	scanf("%lf", &d);
}

知识点4【字符常量和变量】(重要)

1、字符常量 char

void test07()
{
	//%c 输出的字符
	//printf("%c\n",'a');

	//字符变量
	//ch 存储的是 ‘a’的ASCII值
	char ch = 'a';
	printf("ch = %c\n",ch);
	//%d 输出的字符的ASCII值
	printf("ch = %d\n",ch);

	//'a' 单引号 表示的取 字符的ASCII
	//'a' == 97是完全等价
	ch = 97;
	printf("ch = %c\n",ch);
	//%d 输出的字符的ASCII值
	printf("ch = %d\n",ch);

	ch = ch+1;
	printf("ch = %c\n",ch);
	//%d 输出的字符的ASCII值
	printf("ch = %d\n",ch);

}
int main(int argc,char *argv[])
{
	test07();

	return 0;
}

总结:

1、'a' 单引号 表示取a的ASCII值

2、字符在计算机及存储的是ASCII

3、'a' ==97

void test08()
{
	char ch = 'a';
	printf("%d\n",sizeof('a'));//4字节
	printf("%d\n",sizeof(char));//1 字节 为啥?
}
int main(int argc,char *argv[])
{
	test08();

	return 0;
}

字符获取键盘输入:

void test09()
{
	char ch;
	printf("请输入一个字符:");
	//scanf中%c只能提取一个字符
	//scanf("%c", &ch);
	ch = getchar();//获取一个字符

	printf("ch = %c\n",ch);
	printf("ch = %d\n",ch);
}
int main(int argc,char *argv[])
{
	test09();

	return 0;
}

 案例:提高 键盘输入 “abc” 只取 'a'和‘c’

void test09()
{
	char ch1,ch2;
	printf("请输入abc:");
	
	//提取a
	ch1 = getchar();
	getchar();//丢弃一个字符
	ch2 = getchar();
	
	printf("ch1 = %c\n", ch1);
	printf("ch2 = %c\n", ch2);
}
int main(int argc,char *argv[])
{
	test09();

	return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值