总结个人C语言初阶学习易忘易错知识点,关键知识

小雨终于开学了!!以后开学要督促自己按时更新勒!今天就来看看C语言初阶到底学了些啥吧,主要就挑一些自己记不清的。(不会面面俱到,今天先更新三章。)

目录

一.初识C语言

二.分支语句和循环语句

三.函数


一.初识C语言

1.static关键字修饰局部变量,全局变量,和函数,注意不加static与加了有什么不一样。

2.结构体操作符的格式经常写错,定义结束的时候一定要有分号。

包括结构体的初始化以及两个操作符的应用:

3.枚举常量的概念,给枚举变量赋值(感觉就没用过)枚举关键字使用如下,见到认识就好。

4.C语言有整型,字符类型,没有字符串类型,字符串就是由双引号引出的,字符串的结束标志是\0,如下图所示,arr1开辟了四个内存空间,但arr2只开辟了三个,如果将这两个数组打印出来,arr1会输出bit,而arr2会输出随机值,直到碰到\0停止,字符串的比较要用strmp函数,不能直接比较哦。

5.转义字符中需要注意的就是要认清楚各类转义字符的样子,还有对于十六进制和八进制的陷阱,如下代码,打印出来为14个字符,而不是13个。

二.分支语句和循环语句

1.if else语句可以分为if,if-else,if-elseif-else(多分支),其中要注意悬空else,也就是else的匹配问题,要和距离最近的if匹配。下图第一张什么都不打印。

 2.执行判断时,代码4更好(num和5的前后顺序)。

3. while循环语句中的break用来永久终止循环。

4.while循环中的continue,如下图1,程序陷入死循环,continue是用于终止本次循环的,也就是本次循环中continue后边的代码不会再执行, 而是直接跳转到while语句的判断部分。进行下一次循环的入口判断。

 

5.break在for循环中也是跳出循环,continue也是直接调到判断部分。

6.一道关于for循环的笔试题。

7.关于随机数的生成方法:引用头文件time.h和stdlib.h ,其生成语句为:

srand((unsigned)time(NULL));

random_num=rand();

8.goto语句:C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。 从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。 但是某些场合下goto语句还是用得着的,最常见的用法就是终止程序在某些深度嵌套的结构的处理过 程。 例如:一次跳出两层或多层循环。 多层循环这种情况使用break是达不到目的的。它只能从最内层循环退出到上一层的循环。

 9.switch语句中使用break和不使用break的情况。

编程练习:(有时间一定要自己打一遍,冻手才是真理啊!准备冻手!)

1. 计算 n的阶乘。

2. 计算 1!+2!+3!+……+10!

3. 在一个有序数组中查找具体的某个数字n。(讲解二分查找)

4. 编写代码,演示多个字符从两端移动,向中间汇聚。

5. 编写代码实现,模拟用户登录情景,并且只能登录三次。(只允许输入三次密码,如果密码正确则 提示登录成,如果三次均输入错误,则退出程序。

6.输入三个数,从大到小输出

7.写一个代码打印1-100之间所有3的倍数的数字

8.给定两个数,求这两个数的最大公约数

9.打印1000年到2000年之间的闰年

三.函数

1.看库函数要学会用工具,msdn和cpulsplus。

2.1写一个函数可以找出两个整数中的最大值。

   2.2写一个函数可以交换两个整形变量的内容。

 2.1直接返回可以完成,但2.2的swap1却不行,这是因为return只能返回一个值,而且返回值为void的函数在出了函数之后变量自动销毁,根本不能传值到main函数中,所以必须用swap2函数用指针传参。

3.形参实例化之后其实相当于实参的一份临时拷贝。

4.函数的调用分为传值调用和传址调用

传值调用:函数的形参和实参分别占有不同内存块,对形参的修改不会影响实参。

传址调用:传址调用是把函数外部创建变量的内存地址传递给函数参数的一种调用函数的方式。                      这种传参方式可以让函数和函数外边的变量建立起真正的联系,也就是函数内部可以                      直接操作函数外部的变量。

5.嵌套调用:函数可以嵌套调用,但是不能嵌套定义。

6.链式访问:把一个函数的返回值作为另外一个函数的参数。看图理解。

 

 7.函数的声明和定义,这里注意先声明后使用就行,一个h文件一个c文件。

8.递归:存在限制条件,当满足这个限制条件的时候,递归便不再继续。

              每次递归调用之后越来越接近这个限制条件。

我觉得函数递归单独写一篇文章都可以!这篇就先偷偷懒发了吧。。

下期更新初阶数组,操作符和指针。

有赞嘛?

 

 

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

何以过春秋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值