第2章 数据类型,运算符和表达式总结

2023-11-09

**一,**先举一个简单的例子
在这里插入图片描述
首先第1行是我们必不可少的头文件,其次从左至右那个int为返回参数,中间是方法名(可自定义),然后括号里面的是输入参数。那个中括号或者的是一个整体,下一行就是输出函数,括号内是输出内容,需要用双引号标注。然后就用分号结束这句语句。下一个语句也是最后一个语句就是执行结束。最后用中括号括起就大功告成了。

以此类推看第二个例题
在这里插入图片描述
★%C是字符,%D是整数位,%f是小数位,%不取小数的余数

二, C语言的数据类型
**1,**数据类型主要分为:
基本类型:整型,字符型,实型(浮点型)。
构造类型:数组类型,结构体类型,共用体类型
, 枚举类型。
指针类型。
空类型。

2, C语言的常量
(1)整型常量。即整数, C语言中,整形常量可以用十进制八进制和十六进制表示。
(2)实型常量。即实数,又称为浮点数,小数。 C语言中实数只能用十进制形式表示,实数的表示方法有两种,小数形式和指数形式。
★(3)字符型常量。
字符常量指单个字符,用一对单引号及其括号所括起来的字符表示,只占一个位置。
转义字符 转义功能 ASCII码值
\0 空字符 0
\b 退格 8
\n 回车换行 10
\” 双引号 34

下面举个例子(注意\0表字符串结束,不显示但存在)
在这里插入图片描述
(4)字符串常量。
在C语言中可以用一个标识符来表示一个常量。称之为符号常量,符号常量在使用之前必须先定义其一般形式为:#define + 标识符 + 常量值

举个例子
在这里插入图片描述
作用 :①增加程序的可读性:通过标识符就知道该常量的意思。
②提高程序的可维护性:通过符号常量使得修改常量很方便。
③简化程序代码:通过符号常量可以简化复杂表达式的重复输入。
④方便数组的定义:可以将整型符号常量作为数组的长度。
▲符号常量是不存在的常量。

3, C语言的变量
(1)变量的定义与使用。
★ 变量的定义。格式为:数据类型+变量名
①在C语言中,所有的变量必须先定义后使用。
比如 int r; 定义r为整型
float v; 定义v为单精度浮点型
double x; 定义X为双精度浮点型
char ch; 定义ch为字符型
②变量的初始化。
int x=2; 定义一个整型变量x并赋初值2。
int s=1,t=1;定义两个整型变量s和t并分别赋初 , 值为1。
float f=3.68; 定义一个单精度型变量并赋初值3.68。
char ch=‘x’; 定义一个字符型变量ch并赋初值字符x。
③变量的使用。
变量定义之后就可以在程序中使用,也称为变量的引用,使用变量时应该先赋值后引用。

举个例子(%d为整数位,%c为字符位)
在这里插入图片描述
(2)整形变量。
关键字 类型 占用字节数
short int 短整型 2
int 整型 4
long int 长整型 4
unsigned short 无符号短整型 2
unsigned int 无符号整形 4
unsigned long 无符号长整形 4

举俩个例子
第一个是不同类型整形变量的定义与使用。

在这里插入图片描述
第2个是短整型变量的溢出。
在这里插入图片描述
(3)实行变量。
关键字 类型 占用字节数
float 单精度型 4
double 双精度型 8

★单精度型数据能保留7位有效数字,双精度型数据能保留16位有效数字,都遵循0可以省略和满5进一的原则。

举个例子
在这里插入图片描述
(4)字符型变量。
字符型变量的值是字符常量,即用单引号引起来的单个字符,字符型变量的类型说明符是char其说明类型说明的格式和命名规则与整型变量相同。如char c1,c2;

再举个例子
第1个是字符变量的使用。
在这里插入图片描述
第2个是把大写字母转换为小写字母的使用。
在这里插入图片描述
4,运算符和表达式
(1)赋值运算符和赋值表达式。
c语言中赋值运算符有=, +=, -=, *=, /=, %= 。用赋值运算符将运算对象连接而成的表达式称为赋值表达式。
①简单赋值运算符。
如:int a,b,c=3;
定义a,b,c为整型变量,但只对c进行了赋值操作,c的值为3。

②复合赋值运算符。
在简单赋值运算符前面加上算术运算符。
运算符 应用举例 等价形式
+= a+=x a=a+(x)
-= a-=x a=a-(x)
= a=x a=a*(x)
/= a/=x a=a/(x)
%= %=x a=a%(x)

