【C语言】基础知识梳理总结(超详细!!!!

目录

printf函数

scanf函数

switch语句

条件的表示及逻辑运算

Do-while循环

for语句与for循环

for语句的变形

C语言中循环的嵌套


  • printf函数

                1)printf(格式控制字符串,输出项表)

                2)其中的输出项表是若干个要输出的数据项(可以是常量、变量或表达式),

                3)而格式控制字符串则用于规定输出项的输出格式。

                4)格式控制字符串中字符分几类:

                        1.格式说明

                        由“%”和格式说明字符组成,如%d%f等,用于规定与之对应的数据项的输出格式。

                        2.普通字符

                        是格式说明以外的字符,普通字符将原样输出。

                        如“a=”“,”“x=”“\n”等都是普通字符。\n是换行的意思

                        3.“d”格式符

                        d或i:用于输入有符号十进制整数

                        %d或%i:按实际位数输出有符号十进制整数。

                        %ld或%li:按实际位数输出有符号十进制长整数。

                        %md、%mhd、%mld:按指定位数输出有符号十进制整数

                        4.”f“格式符

                        用于以十进制小数形式输出实数。

                        包括以下几种用法:

                        1.%f

                        用于输出float型或double型的数据。

                        整数部分按实际长度输出,并固定输出六位小数。

                        2.%m.nf

                        其中的m、n均为正整数。m指定输出实数的总位数,n指定小数位数。


  • scanf函数

        1)scanf函数也称格式输入函数,用于从键盘输入数据并存入到指定的变量中。

        2)scanf(格式控制字符串,变量地址表)

                例如:scanf("%d%d&a&b";

                格式控制字符串   用于规定变量的输入格式。

                变量地址表   是若干个存储数据的变量的地址。

      (说明:该函数之所以用变量地址做参数,是由c语言中参数的单向传递规则决定。)

       3)常用格式说明字符

                     1.d或i格式符

                        用于输入有符号十进制整数

                        2.f格式符

                        用于以十进制小数形式输入实数。

                        包括以下用法;

        %f用于输入float实数
        %lf用于输入double实数
        s格式符用于输入字符串(需要借助字符数组)

                     

   4)格式说明符:

        %d        数字
        %c        字母
        %u无符号十进制整数
        %o无符号八进制整数 
        %x无符号十六进制整数
        %e以十进制指数形式输入


  • switch语句

        1)switch语句的一般形式

                1.switch语句是专门用于实现多分支选择结构的语句

                (不过switch语句的功能相对较弱,因此有些分支选择结构仍然需要用if语句)

        2)switch(控制表达式)

                {case常量表达式1:语句序列1

                case常量表达式2:语句序列2

                …….

                default:语句序列n+1}

        3)switch语句的功能

                1.首先求出控制表达式的值,然后依次与每个case之后的常量表达式的值相比较。

                2.若二者相等,则执行相应case之后的语句序列;直到遇到break语跳出switch语句体,或者switch语句体结束为止。

                3.如果没有与之相等的常量表达式,并有default标号, 则执行default标号之后的语句序列,直至switch语句体结束为止。

                4.switch语句中的控制表达式和case之后的常量表达式只能是整型字符型表达式

                5.default位置不影响控制表达式和case之后的常量表达式的匹配

        4)switch语句的嵌套

                switch语句是专门用于实现多分支选择结构的语句

                程序分析:改程序编译时,会提示case score>=90这种格式存在语法错误。

                这是由于C语言规定,case之后的表达式不能出现变量名,而只能是常量表达式。

                而且只能对switch之后的控制表达式与case之后的常量表达式进行相等判断。

                这也是switch语句功能相对较弱的原因所在。

                解决的方法,就是通过一种变换将101个分数映射为少量的几个整数。

                比如,可以用score整除10将101个分数转化为0~10的11个整数

                然后就可以使得每个整数对应一个case分支.

                程序分析:在该程序中,利用score整除10实现了101个分数到11个整数的变换

                但是如果score是一个实型变量,只需利用强制类型转换,将实型数据转化为整型数据即可。

                可以发现,当变量取值为少量的整数或字符时,尤其适合使用switch语句实现选择结构。

                当变量取值为一组区间时,若可以变换为少量的整数字符,则仍然适合使用switch语句实现选择结构;

                否则,只适合使用if语句实现选择结构


  • 条件的表示及逻辑运算

        1)关系运算符

