写在前面:
这是一个C语言初学者写的总结,不可避免出现许多差错,对知识点理解过于浅显、很多细节也没有写到,欢迎大家指正和补充,谢谢。
一、学习总结
距上次记录已经过去了45天,一个半月的时间,说实话,效率并不高。第一:自己没有自制力,不会合理利用时间。第二:独立思考能力差,作业完成效率慢。第三:家人总时不时打扰,打断学习节奏,把我带回断网的老家。
种种因素导致课程没有跟上,作业完成情况很差。
补救措施:①学会指定合理的学习计划;②加强用脑频率,学会独立思考;③减少与家人相处的时间,留给自己足够的独立空间.
二、内容介绍
C语言是一门结构化的程序设计语言。这里的结构包含三类:顺序结构、选择结构和循环结构。本篇讲的就是选择结构使用的 if语句、switc语句和循环结构使用的for语句、while语句、do while语句。
我将从语法形式、执行流程图和例题这三方面讲述。
三、内容详情
(一)选择结构
1、if语句
(1)语法形式
①if
if (表达式){
//若条件为真(非零),则执行此处代码
}
②if else
if(表达式1){
//若表达式1为真(非零),则执行此处代码
}
else if (表达式2){
//若表达式1为假 且 表达式2为真,则执行此处代码
}else{
//若所有条件都为假,则执行此处代码
}
拓展:悬空else问题(部分代码)
int a = 0;
int b = 0;
if (a == 2)
if (b == 2)
printf("hehe\n");
else
printf("haha\n");
打印结果为空。
如果有多个if和else,else总与最接近的if匹配。事实上,只要带上适当的大括号,代码逻辑就会更加清晰。
(2)执行流程图
(3)例题:输入一个整数,判断是否为奇数
例如:
输入:2 输出:2不是奇数
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int a = 0;//定义一个整数
//①输入一个整数
printf("请输入你想判断的整数:");
scanf("%d", &a);
//判断是否为奇数
if (a % 2 == 0) //=是赋值,==是判断是否相等
printf("%d不是奇数\n", a);
else
printf("%d是奇数\n", a);
return 0;
}
2、switch语句
(1)语法形式
switch (expression){ (expression)是一个整型/字符型表达式
case value1: valueN必须是一个整型/字符型变量
statement1;
break;
case value2:
statement2;
break;
...
case valueN:
statementN;
break;
default: //所有case都不匹配
statementN+1;
}
(2)执行流程图(取自浏览器)
(3)例题:输入数字(1~7),打印对应星期几
例如:
输入:1 输出:今天是星期一
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main() {
int day;
printf("请输入:");
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;
}
(二)循环结构
1、for语句
(1)语法形式
for(表达式1;表达式2;表达式3)
语句;//如果循环体想包含更多的语句,可以加上大括号
表达式1:初始化 表达式2:判断条件 表达式3:调整 这三个条件可以不写
(2)执行流程图
(3)例题:找出100~200之间的素数并打印在屏幕上
#include <stdio.h>
int main() {
int a;
for (a = 100; a <= 200; a++){
int b = 0;
int flag = 1;
for (b = 2; b <= a - 1; b++) {
if (b % a == 0) {
flag = 0;
break;
}
}
if (flag == 1) {
printf("%d ", a);
}
}
return 0;
}
2、while语句
(1)语法形式
while(表达式)
语句;//如果循环体想包含更多的语句,可以加上大括号
(2)执行流程图
(3)例题:使用while打印1~10
#include<stdio.h>
int main() {
int a = 1;
while (a <= 10) {
printf("%d\n", a);
a++;
}
return 0;
}
3、do...while语句
(1)语法形式
do
语句;//如果循环体想包含更多的语句,可以加上大括号
while(表达式);
(2)执行流程图
(3)例题:使用do...while打印1~10
#include<stdio.h>
int main() {
int a = 1;
do{
printf("%d\n", a);
a++;
} while (a <= 10);
return 0;
}