说明一下吧:
这篇文章是用于c语言有目的的速成,有点基础的看一看也可以当复习,如果想要真正学好c语言,建议看一下之前写的详细教程,这篇文章会有很多对于考试没有多大帮助的东西被忽略掉。临近期末祝大家考试顺利。
我也会不断完善这篇文章的,欢迎各路大佬指正,给我提一提建议
目录
顺序结构基础
1.printf
2.scanf
分支结构
1.if-else语句
2.if-else的嵌套与缀连
3.switch-case分支
循环结构
1.while循环
2.do-while循环
3.for循环
函数
1.函数的介绍
2.math里的标准函数
数组
1.一维数组
2.二维数组
指针(简单了解即可)
字符串
1.字符串简介
2.字符串处理函数
结构类型
结构体
顺序结构基础
1.printf
printf就是打印,将printf里的语句在控制台上打印出来。
#include <stdio.h> int main(){ printf("Hello World!"); return 0; }
讯享网
这就是使用printf打印Hello World!的代码。
做几点说明:1.
讯享网#include <stdio.h> int main(){ //书写自己的代码 return 0; }
这是c语言前期学习的框架,代码写在有//的地方。
2.printf打印的内容要在“ ”中
3.最后别忘了语句的结尾需要;
2.scanf
scanf是c语言的输入语句,可以从键盘上获得数字或者是字符,然后进行后续运算。
(插曲:变量)
c语言中对于变量定义要求相当严格:
主要用到的就是以下几种,其他的我们暂时不需要使用
1.int(定义整型类型的变量,最常用的变量类型)输入输出时:%d
2.long long int(还是整形类型,但是包含整数的范围比int要大,一般计算阶乘等数据较大的程序中使用)输入输出时:%lld
3.double(双精度浮点数,精度高,用于定义小数)输入时%lf,输出时%f(默认为其为小数,如果有小数保留要求eg:保留两位小数:%.2f)
4.char(用于定义字符)
5.int *p(指针类型变量)
变量的定义格式:
变量类型 自定义变量名(一般来说只用字母即可)=...(可以进行变量初始化,也可以不进行);
scanf语句可以从键盘上输入变量的值(数字或者是字符)
下面是scanf的格式
讯享网//先定义一个整数a,在键盘上获得a的值 int a; scanf("%d",&a);
特别注意:变量输入之前的&一定不要拉掉!!!
练习:做一个加法计算机,计算a+b的值
input:2 3
output:2+3=5
答案
#include <stdio.h> int main(){ //先定义两个变量a和b int a,b; //从键盘上输入a,b的值 scanf("%d %d",&a,&b); //按要求进行输出 printf("%d+%d=%d",a,b,a+b); return 0; }

分支结构
简单了解分支结构:

