当前位置: 首页 > wzjs >正文

重庆建设工程交易信息网站全国疫情最新消息

重庆建设工程交易信息网站,全国疫情最新消息,微信商城与网站一体,俄罗斯最新【第19节 C语言语法进阶】 【19.1 条件运算符与逗号运算符】 1 条件运算符 条件运算符是C语言中唯一的一种三亩运算符。三目运算符代表有三个操作数;双目运算符代表有两个操作数,如逻辑运算符就是双目运算符;弹幕运算符代表有一个操作数&a…

【第19节 C语言语法进阶】

【19.1 条件运算符与逗号运算符】

1 条件运算符

条件运算符是C语言中唯一的一种三亩运算符。三目运算符代表有三个操作数;双目运算符代表有两个操作数,如逻辑运算符就是双目运算符;弹幕运算符代表有一个操作数,如逻辑非就是单目运算符。运算符也称操作符。三目运算符通过判断问号之前的表示的真假,来确定整体表达式的值,如下例所示,如果a>b为真,那么三目表达式整体的值为a,所以max的值等于a,如果a>b为假,那么三目表达式整体的值为b,所以max的值等于b。

#include <stdio.h>int main(){int a,b,max;while(scanf("%d%d",&a,&b)){max = a > b ? a : b;printf("max = %d\n",max);}return 0;
}

2 逗号运算符

逗号运算符的优先级最低,逗号表达式的整体值是最后一个表达式的值。

#include <stdio.h>
int main(){int i,j;i = 10;j = 1;if(i,--j){  // 不会进入if,逗号表达式整体的值是最后一个表达式的值,  j是-1printf("condition value is:j = %d,if excute\n",j);}if(i,++j){  // 进入if,逗号表达式整体的值是最后一个表达式的值,  j是0printf("condition value is:j = %d,if excute\n",j);}for (i = 0,j = 1; i < 10; i++) {  // 逗号表达式的常见场景,for的表达式1初始化多个变量用的较多}return 0;
}

【19.1 题】

1、条件运算符是C语言唯一的三目运算符,优先级高于赋值运算符。

2、max=a>b?a:b;通过这种方式max可以获取a和b中较大的那个数。

3、逗号运算符的优先级低于赋值运算符,逗号表达式的整体值是最后一个表达式的值。

【19.2 自增自减运算符】

1 自增自减运算符

自增、自减运算符和其他运算符有很大区别,因为其他运算符除赋值运算可以改变变量本身的值外,不会有这种效果。自增、自减就是对变量自身进行加1、减1操作,那么有了加法和减法运算符为啥还要发明这种运算符呢?原因是自增自减来源于B语言,当时ken thompson和dennis M.ritchie(C语言的发明者)为了不改变程序员的编写习惯,在C语言中保留了B语言的自增和自减。因为自增、自减会改变变量的值,所以自增和自减不能用于常量。

下例中的j=i++>-1,对于后++或者后--,需要去掉++或--运算符,也就是首先计算j=j>-1,因为i本身等于-1,所以得到j的值为0,接着单独计算i++,也就是对i加1,所以i从-1加1得到0,因此printf("i=%d,j=%d",i,j);语句的执行结果是0和0。

#include <stdio.h>
int main(){int i,j;i = -1;
//    5++;  // 编译不通,自增自减不能用于常量j = i++ > 1;  // j = i > 1;i++;printf("i = %d,j = %d",i,j);  // i = 0,j = 0return 0;
}

2 自增自减运算符与取值运算符

只有比后增优先级高的操作,才会走位一个整体,如()、[]

#include <stdio.h>
int main(){int a[3] = {2,7,8};int *p;int j;p = a;j = *p++;  // 先把*p的值赋给j,然后对p加1,j = a[0],p = a[1]printf("a[0] = %d,j = %d,*p = %d\n",a[0],j,*p);  // 2,2,7j = p[0]++;  // 先把p[0]的值赋给j,然后对p[0]加1,j = a[1],p = a[2]printf("a[0] = %d,j = %d,*p = %d\n",a[0],j,*p);  // 2,7,8return 0;
}

【19.2 题】

1、a=10,执行b=a++;后,a的值是11,b的值是10。

2、a=10,执行b=a--;后,a的值是9,b的值是10.

3、int a[3] = {2,7,8};int *p = a;执行了j = *p++;后,p指向元素a[1].整型指针变量加1,偏移4个字节,因此指向a[1]。

【19.3 位运算符】

【19.3 题】

【19.4 switch do-while】

【19.4 题】

【19.5 二维数组、二级指针】

【19.5 题】

————————————

仅用于本人学习

来源:网络

http://www.dtcms.com/wzjs/404731.html

相关文章:

  • 网站开发 平台推广赚钱
  • 百度网站建设技术百度链接提交
  • 杭州萧山网站开发网站网络推广运营
  • 推广型网站制作公司东莞营销网站建设优化
  • 幼儿园微网站建设栏目百度快照搜索引擎
  • 清溪仿做网站百度搜索网站排名
  • wordpress产品列表插件平台seo
  • 花生壳怎么建设网站各大网站域名大全
  • 网站做打火机如何百度推广获客成本大概多少
  • 网站域名注销电话网站流量统计分析的维度包括
  • 城口集团网站建设百度关键词排名代做
  • 一流的上海网站建设公上海空气中检测出病毒
  • 基金公司网站建设免费网站建设制作
  • 广州科 外贸网站建设怎么做一个属于自己的网站
  • 做网站建设科技公司网络服务包括哪些内容
  • 哈尔滨网站制作招聘网络营销推广方式都有哪些
  • 四川建设厅电子证书官方网站百度推广账户登陆
  • java做网站有多少哪里有正规的电商培训班
  • 定制家具网站平台优化大师绿色版
  • 南通网站建设方案服务如何做关键词优化
  • 当当网网站建设策划书seo实战密码第三版
  • mvc5网站开发之美电子版免费友情链接交换平台
  • 西安+美院+网站建设宁波seo在线优化公司
  • 永康营销型网站建设网络营销技巧培训
  • 百度地图开发网站如何搭建一个网站
  • 为什么做图书管理网站百度推广关键词排名规则
  • 齐全的赣州网站建设推广团队
  • 大学生互助联盟网站建设需求分析说明表百度推广助手手机版
  • 安徽网站建设大全小程序开发公司
  • 网站上打广告软文文案