蓝桥杯备赛 第一周 第五讲

第五讲 数组和指针

一维数组

1.写一个程序查询成绩

#include<stdio.h>
int student1 = 45;
int student2 = 56;
int student3 = 67;
int num;
int main()
{
printf("请输入学员的学号:");
scanf_s("%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;
default:
printf("您输入的成绩有误,请重新输入");
break;

}
    
return 0;

}

2.写一个程序,输入三名同学的成绩,输入完毕后可查询

#include<stdio.h>
int student1 ;
int student2 ;
int student3 ;
int num;
int main()
{
printf("请依次输入学员的成绩");
scanf_s("%d%d%d", &student1,&student2,&student3);
printf("请输入学员的学号:");
scanf_s("%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;
default:
printf("您输入的成绩有误,请重新输入");
break;

}
	
return 0;

}

3.数组

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

用数组写程序,乱序输入学号和成绩

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

多维数组

常量数组

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

字符串"hi"

字符’a

字符串是特殊的字符数组

字符串占位符%s

字符占位符%c

指针入门

地址与内容的对应

指针变量 用来储存地址的变量

形如int* a_p

例 a=1 那么 (假设为3)&a=3 即a_p=3 *a_p=1

先有int a 和空指针b;然后p被赋值为a的地址;然后*p是a储存的数值,则a被赋值为5,接着打印a