一 结构体
struct 结构体关键字
#include<stdio.h>
struct Stu //结构体类型定义
{
char name[20];
int age;
char sex[10];
};
int main()
{
struct Stu zhangsan={"张三",30,"男"};
struct Stu lisi={"李四",24,"保密"};//创建结构体变量,并且初始化
printf("%s %d %s",zhangsan.name,zhangsan.age,zhangsan.sex);
printf("%s %d %s",lisi.name,lisi.age,lisi.sex);//打印结构体数据
return 0;
}
初始化时用{} 而不是()
用指针打印
struct Stu* p1=&lisi;
printf("%s %d %s\n",(*p1).name,(*p1).age,(*p1).sex);
printf("%s %d %s\n",p1->name,p1->age,p1->sex);
->是结构体成员访问操作符
结构体指针->结构体类型
二 分支语句
1 if语句
语句结构
if(表达式)
语句1;
else if(表达式)
语句2;
else
语句3;
#include<stdio.h>
int main()
{
int age=0;
scanf("%d",&age);
if(age>=18)
printf("成年\n");
else
printf("未成年\n");
return 0;
}
//输入年龄判断是否成年
if(age>=18&&age<40)//正确
if(18<=age<40) //错误
判断18<=age<40时,系统会先计算18<=age,符合为1,不符合为0,导致接下来计算age<40时计算1或0<40
如果要执行多个语句,要使用代码块
if(表达式)
{
语句1;
语句2:
}
else和最近的if匹配
2 switch语句
语法结构
switch(整型表达式)
{
case 整型常量表达式:
语句;
}
#include<stdio.h>
int main()
{
int day=0;
scanf("%d",&day);
switch(day)
{
case 1:
printf("星期一\n");
break;
case 2:
printf("星期二\n");
break;
case 3:
printf("星期三\n");
break;
case 4:
printf("星期四\n");
break;
case 5:
printf("星期五\n");
break;
case 6:
printf("星期六\n");
break;
case 7:
printf("星期日\n");
break;
}
return 0;
}
break 跳出switch语句
default 默认
switch语句中除case外规定的所有值都用default输出
default不一定要放在switch最后,可以放在任意位置,并不会影响结果