0%

初识C语言(二)

文章时效性提示

本文发布于 529 天前,部分信息可能已经改变,请注意甄别。

字符串

字符串,由双引号引起来的一串字符,称为字符串字面值,或者简称字符串。

1
2
3
4
5
6
7
8
#include <stdio.h>
int main() {
    "abcdef";
    "hello";
    "";//空字符串
    //上面三个都是字符串。
    return 0;
}

"";代表空字符串

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

1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <string.h>
int main()
{
    char arr1[] = "abc";
    char arr2[] = {'a','b','c'};
    printf("%d\n",strlen(arr1));//strlen-string length-用于计算字符串长度
    printf("%d\n",strlen(arr2));
    return 0;
}
//输出结果是3和随机值

strlen就是string length的缩写,用于计算字符串长度。

arr1这个数列包括的内容就是a,b,c,\0,计算长度时,最后一个不计算,所以是字符串长度就是3。
arr2这个数列包括a,b,c,最后不是\0结尾。在计算长度时,一直找到\0为止,长度不确定是多少。

转义字符

转义字符-把原来的意思转变了。

1
2
3
4
5
#include <stdio.h>
int main() {
    printf("abc\n");//把\n的意思转变了,变成了换行。
    return 0;
}

printf("abc\n");这里转义字符\n就是把n的意思变成了换行。

1
2
3
4
5
6
7
#include <stdio.h>
int main(){
    printf("c:\test\32\test.c");
    //无法正常打印,因为\t是水平制表符,想要显示一个反斜杠,要输入\\,两个反斜杠
    printf("c:\\test\\32\\test.c");
    return 0;
}

上面的例子看出,想要显示一个反斜杠,需要输入两个反斜杠就可以正常显示。

循环语句

C语言实现循环的方式:while、for、do…while等

1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
int main() {
    int a = 0;
    while(a<20000)
    {
        printf("a=%d\n",a);
        a = a + 1;
    }
    if (a>=20000) {
        printf("a>=20000\n");
    }
    return 0;
}

while(a<20000){……}的意思就是当a小于20000时,一直执行括号里的内容,直到a不再小于20000。

自定义函数

自定义函数,就是自己设计的函数,可以简化代码,复用代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
//两数相加
#include <stdio.h>
int Add(int x,int y){
    int z = x + y;
    return z;
}
int main()
{
    int num1 = 10;
    int num2 = 20;
    int sum1 = 0;
    int sum2 = 0;
    int a = 100;
    int b = 200;
    sum1 = Add(num1,num2);
    sum2 = Add(a,b);
    printf("sum1 = %d\n",sum1);
    printf("sum2 = %d\n",sum2);
}

选择语句 if

1
2
3
4
5
6
7
8
9
10
11
12
#include <stdio.h>
int main() {
    int input = 0;
    printf("输入1或0:");
    scanf("%d",&input);
    if (input == 1) {
        printf("输入的数是1\n");
    } else {
        printf("输入的数是0\n");
    }
    return 0;
}

数组

数据就是一组相同类型元素的集合,数组的下标从0开始,依次递增1。
int arr[10]; 定义一个存放10个整数数字的数组。
char ch[20]; 定义一个存放20个字符的数组。
float fl[20]; 定义一个存放20个浮点数的数组。

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
int main() {
    int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个数组,最多放10个元素
    int i = 0;
    while (i<10) {
        printf("%d,",arr[i]);
        i = i + 1;
    }
    return 0;
}

上面的代码的功能是打印出arr这个数组的每个元素的内容。

常属性

const - 常属性,不能再更改数值

1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
int main() {
    const int num = 4;
    printf("%d\n",num);
    num = 8;//num不会等于8,因为num是常属性。
    printf("%d\n",num);
    const int n = 10;//n是变量,但是有常属性,所以我们说n是常变量,本质上是变量,使用常量时,不能用n。
    int arr[10] = {0};//arr里面不能写n,因为这里要写常量,n是变量。
    return 0;
}

const int n = 10; n是变量,但是有常属性,所以我们说n是常变量,本质上是变量,使用常量时,不能用n。

标识符常量

#define定义 标识符常量,例如#define MAX 10

1
2
3
4
5
6
7
8
#include <stdio.h>
#define MAX 10
int define()
{
    int arr[MAX] = {0};
    printf("%d\n",MAX);
    return 0;
}

枚举常量

枚举,一一列举,比如性别,三原色、星期几等。
枚举关键字:enum

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
enum Sex
{
    MALE,
    FEMALE,
    SECRET
};
//上面的三个就是枚举常量
int main()
{
    enum Sex s = FEMALE;
    printf("%d\n",MALE);//0
    printf("%d\n",FEMALE);//1
    printf("%d\n",SECRET);//2
    return 0;
}