c++ if 条件能不能加数组_超强版C基础知识宝典来啦!

点击蓝字关注我们

1da1ca19a0eebfc9928235d1ca9c7e2d.png feaf0691-0662-eb11-8da9-e4434bdf6706.svg ffaf0691-0662-eb11-8da9-e4434bdf6706.svg ffaf0691-0662-eb11-8da9-e4434bdf6706.svg

哦多开~,你复习了吗?马上就要考核了,我好紧张!!

ffaf0691-0662-eb11-8da9-e4434bdf6706.svg ffaf0691-0662-eb11-8da9-e4434bdf6706.svg ffaf0691-0662-eb11-8da9-e4434bdf6706.svg ffaf0691-0662-eb11-8da9-e4434bdf6706.svg嗐!你看,知识点这不就来了吗 ffaf0691-0662-eb11-8da9-e4434bdf6706.svg ffaf0691-0662-eb11-8da9-e4434bdf6706.svg feaf0691-0662-eb11-8da9-e4434bdf6706.svg 23d186321ad67a204795092f679efe5e.png

Part1

常量变量 C程序的基本结构

 (1) 一个C程序由-个或者 多个函数构成, 有且仅有一个主函数main0。

(2)一个函数由函数的首部和函数体组成。
(3)函数是从主函数(main)开始执行,回到主函数(main()结束; (与main函数在程序中定义的位置无关)
(4)一个程序的编译是从第一个函数(语句)开始,到最后一个函数(语句)结束。

常见数据类型

int 4字节,short 2字节,long 4字节(跟平台有关,可能是4,也可能是8),longlong 8字节, char 1字节,float 4字节,double 8字节

beafcddac57e76e47a1928a2e6e39cc7.png

运算符和表达式

379cbbb396719934dae8010dc85e849f.png

(1)算术运算符和算术表达式:

注意自增++,自减--, 自反-
(2)关系运算符: >,=,= 5 !=,==和!=优先级最低。
注意=与==的区别: =是赋值的意思,表达式的值是对变量赋的值,== 是关系运算符,关系运算表达式的值为0或者1 (关系运算的结果本应是逻辑值,但C语言中没有逻辑数据类型,因此用整型数据来表示关系运算的结果)。
(3)逻辑运算符: &&,||,!在这几个中优先级!大于&&大于||,优先级是体现在结合性上而不是运算的先后性上。例如a=b=c= 1;d=++a||++b&&++c
在这个里面&&最高那就是加粗部分先看成一个整体, 运算顺序还是从++a 开始,即做完这个运算后,可以依次判断出后边的运算式子没有必要计算了,所以d=1, a=2,b=1.c=1。

(4)赋值运算符:简单赋值运算符“=”其左边必须是变量。 一般形式:变量名=表达式;

复合赋值运算符:+=、-=、*=、/=、<<=、>>=。注意当等号后面接的是表达式的时候要把表达式看成一个整体即x *=y+8 等价于x=x*(y+8), y+8是一个整体。
(5)条件运算符:由两个符号“?”和“:”构成。
一般形式:表达式1?表达式2:表达式3
先计算表达式1的值,如果值为真(非0),则将表达式2的值作为条件表达式的
值,否则将表达式3的值作为条件表达式的值。

补充: i++与++i的区别

链接:

https://www.zhihu.com/question/19811087/answer/80210083

i++ 与 ++i 的主要区别有两个:1、 i++ 返回原来的值,++i 返回加1后的值。
2、 i++ 不能作为左值,而++i 可以。

毫无疑问大家都知道第一点(不清楚的看下下面的实现代码就了然了),重点说下第二点。首先解释下什么是左值。

左值是对应内存中有确定存储地址的对象的表达式的值,而右值是所有不是左值的表达式的值。

一般来说,左值是可以放到赋值符号左边的变量。但能否被赋值不是区分左值与右值的依据。比如,C++的const左值是不可赋值的;而作为临时对象的右值可能允许被赋值。左值与右值的根本区别在于是否允许取地址&运算符获得对应的内存地址。
比如,

ef74a21be4e02cb6714e63e05585885d.png

Part2

分支语句

IF语句

  • 基本格式

if(条件) {
    //语句1 }
else {
    //语句2; }
//如果条件满足 执行语句1,如果条件不满足 执行语句2
  • 需要注意的事情

  • 条件可以用一个数字作为条件,判断真假按照 0为假以非0为真的规则

  • 写条件的时候注意=和==是不同的运算符 不要弄混

  • 如果条件比较复杂 建议拆成多句,if里面的条件不宜太长,方便阅读

  • 在if后面不要加分号

  • else部分如果不需要可以不写

  • 如果是if-else嵌套,比如

     if(条件1){
         语句1;
    }
    else if(条件2) {
         语句2;
    }

    else {
         语句n;
    }
      • 当第一个条件不成立的时候才判断条件2

      • if后面的{}中如果只有一个语句(用分号结尾的语句或者其他if语句都可以),那么可以省略掉{},else并不是必要的,如果else的{}中没有内容 可以不要else

        switch语句

      • 基本格式

      •  switch(变量) 
        {
            case 情况1:
            语句1;
            break
            case 情况2:
            语句2;
            break;
            //...     default:
            break;
        }
      • 注意事项

      • switch的case后面只能接整型或者字符型的常量表达式,不可以是小数或者字符

      • switch每个case后面都有一个break

      • default语句如果不需要可以不要

Part3

循环语句

a222af5b7ef3f298f781f0cbf32c79c7.png

三大循环语句

  • while循环

基本格式

 while(条件) {
    语句; //循环{}中语句称之为循环体 }
//执行顺序 先判断条件 条件满足执行循环体,不满足直接退出

说明

当条件满足的时候执行循环体,执行之后再去判断条件,条件不满足的时候退出

     //打印ASCII码表中的所有字符      int i=0; 
    while(i<128) {
        printf("%c\t",i++);
    }
    //同一个代码可以有多种不同的写法 熟练使用其中一个循环就好了

注意事项

·while循环不要加分号

·while循环体只有一句的时候可以省略{} 但是不要省略

·如果条件满足则会一直进行循环,不满足就会退出循环,所以w hile可能一次都不执行

·For循环

基本格式

 for(初始化1;条件2;自增自减3) { 
    循环体4;
}
//为了描述方便 给每个语句都加了一个编号 //执行顺序 先执行初始化语句1,然后判断条件2,条件成立执行循环体4,不成立跳出循环. //循环体执行完毕之后,执行自增语句3 然后判断条件 开始下一轮循环 //简记 1243 243 243

说明

for循环类似while循环 同样是先判断然后执行循环体的,不过for的语法比较简单并且相对于while更不易写错,所以可以先从for循环开始熟悉

注意事项

·for循环中的两个分号必不可少,其余的部分都可以不要,但是分号必不可少

·for循环外面不要加分号!!!!

·重点 if while for一般都不要加分号

  • do while循环

基本格式

 do { 
    //循环体; }while(条件); //;不能少 //do while循环的特点是先执行循环体然后判断条件,如果条件成立进行下一轮循环 //do while的循环体必定会执行一次

说明

do while循环条件放在后面,先执行然后判断,如果条件不成立会退出,不然会继续循环

特别说明

    • 条件一直为真的循环称之为死循环,常用的有while(1) 或者for(;;)

    • for和while之间可以相互转换,但是和do while不一定可以

跳转语句

跳转语句使用方式作用说明goto跳转到程序的任意位置使用不当会造成代码的可读性差,可维护性差,基本上不用breakbreak;跳出最近的一个循环或者switch如果是循环中的sw itch中的break只能跳出sw itch,如果是多层循环只能跳出最近的一个循环continuecontinue;跳过当前的一轮循环,进入下一轮循环只能和在循环中使用.跳过当前循环,进入下一轮循环returnreturn 返回值;或者return;跳出当前函数主函数中的return会跳出主函数(跳出主函数也就意味着程序结束),其余函数的return是跳出当前的函数.可以跳出多层循环

  • 说明

·break,continue这样的跳转语句一般和if搭配使用,满足特定条件才会退出循环或者跳过这次循环

·return后面要不要加一个返回值这个根据函数确定,留到函数部分再具体讲解

·以上的都是关键字,不需要加头文件,也不可以用作函数或者变量名

  • 跳转函数exit的说明

exit作用是跳出整个程序,是stdlib.h里面的函数,使用的时候需要加上

常用写法

	exit(0); //里面的数字0表示正常退出,其余数字表示异常退出,不影响代码

在任意地方使用均会跳出整个程序

25844667e292d18a4860f2ee59a9249a.png

Part4

数组

  • 数组作用

存放多个相同类型的元素,如果有多个相同类型的元素需要存放,那么可以使用数组。

//存放3个成绩

//方式1 单独定义变量 int grade1,grade2,grade3;

//方式2 使用数组 int grade[3];

数组定义和使用方式

int arr[16];//定义一个数组

数组中可以存放16个int类型数据

如果你想要定义的时候就给里面的元素赋值的话,可以定义的时候直接用=

int arr[16]={1,2,33,2,4,5,6,1,6,7,7,7,8};//定义的时候给数组元素赋值 
//数组元素个数是16,但是后面只有13个值,那么多余的就用0赋值 //如果定义的时候给数组元素赋值,可以省略掉数组大小,用后面赋值的个数作为数组的大小
//int arr[]={1,2,3,4,5}; //此处数组大小是5
  • 注意

1.定义的时候int arr[16]表示对定义数组,除了定义之外的[]全部是下标运算符的意思,所以arr[16]不是数组的意思 而是数组中的一个元素

2.下标从0开始算,所以注意下数组的下标不可以超过数组的最大元素个数

3.下标可以使用变量,所以数组可以和循环搭配使用

Part5

ea9fb50687f6a96baa5a960bdf7e53f5.png

易错小提示

赋值表达式:表达式数值是最左边的数值

1、赋值的左边只能是-一个变量。

2、int x=y=10:  错啦,定义时,不可以连续赋值。

3、int x,y;
      x=y=10;      对滴,定义完成后,可以连续赋值。
4、int x=7.7;   对滴,x就是7
5、float y=7;   对滴,x就是7.0
ps:  int a=2;
        a*=2+3;    运行完成后,a的值是12。
一定要注意,首先要在2+3的上面打上括号,变成(2+3)再运算。

呼~终于码完了。看到这里的你们是不是对C语言有了更多的理解呢?不过需要注意的是,这些只是C语言知识的冰山一角,想要完整的掌握还需要坚持学习,也许在追求C语言原理的时候会捶胸顿足,在茫然中寻找C语言的身影,但通过努力得到C语言的真谛时就会发出真香的声音。

好啦!希望能在AIR实验室看到可爱的你!

9eec090c1f1324ce39452b7e7cc6aa94.gif分享一下,你就是开学季最靓的仔!?

871c0356ba9a5639185f04b0e1a36f74.png

- END -

编辑:赵静云 李雪娇 李核嘉

审核:胡明辉 乔小龙

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值