第一周第五讲笔记

数组和指针入门

假设已经储存了3名学生的信息,学号为1,2,3试写一C代码来让用户输入学号查询对应学员成绩

#include<stdio.h>
int student1=60;
int student2=70;
int student3=100;
int num;
int main()
{
    printf("请输入学员的学号:");
    scanf("%d",&num);
    switch(num){
case 1:
    printf("学员1的成绩为%d",student1);
    break;
case 2:
        printf("学员2的成绩为%d",student2);
        break;  
case 3:
        printf("学员3的成绩为%d",student3);
        break;
    }   
    return 0;
}

假设需要顺序输入3名学生的成绩信息,学号为1.2.3.输入完成后支持查询成绩

#include<stdio.h>
int student1;
int student2;
int student3;
int num;
int main()
{
    printf("请输入学员1的成绩");
    scanf("%d",&student1);
    printf("请输入学员2的成绩");
    scanf("%d",&student2);
    printf("请输入学员3的成绩");
    scanf("%d",&student3);          
    printf("请输入学员的学号:");
    scanf("%d",&num);
    switch(num){
case 1:
    printf("学员1的成绩为%d",student1);
    break;
case 2:
        printf("学员2的成绩为%d",student2);
        break;  
case 3:
        printf("学员3的成绩为%d",student3);
        break;
    }   
    return 0;
}

一.一维数组

数组的声明和使用

数组格式:数组名+[数字下标]

int num[4]; 声明了一个长度为4的有符号整型数组

int num[4]={5,7,9,1};

int num[4]={0};

假设需要乱序输入10名学生的成绩信息,输入完成后支持学号查询信息

#include<stdio.h>
int num[3]={0};
int i,j;
int main()
{
    for(i=0;i<3;i++)
    {
        printf("该学员的学号为:");
        scanf("%d",&j);
        printf("该学员的成绩为:");
        scanf("%d",&num[j-1]);  
    }
    printf("请输入该学员的学号:");
    scanf("%d",&j);
    printf("%d学号的成绩为:%d",j,num[j-1]);
    return 0;
}

二.多维数组

int num5;

#include<stdio.h>
int num[3][3]={  {1,2,3},
                 {4,5,6}    
};
int main()
{
    printf("%d",num[1][1]);
    return 0;
}

常量数组:

const关键字 在代码运行过过程中不会被修改的值,节省内存

字符串 双引号"hello"

字符 单引号’a’

char string[3]={‘a’,‘b’,‘c’};

char string[]=“abc”;

字符串的占位符%s 字符%c

指针变量

#include<stdio.h>
​
int a=3;
int* p=NULL; 
​
int main()
{
​
p=&a;
*p=5;
    
    printf("%d",a);
    
    return 0;
}