③赋值表达式。
在C语言中赋值语句属于表达式语句,赋值表达式是由赋值运算符将一个变量和一个表达式连接起来的式子所组成。
它的一般形式为:变量=表达式
▲赋值运算符的左侧必须是一个变量。

(2)算术运算符和算术表达式。
①基本的算术运算符。
包括加+减-乘*除/和求余%等运算,他们都是双目运算符,所谓双目运算符是指运算时需要两个操作数。
②自增自减运算符。
C语言有两个特殊运算符是++,- -。
++自增运算符,为单目运算符,它能使变量的值自加1。它有两种使用形式:
a 前缀方式为用于变量前面,如int a=++x;它是先计算,后使用,即先将x的值字加1,然后将x的值赋给变量a。
b 后缀方式为用于变量后面,如int a=x++;它是先使用,后计算,即先将x的值赋给变量a,再将x的值自加1。

  • -自减运算符,也为单目运算符 功能是使变量的值自减1。使用方法和自增运算符类似。
    ▲自增和自减运算符的操作对象只能是一个简单变量,不能是常量或表达式。如6- -,(a+b)++是错的。

(3)算术运算符的优先级和结合性。
①先单目后双目。②从左至右依次结合。

(4)算术表达式。
举个例子,输入一个三位的正整数,输出其反序数。
在这里插入图片描述
(5)逗号运算符和逗号表达式。
C语言中,逗号也是一种运算符,称为逗号运算符,它能把多个表达式连接起来组成一个表达式。
逗号表达式的一般形式为:
表达式一,表达式二,…,表达式n
①他的执行顺序是从左到右依次计算每个表达式的值,并把最后一个表达式的值作为整个逗号表达式的值。
②逗号运算符是双目运算符,其优先级最低,是左结合的。
③并非所有出现逗号的地方都为逗号表达式,如在变量说明语句中以及函数参数表中,逗号只是用作各变量之间的分隔符。

举个例子
在这里插入图片描述
(6)求字节数运算符。
运算符sizeof用于计算数据类型所占的字节数,它是一个单目运算符,优先级高于双目运算符,它的一般格式如:
①sizeof(表达式)或sizeof(表达式)
②sizeof(数据类型名)

举俩个例子
第1个是不同数据类型字节数表示。
在这里插入图片描述
第2个是求字节数运算符
在这里插入图片描述
5,数据类型转换
①自动类型转换:由低到高
由short,char→int→unsigned→long→double←float
②强制类型转换:
采用强制类型转换运算符,将某种数据类型强制转换成指定的数据类型。
它一般形式为:(类型说明符)(表达式)
它能把表达式的运算结果强制转换成类型说明符指定的类型。▲很大的风险会造成数据丢失。

举个强制类型转换例子
在这里插入图片描述

①需强制类型转换中的表达式一定要括起来,否则只对紧随括号后的量进行类型转换。
②强制类型转换是一种不安全的转换,如果是从高级类型转化成低级类型,则会损失数据的精度。
③强制类型转换并不改变表达式中变量的类型和值。

▲小知识:
scanf=scanf_
%if 保留一位小数
%+数字+f 保留多少个数字空格位

好啦,第2章的总结到此结束。干饭干饭!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

第2章 数据类型,运算符和表达式总结 的相关文章

