- 前言
- 基本输入输出
- main函数模板
- 输入输出
- 输出几个常用的数据类型
- 输入scanf
- 基本运算规则+,-,*,/,%
- 输入输出的例题
- 数组
- 选择语句
- if
- if...else...
- if...else if...else
- 表达式1?表达式2:表达式3
- switch语句
- 例题
- 循环语句
- for
- while和do……while
- 例题:
- 函数
- 最后
:各位学渣,你们好?马上考试了,c语言学会了?话不多说,鉴于你们都啥也不会,我们只讲干货,如果觉得博主讲的不错的,欢迎给文章三连一下,你们的鼓励就是给博主最大的收获!
:冲刺90分专栏推荐《c语言从0->1》
往期不挂科系列:
基本输入输出 main函数模板python不挂科(上)
python不挂科(中)
python不挂科(下)
由于时间有限,我们只讲知其然,,不讲知其所以然,想要了解的可以去上面的专栏查看
主函数模板
#includeint main(){ return 0; }
这个模板必须记住!!!记住return 0别丢
输入输出由于时间关系,我们只讲解最常用的输入输出(printf和scanf),梦开始的地方,
#includeint main(){ printf("期末c语言必过"); return 0; }
printf语句:输出语句,上面的代码在显示器上输出,期末c语言必过,这块我们要注意的是记得printf(" ");格式,一个()和”“,以及最后的分号
几个转义化字符:‘n’,‘t’……一般记住这俩个就够了
#includeint main() { printf("秋名山码民,帅!n期末没有挂科!"); return 0; }
n换行,t制表
#includeint main(){ int a = 18; printf("%d",a); return 0; }
这块,我们定义了整型的变量a,然后输出。
我们要记住的是几个“%d%f……”,还是直接给结论,下面请看这张图:
重点记忆一下,字节长度就行,char,int,double,float,对应的%号为,%c,%d,%lf,%f
输入scanf#includeint main() { printf("请输入你的年龄"); int age; scanf("%d", &age); printf("你的年龄为%d", age); return 0; }
观察图片,不难发现,scanf的语法规则为:
scanf(“%啥”,&变量);
注意:&千万要记得,” “中是变量类型
printf中你的年龄为%d,其中的%d被age的实际值代替输出,输出:你的年龄为18
基本运算规则+,-,*,/,%这块只有,/和%与数学不同,%是取余,/是留整
#includeint main() { int a = 19; int b = 3; int c = a / b; printf("%d", c); return 0; } //输出:6
#include输入输出的例题int main() { int a = 19; int b = 3; int c = a % b; printf("%d", c); return 0; } //输出:1
经过上面的介绍,相信各位学渣也对c语言有了一个基本概念,我们用例题来看:
- 输入整数a,b,输出a+b
- 输出’ a ‘,’ b ‘,’A‘ ,’ B’
#includeint main() { int a, b; scanf("%d%d", &a, &b); printf("%d", a + b); return 0; }
#includeint main() { char a = 'a'; printf("%c %dn",a,a); char b = 'b'; printf("%c %dn", b, b); char A = 'A'; printf("%c %dn", A, A); char B = 'B'; printf("%c %dn", B, B); return 0; }
这几个数字也记住,到时候可以类推,a:97,A:65
定义一个长度为5的int型数组,输入,并且输出
int a[5[; a[0] = 1; a[1] = 2; a[2] = 3; a[3] = 4; a[4] = 5;
计算机中许多都是从0开始的,数组的第一个元素,下标为0
选择语句常见的逻辑运算符
#includeif…else…int main() { int a; scanf("%d", &a); if (a > 1) printf("a大于1"); return 0; }
条件成立执行if语句中的内容,否则执行else后面的内容
#includeif…else if…elseint main() { int a; scanf("%d", &a); if (a >= 60) printf("及格"); else printf("不及格"); return 0; }
对比上面的也不难猜出,
如果…又如果…否则…
#include表达式1?表达式2:表达式3int main() { int a; scanf_s("%d", &a); if (a >= 60 && a <= 70) printf("及格"); else if (a > 70 && a <= 80) printf("良好"); else if (a > 80) printf("优秀"); else printf("不及格"); return 0; }
意思就是当表达式1为真的时候,执行表达式2,否则执行表达式3
#includeswitch语句int main() { char ch; scanf("%c",&ch); ch = (ch >= 'A' && ch <= 'Z') ? (ch + 32) : ch; printf("%c", ch); return 0; }
swtich(表达式) { // ()中的数据类型仅仅支持整数
case 常量1 :
要执行的语句;
break;
case 常量2 :
要执行的语句;
break;
case 常量3 :
要执行的语句;
break;
default:
要执行的语句;
break;
}
注意:default,当上述条件都不满足的时候,执行default语句
例题- 判断闰年
- 判断字符是否是大写字母,如果是小写字母转换为大写,否则直接输出(见上面条件表达式代码)
//闰年 #include循环语句 forint main() { int y; scanf_s("%d", &y); if ((y % 4 == 0 && y % 100 != 0) || y % 400 == 0) { printf("%d是闰年", y); } else { printf("%d不是闰年", y); } return 0; }
试想一个操作,我们定义一个数组大小为10,然后要给这个数组中存入数据,
int a[10]; a[0]=1; a[1]=2; ... ... a[9]=10;
for(int i=0;i<10;i++)
{
a[i]=i+1;
}
int i=0;为循环初始条件
i<10;为循环条件,当i<10时循环继续进行
i++;i每次循环自增1
i++,++i
while和do……whilei++,先执行操作,再自增
++i,先自增,再执行操作
while循环:
while 循环的关键点是循环可能一次都不会执行。当条件为 false 时,会跳过循环主体,直接执行紧接着 while 循环的下一条语句。
#include//输出0-9 int main () { int a = 0; while( a < 10 ) { printf("a 的值: %dn", a); a++; } return 0; }
与while循环不同的地方是:
do…while循环至少执行一次
#include例题:int main () { int a = 0; do { printf("我虽然不满足条件,但是也执行一次"); }while(a>0); return 0; }
假设用户的密码是一个三位整数,令用户输入密码,如果输入成功,则提示welcome,如果输入失败,则提示”bad password“,如果三次都没有输入成功,则锁定,提示:“user locked”
#include函数int main() { int key = 123; int times = 0;//次数 bool passed = 0; do { times++; int input = 0; printf("请输入密码:"); scanf_s("%d", &input); if (key == input) { passed = 1; break; } else { printf("bad passwordn"); } } while (times < 3); if (passed) { printf("Welcome"); } else { printf("user locked"); } return 0; }
我不打算讲多少,函数声明改错题,选择题考的多!
函数的声明( C函数原型),告诉编译器函数的类型,且需要在其他地方找到该函数的定义。
函数的定义,函数的具体实现,确切的指定了函数的具体功能。
函数的调用,导致该函数被执行。
函数必须先声明后使用。函数定义在调用之前,可不声明,函数定义在调用之后或在其他文件中,那么调用之前必须先声明。被调用函数声明可在调用函数之外,也可在调用函数内任何可以放置变量声明的位置。
下面我们来定义一个返回最大值的函数
int max(int num1, int num2)
{
int result;
if (num1 > num2)
result = num1;
else
result = num2;
return result;
}
函数声明
int max(int num1, int num2);
函数调用
#include最后int max(int num1, int num2); int main () { int a = 100; int b = 200; int ret; ret = max(a, b); printf( "Max value is : %dn", ret ); return 0; } int max(int num1, int num2) { int result; if (num1 > num2) result = num1; else result = num2; return result; }
还有结构体,指针,我不打算讲了,鉴于确实有难度,如果还需要加强学习,欢迎到博主专栏查看,最后祝愿:各位学渣,c语言必过!!!



