内容几乎来自于鹏哥的课程
单纯分享,有误概不负责哦(doge)
C语言
工具:
MSDN
https://cplusplus.com/reference/cstdio/
C语言程序设计_浙江大学_中国大学MOOC(慕课) (icourse163.org)
https://cplusplus.com/reference/
C语言
Test1.
1创建工程
2创建源文件 C代码
1.c-源文件
2.h-头文件
test.C源文件
3.写代码
(1)C语言代码格式
#include <stdio.h>
int main()
{
Printf(“打印内容\n“,例:”hello world\n”);
return 0;
}
解释
1)Main是主函数的意思,Int是整型的意思,main函数只能有一个。
2)Return是返回的意思
3)Main前面的int表示main函数调用返回一个整型值
4)Print打印,printf就是打印函数的意思,打印内容指想要输出的内容
5)# include <stdio.h>相当于和计算机打个招呼
Std-standard标准. I-input输入 o-output输出 .h-头文件
6)整型-没有小数部分的数据
数据类型
Char //字符数据类型 1个字节
Short int //短整型 2个字节
Int //整型 4个字节
Long //长整型 4/8个字节
Long long //更长的整型 8个字节
Float //单精度浮点数 4个字节
Double //双精度浮点数 8个字节
char-字符类型
%d-打印整型(十进制)
%c-打印字符
%s-打印字符串
%f-打印浮点数字,对应float-打小数
%lf-对应double
%p-以地址的形式打印
%x-打印16进制数字
%o-……
详细例子看B站课程test1
计算机的单位
bit-比特位
byte-字节-//一个字节=8个比特位
kb
mb
gb
tb
pb
转义字符 | 含义 |
\a | 响铃(BEL) |
\b | 退格(BS),将当前位置移到前一列 |
\f | 换页(FF),将当前位置移到下页开头 |
\n | 换行(LF),将当前位置移到下一行开头 |
\r | 回车(CR),将当前位置移到本行开头 |
\t | 水平制表(HT),跳到下一个TAB位置 |
\v | 垂直制表(VT) |
\\ | 表示反斜杠本身 |
\’ | 表示单引号(‘) |
\” | 表示双引号(“) |
\? | 表示问号(?) |
\0 | 表示空字符(NULL) |
\ddd | 1~3位八进制所代表的任意字符 |
\xhh | 1~2位16进制数所代表的任意字符 |
字符串的结束标志是\0
字符‘’单引号
字符串“”双引号
~-按位取反
比大小
Static修饰函数和修饰全局变量大致相同
extern是用来声明外部符号的
指针:
Else和离他最近的if匹配(就近原则)
上面代码编译后并不打印
打印100以内的奇数,for语句示例
switch语句注意是从case输入,从break输出。
Switch语句最好要有带上break和default,养成好习惯
有效理解break
循环语句:while,do while,for三种循环
注:
循环结构:while循环的执行流程
数组名本身就是地址,所以在scanf中不需要取地址。
Scanf遇到\n会跳过,而getchar不会。
所以使用getchar要记得清除缓冲区。
例如:
但是注意:scanf遇到空格会停止,并且getchar只能消耗缓冲区中的一个字符。
清理缓冲区多个代码:
Getchar的返回类型为整型(包括EOF,EOF本质为-1)
For循环:
For循环中的初始化部分,判断部分,调整部分都是可以省略的,不过省略可能会产生某种影响。
Do while循环:
Do while循环流程:
While循环是先判断再执行,do while循环是先执行后判断。
练习1:
练习2:方法1
方法2
数组:
查找有序数组中的单个数字:
折半查找:
数组本身就是地址,所以scanf函数中数组可以不用取地址。
两个字符串的比较,不能使用==,应该使用strcmp函数
例:若想比较一个已声明字符串password和“123456”的大小,应当写成strcmp(password,”123456”)。
函数
工具:
MSDN
https://cplusplus.com/reference/cstdio/
注:
1.
//cls清空控制台屏幕
system("cls");
//fflash的功能是清空输入缓冲区,std是standard和input的总和
fflush(stdin);
2.浮点数的比较不能够直接用比较运算符进行比较,应用两数差的绝对值与一个较小的数字进行比较。
例:fabs(a * a - b * b - c * c) <= EPS
初识指针
指针的初应用:
交换a,b的值:
错误示例:
正确操作:
函数中形参实例化后就相当于实参的一份临时拷贝。出函数后形参立刻销毁。
函数的递归调用:
例:从右到左分别打印出一个数字的个位,十位,百位……
函数的递归调用最重要的就是递归终止条件。
函数的递归调用及其容易出现栈空间溢出的情况。例: