目录
1. ?:语句可以用来代替if else语句
使用方法 (表达式1)?(表达式2):(表达式3)
例:max=a>b?a:b (a与b比大小,如果(if)表达式为真输出a,否则(else)输出b
2.scanf和getchar的区别:
scanf会跳过空格,制表符,换行符。getchar只有回车时才结束。所以需要输入空格,制表符,换行符时可以使用getchar,不能使用scanf
3.gets和getchar的区别:
例如abcd abab,gets函数认为是输入了(abcd abab)这一字符串,getchar认为输入了(abcd)(abab)这两个字符串,且gets不需要一个一个字符输入,直接输入一个字符串,getchar是单个字符输入,且回车会被视为一个字符,而gets不会。
4.printf和puts的区别:
printf可输出的类型多,而puts只能输出字符串
5.puts和putchar的区:
puts输出字符串且换行,putchar输出字符且光标自动右移一个字符位
6.结构体:
1.结构体的结构
struct结构名 {
结构体包含的变量或数组
};
struct stu
{
char name[];
int num; //学号
int age;
char group;
float score;
};//注意分号
//结构体变量
//第一种
struct student
{
//结构体包含的变量
};
struct student stu1,stu2;
//第二种,注意分号位置
struct student
{
//结构体包含的变量
}stu1,stu2;
//第三种
struct
{
//结构体包含的变量
}stu1,stu2;
2.结构体初始化:
struct结构名 {
结构体包含的变量或数组
}结构体变量={//根据结构体包含的东西进行一次初始化};
struct student
{
char* a ;
char* b ;
int c ;
}stu1={"编程","ABC",123};
//或者
stu1.a="编程";
stu1.b="ABC";
stu1.c=123;
//如何打印?
printf("%s""%s""%d",stu1.a,stu1.b,stu1.c};
3.结构体数组
struct student
{
//变量
}class[3]={//第一个人的信息初始化},{//第二个人的信息初始化},{//第三个人的信息初始化};//班上有3人,也可以不给数组长度
4.指向结构的指针 :struct 结构体名 *指针名
例如 struct student* stu;
stu=&stu1;
stu->age;//使为了使指针指向结构体成 员 要用->
struct student {
//变量
}stu1={//初始化};
struct student*p=&stu1;//把stu1的地址存入结构体指针p中
struct student {
//变量
}stu1={//初始化},*p=&stu1;//把stu1的地址存入结构体指针p中;
//两种方法
!!与数组不同,结构体要加&
4.获取结构体成员
(*p).a ;或p->a;
7.rand(函数)
rand()%100为输出0~99的随机数,使用时用头文件<stdlib.h>
srand((unsingned int )time(NULL))利用系统时间来刷新每一次的随机数,需要头文件<time.h>