参考:C语言入门日记
作者:9art0
发布时间:2020-08-30 16:37:46
网址:https://blog.csdn.net/GatoWong/article/details/108307915?spm=1001.2014.3001.5501
1.1.C语言搭建及system函数
system函数启动程序。启动QQ(加\ 代表转义字符)、设置系统显示颜色、查看IP地址等。
1.2.C语言的基础框架解释
#include <stdio.h>
#include <stdlib.h>
int main() //main是程序的入口,操作系统启动一个程序,先找整个exe文件中main的位置
//main是函数名称,搭配()才算函数
{
printf("hello world");
system("pause"); //函数调用:System函数——运行Windows命令.
//pause指令:等待用户输入,造成程序再输入之前不会结束.
return 0; //int和return 0是配套的,int需要返回整数0.void则不需要返回任何东西.
}
1.3.C程序变量
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num1=10;//num1的房间里有一个人 (定义一个变量,必须先声明再使用)
int num2=2;//num2的房间里有一个人
int num3=0;//num3的房间里有零个人
num3 = num1 + num2;//此时,num3里的人数为num1和num2房间里所有人数的和
printf("num3=%d,输出完毕",num3);/*占位符:%d代表在输出的地方占一个坑,至于输出什么内容,
由逗号后面的变量名里的变量值说了算*/
system("pause");
return 0;
}
/*知识点
1.变量类型 变量名 变量值
int a = 10 ;
整数型 整数(初值)
2.定义一个变量,变量必须先声明再使用;
3.占位符:%d */
c语言变量名规则是:变量名可以是字母、数字和下划线的组合
1、变量名必须以英文字母开头;
2、变量名中的字母是区分大小写的;
3、变量名不能是关键字;
4、变量名中不能包含空格、标点符号和类型说明符。
(详情请访问)
1.4.C程序的输入输出
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num1,num2,num3;
printf("请输入两数个加数");
scanf("%d %d",&num1,&num2);/*
1.scanf双引号中除了占位符,尽量不要写任何其他的东西,否则输入时很有可能产生错误;
2.占位符知识代表从键盘输入了一个数,放在哪儿呢?——肯定跟变量名有关系。错误写法scanf(“%d”,num1);要取地址&;
3.输入scanf比输出printf多出了一个地址&的约束;
4.当连续输入多个变量时,尽量分开写;
5.逗号后面的顺序根据占位符编排,顺序不要出错。
*/
num3 = num1 + num2;
printf("结果:%d+%d=%d\n",num1,num2,num3);
system("pause");
return 0;
}
1.5.新手变成没有思路怎么搞
“用中文编程(写出步骤(算法))
#include <stdio.h>
#include <stdlib.h>
int main()
{
//0.变量声明
int a,b,c;
//1.提醒用户输入第一个加数
printf("请输入第一个加数");
//2.获取用户输入
scanf("%d",&a);
//3.提醒用户输入第二个加数
printf("请输入第二个加数");
//4.获取用户输入
scanf("%d",&b);
//5.计算
c=a+b;
//6.输出结果
printf("结果:%d+%d=%d",a,b,c);
return 0;
}
1.6.选择语句之if&else
#include <stdio.h>
#include <stdlib.h>
int main()
{
int num;
//1.提醒用户请输入一个数
printf("请输入一个数");
//2.获取用户输入
scanf("%d",&num);
//3.是否满足某条件
if(num>=100){ //满足条件进入该段
printf("可\n");
printf("值%d",num>=100); //逗号后条件改为判断语句,真输出1,假输出0
}
else{ //不满足条件进入该段
printf("抱歉");
printf("值%d",num>=100);
}
return 0;
总结:if(条件){语句块} else{语句块}
1.7.选择语句的嵌套
这里讨论了一个男女相亲的问题
#include <stdio.h>
#include <stdlib.h>
int main()
{
int rmb,house;
printf("请输入RMB数字:\n");
scanf("%d",&rmb);
printf("请输入HOUSE数字:\n");
scanf("%d",&house);
if(rmb>=100){ //你有100万吗?
if(house>=2){ //那好,你有两套房子吗?
printf("我可\n");
}
else{
if(rmb>=200){ //200万也可!
printf("我可");
}
else{
printf("抱歉\n");
}
}
}
//既然没有100万
else{
if(house>=3){ //其实三套房子也可以
printf("我可\n");
}
else{ //都没有那就算了
printf("抱歉");
}
}
return 0;
}
1.8.选择语句之成绩等级判断
#include <stdio.h>
#include <stdlib.h>
int main()
{
//0.变量声明
int score;
//1.提醒用户输入
printf("请输入成绩:");
//2.获取用户输入
scanf("%d",&score);
//3.判断
if(score>=90){
printf("成绩优秀");
}
else if(score>=75 && score<90){ //两个区间的并集用&&连接
printf("成绩良好");
}
else if(score>=60 && score<75){
printf("成绩合格");
}
else if(score<60){
printf("成绩不及格");
}
return 0;
}
1.9.多分支选择:switch&case&break&default
对比多个else if,switch在面对多个选择时就显得很可观。
总结:switch(对象)
{
case xxx:printf("xxx");
break;
case xxx:printf("xxx");
break;
default: //除去上面的情况
printf("xxx");
break;
}
#include <stdio.h>
#include <stdlib.h>
int main()
{
//0.变量声明
int score;
//1.提醒用户输入
printf("请输入学生成绩(0-100):");
//2.获取用户输入
scanf("%d",&score);
//3.判断
switch(score/10){ //在使用“/”符号是,注意数据类型,如果是整数型除以整数型,那么得到的结果依然是整数型
//case可以连着写
case 0:
case 1:
case 2:
case 3:
case 4:
case 5:
printf("您的成绩不合格");
break;
case 6:
case 7:
printf("您的成绩中等");
break;
case 8:
printf("您的成绩良好");
break;
case 9:
case 10:
printf("您的成绩优秀");
break;
default:
printf("请输入0-100以内的数字");
break;
}
return 0;
}
1.10.循环控制语句之while
总结:whlie(条件){语句块}
#include <stdio.h>
#include <stdlib.h>
int main()
{
//0.变量声明
int score,cishu=0;
while(1){ //当while括号里的条件为真时执行{}中内容
cishu=cishu+1;
//1.提醒用户输入
printf("请输入第%d次成绩:",cishu);
//2.获取用户输入
scanf("%d",&score);
//3.判断
if(score>=90){
printf("成绩优秀\n");
}
else if(score>=75 && score<90){
printf("成绩良好\n");
}
else if(score>=60 && score<75){
printf("成绩合格\n");
}
else if(score<60){
printf("成绩不及格\n");
}
if(cishu==3){ //循环终止的条件
break; //break用来跳出循环
}
}
system("pause");
return 0;
}
1.11.循环控制语句之for
总结:for(初始条件;约束条件;变化条件){语句块} //强调分号;满足约束条件进入循环;与while相比无需break即可跳出循环。
如:for(cishu=0;cishu<=10;cishu++){语句块}
#include <stdio.h>
#include <stdlib.h>
int main()
{
//0.变量声明
int score,cishu;
for(cishu=1;cishu<=3;cishu++){ //当while括号里的条件为真时执行{}中内容
//1.提醒用户输入
printf("请输入第%d次成绩:",cishu);
//2.获取用户输入
scanf("%d",&score);
//3.判断
if(score>=90){
printf("成绩优秀\n");
}
else if(score>=75 && score<90){
printf("成绩良好\n");
}
else if(score>=60 && score<75){
printf("成绩合格\n");
}
else if(score<60){
printf("成绩不及格\n");
}
}
system("pause");
return 0;
}
1.12.do…while的补充
总结:先do后while
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i=0;
do{
i++;
printf("666\n");
if(i==3){
break; //跳出while循环
}
}
while(1); //先do后while
return 0;
}