20150527运算符表达式
来源:互联网 发布:淘宝流量和访客怎么刷 编辑:程序博客网 时间:2024/05/21 18:38
//
// main.c
// IOS15027_express
//
// Created bypengjunlong on 15/5/27.
// Copyright (c) 2015年 pengjunlong. All rights reserved.
//
#include <stdio.h>
//********************
//* *
//* 运算符与表达式 *
//* *
//********************
/**********************************
*表达式:由运算符、常量、变量构成的式子;
* a+b 4+5+a a*(3+f)
* 表达式有确定的值与类型
**********************************/
//自增自减运算符:++ --
// int main(int argc, const char * argv[]) {
// int a = 10;
// printf("a = %d\n",a++); //先运算表达式的值,a的值再加1;
// printf("a = %d\n",a);
// printf("a = %d\n",++a); //先将a的值加1,再计算表达式的值
//
// int b = 20;
// printf("b = %d\n",b--);
// printf("b = %d\n",b);
// printf("b = %d\n",--b);
//
// int c = 30;
// printf("value = %d\n",(c++ + c--));//同一个表达式中不可以改变一个变量多次
// return 0;
// }
//=========================================================================
// 算术运算符:* / % + -
//int main(int argc, const char * argv[])
//{
// int a = 10;
// int b = 20;
// printf("a+b = %d\n",a+b);
// printf("a-b = %d\n",a-b);
// printf("a*b = %d\n",a*b);
// printf("a/b = %d\n",a/b);
// printf("a%%b = %d\n",a%b);
//}
//=========================================================================
//关系运算符:> >= < <= == !=
//表达式成立值为1,表达式不成立值为0
// int main(int argc , const char * argv[])
//{
// int a = 30;
// int b = 20;
// printf("a>b = %d\n",a>b);
// printf("a>=b = %d\n",a>=b);
// printf("a<b = %d\n",a<b);
// printf("a<=b = %d\n",a<=b);
// printf("a==b = %d\n",a==b);
// printf("a!=b = %d\n",a!=b);
//}
//=========================================================================
//逻辑运算符:!(逻辑非),&&(逻辑与),||(逻辑或) 优先级:!> && > ||
//***** !真值表 **********
//* 表达式 !表达式 *
//* 真 假 *
//* 假 真 *
//***********************
//***** &&真值表 ***************
//* a b a&&b *
//* 真 假 假 *
//* 真 真 真 *
//* 假 假 假 *
//* 假 真 假 *
//*******************************
//结论:只有在所有表达式都位真的情况下整个表达式的值才为真,只要有一个表达式为假则整个表达式为假
//***** ||真值表 ***************
//* a b a&&b *
//* 真 假 真 *
//* 真 真 真 *
//* 假 假 假 *
//* 假 真 真 *
//*******************************
//结论:只有在所有表达式都为假的情况下整个表达式的值才为假,只要有一个为真,整个表达式就为真
//int main(int arg, const char *argv[])
//{
// int a = 10;
// int b = 0;
// int c = 20;
// int d = 0;
// printf("value = %d\n",!a);
//
// printf("value = %d\n",a&&b);
// printf("value = %d\n",a&&c);
//
// printf("value = %d\n",a||b);
// printf("value = %d\n",a||c);
// printf("value = %d\n",b&&d);
//
// return 0;
//}
//=========================================================================
//条件运算符(三目运算符): ?:
//条件表达式?表达式1:表达式2
//首先判断条件表达式是否成立,如果成立整个表达式的值就是表达式1的值,否则是表达式2的值。
//int main(int arg, const char * argv[])
//{
// int a = 10;
// int b = 20;
// int c = 40;
// printf("Max = %d\n",a>b?a:b);
// printf("Max = %d\n",(a>b?a:b)>c?(a>b?a:b):c);
// printf("Min = %d\n",(a<b?a:b)<c?(a<b?a:b):c);
// return 0;
//}
//=========================================================================
// 赋值运算符:= *= /= += -= %=
//int main(int arg , const char *argv[])
//{
// int a = 10; //初始化,在定义变量的同时,给变量一个初值
// int b;
// b = 20; //赋值,先定义,后赋值。
// printf("a = %d\n",a*=10);//a = a*10;早期的编译器生产的汇编语言a = a*10会比a*=10生产的汇编语言多几行,
// //故a*=10效率高
// printf("a = %d\n",a/=10);//a = a/10;
// printf("a = %d\n",a+=10);
// printf("a = %d\n",a-=10);
// printf("a = %d\n",a%=3);
//
// return 0;
//}
//=========================================================================
// 逗号运算符:,
//表达式1,表达式2,表达式3,...,表达式n;
//整个表达式的值就是表达式n的值,从表达式1算到表达式n;
//int main(int arg,const char *argv[])
//{
// int a = 10;
// int b = 20;
// int c;
// printf("value = %d\n",(c=a+b,a-b));
// printf("value = %d\n",(a++,b++,a+b));
// return 0;
//}
//****** 运算符优先级(由高到低) **************
//* 括号
//* 单目运算符(! ++ --)
//* 算术运算符(/ * % 大于+ -)
//* 关系运算符(> >= < <= 大于== !=)
//* 逻辑运算符(&&大于||)
//* 条件运算符(?:)
//* 赋值(= /= *= += -=)
//* 逗号运算符(,)
//***************************************
//可以通过加括号来提升优先级
//scanf 与printf的用法
//int scanf(const char *format,...)
//int main(int arg , const char *argvp[])
//{
// int a;
// int b;
// scanf("%d##%d",&a,&b);//&取地址符;最后一个占位符与双引号之间不要加任何东西,否则会造成输入阻塞,一直等待输入
// printf("%p,%p\n",&a,&b);
// printf("%d,%d\n",a,b);
// return 0;
//}
//=========================================================================
//********************
//* *
//* 强制类型转换 *
//* *
//********************
//只有在相同类型下才能进行运算
//int main(int arg,const char *argv[])
//{
// int a = 10; //00000000 00000000 00000000 00001010
// char b = 20; //00000000 00000000 00000000 00010100
// //正数位扩展,高位补0 ----------------------
// // = 00000000 00000000 00000000 00011110
// printf("a+b = %d\n",a+b);//隐式转换
//
// int c = 6; //00000000 00000000 00000000 00000110
// char d = -5; //11111111 11111111 11111111 11111011
// //对于负数位扩展,高位补1. ------------------------------------
// // =00000000 00000000 00000000 00000001
// printf("c+d = %d\n",c+d);//隐式转换
//
// int num = 10;
// float f = 3.14;
// printf("%f\n",num+f); //隐式转换,int提升为float
//
// printf("%d\n",(int)(num+f));//显示转换(强制类型转换),发生两次转换
// printf("%d\n",(num+(int)f));//发生一次转换
//
// //----------------------------------------------------------
// int intA = 0x2345;
// char chB;
// chB = intA; //发生位截断,高24位丢弃
// printf("intA = 0x%x\n",intA);
// printf("chB = 0x%x\n",chB);
//
// return 0;
//}
// char short int long longlong
// float double long double
// 1.char short向int看齐
// 2.char short int 向long longlong看齐
// 3.整型向浮点型看齐
// 4.float double 向long double看齐
int main()
{
float a = 3.14;
int b;
b = (int)a%2;//浮点类型数据不能进行取模
printf("%d\n",b);
return 0;
}
- 20150527运算符表达式
- 表达式和运算符
- 数据类型、运算符、表达式
- 运算符和表达式
- 表达式与运算符
- 运算符和表达式
- 运算符、表达式、语句
- 数据类型、运算符、表达式
- 数据类型、运算符、表达式
- 运算符、表达式
- 运算符、表达式、语句
- 运算符和表达式
- 运算符和表达式
- Java运算符、表达式
- 运算符和表达式
- 表达式和运算符
- 表达式和运算符
- 运算符和表达式
- 【hadoop】5004-Hadoop2.x 集群搭建步骤
- Xcode 6.1 做ipa企业级分发(In-House模式)详细步骤
- sql server2008 安全性管理机制
- Linux inotify功能及实现原理
- 集锦续集
- 20150527运算符表达式
- Hdu 5262 最强密码(dp)
- 关于Android Studio无法更新安装而导致无法启动的问题
- 20150527常量变量
- 异常
- 【leetcode】【单链表】【109】Convert Sorted List to Binary Search Tree
- STM32M4 内部flash编程
- 20150527常量变量_练习_运算符表达式练习
- memcache的配置