两日学习内容:编程练习解析 数据类型 整型类型 整数的内部表达 整数范围 整数格式化 选择整数类型 浮点类型 浮点的范围和精度 字符类型 逃逸字符 类型转换 逻辑类型
链接:(https://www.mubu.com/doc/1q1HJol229F)
笔记:
接上
int main()
{
int m, n;
int i;
int cnt = 0;
int sum = 0;
scanf("%d %d", &m, &n);
for (i = m; i <= n; i++)
{
int isPrime = 1;
int k;
for (k = 2; k < i - 1; k++)
{
if (i % k == 0)
{
isPrime = 0;
break;
}
}
if (isPrime)
{
cnt++;
sum += i;
}
}
printf("%d %d\n", cnt, sum);
return 0;
}
数据类型:
C是有类型的,变量使用前应定义并确定类型
整数,浮点数,逻辑,指针,自定义
类型输入输出的格式化:%d,%ld ,%lf
表达数范围:char<short<int<float<double
用sizeof给出某类型或变量在内存中所占字节数 如sizeof(int) / sizeof(i)
sizeof是静态运算符,在编写定义时就已被确定,不会再去作计算
二进制负数:最高位为1
unsigned:整数不以补码形式表示负数,该整数没有负数部分,只有0和正整数部分(其所能表达的正数范围扩大一倍)主要为了作纯二进制运算
在后面加L表示long
(ps:二进制好难听懂)
(补码看不懂)
整数的格式化:
不管计算机内部是什么数,重点是我们用什么方式看它,使相同的数得到的结果不同,以正确的方式格式化成人能读懂的东西
int 来表达寄存器的:
选择整数类型:
没有特殊需要就选int
unsigned与否只是输出不同,内部计算一样
浮点类型:
%e:用科学计数法
如-5.67E+16(可选-/+ 可选e/E 小数点位置也可选)整个中间不可有空格
浮点的范围和精度:
inf:无穷大
正数/0:inf
负数/0:-inf
0/0:nan
小数部分在变成二进制的时候会有除不尽的情况,这时候就会变成四舍五入的情况
如算钱时不可用浮点数,误差会累加,可转换为最小的单位来用整数计算(算出来正确)
没有特殊需要,用double
字符类型:
char:整数/字符
单引号:字符字面量‘a’ 或 ‘1’
双引号:字符
printf scanf里面用%c输入输出字符
用代码验证1与‘1’是否同:ASCII来看大小
scanf里不能直接给字符赋值
%c对应字符,%d对应整数,整数对应字符的ASCII码
一个字符加一个数字得到ASCII码表中那个数之后的字符,两个字符的减得到它们在表中的距离
逃逸字符:
shell:终端 不同的shell会对不同的控制字符反应而得到不同结果如一般来说\b是回去但不删除但也可能有个终端让它又回去又删除
换行和回车是两个动作所以会有对应的两个逃逸字符
自动类型转换:
强制类型转换:
把量强制转化为另一个类型
如int(10.2)
但小变量不总能表达大的量
只是变量计算出了新类型的值,并不改变那个变量,无论是值还是类型都不改变
强制类型转换优先级高于四则运算,则注意加()
逻辑类型:
#include <stdbool.h>之后就可以使用bool和ture false
conclude:
这两天倒霉到达顶峰,先是感冒然后变成咳嗽鼻炎,然后是过敏得全身难受,总之我发现自己就是很容易被各种因素影响心情,所以这两天情绪也是不佳,,解决完编程练习解析之后,应该算是系统开始认识各种关于C的知识,到这里就没那么难了,跟上新课一样挺好懂的,也没有很重难的代码,学起来感觉还行,就是要记的东西多一点,不懂的问问ai也能解决,大概就是这样了,这两天的活动就是看点球赛搞点卫生,了解了解新闻时事,还有大学常识,发展发展娱乐项目(其实就是打牌) 还有打打球 也没啥可说的了,不过最近发现自己有点喜欢看军事解说,比如当前国际局势或者以前某个事件的发展史,感觉挺感兴趣的。。。
2024.8.9