C语言笔记

内容几乎来自于鹏哥的课程

单纯分享,有误概不负责哦(doge)

C语言 

 工具:

MSDN

https://cplusplus.com/reference/cstdio/

cppreference.com

Stack Overflow 中文网

C语言程序设计_浙江大学_中国大学MOOC(慕课) (icourse163.org)

登录/注册 - 力扣(LeetCode)

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/

cppreference.com

注:

1.

        //cls清空控制台屏幕

    system("cls");

//fflash的功能是清空输入缓冲区,std是standard和input的总和

    fflush(stdin);

2.浮点数的比较不能够直接用比较运算符进行比较,应用两数差的绝对值与一个较小的数字进行比较。

例:fabs(a * a - b * b - c * c) <= EPS

初识指针

指针的初应用:

交换a,b的值:

错误示例:

正确操作:

函数中形参实例化后就相当于实参的一份临时拷贝。出函数后形参立刻销毁。

函数的递归调用:

例:从右到左分别打印出一个数字的个位,十位,百位……

函数的递归调用最重要的就是递归终止条件。

函数的递归调用及其容易出现栈空间溢出的情况。例:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值