c语言基础-表达式05
来源:互联网 发布:路由器上网数据获得 编辑:程序博客网 时间:2024/06/06 00:39
1.变量赋值
1.1 自动类型转换
当我们为变量赋值的时候,如果赋值的数据的类型 和变量的类型不一致.
这个时候C系统会将赋值的数据的类型转换为 变量的类型然后再赋值.
这样的情况叫做自动类型转换.
1.2 常见类型赋值
1.2.1 int赋值
1).如果我们赋值的数据超出了int的范围.这个时候C系统会将数据转换为1个随机的int数据.
2).如果我们赋值的数据超出了int的范围太多.这个时候自动类型转换无能为力. 编译器直接报语法错误.
3).如果我们赋值的数据是1个实型的小数.这个时候C系统会直接截取整数部分.
1.2.2 float 赋值
1).如果我们赋值的数据是1个double类型的小数,这个时候C系统会将这个double类型的小数转换为float
2).如果我们赋值的数据是1个整数,那么就将这个整数转换为float小数直接加1个.0就搞定了.
1.2.3 double赋值
当我们赋值的数据是1个float类型的时候,这个时候C系统会将其转换为double占据8个字节.
1.2.4 char类型
char类型数据的赋值,就是把char对应的ASCII码赋值给变量。
2.scanf函数
可以在程序运行的时候.让用户输入数据.然后将用户输入的数据赋值给指定的变量
scanf("格式控制符",变量地址列表);
注意:
2.1.用户输入数据和要求的数据类型要一致,这样才能正确的接收,如果输入不符,就可能接收失败,数据就会用默认值。
2.2.用户在输入数据之前,输入空格 回车 tab键都会被忽略。
2.3.当要求用户输入多个数据时,需要使用占位符,占位符的类型就是要输入数据的类型。后边对应的跟上相应数据类型的变量的地址。
用户输入时,可以用回车或者空格来分隔多个数据。用户也可以指定分隔符,一旦指定来分隔符,空格和回车就无法使用了。
scanf如果一次输入多个数据,只能是数字,如果有char混合输入就会出问题。
2.4.scanf函数,用户输入完毕,并不是直接赋值给变量,都是先储存到缓冲区。如果用户输入之前,缓冲区有数据就不会让用户输入直到缓冲区没有数据。
输入的空格 回车 tab都会被自动忽略。
2.5.在输入字符之前,要把缓冲区中的数据全部清空。rewind(stdin);
3.交换两个变量的值
3.1.两数相加再相减
int a = 10, b = 20;
a = a + b;
b = a - b;
a = a - b;
3.2.异或交换两个变量的值
int num1 = 100;
int num2 = 200;
num1 = num1 ^ num2;
num2 = num1 ^ num2;
num1 = num1 ^ num2;
4.逗号表达式
用逗号将其他的表达式连起来.就叫做逗号表达式.
从头到尾的去执行每1个子表达式.最后1个子表达式的结果就是整个逗号表达式的结果.
前面的表达式只是想要让其执行.不关心结果.因为前面的表达式一旦执行就会影响最后1个表达式的结果.
而我们关心的是 前面的变化完了以后最后1个表达式的结果是多少.
- c语言基础-表达式05
- C语言基础-----运算符与表达式
- C语言基础 运算符和表达式
- c语言基础05
- C语言一些基础:数据类型,运算类型及表达式
- 零基础学C语言 笔记五 算术表达式
- c语言基础(5)--运算符,表达式和语句
- C语言基础:运算符、表达式和语句
- c语言基础——运算符表达式
- C语言基础学习(二)--运算符表达式
- C语言05指针基础
- C语言基础课程 第四课 它山之石可以攻玉---C语言数据类型和表达式
- C语言 算术表达式
- c语言条件表达式
- C语言正则表达式
- C语言逗号表达式
- C语言正则表达式
- C语言正则表达式
- Bootstrap简介
- 两个img标签之间有空白
- 2017计蒜客初赛第二场第一题 百度的年会游戏
- EOJ 3247 大学生程序设计邀请赛(华东师范大学)-G 铁路修复计划
- opencv(25)---轮廓特征属性及应用之矩
- c语言基础-表达式05
- Acm平台
- C语言-密码
- Colossal Fibonacci Numbers! UVA
- poj 2752 Seek the Name, Seek the Fame(KMP应用)
- 详解HelloWorld执行过程
- 最常用的12种设计模式小结
- 【设计模式】—— 代理模式Proxy
- 关于z-index与transform同时使用时的一些感想