先厘清编程是在对数据做什么:
输入(input)➡️处理(processing)➡️输出(output)
知识点整理如下:
语言概念:
一个程序是由一个main()和几(>=0)个自定义函数组成
main()又名主函数
C语言是高级语言
基本语法:
;是每一条语句结束的标志
注释有两种:
//当前行注释
/*多行注释*/
程序最开始有预处理命令,以#为首。
eg.
#include <stdio.h> //预处理命令
关键字:(简单来说就是在编程时会变色的)
eg.
return,if,else,int,char,float,double,scanf,FILE,printf,fopen,fread,auto,long,struct,switch,const,break,continue,unsighed,sizeof,goto,void,default,do,while,static,extern,...
此处的关键字当下不需要强行记住,一般不考,但需要看一遍留有印象,看到以上单词的时候能反应出是关键字,往往在下一个知识点标识符里会考到相关。
标识符(常考选择题):
可包含字母,数字,下划线(_)
区分大小写。
eg. apple和Apple是不同的标识符
数字不能开头
以下展示一段简单的程序作为例子
#include <stdio.h> //预处理命令(不可省略!)
main(){
int a,b,c;//定义类型(不可省略!)
a=1;
b=2;
c=b/a;//(+-*/)分别对应加减乘除,c的结果为2,无输出,输入输出在下章展示。
}//函数有多条语句,花括号不可省
零散概念:
宏定义:
写在程序最前面(开头为#的都写在最前)
作用:把一个变量赋一个全场通用的值;当代码行数多时,方便改变量值
格式:#define 变量 数字
eg.
#define N 10
#include<stdio.h>
main(){
printf("%d",N);
}
效果展示
本例中,宏定义之后,程序中N都为10
(第二章会使用,提前记忆)
定义 | 输入输出中对应 |
int(整型)(eg.10) | %d |
float(浮点型)(eg.10.0) | %f |
char(字符型)(eg.'A') | %c |
%s 对应字符串,字符串末尾有'\0'
若语句为假,返回值为0;若语句为真,返回值为1
-
== != 判断是否等于 判断是否不等于
eg. 2==2 返回值为1,2==3返回值为0
2!=2返回值为0,2!=3返回值为1
--a V.S. a--(++a与a++同理)
此处令a的初始值为1
--a | a-- |
先令a-1,再取a的值 | 先取a的值,再令a-1 |
以下三种类型作区分!
#include <stdio.h>
main()
{
int a=1;//定义+赋初值
printf("%d",a--);
}
输出结果为1
#include <stdio.h>
main()
{
int a=1;//定义+赋初值
printf("%d",--a);
}
输出结果为0
#include <stdio.h>
main()
{
int a=1;//定义+赋初值
a--;
printf("%d",a);
}
输出结果为0
含\➡️转义字符
\t 8个空格,相当于tab键 \n 回车键
常用的ascii码(需要记忆)常用于整型和字符型的转换,大小写转换
字符 | ascii |
\0 | 0 |
\n | 10 |
a | 97 |
A | 97-32=65 |
大小写字母相差32
eg.
#include<stdio.h>//头文件
main(){
printf("%c",'b');//输出b
printf("\n");//回车
printf("%c",'b'-32);//输出B
}
效果展示
tips:
注意此处"\n"不可写成'\n'
printf()函数下章会有讲解,此刻为了显示编程效果使用
算术运算符
+ | a+b | a与b的和 |
- | a-b | a与b的差 |
* | a*b | a与b的积 |
/ | a/b | a除以b的商 |
% | a%b | a除以b的余数 |
tips:
两个整数"/"运算的时候,结果为整数!(常作为初学者考点)
例:
#include <stdio.h>
main()
{
int a=3,b=2,c;
c=a/b;
printf("%d",c);
}
输出结果为1
此表格左右等价
a+=1 a=a+1 a-=1 a=a-1 a*=2 a=a*2 ... ...
tips:(记忆小技巧)等号前的部分移到等号后,前面再补一个"a="
逻辑运算符
&& | 逻辑“与” |
|| | 逻辑“或” |
! | 逻辑“非” |
tips:
注意短路特性!
假设此处有语句a,语句b,语句c
a && b && c //逻辑“与”
若a为假(即返回值为0),则b语句和c语句不运行
a||b||c //逻辑“或”
若a为真(即返回值为0),则b语句和c语句不运行
例:(小试牛刀一下)
int a=1, b=2, c=3, d=4, m=5, n=6;
a = ( m=a>b ) && ( n =c>d ) || ++a == b--;
a=? b=? m=? n=?
答案:
a=1, b=1,m=0, n=6
你做对了吗?细品这题
作者想法
个人感觉编程语言入门难,这一章需要记忆较多内容,坚持✊一下。
零碎知识点需要在各个程序中积累,留意代码中的注释。
下一章节:输入输出(章节:2/9)
p.s.
小红书,知乎等平台搜索知识薪火站,也会上传笔记,感谢关注。
有建议欢迎提出!