如果有理解不对的地方希望看到本文章同志们能够指正
#define _CRT_SECURE_NO_WARNINGS
//指针
#include <stdio.h>
//int main()
//{
// int a = 10;
// printf("a=%d\n", a);//32位平台上,指针大小为4个字节,64位平台上,指针大小为64个字节;
// char ch='f';
//
//
// int* pi = &a; //pi是用来存放地址的;在c语言中交指针变量;
// char* pc = &ch;//*说明pi是指针变量;int,char是定义pi指向的数据类型;
//
// printf("%p\n", &a); //%p是专门用来打印的
// printf("%p\n", &ch);
//
// *pi = 20; //*:解引用操作;pi已经被定义了为变量a的地址,通过a的地址找到a,间接改变a,所以*pi代表的就是变量a,所以可以使用*pi对变量a进行重新赋值;
//
// printf("a=%d\n", a); //此时变量a打印出来变味了20;
//
// return 0;
//}
//结构体 结构体可以让C语言创建新的类型出来;
//创建一个学生类型
//struct student
//{
// char name[20];
// int age;
// float score;
//};
//int main()
//{
// struct student s = { "zhangsan\0",20,85.5 }; //结构体的创建和初始化
// printf("%s %d %f\n", s.name, s.age, s.score); //打印结构体变量
// return 0;
//}
//创建一个书的类型
//struct book
//{
// char name[3];
// int cubanrqi;
// int id;
//};
//C语言是结构化的程序设计语言
// 顺序结构
// 选择结构
// 循环结构
//分支语句 c语言中,用;隔开的就是一个语句
//if 语句
//例1
//int main()
//{
// int age = 8;
// if (age >= 18)
// {
// printf("已成年\n");
// }
// else
// {
// printf("未成年\n");
// }
// return 0;
//}
//
//例2 学生成绩问题
//int main()
//{
// int score = 0;
// scanf("%d", &score);
//
// if (score<=100 && score>=90)
// {
// printf("%d\n该学生成绩优秀\n", score);
// }
// else if (score<90 && score>=80)
// {
// printf("%d\n该学生成绩良好\n", score);
// }
// else if (score<80 && score>=60)
// {
// printf("%d\n该学生成绩及格\n", score);
// }
// else if (score<60 && score>=0)
// {
// printf("%d\n该学生成绩不及格\n", score);
// }
// else
// {
// printf("成绩输入错误");
//}
// return 0;
//}
//例3 判断奇偶数问题
//int main()
//{
// int a = 0;
// int b = 0;
// scanf("%d\n", &a);
// b = a % 2;
// if (b == 0)
// {
// printf("该数为偶数\n");
// }
// else
// {
// printf("该数为奇数\n");
// }
// return 0
// ;
//}
//例4 输出1-100中的奇数
//int main()
//{
// int a = 0;
// for (a = 1; a <= 100; a++)
// {
// if (a % 2 == 1)
// {
// printf("%d\n", a);
// }
// }
// return 0;
//}
//switch 语句 Switch语句的表达式是常量表达式,且必须是整形或者是枚举类型,不能匹配字符串;
//例1
//int main()
//{
// int day=0;
// scanf("%d", &day);
// switch (day)
// {
// case 1:
// printf("输入了1\n"); //case只要满足要求就可以执行,不存在顺序问题,所以case 1 也可以放在case 2 上面;
// break;
// case 2:
// printf("输入了2\n");
// break;
// case 3:
// printf("输入了3\n");
// break;
// case 4:
// printf("输入了4\n");
// break;
// default: //default由于输入条件错误
// printf("输入错误\n");
// break;
// }
// return 0;
//}
//例2
//int main()
//{
// int a = 0;
// scanf("%d", &a);
// switch (a) //switch()括号里面是几,就会在case几进去;
// {
// case 1: //break并不是一定要加,如果是多个条件指向同一结果,则不需要每个case后都要加break;
// case 2:
// case 3:
// case 4:
// case 5:
// printf("工作日\n");
// break;
// case 6:
// case 7:
// printf("休息日\n");
// break;
// default: //default由于输入条件错误
// printf("输入错误\n");
// break;
// }
// return 0;
//}
//循环语句
//while语句
//int main()
//{
// int a = 0;
// while (a <= 10)
// {
// printf("%d\n", a);
// a++;
// }
// return 0;
//}
//int main()
//{
// int a = 0;
// while (a <= 10)
// {
// if (a == 5) //while循环中,碰到满足if条件是,此段while程序将break所在位置结束
// break; //break用于永久的终止循环
// printf("%d\n", a);
// a++;
// }
// return 0;
//}
//int main()
//{
// int a = 0;
// while (a <= 10)
// {
// if (a == 5)
// continue; //contiune的作用是跳过本次循环contiune后面的代码,直接回判断部分,判断是否进行下一次循环;
// printf("%d\n", a);
// a++;
// }
// return 0;
//}
//getchar
//EOF(ending of file) 文件结束标志
//int main()
//{
// char ch = getchar(); //getchar 在 输入当中获取字符 运行后再调试框中输入a 会再获得的一个a
// //printf("%c\n", ch);
// putchar(ch);//输出一个字符
// return 0;
//}
//int main()
//{
// char ch = 0;
// while ((ch = getchar())!= EOF)//此段代码含义为getchar获取一个字符放入到ch变量当中,并且ch变量不等于EOF
// { //输入ctrl+z就等于给gtechar输入了一个EOF,终止本段程序
// putchar(ch);
// }
// return 0;
//}