初始c语言操作符

提示:本篇文章主要是对c语言零基础的人说明,只是大概说每个操作符的用法,具体用法原理以后说明。

c语言的操作符

c语言是非常灵活的,其具有非常丰富的操作符,使得用起来就比较灵活。要想掌握c语言的操作符,其难度还是很大的。下面让我们来先学习c语言中的单目操作符。

单目操作符中“!”表示逻辑反操作,你可以这样理解,如果一个事件本身为真,那么!表示为假。(c语言中0代表假,非0表示为真)。

int main()
{
    int flag = 0;
if(!flag)
{
  printf("hehe\n);
}
return 0;
}

如果你还是不能很好的理解其中的关系,那么请看这串代码。认真思考这串代码的结果是什么?

解释:因为flag=0,如果没有逻辑操作符“!”,那么什么也不会打印。flag = 0表示为假,而c语言中只有为真才打印,!flag表示为真所以代码能顺利执行下去,打印hehe.

"+,-"比较简单相信你能理解。“&,sizeof”讲printf函数和scanf函数时候讲过,如果不理解在第一次博客中。“~”由于和2进制有关后期会专门写这个操作符用法,对于新手来说用不到,“*”就比较有意思后期指针开始后你会大量接触这个运算符。咱们把重点放到“++--”上。

前置++和后置++的区别

后置++表示先赋值在相加,下面请看这一代码的结果。

int main()
{
  int a = 10;
  int b = a++;
  printf("%d%d",a,b);
  return 0 ;

“a++”表示后置加加,“++a”表示前置加加,二者有很大的区别,上述代码表示后置加加,如果你不能很好的理解可以把这串代码看成“int a = 10,int b = a,a=a+1”;,这样可以算出b = 10;a = 11。前置加加和后置没区别,其主要思想还是不变。

int a = 10;
int b = ++a;
printf("%d%d,a,b);
return 0;

和上面的方法一样把代码看成“int a 10;a=a+1;int b = a”,其结果a=11,b=11。注意前置加加表示先加后赋值,后置加加表示先赋值后相加。

“()”表示强制类型转换。通过数据类型的分类知,3.14表示浮点型,而我定义一个整形3.14那么编译器会报错,而我不想编译器报错可以类型转换,如“int a = (int)3.14”,其把浮点数强制转换成为了整形。

关系操作符与逻辑操作符:

 关系操作符相信你可以自己理解其意义。逻辑操作符说白了“&&”表示并且,“||”表示或者。

下面看“&&”与“||”共同运用的代码,打印一个1000年到2000年的所有闰年。(1.能被4整除但不能被100整除。2.能被400整除)

#include<stdio.h>
int is_leap_year(int y)
{
 if((y%4==0 && y%100!=0)||(y%400==0))
  return 1;
 else
  return 0;
}
int main()
{
 int year=0;
 for(year=1000;year<=2000;year++)
 {
  //判断year是否是闰年
  if(1==is_leap_year(year))
  {
   printf("%d\n",year);
  }
 }
 return 0;
}

条件操作符

条件操作符的具体语法 exp1 ? exp2 : exp3",主要表达的意思为如果exp1为真打印exp2的结果,如果exp1为假打印exp3的结果。条件操作符也叫做三母操作符。

int a = 10;
 int b = 20;
 int r = a>b ? a : b;
printf("%d",r);

讲解:看第四行代码,因为a=10,b=20,a<b所以条件为假打印exp3也就是b的值,所以最后的结果为20.

逗号表达式

逗号表达式的语法为"exp1,exp2,exp3,...expn“”,逗号表达 式就是逗号隔开的一串表达式,从左到右依次计算,整个表达式的结果为最后一个表达式的结果

int main()
{
  return 0;
   int a = 10;
   int b = 20;
   int c = 0;
   int d = (c = a-2,a=b+c,c-3);
   printf("%d",d);
return 0;
}

依次往后计算其结果为5。c=a-2=10-2=8, a=b+c=20+8=28, c-3 = 8-3=5。

下标引用,函数调用和结构成员

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值