c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)
1.表达式: 表达式的判断是有无结果(值), 最简单的表达式是一个常量或变量, 如:12, a, 3 + 1, a + b, a + 5 都是表达式
2.BOOL(布尔)数据类型: c语言中除了基本数据类型, 还有BOO数据类型, 以及一些其它的数据类型, 如自定义的结构体数据类型
BOOL数据类型是一种表示非真即假的数据类型, 布尔类型的变量只有YES和NO两个值. YES表示表达式结构为真, 反之, NO表示表达式结果为假(在c语言中, 认为非0即为真), BOOL类型主要用与分支结构或循环结构中, 用于判断是执行if语句还是else语句, 或判断是否要执行循环体. #define YES 1 计算机在识别时, YES就替换成 1, #define NO 0 计算机在识别时, NO就替换成 0
3. 关系运算符: >, >=, <, <=, ==, !=
关系运算符主要用于比较运算, 比较的结果只有真假两种情况, 结果值用BOOL类型变量存储. 注意: 判断两个数是否相等, 用 == (双等号)
4. 逻辑运算符:&&(逻辑与), ||(逻辑或), !(逻辑非)
逻辑运算符组成的表达式, 结果也是非真即假.
&&: 运算符两边的表达式同时为真时, 整个逻辑表达式的结果才为真
||: 运算符两边的表达式同时为假时, 整个逻辑表达式的结果才为假
!: 将表达式的值取反. 如表达式的值为0(假)时,取反值为非0(真); 当表达式的值为非0(真)时, 取反为0(假)
5. 位运算符: &(按位与), |(按位或), ^(按位异或), ~(按位非)
//位运算符:
//按位与 &:同为1, 则为1, 否则为0, 用于给某一位进行清零
int a = 4 & 6;
printf("%d\n", a);
//按位 或 |:同为0, 则为0, 否则为1, 用于保留某一位
a = 4 | 6;
printf("%d\n", a);
//按位异或 ^:相同为0, 不同为1
a = 4 ^ 6;
printf("%d\n", a);
//按位非 ~:如果是一个有符号的数, 则二进制最高位代表符号位, 1 代表负数, 0代表正数
//数据在内存中存储时是以补码的形式存储, 正数的补码是正数本身, 负数的补码是绝对值取反加1
6. 一个字节代表 8 位二进制数
数据类型的取值范围:
a. 无符号:
char 0 ~ 2^8 - 1
short 0 ~ 2^16 - 1
int 0 ~ 2^32 - 1
b. 有符号:
char -2^7 ~ 2^7 - 1
short -2^15 ~ 2^15 - 1
int -2^31 ~ 2^31 - 1
*/
7. if...else...比较简单, 就不记了. switch...case分支结构
int number = 0;
printf("请输入一个分机号(801:教学部,802:咨询部,803:财务部,804:保卫科,805:市场部):\n");
scanf("%d", &number)
switch (number) {
case 801:
case 809://当number = 801 或 809 时输出的结果都是教学部
printf("教学部\n");
break;//break结束当前分支,退出switch,执行switch之后的语句
case 802://case后的表示必须是一个常量,或者是一个常量表达式
{int a = 10;}//如果在case分支中想要定义变量,一定要加上大括号
printf("咨询部\n");
break;
case 803:
printf("财务部\n");
break;
case 804:
printf("保卫科\n");
break;
case 805:
printf("市场部\n");
break;
//当没有找到(匹配到)对应的case分支时执行default语句
default:
printf("要找谁\n");
break;
}
注意:case后的表示必须是一个常量,或者是一个常量表达式. 如果在case分支中想要定义变量,一定要加上大括号
c语言基础表达式, 关系运算符, 逻辑运算符, 位运算符, 数据的取值范围, 分支结构(if...else, switch...case)的更多相关文章
- C++算数运算符和位运算符
C++根据功能和用途将运算符分为算数运算符.位运算符.关系运算符和逻辑运算符等不同类型.四种不同运算符的优先级从大到小依次位算-位-关-逻. 一.算数运算符 1.加减乘除(+ - * /) 加减乘除位 ...
- swift:高级运算符(位运算符、溢出运算符、优先级和结合性、运算符重载函数)
swift:高级运算符 http://www.cocoachina.com/ios/20140612/8794.html 除了基本操作符中所讲的运算符,Swift还有许多复杂的高级运算符,包括了C语和 ...
- java 简单认识移位运算符和位运算符
移位运算符和位运算符本质上都是操作二进制位,因为计算机存储的是二进制数据,运算效率相对较高. 移位运算符:把整数的二进制位进行左移或右移 .左移一位,相当于这个数乘以2, 右移一位,相当于这个数除以2 ...
- JavaScript 引入方式 语言规范 语言基础 数据类型 常用方法 数组 if_else 比较运算符 for while 函数 函数的全局变量和局部变量 {Javascript学习}
Javascript学习 JavaScript概述 ECMAScript和JavaScript的关系 1996年11月,JavaScript的创造者--Netscape公司,决定将JavaScript ...
- JAVA算术运算符、关系运算符和位运算符
算术运算符 1.java的算数运算符包括+(加).-(减).*(乘)./(除).%(取余),在运算过程中出现的隐式转换原则和C语言一样:2. 高位数据向低位数据转化要使用强制转化: 关系运算符 1.j ...
- Python 位运算符 逻辑运算符 成员运算符
位运算符 运算符 描述 实例 & 按位与运算符:参与运算的两个值,如果两个相应位都为1,则该位的结果为1,否则为0 (a & b) 输出结果12 ,二进制解释:0000 1100 | ...
- python常用算数运算符、比较运算符、位运算符与逻辑运算符
编辑时间: 2019-09-04,22:58:49 算数运算符 '+'.'-'.'*'.'/' :加.减.乘.除 '**':指数运算, ‘//’:整除, ‘%‘:求余数 num_1 = 15; num ...
- 2017年9月22日作业 c++算术运算符 自增 自减 逻辑运算符 位运算符 条件运算符(三元运算符)
作业1: c++算术运算符试题,分析下面程序的输出结果是什么 //第一个: int x=8999;int value=x*1000/1000; //第二个 int x=8999;int value=x ...
- java的布尔运算符和位运算符
1.布尔运算符 && 逻辑与: || 逻辑或: != 不等于: 三元操作符:?: :表达式为 condition?expression1:expression2(当条件为真时 ...
随机推荐
- 关于APP程序员泡沫经济
这些年,移动互联网非常火,火到掀起学习iOS.安卓以及H5的热潮.有人将这些新技术作为自己的实力补充,增加竞争力:更多的人将它们作为主业,专职做移动开发.但是,即便有移动开发人员不断涌入,对整个行业来 ...
- VC++2013出现bug: 无法打开源文件“stdafx.h”
VC++2013出现bug: 无法打开源文件“stdafx.h” 1.首先需要把#include "stdafx.h"置于最头 2.在解决方案资源管理器中添加以下几个文件(附图下)
- 解决Spark读取Hive分区表出现Input path does not exist的问题
假设这里出错的表为test表. 现象 Hive读取正常,不会报错,Spark读取就会出现: org.apache.hadoop.mapred.InvalidInputException: Input ...
- linux 下 apache相关;启动、停止、重启命令;配置文件位置等等
linux 下 apache启动.停止.重启命 基本的操作方法: 本文假设你的apahce安装目录为/usr/local/apache2,这些方法适合任何情况 apahce启动命令: 推荐/usr/l ...
- kali安装java1.7
1.先去这里下载你需要的版本 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 我 ...
- Mifare系列3-卡的能源和数据传递(转)
文/闫鑫原创转载请注明出处http://blog.csdn.net/yxstars/article/details/38080175 在MIFARE卡中,能量和数据通过天线传输,卡中天线为几匝线圈,直 ...
- 两个平行div之间有间隙
两个平行的div使用 display: inline-block 会导致元素之间有空隙解决方法: 父元素设置 font-size: 0;
- c++共享内存(转载)
对于连个不同的进程之间的通信,共享内存是一种比较好的方式,一个进程把数据发送到共享内存中, 另一个进程可以读取改数据,简单记录一下代码 #define BUF_SIZE 256 TCHAR szNam ...
- php7 httpd 2.4 编译
1.获取源码httpd-2.4.23.tar.gz php-7.1.0.tar.gz,安装顺序必须是先安装http然后php,lnmp同理 2.安装编译环境和php.httpd依赖包,红色字体 ...
- 02.JavaScript 面向对象精要--函数
在JavaScript中,函数其实也是对象.是函数不同于其他对象的特点是:函数存在一个被称为[[Call]]的内部属性.[[Call]]属性是函数独有的,表明该对象可以被执行.ECMAScript 定 ...