3.基本数据类型
作者:@郑琰
本文转载请注明出处!:https://www.cnblogs.com/zhengyan6/p/16689282.html
基本数据类型
常量
-
定义:程序运行时其值不能改变的量(即常数)
-
分类:符号常量:用标识符代表常量
定义格式:#define 符号常量 常量 例子:pi 3.14
直接常量:
整型常量(整常数)
实型常量(实数或浮点数)
字符常量
字符串常量
# 整型常量(整常数) 三种形式:十进制整数:由数字0-9和正负号表示 八进制整数:由数字0开头 (0-7) 十六进制整数:由0x开头 (0-9,A-F或a-f) # 实型常量(实数或浮点数) 表示形式:十进制小数形式:0.2 (.2 , 2. 也是实型常量,2是整型常量)条件: 1,有点;2,至少一边有数字 指数形式:1.2E-3 表示1.2✖10的-3次方 (规定:E或e两边都要有数; 右边必须是整数) # 字符常量 定义:用单引号括起来的单个普通字符或转义字符 常规字符:例如:'A','2','#'等 转义字符:由一个反斜杠“\”后跟规定字符构成 # 字符串常量 定义:用双引号括起来的字符序列 存储:每个字符串尾自动加一个'\0'作为字符串结束标志 'c' 'h' 'i' 'n' 'a' '\0' 'a'和"a"区别:'a':字符常量;"a"字符串常量;显示:'a'=a ; "a"=a\0
ASCLL就是十进制数据
a —> 97 ; A —> 65
printf("ABCD\tEF\bGH\n"); # \t八个占位 ; \b把左侧字符删掉 ; \n换行 ABCD EGH printf("\\123\\\n"); # 第一个\是转义字符的开始 ;\\只输出一个\ \123\ printf("\'1234\'\t5678\n"); '1234' 5678
变量
概念:是指在程序运行期间值可以发生变化的量。 作用:变量是一个存储数据的容器,即存储单元,它的功能就是用来存放程序中需要处理的数据。 变量的基本操作: 1,赋值 2,取值 变量的命名:遵守c语言标识符的命名规则。 变量的使用原则:先定义后使用。 变量定义的语句的一般形式为:类型标识符 变量名; # 整型变量 占节数随机器不同而不同,一般占一个机器字 short(2B)<=int<=long(4B) 可用sizeof(类型标识符)测量 # 实型变量 float:占4字节 double:占8字节 # 字符型常量 字符变量存放字符ASCII码 char与int数据间可进行算术运算
# 习题 float f=24.56 printf("%f\n",f); %f规定六位小数 ,结果显示必须为六位 结果:24.560000 char c1='A',c2=100; printf("%d,%c\n",c1,c2); # 65,d c1=c1+32; c2=c2-32 printf("%c,%d\n",c1,c2); # a,68 #define PRICE 12.5 宏定义 main() { int num=3; 变量定义 float total; 变量定义 char ch1,ch2='D'; 变量定义 total=num*PRICE; ch1=ch2-'A'+'a' printf("total=%f,ch1=%c\n",total,ch1); 输出结果 } %d:十进制 %f:六位小数 %c:字符原型 %0:八进制 %x:十六进制 A=65 d=100
数据类型转换
强制类型转换符
形式:(类型名)表达式
(int)2.2
(int)5.5/(int)2.5
自动转换
设char w;int x;float y;double z; ,则表达式
w*x+z-y的值的类型是: double
运算符和表达式
算术运算符和算术表达式
基本算术运算符:+ - * / %
结合方向:从左向右
优先级:+ - —> * / % —> + -
说明:"-"作为单目运算符时,右结合性 2+(-3)
a/b: a,b均整数,结果也是整数 ; a,b有实型,结果也是实型
赋值运算符和其表达式
1.赋值运算符:
2.赋值表达式:变量=表达式
例如:x=5
x+5=x+5
4.优先级:仅高于逗号运算符
5.结合性:自右向左
说明:
赋值表达式尾部加上分号,构成赋值语句,例如:y=x+10;
6.复合赋值运算符:+=,-=,*=,/=,%=
优先级:仅高于逗号运算符
结合性:自右向左
a+=2;等效于a=a+2;
a-=2;等效于a=a-2;
a=2;等效于a=a2;
自增自减运算
运算符:自增(++)、自减(--)
作用:自增运算使单个变量的值增1,自减运算使单个变量的值减1。
用法与运算规则:
※前置运算:+ + i ,- - i
先增减、后运算
※后置运算:i + + , i - -
先运算,后增减
逗号运算符和表达式
形式:表达式1,表达式2,......表达式n
结合性:从左向右
优先级:最低
逗号表达式的值:等于表达式n的值
逗号功能:运算符或分隔符
关系运算符和表达式
关系运算符
种类:< <= == >= > !=
结合方向:自左向右
优先级别:< <= > >= 优先级6(高);== != 优先级7(底)
关系表达式的值:是逻辑值“真”或“假”,用1和0表示
逻辑运算符和表达式
逻辑运算符种类:!(非) &&(与) ||(或)
逻辑运算真值表:
注:C语言中,运算量:0表示假,非0表示真
运算结果:0表示假,1表示真
与:有假为假;或:有真为真
优先级:! && ||
短路特性:
逻辑表达式求解时,并非所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符
条件运算符与表达式
一般形式:expr1? expr2: expr3
执行过程:expr执行为真则执行expr2,为假则执行expr3
优先级:13
条件运算符可嵌套
结合方向:自右向左
数据输入与输出
C语言无I/O语句,I/O操作由函数实现
include <stdio.h>
数据输出:
(1)字符输出函数
格式:putchar(c)
参数:c为字符常量,变量或表达式
功能:把字符c输出到显示器上
(2)格式输出函数
格式:printf(“格式控制串”,输出表)
功能:按指定格式向显示器输出数据
输出表:要输出的数据(可以没有,多个时以 “,” 分隔)
格式控制串:包含两种信息
格式说明:%[修饰符]格式字符,用于指定输出格式
普通字符或转义序列:原样输出
格式字符
说明:格式字符要用小写
格式字符与输出项个数应相同,按先后顺序一一对应
输出转换:格式字符与输出项类型不一致,自动按指定格式输出
补充:
说明:输出右对齐,左补空格;指定小于实际,原样输出
说明:%m.nf ;m为数据总长,n为小数位,实际>n则四舍五入,实际<n则补零
说明:输出格式少于输出项,多余的输出项将不输出
数据输入
(1)字符输入函数
格式:getchar()
功能:从键盘读一字符
(2)格式输入函数
格式:scanf(“格式控制串”,地址表)
功能:按指定格式从键盘读入数据,存入地址表指定的存储单元中,并按回车键结束。
地址表:变量的地址,常用取地址运算符&
输入分隔符的指定:
一般以空格或回车键作为分隔符
其他字符做分隔符:格式串中两个格式符间字符
交换语句例子:t=a;a=b;b=t;
字符前不能有空格,否则接收到的是空格!
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】博客园携手 AI 驱动开发工具商 Chat2DB 推出联合终身会员
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个适用于 .NET 的开源整洁架构项目模板
· API 风格选对了,文档写好了,项目就成功了一半!
· 【开源】C#上位机必备高效数据转换助手
· .NET 9.0 使用 Vulkan API 编写跨平台图形应用
· MyBatis中的 10 个宝藏技巧!