随机推荐

  • CSS_IOS适配状态栏和IOS底部安全区域

    状态栏 var status bar height 计算属性 height calc var status bar height 343px 底部安全区 先constant再env constant safe area inset bott
  • 2023汽车工业数字化与XR技术白皮书

    本白皮书探讨了扩展现实 XR 技术在汽车工业中的应用 及其对行业发展的潜力和挑战 汽车工业作为全球制造业的重要一环 既迎接着推动经济发展的机遇 也面临着环境压力和技术变革的挑战 与此同时 XR技术以其快速发展和多元化的应用前景 为汽车行业带
  • 整形数据在内存中的储存

    目录 1 数据类型的介绍 2 整形在内存中的储存方式 2 1原码 反码 补码的关系 2 2大小端介绍 字节储存的顺序问题 3 加减法运算的问题 数字大小超过类型的上限 例题1 例题2 例题3 例题4 1 数据类型的介绍 char类型的变量在
  • 机器学习及项目实战

    机器学习 1 机器学习体系介绍 1 1 机器学习与传统编程 传统编程 在传统编程中 你需要对程序的行为进行硬编码 对于任何解决方案 第一个任务都是创建最合适的算法并编写代码 然后 必须设置输入参数 实际上 如果实现的算法是正确的 它将产生预
  • ovs 流表机制(一)

    ip netns add ns1 ip netns add ns2 ip link add tap0 type veth peer name tap0 br ip link add tap3 type veth peer name tap3
  • SpringBoot - 配置类的实现

    一 基本用法 1 基本介绍 Spring Boot 推荐使用 java 配置完全代替 XML 配置 java 配置是通过 Configration 和 Bean 注解实现的 二者作用如下 Configration 注解 声明当前类是一个配置
  • 静态时序分析的基本方法06

    其他芯片变化相关分析模式 随着制造工艺越来越先进 在时序分析规模不断增大的同时 对时序分析精度的要求也越来越高 因此常规的芯片变化相关分析模式已经无法满足当前更高级的时序分析要求 本节将介绍两种更高级的芯片变化相关分析模式 高级芯片变化相关
  • flask

    Stack Overflow Questions Jobs Documentation Tags Users Badges Ask Question Dismiss Announcing Stack Overflow Documentati
  • CAM(Content-Addressable Memory)介绍

    1 CAM介绍 标准存储器RAM查找方式为通过地址查找相应地址的数据 而CAM为通过数据查找相应地址 实现了更快的数据搜索 CAM中 每个地址只能存储唯一数据 但特定的数据可以存在多个地址中 当写入发现地址冲突时 删除原来的旧数据 2 实现
  • Spring4深入理解----事务(声明式事务和xml配置事务,事务传播属性,事务其他属性(隔离级别&回滚&只读&过期))

    参考代码下载github https github com changwensir java ee tree master spring4 事务管理是企业级应用程序开发中必不可少的技术 用来确保数据的完整性和一致性 事务就是一系列的动作 它
  • BZOJ4345 [POI2016]Korale

    在病房里日题真是一种独特的体验 首先考虑求第一问 我们先把所有元素排序 我们用优先队列维护选数的集合 对每个集合维护集合里的元素的和v和最后一个元素 即最大的元素 lst 初始的时候我们把只包含最小元素的集合推入队列 那么我们取出一个队头元
  • 苹果cms采集非html的视频,苹果cms采集完没有播放地址的解决方法

    这篇文章主要为大家详细介绍了苹果cms采集完没有播放地址的解决方法 具有一定的参考价值 感兴趣的小伙伴们可以参考一下 有需要的朋友可以收藏方便以后借鉴 苹果cms采集完没有播放地址 这种情况一般是新手经常遇到到的常见问题 如果需要查询问题的
  • 构建高可用分布式Key-Value存储服务

    构建高可用分布式Key Value存储服务 前言 当我们构建服务端应用的时候 都会面临数据存放的问题 不同的数据类型有不同的存放方式 譬如关系型数据通常使用MySQL来存储 文档型数据则会考虑使用MongoDB 而这里 我们仅仅考虑最简单的
  • MySQL 性能优化神器 Explain 使用分析

    简介 MySQL 提供了一个 EXPLAIN 命令 它可以对 SELECT 语句进行分析 并输出 SELECT 执行的详细信息 以供开发人员针对性优化 EXPLAIN 命令用法十分简单 在 SELECT 语句前加上 Explain 就可以了
  • SpringBoot之logback-spring.xml详细配置

    logback官网 各种指导文件 有空自己去看 比如 我们需要调整的是布局 直接看Layouts pom xml
  • GIF动态图制作

    GIF动态图制作
  • JavaWeb项目实训——如何做一个jsp网页

    前提 成功安装配置了eclipse Jee tomcat9等 流程 设置编码格式为UTF 8 引入jar包 建立一个jsp文件 引入tomcat 浏览器查看网页 设置编码格式为UTF 8 设置js文件的默认编码格式为UTF 8 在Windo
  • 卸载vivo手机自带的应用程序

    https bbs nubia cn thread 960835 1 1 html vivo应用列表 http bbs xiaomi cn t 13228624 n3 小米可删应用 1 下载刷机大师 2 手机开启usb调试连接到电脑 3 手
  • Already up to date.问题解决

    一般在进行git操作的时候出现Already up to date 问题有两种情况 git合并分支遇到的问题 发现合并上去以后会被覆盖 这个时候你要检查一下自己的写文件顺序 检查顺序 一 当前分支的文件和远程仓库的文件不统一 这时候就需要将
  • 第2章 数据类型,运算符和表达式总结

    一 先举一个简单的例子 首先第1行是我们必不可少的头文件 其次从左至右那个int为返回参数 中间是方法名 可自定义 然后括号里面的是输入参数 那个中括号或者的是一个整体 下一行就是输出函数 括号内是输出内容 需要用双引号标注 然后就用分号结