学习日记:数据类型2

目录

1.转义字符

2.隐式类型转换

[2.1 强制类型转换](#2.1 强制类型转换)

[2.2 不同类型间赋值](#2.2 不同类型间赋值)

[3.运算符 表达式](#3.运算符 表达式)

[3.1 算术运算符](#3.1 算术运算符)

[3.2 算术运算优先级](#3.2 算术运算优先级)

[3.3 赋值运算](#3.3 赋值运算)

[3.3.1 不同类型间混合赋值](#3.3.1 不同类型间混合赋值)

[3.4 逗号运算](#3.4 逗号运算)

4.生成随机数

[5. 每日一练](#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;
}

运行结果:

相关推荐
一起逃去看海吧13 分钟前
dify-03
java·linux·开发语言
fengyehongWorld14 分钟前
Linux 根据端口进行的相关查询
linux
lihao lihao17 分钟前
linux匿名管道
linux·运维·服务器
うちは止水20 分钟前
weston出图调试
linux·wayland·weston
STDD21 分钟前
Farming Simulator 25(模拟农场 25) Linux 专服搭建完全指南
linux·运维·javascript
社交怪人23 分钟前
【范围判断】信息学奥赛一本通C语言解法(题号2052)
c语言
好好风格1 小时前
宝塔面板 HTTPS 端口证书不生效排查记录
linux·运维·nginx
用户2367829801681 小时前
Linux pgrep 命令详解:按名称查找进程 PID 的高效方法
linux
zzipeng2 小时前
Linux LCD驱动
linux·运维·服务器