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

学习日记:数据类型2

目录

1.转义字符

2.隐式类型转换

2.1 强制类型转换

2.2 不同类型间赋值

3.运算符 表达式

3.1 算术运算符

3.2 算术运算优先级

3.3 赋值运算

3.3.1 不同类型间混合赋值

3.4 逗号运算

4.生成随机数

5. 每日一练


1.转义字符

'\n'                        表示换行

'\t'                         表示调到下一个制表符(一个制表符占8个空格)

'\b'                        表示退格

'\r'                         回车,光标回到当前行的开头

'\\'                        表示打印一个 \

'\''                        表示打印 '

'\'''                        表示打印 "

'\101'                    表示转义八进制

'\x41'                     转义十六进制

2.隐式类型转换

低精度和高精度混合运算时,低精度1往高精度转。

2.1 强制类型转换

(类型)运算数

注:不会影响运算数本身 

float a = 12.34;
(int) a

2.2 不同类型间赋值

3.运算符 表达式

3.1 算术运算符

+  、 -   、 *  、/   、 %

注:

/  (1)两个整数相除,相当于取整的效果

   (2)除法运算中除数不能为0

% (1)除数不能为0

     (2)运算数必须为整数。

      (3)结果的符号取决于做操作数

另:取余运算可用于:判断奇数和偶数(%2 == 1 奇数; %2==0  偶数);取范围(%N  得到0~N-1的数)

++        自增:表示一次+1;

(1)a++  :后置加加,先用(表达式的结果) 后加(让a自增)

(2)++a  :前置加加 ,先加(让a自增) 后用(表达式的结果) 

注:a++和++a如果单独使用,效果上没有区别,运算数必须是一个可以修改的变量,浮点类型也可以自增自减。

ps:i++和++i哪个效率高?

答:++i效率更高。
 

--          自减:表示一次-1;

3.2 算术运算优先级

3.3 赋值运算

赋值运算符“ = ”:作用是将一个数据赋给一个变量。

eg:a = 10 结果是a的值,类型为a的类型

注:可以连续赋值 ----  a = b = c = 10

+=    、   -=     、   *=    、    /=     、    %=    也是赋值运算

eg: a += 1  相当于 a = a + 1

3.3.1 不同类型间混合赋值

(1)高精度的值赋给低精度会产生精度丢失。

(2)长类型的值赋给短类型会产生高位截断。

(3)短类型的值赋给长类型 

        a:无符号短类型赋给长类型------高位补零

        b:有符号短类型赋给长类型------符号位扩展(高位补符号位)

3.4 逗号运算

逗号运算为顺序求值运算符

语法:表达式1,表达式2,表达式3...,表达式n

1+2,a++,3+4;

运算过程:从左往右依次运算,结果为整个式子中最后一个表达式的结果。

4.生成随机数

rand();

eg:随机生成10个100以内的数

#include<stdio.h>
#include<stdlib.h>
#include<time.h>int main(void)
{int i = 0;srand(time(NULL));for(i = 0;i<10;i++){printf("%d\n",rand()%100);}return 0;}

运行结果:

5. 每日一练

从终端获得两个2位数,
将第一个数个位作为新数的千位,
将第二个数个位作为新数的百位,
将第二个数的十位作为新数的十位

将第一个数的十位作为新数的个位,
打印该新数。
 

#include<stdio.h>int main(void)
{int a,b,c1,c2,c3,c4,num;printf("Input two num:");scanf("%d %d",&a,&b);c1 = a % 10 * 1000;c2 = b % 10 * 100;c3 = b / 10 * 10;c4 = a / 10;num = c1+c2+c3+c4;printf("num = %d\n",num);return 0;
}

运行结果:

http://www.lryc.cn/news/409914.html

相关文章:

  • Django Web框架——05
  • 【React】项目的目录结构全面指南
  • Django学习(二)
  • Java引用类型
  • ubunto安装redis
  • 【odoo17 | Owl】前端js钩子调用列表选择视图
  • MATLAB基础:函数与函数控制语句
  • 2024.7.30 搜索插入位置(二分法)
  • Socket通信(C++)
  • 小白学大模型:LLaMA-Factory 介绍与使用
  • java算法day26
  • docker笔记7-dockerfile
  • Spring-cloud Alibaba组件--Dubbo
  • 右值引用--C++11
  • 这样做外贸报价表,客户看了才想下单
  • Swift学习入门,新手小白看过来
  • 【Ant Design Pro】快速上手
  • Hive3:Hive初体验
  • blender顶点乱飞的问题解决
  • Elasticsearch(ES) 集群脑裂
  • spark 3.0.0源码环境搭建
  • 3.3、matlab彩色图和灰度图的二值化算法汇总
  • 新手必看:Elasticsearch 入门全指南
  • 【Linux】TCP全解析:构建可靠的网络通信桥梁
  • 图像处理 -- ISP中的3DNR与2DNR区别及实现原理
  • 硬盘分区读不出来的解决之道:从自救到专业恢复
  • 盘点2024年网上很火的4个语音识别转文字工具。
  • 解决 Git 访问 GitHub 时的 SSL 错误
  • LinuxCentos中安装apache网站服务详细教程
  • LUA脚本改造redis分布式锁