1.if-else语句
讯享网if(所要判断的条件:条件判断为真或者是假){ //如果满足条件索要执行的语句 //注意:如果有多条满足条件要执行的语句, //一定要加上大括号 //如果仅有一条语句,可以不加大括号。 //这里建议初学者把大括号都加上。 }else{ //这里是不满足判断条件所执行的语句, //如果不需要,也可以省略。 //大括号用法同上。 }
(插曲:计算机运算符)
下面简单说一下if语句里的条件判断:

数学符号:小于号 计算机语言:<
小于等于 <=
大于号 >
大于等于 >=
等于 ==
这个等于初学者经常打成“=”一定要引起注意!!!!!
(插曲:逻辑运算)
逻辑运算符我们先了解常用的:
逻辑与&& 逻辑或|| 逻辑非
| 逻辑名 | 符号 | 运算 |
| 与 | && | 两侧任意一侧为假整个条件为假,前为假后面不再判断 |
| 或 | || | 两侧任意一侧为真整个条件为真,前为真后面不再判断 |
| 非 | ! | 对条件进行取反,非真为假,非假为真 |
特别注意:逻辑运算的结果只有0和1!
如:1+1==2计算结果为1
1*2==5&&1+1==2计算结果为0
1*2==5||1+1==2计算结果为1
!(1+1==2)计算结果为0
2.if-else的嵌套与缀连
嵌套:嵌套就是在if中在进行若干次判断,用分支图加强一下理解

嵌套的优化:可以用逻辑运算代替嵌套减少代码行数
缀连:在else后面跟上若干个if判断句
if(条件1){ }else if(条件2){ } else if(条件3){ } else{ }
小结练习:输入一个年份,判断是否为闰年。
答案:

讯享网#include <stdio.h> int main(){ int year; scanf("%d",&year); int shifou=0; if(year%4==0&&year%100!=0){ shifou=1; }else if(year%4==0&&year%100==0&&year%400==0){ shifou=1; } if(shifou==1){ printf("Yes"); } if(shifou==0){ printf("No"); } return 0; }
3.switch-case分支
基本格式
switch(n){ case 1: case 2: ... default: }
其中:n为整数或者是整数表达式,n是几,就执行case几。
另外,没有break的话,switch-case会一直执行至最底端,可以根据需要添加break语句
循环结构
循环前言:循环的道理很简单,熟练掌握循环还需要多做点练习,这一部分会多给出一点练习
1.while循环
基本格式:
讯享网while(循环继续的条件){ 每次循环所执行的语句 }
一个比较好的入门题:
对于EOF现有一个了解:
通常,题目会要求多组样例输入。对于多组样例输入,一般会是读到 EOF 结束。 EOF 的意思是 End Of File,表示读到文件尾,结束输入。 scanf 函数的返回值如果为 EOF 的话,就表示输入结束了。比如题目输入一个数,以 EOF 结束
这个题是循环输入多组数据,所以需要用EOF来结束,之后的相加,开一个while循环让i从1加到n即可。
#include <stdio.h> int main(){ int n; int i; while(scanf("%d",&n)!=EOF){ i=1; int ret=0; while(i<=n){ ret+=i; i++; } printf("%d\n",ret); } return 0; }
还不理解欢迎评论区询问。
2.do-while循环
讯享网do{ 每次循环所执行的条件 }while(循环继续条件)
do-while循环与while循环的区别:
do循环是先执行一次循环然后判断循环是否继续,while是先判断循环条件是否满足,然后在进行循环,也就是说do-while循环至少进行一次,while循环可能一次也不执行。
例题:判断一个整数是几位数
思路:每次循环让这个整数整除10撇掉最后一位,做一个计数器,每次循环让计数器++,循环继续的条件就是这个整数>0,因为考虑到这个数可能是0,所以用do-while循环。
#include <stdio.h> int main(){ int n; scanf("%d",&n); int count=0; do{ n/=10; count++; }while(n>0); printf("%d",count); return 0; }
3.for循环
for循环就是while循环的优化,每个for循环都可以写成while循环。
格式学会之后for循环也就理解的差不多了
讯享网for(循环开始时条件;循环继续的条件;每次循环必须做的事){ 每次循环执行的语句 }
一般来说会是这样:
for(i=0;i<n;i++){ }
上面这种形式是for循环最为常见的。
例题:

还是这个题,我们尝试把内层循环改为for循环:
讯享网#include <stdio.h> int main(){ int n; int i; while(scanf("%d",&n)!=EOF){ int ret=0; for(i=1;i<=n;i++){ ret+=i; } printf("%d\n",ret); } return 0; }
经典循环嵌套:
一般来说打印行列图形,外层循环控制的是行,内层控制的是列。
打印99乘法表:
#include <stdio.h> int main(){ for(int i=1;i<=9;i++){ for(int j=1;j<=i;j++){ printf("%d*%d=%d ",j,i,j*i); } printf("\n"); } return 0; }
辗转相除法可以参考:辗转相除法求最大公约数,这也是循环一个很经典的题
循环嵌套还可以自己练一下这个题:

另外许多oj上有循环的练习,这部分就是需要多练习。
上一题答案:
讯享网#include <stdio.h> int main(){ int n; scanf("%d",&n); int i,j,a,b; for(i=1;i<=n;i++){ for(j=1;j<=2*(n-i);j++){ printf(" "); } for(a=1;a<=i;a++){ printf("%d ",a); } for(b=i-1;b>0;b--){ printf("%d ",b); }printf("\n"); } return 0; }
函数
1.函数的介绍
2.math里的标准函数
数组
1.一维数组
2.二维数组
指针(简单了解即可)
字符串
1.字符串简介
2.字符串处理函数
结构类型
结构体



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/62571.html