C笔记(一)

本文深入探讨了C语言中的数据类型转换规则,包括整型、浮点型的混合运算,以及类型强制转换的使用。同时,全面介绍了C语言的各类运算符,如算术、关系、逻辑和位运算符等,以及它们的优先级和应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

整型(包括int,short,long)、浮点型(包括float,double)可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,该类型能够表示的范围较大,然后进行运算.这种类型转换是由系统自动进行的。

在这里插入图片描述
在进行赋值操作时,会发生类型转换。
将取值范围小的类型转为取值范围大的类型是安全的,反之是不安全的。
如果大类型的值在小类型能容纳的范围之内,则平安无事。
但是,浮点数转为整数,会丢失小数部分,非四舍五入。
反之,转换后的结果必然是错误的,具体结果与机器和实现方式有关。避免如此使用,好的编译器会发出警告 。
类型强制转换运算符“(类型)”
消除从大到小的警告
l = (long)i;
可以通过“(类型)表达式”的方式把表达式的值转为任意类型

C的运算符有以下几类:
(1)算术运算符 (+ - * / %)
(2)关系运算符 (> < == >= <= !=)
(3)逻辑运算符 (! && ||)
(4)位运算符 (<< >> ~ | ∧ &)
(5)赋值运算符 (=及其扩展赋值运算符)
(6)条件运算符 (?:)
(7)逗号运算符 (,)
(8)指针运算符 (*和&)
(9)求字节数运算符(sizeof)
(10)强制类型转换运算符( (类型) )
(11)分量运算符(. ->)
(12)下标运算符([])
(13)其他 (如函数调用运算符())

优先级表如下
(用括号来控制运算顺序更直观、方便,并减少出错的概率)
函数符号() 数组下标[]
单目运算符
算数运算符
移位运算符
关系运算符
逻辑运算符
三目运算符

格式输出函数
printf(格式控制字符串, 输出项表列);
输出若干个任意类型的数据
printf(“a=%d b=%f”, a, b);

格式输入函数
scanf(格式控制字符串, 地址表列);
scanf("%d,%f”, &a,&b);

%d或%i按十进制有符号整数输出,正数的符号省略
%u按十进制无符号整数输出
%o按八进制无符号整数输出(不输出前导0)
%x或X按十六进制无符号整数输出(不输出前导符0x)
%c按字符型数据输出
%s按字符串数据输出
%f按小数形式输出(6位小数)
%e或E按指数形式输出实数
%%输出%本身
%g或G选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0

m 表示数据占用的宽度,正整数
n 对实数,指定小数位数(四舍五入)
对字符串,指定实际输出位数
l 加在d、o、x、u前:输出长整型
加在f、e 、g前:输出双精度型
h 加在d、o、x 前:输入短整型
减号 输出数据在域内左对齐(默认右对齐)
加号 指定在有符号数的正数前显示正号(+)

if语句
if(表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
……
else if(表达式m)语句m
else 语句n
匹配规则:
else总是与它上面的,最近的,统一复合语句中的,未配对的if语句配对;
当if和else数目不同时,可以加花括号来确定配对关系

switch语句的格式:
switch (表达式)

case 常量表达式1:语句1; break;
case 常量表达式2:语句2; break;

case 常量表达式n:语句n; break;
default :语句n+1; break;

while (表达式) 语句
当表达式为非0值时,执行while语句中的内嵌语句。其特点是:先判断表达式,后执行语句。

do while语句
do
循环体语句
while (表达式);
do-while语句的特点:先执行循环体,然后判断循环条件是否成立

continue语句
作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定.

break语句
break语句可以用来从循环体内跳出循环体,即提前结束循环,接着执行循环下面的语句
一般形式: break;
注意:break语句不能用于循环语句和switch语句之外的任何其他语句中。
在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU 跨切循环层的次数;
如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值