C语言学习记录_2019.02.04

  • 逻辑性变量的定义符:bool,在C语言中只有true和false;
  • 定义方式:bool t = true;
  • 逻辑运算符:

!:逻辑非

&&:逻辑与

||:逻辑或

  • 表达区间的错误形式:4<x<6;(由左到右顺序执行)
  • 表达区间的正确形式:x>4&&x<6;
  • 判断大写字母:c>=’A’&& c<=’Z’;
  • 单目运算符的优先级高于双目运算符;
  • 例:!age<20;-------->  (!age)<20;   !单目,<双目;
  • index<0||index>99;  ------->index不属于0-99范围;
  • 优先级:

1 ()

2 !+ – ++ --   单目运算符;

3 */ %

4 + -

5 < <= > >=      例:a>6 && a<8;

6 == !=

7 &&

8 ||

9 = += –= *= /= %=

与或的优先级很低,但赋值的优先级永远是最低的。

  • if (i!=k)

{if (i!=j)

{ if (j!=k)

{

}

}

}

等价于----> if(i!=j && i!=k && j!=k)

{}

  • 注意:逻辑与a&&b运算:自左向右进行,当左面的a为false之后,则不会再进行右面的b运算;
  • 因此赋值最好不要放在表达式中;
  • 对于&&,左边是false时就不做右边了,短路
  • 对于||,左边是true时就不做右边了,短路
  • 条件运算符:    a?b:c;  不推荐使用嵌套的表达式;
  • 条件运算符的优先级仅高于赋值=运算符,低于其他运算符;
  • 逗号表达式:,     i=(3+4,5+6);
  • 逗号表达式其结果为逗号后面的东西;所以i=11;
  • 在没有大括号的情况下,else总是和最近的if去匹配;
  • tips:在if或else后面总是用大括号{},良好的编程习惯;
  • 多路条件选择 / 级联的if else:

int f ;   ------------------------>单一出口,最后输出;

if         ( ) { }

else if ( ) { }

else if ( ) { }

else if ( ) { }

………

else        { }

  • switch( type)

{

case1:{…;break;}

case2:{…;break;}

……….

de‘fault:{…;break;}

}

优点:克服了级联语句需要不断尝试运行每个判断语句的缺点;

注意:type只能为int整数类型;

  • type只是指示开始的路标,若跳转后遇不到break,那么继续往下走,执行下一条case语句;case并不是划分的标志,case只是一个路口;

原文地址:https://www.cnblogs.com/Bran-don/p/10352460.html

时间: 2024-09-30 20:35:01

C语言学习记录_2019.02.04的相关文章

C语言学习记录_2019.02.10

sizeof:给出某个类型或某个变量在内存中占据的字节数:(1个字节8位,即8比特) 格式符 (1)%ld表示数据按十进制有符号长型整数输入或输出. (2)%d表示数据按十进制有符号整型数输入或输出. (3)%u表示数据按十进制无符号整型数输入或输出. &:取得变量的地址:且必须对"变量"来取地址: 0x:16进制表示法: C语言的内存分配为堆栈的自顶向下来分配的,地址逐渐减小: 数组A[ ]的地址:&a==a==&a[0]; 指针:指针变量就是用来记录地址的变

C语言学习记录_2019.02.05

switch只能判断整数,而分段函数的判别是一个范围,我们无法用整数来表示范围 跟踪语句的方法: (1)debug调试 (2)printf( )语句跟踪 小套路:当循环次数很大时,可以先模拟较小次数的循环,然后做出检验和判断. rand( ):随机数产生函数,得到一个随机的整数. 例:等到1--100的随机数: #include<stdlib.h> #include<time.h>   srand(time(0)); int a = rand( )%100+1; x%n------

C语言学习记录_2019.02.07

C99开始,可以用变量来定义数组的大小:例如,利用键盘输入的变量来定义数组大小: 赋值号左边的值叫做左值: 关于数组:编译器和运行环境不会检查数组下标是否越界,无论读还是写. 越界数组可能造成的问题提示语:segmentation fault 程序员的责任:有效的下标值:[0,数组的大小-1] 例:如下字符可以作下标 int a[255]; a['A'] = 1; 因为A的ascll码值小于255: 安全的做法:数组使用之前初始化数组: 函数的好处:把功能单纯且代码量大的部分封装为函数,提高可视

C语言学习记录_2019.02.03

优先级:算术运算符 > 关系运算符 > 赋值 ==和!=的优先级低于其他关系运算符 连续的关系运算符从左到右进行 注释:"//"或"/**/" 判断语句:if else 写代码有时看重的是你能否让足够多的人读懂你的代码 if语句形式: (1)if ( )  {语句:} (2) if  ( )  语句:以句号为结束标志:没有大括号的话,只有紧跟在if 和else后面的那一句代码有效.因为if和else后面都只执行一句话,要想执行多个语句及必须加上大括号,所

C语言学习记录_2019.02.06

break语句的作用:当执行到break,则跳出循环,免去不必要的循环次数,节省时间和资源.-----跳出循环,结束循环: continue:跳过这一次循环剩下的语句,进入到下一轮循环.-----跳到下一次循环: break不足:只能跳出其所在的循环,不能跳出嵌套的循环:continue也是: 上一条问题的解决办法:接力break: go to 语句:  解决难以跳出多重嵌套的问题. 格式: go to 标号: 标号:-- : 关于go to 语句使用的建议:建议只在跳出多重嵌套的场合使用go

C语言学习记录_2019.02.08

\n:换行:   \t:制表符,相当于大空格: a[5]={2};<------->a[5]={2,0,0,0,0}; 数组初始化的方法:a[5]={0};即全部初始化为0: 数组初始化的定位初始化(C99):int a[6]={[0]=2,[2]=2,3,};<------>a[0]=2,a[2]=2,a[3]=3,其余全部初始化为0: sizeof:得出变量或数组的大小:当对象是数组时,单位为字节,即整个数组所占空间的字节大小. 求数组的元素的个数:i=sizeof(a)/si

C语言学习记录_2019.02.09

打印字符串:%s--------printf("%s","abcd"); 打印字符串数组中某一位:%c--------printf("%c","abcd[2]"); 字符的定义及打印格式: struct { int amount; char *name; }coins[] = { {1,"one"}, {2,"two"}, {3,"three"} }; char *a

C语言学习记录_2019.02.12

"学计算机一定要有一个非常强大的心理状态,计算机不是黑魔法,都是人想出来的,别人能够想的出来,那么,总有一天,我也能够想的出来." 指针类型的变量就是保存地址的变量. int* p=&i;------P是一个指针,P里面的内容为变量i的地址,即说P指向了i: int* p,q;------注意:*号仅仅加给了p,即语句意思为p为指针,而q为普通的整数类型:(c语言中无int*  这个类型) %P:指针类型格式: 运算符*:单目运算符,用来访问指针的值所表示的地址上的变量:即地址

数据结构学习记录_2019.02.09

解决问题方法的效率,跟空间的利用效率有关: 计算多项式:(最一般方法) double f(int n,double a[],double x) { int i; double p=a[0]; for(i=1;i<=n;i++) { p+=(a[i]*pow(x,i)); } return p; } 计算多项式:(提取公因式法) double f(int n,double a[],double x) { int i; double p=a[n]; for(i=n;i>0;i--) { p=a[i