C语言-初识C语言(2)

3.5常量

在我们学习C语言的过程中,常量以及变量是非常重要的一个知识点。因为程序中出现的常量是要存放在计算机的储存单元中的,要确实它的字节大小,所以常量的类型也是有非常多的。C语言中常量和变量的定义也有所差异。

C语言中常量分为以下几种:

  • 字面常量
  • const修饰的常变量
  • #define定义的标识符常量
  • 枚举常量

下面用代码举例

#include <stdio.h>
//举例
enum Sex    //定义枚举类型
{
    MALE,
    FEMALE,
    SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
    //字面常量演示
    13.27;//字面常量
    999;//字面常量

    //const 修饰的常变量
    const float pai = 3.14f;   //这里的pai是const修饰的常变量
    pai = 5.14;//是不能直接修改的!

    //#define的标识符常量 演示
#define MAX 100
    printf("max = %d\n", MAX);

    //枚举常量演示
    printf("%d\n", MALE);
    printf("%d\n", FEMALE);
    printf("%d\n", SECRET);
    //注:枚举常量的默认是从0开始,依次向下递增1的
    return 0;
}

上面例子上的 pai 被称为 const 修饰的常变量, const 修饰的常变量在C语言中只是在语法层面限制了 变量 pai 不能直接被改变,但是 pai 本质上还是一个变量的,所以叫常变量。

4.字符串+转义字符+注释

4.1字符串

“hello word.\n”

这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符串。

注:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串 内容。

#include <stdio.h>
int main()
{
    char arr1[] = "bit";
    char arr2[] = { 'b', 'i', 't' };
    char arr3[] = { 'b', 'i', 't', '\0' };
    printf("%s\n", arr1);
    printf("%s\n", arr2);
    printf("%s\n", arr3);
    return 0;
}

运行结果

 注:用单引号引用字符来写字符串一定要加“\0”.上面的例子突出“\0”的重要性。

4.2转义字符

假如我们要在屏幕上打印一个字符串:“http\test\x03\n”

#include <stdio.h>
int main()
{
    printf("http\test\x03\n");
    return 0;
}

打印结果:

 为什么会出现这种情况呢,这就必须要了解转义字符。

字符集(Character Set)为每个字符分配了唯一的编号,我们不妨将它称为编码值。在C语言中,一个字符除了可以用它的实体(也就是真正的字符)表示,还可以用编码值表示。这种使用编码值来间接地表示字符的方式称为转义字符(Escape Character)。

转义字符以\或者\x开头,以\开头表示后跟八进制形式的编码值,以\x开头表示后跟十六进制形式的编码值。对于转义字符来说,只能使用八进制或者十六进制。

下面给出转义字符表

那我们要打印出一些特殊字符应该怎么做呢?

int main()
{
    printf("%c\n",'\'');      //打印出一个单引号
    printf("%s\n", "\"");     //打印出一个字符串,字符串内容为“\"”
    return 0;
}

运行结果为:

 小挑战:这个打印结果为什么呢?

 printf("%d\n", strlen("c:\test\628\test.c"));

提示:\62被解析成一个转义字符。

5.注释

为什么会有注释呢,说白了,就是让你以后维护或查看程序时候,知道这段代码是干什么用的包括以后就业,企业有注释规范,比如,一段程序百分之10-30都是注释,便于其他人员查看。还有很多规范,命名规范等等。

  • 代码中有不需要的代码可以直接删除,也可以注释掉。
  • 代码中有些代码比较难懂,可以加一下注释文字。

下面用代码举例

#include <stdio.h>
int Add(int x, int y)
{
    return x+y;
}
/*C语言风格注释
int Sub(int x, int y)
{
    return x-y;
}
*/
int main()
{
    //C++注释风格
    //int a = 10;
    //调用Add函数,完成加法
    printf("%d\n", Add(1, 2));
    return 0;
}

注释有两种风格:

  • C语言风格的注释 /*xxxxxx*/     

  缺陷:不能嵌套注释

  • C++风格的注释 //xxxxxxx

可以注释单行也可以注释多行

6.选择语句

在C语言中主要使用if–else;和switch case语句

if-else语句

基本形式是:

if(表达式) 语句1

else 语句2

下面用代码举例

#include<stdio.h>
int main()
{
int a;
scanf("%d",&a);     //输入一个数,如果这个数小于0,打印0;大于等于0,打印1
if(a<0)
printf("0");
else
printf("1");
}

if-else语句的嵌套

 下面用代码举例:

#include<stdio.h>
int main()
{
	int age = 0;
	scanf("%d", &age);
	if (age < 18)
		printf("未成年\n");
	else if (age >= 18 && age < 28)
		printf("青年\n");
	else if (age >= 28 && age < 45)
		printf("壮年\n");
	else if (age >= 45 && age < 70)
		printf("老年\n");
	else
		printf("长寿\n");
	return 0;
}

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

北冥有鱼-.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值