在上篇文章中我们说到了变量,在这篇文章中我们将从常量讲起:

1.常量

c语言的常量有以下几种:

  • 字面常量
30;字面常量即直接写出来的常量
  • const修饰的常变量
#include<stdio.h>

#int main()
{
const int n = 10;
return 0;
}

值得注意的是,const修饰的本质是变量,但他不能被修改,具有常量属性,所以由

const定义的常量不能用于数组的定义中

  • 由#define定义的标识符常量
#include<stdio.h>
#define MAX 100
int main()
{
int arr[MAX] = {};
}

由define定义的常量中 MAX称之为标识,无类型(全局变量有类型)

  • 枚举常量
#include<stdio.h>
enum Sex
{
MALE,
FEMALE,
SECRET
};
int main()
{
enum Sex a = MALE;
}

由enum定义的常量称为枚举常量,例如上面的MALE,FEMALE,SECRET为enum定义的常量未来可能的取值,但其不能更改

2.字符串+转义字符

2.1 字符串

在c语言中没有字符串类型,我们将由双引号引起来的一串字符称为字符串正面值,或者简称字符串

"hello "

注:字符串结束的标志是\0的转义字符(通常在程序执行的过程中会自行在字符串结束位置补上/0).在计算字符串长度的时候\0是结束的标志,不算作字符串的内容

#include<stdio.h>

int main()
{
char arr1[] = "her";
char arr2[] = {'h','e','r'};
char arr3[] = {'h','e','r','\0'};
printf("%s\n",arr1);
printf("%s\n",arr2);
printf("%s\n",arr3);
return 0;
}

C语言学习_2(初阶)_数组

如果在字符串中不加\0结束的标志,如arr2[]所示,就会继续随机寻找字符不会结束,直到找到\0为止

#include<stdio.h>
#include<string.h>
int main()
{
char arr1[] = "her";
char arr2[] = {'h','e','r'};
char arr3[] = {'h','e','r','\0'};
printf("%s\n",arr1);
printf("%s\n",arr2);
printf("%s\n",arr3);
printf("%d\n",strlen(arr1));//strlen()为求字符串长度的库函数,应包含头文件string.h
printf("%d\n",strlen(arr2));//strlen(arr2)所得到的值是一个随机值,因为没有结束的标志
printf("%d\n",strlen(arr3));
return 0;
}

C语言学习_2(初阶)_字符串_02

2.2 转义字符

常见的转义字符有:

\?

书写多个问号时使用,防治被解析成三字母词

\'

表示字符常量'

\"

用于表示字符串内部的一个双引号

\\

防止他被解释为一个转义序列符

\a

警告字符,蜂鸣

\b

退格符

\f

进纸符

\n

换行

\r

回车

\t  

水平制表符

\ddd

ddd表示1~3个八进制数字. 如\130 X

\xdd

dd表示2个十六进制数字. 如\x30 0

\130为把八进制的130转化为十进制的88,在ASCLL表中对应的为字符X

C语言学习_2(初阶)_数组_03

\x30 同理

#include<stdio.h>
#include<string.h>
int main()
{
printf("%d\n",strlen("abcdef"));6 \0不算在内
printf("%d\n",strlen("c:\test\628\test.c"));14 因为\t \62 被转义了
return 0;
}

输出类型的表示:

%d

整型

%c

字符型

%s

字符串

%f

float型

%if

double型

%zu

sizeof返回值


3.选择语句

c语言中的选择语句有:if...else...和switch...case...语句

#include<stdio.h>
#include<string.h>
int main()
{
int stu = 0;
printf("是否选择香香鸡(yes = 1 or no = 2)\n");
scanf("%d", &stu);
if (stu == 1)
{
printf("正确的选择!");
}
else
{
printf("why?!!!");
}
return 0;
}

C语言学习_2(初阶)_字符串_04

4.循环语句

c语言中的循环语句有:

  • while
  • for
  • do...while
#include<stdio.h>
#include<string.h>
int main()
{
printf("表白\n");
int i = 0;
while(i<=99)
{
i++;
printf("我爱你!\n");
}
if(i>=99)
printf("在一起!\n");
return 0;
}

C语言学习_2(初阶)_字符串_05

5.函数

函数的特点就是简化代码,重复利用

我们以最简单的加法为例:

int Add(int x,int y)
{
int z = x+y;
return z;
}

我们可以通过上述代码在主函数中的调用,重复利用,而不是重新写一个加法算术表达式

C语言学习_2(初阶)_字符串_06

6.数组

数组:一组相同类型元素的集合

数组的定义:

int arr[10] = {1,2,3,4,5,6,7,8,9,0};

下标:数组的下标从0开始

arr[10]

1

2

3

4

5

6

7

8

9

下标

0

1

2

3

4

5

6

7

8