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

C语言程序设计

日落有个小商店,贩卖着橘黄色的温柔。

7.关系操作符

>

>=

<

<=

!=   (用于测试“不相等”)

==   (用于测试“相等”,但是不是所有的对象都可以用该符号来比较相不相等)

eg.

int main ( )

{

   if ("abc"=="abcdef")  //这样写是在比较2个字符串的首字符地址

   {

   }

return 0;

}

//两个字符串比较相等应该使用strcmp函数来比较

(注意:在编程过程中要注意==和=不小心写错导致的错误)

8.逻辑操作符 

&&   逻辑与

|  |    逻辑或

区分逻辑与按位与,区分逻辑或按位或     

(逻辑与和逻辑或只关注真假,不关注变量的二进制序列)

逻辑与(&&):同真为真,一假则假

逻辑或(|  | ):同假为假,一真为真

练习:

1.下面代码打印的结果是什么?

#include <stdio.h>int main()
{int i = 0, a = 0, b = 2, c = 3, d = 4;i = a++ && ++b && d++;printf("a=%d\n b=%d\n c=%d\n d=%d\n", a, b, c, d);return 0;
}

分析:

2.下面代码打印的结果是什么?

#include <stdio.h>
int main()
{int i = 0, a = 0, b = 2, c = 3, d = 4;i = a++ || ++b || d++;printf("a=%d\nb=%d\nc=%d\nd=%d\n", a, b, c, d);return 0;
}

分析:

总结:

&&   左边为假,右边就不计算了

|  |    左边为真,右边就不计算了

9.条件操作符 (也称为三目操作符)

(exp1) ? (exp2) : (exp3)--> (表达式1)  (表达式2) :( 表达式3)

计算方式:

表达式1为真,计算表达式2,不计算表达式3-->整个表达式结果为表达式2的结果

表达式1为假,不计算表达式2,计算表达式3-->整个表达式结果为表达式3的结果

练习:

1.

if (a > 5)

       b = 3;

else

       b =-3;

转换成条件表达式,是什么样的?

2.使用条件操作符实现找到两个数中的较大值

#include <stdio.h>
//使用条件操作符实现找到两个数中的较大值
int main()
{int a = 3;int b = 0;int max = (a > b ? a : b);printf("%d\n", max);return 0;
}

10.逗号表达式

exp1, exp2, exp3, ...expN

逗号表达式,就是用逗号隔开的多个表达式。

逗号表达式,从左往右依次执行。整个表达式的结果是最后一个表达式的结果。 

11.下标引用、函数调用和结构成员

1)[ ] 下标引用操作符

操作数:一个数组名+一个索引值

下图数组表达一般使用arr[7]这种常规表达,在初始化数组的时候写成int [10]arr 是错误的。

2)()函数调用操作符

接受一个或多个操作数:第一个操作数是函数名,剩余的操作数就是传给函数的参数

3)访问一个结构体的成员

.   结构体.成员名

->   结构体指针->成员名 ( ps->age 等价于 (*ps).age )

#include <stdio.h>
#include <string.h>//strcpy的头文件struct Stu
{char name[20];int age;double score;
};void set_stu(struct Stu* ps)
{//name是个地址,应该将字符串放到name所指的空间里去//用strcpy把字符串拷贝到name所指的空间里去//strcpy((*ps).name, "zhangsan");//(*ps).age = 20;//(*ps).score = 100.0;//简化strcpy(ps->name, "zhangsan");ps->age = 20;ps->score = 100.0;
}void print_stu(struct Stu ss)
{printf("%s %d %lf\n", ss.name, ss.age, ss.score);
}int main()
{struct Stu s = { 0 };set_stu(&s);print_stu(s);return 0;
}


http://www.mrgr.cn/news/17512.html

相关文章:

  • C语言典型例题58
  • ModuleNotFoundError: No module named ‘cv2‘,python
  • 图片转为PDF怎么弄?看这里,三款软件助你一键转换!
  • Python基础语法(17多线程线程锁单例模式)
  • LC开源电路的学习(一)
  • 【学习笔记】卫星通信NTN 3GPP标准化进展分析(四)- 3GPP Release18内容
  • 盘点java8 stream中隐藏的函数式接口
  • 机器学习周报(8.26-9.1)
  • 【小白教程(无伤速通)】Visual Studio中Libtorch安装与配置
  • UNIX及UNIX-like环境下的调试工具gdb使用方法
  • nanogpt怎么进行模型切片,以实现推理过程算力共享,切多头
  • 【RabbitMQ应用篇】常见应用问题
  • 强化学习与深度学习的结合
  • yolo8 目标检测、鉴黄
  • 前端与后端的身份认证
  • Android Codec2 CCodec (七)IConfigurable
  • 后台框架-统一异常管理
  • Python爬虫案例五:将获取到的文本生成词云图
  • 走进酒厂,探寻白酒酿造的奥秘
  • MySQL事务处理详解:实现数据一致性与隔离性的艺术