初识C语言(常量,字符串,转义字符,if,while语句)

常量

字面常量

常量分为:字面常量,#defing定义的标识符常量,由const修饰的常变量,和枚举变量。

平时生活中的1,2,9,1000,圆周率等,这些补课修改的量就是字面常量。

由#define定义得到的 

#include <stdio.h>
#define NUMBER 5
int main()
{
	printf("%d", NUMBER);
	return 0;
}

在上面的代码中,NUMBER就是被#define定义的常量,此时用printf函数打印NUMBER的值就能看到,打印出来的是5.在用#define定义常量时,常量名一般全是大写字母,且放在头文件之后。

 由const修饰得到的常变量

​
#include <stdio.h>
int main()
{
	const int x = 5;
	printf("%d", x);
	return 0;
}

​

在上面代码中,x被const修饰,具有了常属性,但本质上还是一个变量,只是不能被修改。如x=10;这句语句是错误的,x不能再次赋值。但要记住x本质上还是一个变量。可以理解为x是变量但被const锁定了,无法修改。关于由const修饰的常变量本质上还是变量可以通过数组来判断。在定义数组时,数组[]内一定要放常量,而在定义数组时,如果将由const修饰的x放在方括号内,编译器会报错,由此可以的得出,由const定义的常变量,本质上还是常量。

枚举变量

#include <stdio.h>
enum animal { dog, pig, cat };
int main()
{
	printf("%d", dog);
	return 0;
}

代码中dog,cat,pig就是枚举变量,animal是枚举名。如果打印dog的值,会看到在屏幕上打印出0。应为我们没有给dog,cat,pig,赋值,所以会自动将第一个枚举变量赋值为0,然后依次增加,pig就被赋值为2,cat就被赋值为3。我们也可以对其中的枚举变量,任意赋值。

{ dog = 3, pig = 2, cat = 7 }这样就给他们赋值好了。{ dog, elephant, pig = 6, cat }这样赋值时,dog为0,elephant为1,cat为7。

字符串

"hello word!!!"这种由双引号引起的一串字符被称为字符串。

#include <stdio.h>
int main()
{
	char arr1[] = "word";
	char arr2[] = { 'w','o','r','d' };
	char arr3[] = { 'w','o','r','d','\0' };
	printf("%s\n", arr1);
	printf("%s\n", arr2);
	printf("%s\n", arr3);
	return 0;
}

程序运行结果如下

 至于为什么会出现这种结果,就要了解字符串的结束标志。字符串的结束标志为'\0'。在arr1中看似没有\0,但其实是被隐藏起来了。如果用sizeof计算arr1的大小就会得到5,word只有4个字符,那第五个就是被隐藏起来的\0。只有读取到\0,printf才会停止打印,arr2没有\0,所以读取完word后,会在内存中继续读取,知道读取到\0。用strlen函数可以计算字符串长度(strlen(arr1)),在计算字符串长度时,也是读取到\0,为结束标志。计算结果是不算\0的。

转义字符

转义字符顾名思义就是转变原来的意识。最早接触到的转移字符就是\n,\n的作用就是换行,像刚刚提到的\0也是一个转义字符。每种转义字符都有不同的作用,来看些其他转移字符

\'用于打印 '
\"用于打印 "
\a会使电脑发出蜂鸣
\dddddd表示1到3个八进制数
\xdddd表示两个十六进制数

printf("%s",''');这个写法是错误的,想要打印 ' ,因该写成printf("%s",'\'');。那么打印 " 也是同理。

每一个字符都可以在ASCII表中找到,在表中每一个字符都有一个自己的编号。

#include <stdio.h>
int main()
{
	printf("%c\n",'\60');
	printf("%c\n", '\x30');
	return 0;
}

 可以看到八进制的60和十六进制的30在ASCII表中对应的是字符'0'。

if语句

在生活中我们会有很多选择,在程序中也一样。如输入一个学生的分数,如果大于60,则输出及格,否则就输出不及格。

#include <stdio.h>
int main()
{
	int x = 0;
	scanf("%d", &x);
	if (x >= 60)
	{
		printf("及格\n");
	}
	else
	{
		printf("不及格\n");
	}
	return 0;
}

可以通过上面的代码看到if的用法。if后面怎么执行就看if后面的括号内的判断是否为真,为真就执行if后的{}内的程序,为假就执行else{}内的程序。这就是简单的选择语句

while语句

同样在生活中我们每天也都会重复做一些事,例如学习,睡觉。程序中实现循环的语句有while语句。

#include <stdio.h>
int main ()
{
	int n = 0;
	while (n < 100)
	{
		n=n+1;
	}
	printf("%d", n);
	return 0;
}

在上面程序中当n小于100时,n会重复进行n+1,直到n不小于100。{}内的语句被称为循环体,当while后面的()内判断为真时,就会一直循环,直到()内判断为假。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值