==等于
!=不等于
>大于
<小于
>=大于等于 
<=小于等于

        逻辑值的表示

        关系表达式的运算结果是逻辑值,

        即为真或者为假,整数1代表真,整数0代表假。

        a>b>c先求a>b,结果为真:1;再求1>c,结果为假

2)逻辑表达式

要构成逻辑表达式,需要使用逻辑运算符。

C语言中有三种逻辑运算符

逻辑与&&只有a、b均为真,a&&b的结果才为真
逻辑或||只要a、b至少一个为真,a||b就为真
逻辑非a为真,则a为假;若a为假,则a

3)逻辑运算符的优先级

逻辑的优先级最高,逻辑次之,逻辑最低。

4)逻辑表达式

        用逻辑运算符运算量连接而成的表达式,成为逻辑表达式

        例如:数学中的0<x<10应表示为x>0&&x<10。因为包含了两个条件

5)逻辑运算的“短路

        在对逻辑表达式“表达式1&&表达式2求值时,若表达式1的值0,则整个表达式的值必为0;因此不必再对表达式2行求值

        在对逻辑表达式“表达式1||表达式2求值时,若表达式1的值1,则整个表达式的值必为1;因此不必再对表达式2行求值

        例子


  • Do-while循环

1)Do-while语句其一般形式为:

        Do{

        语句}

        while(表达式(判断真或假))

        do之后的语句就是要反复执行的部分,称为循环体

        while之后的表达式是循环的条件。通常是关系表达式逻辑表达式

2)do-while语句的功能:

         do-while语句执行流程

        首先执行一次循环体,然后判断表达式的值是真是假;

        若表达式的值为,则返回继续执行循环体。

        若表达式的值为,就结束循环,转而执行循环体之后的语句。

        所以do-while循环的循环体至少循环一次。


  • for语句与for循环

        1)for语句的执行流程

        for(表达式1;表达式2;表达式3)

        循环体只能是语法意义上的单条语句。若需要多条语句,则必须用花括号括起来构成一条复合语句

        2)执行流程:

        首先执行表达式1

        然后判断表达式2的值是否为

        若为,则执行一次循环体,在执行表达式3,然后转向第二步

        若为假,结束循环,转向循环体之后的语句执行。

        需要注意,表达式3是在循环体之后执行的

        通过分析可以发现

        表达式1一般用于给循环变量赋初值

        表达式2则是循环的条件

        表达式3一般用于递变循环变量的值

        3)for循环与while循环的互换

        如果“循环变量赋初值、循环条件、循环变量递变”这三部分不复杂的话,用for循环。

        相互平行的循环的执行顺序

        如果同一个程序中的两个循环,互不包含于对方的循环体中,则称之为互相平行的循环

        两个平行的循环执行时,只有当地一个循环全部完成之后,在会开始第二个循环的执行


  • for语句的变形

        1)for循环的特点

        for循环的一个显著特点就是灵活多变,主要表演为for语句的各种变形。

        一方面,for语句中的表达式1、表达式3均可以是逗号表达式

        另一方面,for语句的表达式1、表达式2、表达式3、均可以缺省。

        2)for语句的变形之一

        for语句中的赋初值部分或递变部分,需要使用多个表达式完成,那么可以将这多个表达式构成一个逗号表达式

        由于for语句中的表达式1、表达式3均可以是逗号表达式。

        因此,既可以将循环之前的语句,移入到表达式1中、

        也可以将循环体的语句,移入到表达式3

        3)for语句变形之二

        在for语句中,若不需要赋初值部分或递变的部分,则相应的表达式可以缺省

        即for语句中的表达式1、表达式3均可以缺省

        甚至于作为循环条件表达式2也可以缺省。


  • C语言中循环的嵌套

        1)循环的嵌套

        如果在一个循环的循环体中,包含了另外的循环结构,则称之为嵌套的循环。也叫多重循环

        在多重循环中,最常用的是双重循环

        2)双重循环示例

        在分析双重性循环的执行流程时,可以首先将外循环的循环体看作一个整体,并展开外循环

        然后再逐步展开内层循环。


总结

        如果你读到了这里,非常感谢你能看完的文章,谢谢!!!!

        如果你觉得你有些想法和我一样,想和我一起提升自己可以关注私信我,与我一起进步,一起共同努力!!!!!

  • 35
    点赞
  • 125
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小刘好好学习

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

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

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

打赏作者

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

抵扣说明:

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

余额充值