C语言专栏
C语言学习内容
日日安.
代码来自网课等平台学习内容加以个人理解,用于个人笔记方便后期查找,如有侵权请联系速删。
展开
-
找钱(scanf)
scanf const原创 2024-03-11 13:55:55 · 65 阅读 · 0 评论 -
scanf读取多个数值
未初始化即定义的变量未赋初值,若有格式外的输入,例如上述输入的不是整数则会出现乱码(乱码的内容是系统里面有什么就输出什么并不、固定)原创 2024-03-11 14:10:05 · 266 阅读 · 0 评论 -
int double(英尺、英寸、厘米/米转化)
将scanf中的%d改为%lf,将printf中%d改为%f。因为两个整数的运算结果只能是整数,如有小数会自动舍弃。将int改为double(双浮点数)将参与运算的数改为小数即可。原创 2024-03-11 14:18:09 · 189 阅读 · 0 评论 -
取余数计算时间差
思路:读取输入的两个时间,分别将小时化作分钟再与分钟相加得到两个总的分钟数,再将分钟相减计算分钟差,将分钟差/60分钟取整得到小时数,取余得到分钟数。原创 2024-03-11 16:42:55 · 106 阅读 · 0 评论 -
交换两个变量的值
【代码】交换两个变量的值。原创 2024-03-11 16:43:09 · 95 阅读 · 0 评论 -
++a和a++
注意:a*=(b+100)/2 [等号右边作为整体先运算出结果] 的意思是 a=a*((b+100)/2)5个算数运算符+,- * / %与赋值运算符=相结合形成复合赋值运算符。复合赋值运算符+=,-=,*=,/=,%=;两个运算符之间不要有空格、/++,--只能用于变量不可用于定值;a++即a+=1即a=a+1。/例:a+=(b+100)/2的意思是 a=a+(b+100)/2。原创 2024-03-11 16:43:23 · 198 阅读 · 0 评论 -
三位数逆序
【代码】三位数逆序。原创 2024-03-11 16:43:38 · 108 阅读 · 0 评论 -
借位计算时间差(if)
【代码】借位计算时间差(if)原创 2024-03-11 16:43:51 · 89 阅读 · 0 评论 -
比较运算符
例如:6>5>4的运算过程为6>5是肯定的然后输出1,1>4是否定的输出0,所以最终结果输出为0。做比较的运算符:(==,!=,优先级比 > < 略低)=,优先级低于算数运算符高于赋值运算符。比较运算符从左到右运算但是是一步一个结果。原创 2024-03-11 16:44:02 · 70 阅读 · 0 评论 -
比大小(if-else)
【代码】比大小(if-else)原创 2024-03-11 16:44:17 · 183 阅读 · 0 评论 -
if-else(两种形式)
形式2:如果不用{}则默认从if到第一个;为if执行范围,else同理。原创 2024-03-11 16:44:30 · 81 阅读 · 0 评论 -
if-else嵌套 if-else if级联
因为else总是和最近的if自动匹配,且不受缩进等格式限制可能达不到想要的结果。暂时可理解为级联是嵌套的另一种排版。嵌套中最好不用省略{}的做法。原创 2024-03-11 16:44:42 · 169 阅读 · 0 评论 -
switch-case
如果case3里面没有break那么这个程序就也会同时输出case4甚至再后面的东西直到遇见break,或者程序结束才会停止。2、case后面可以是定义的常量,比如前面int a,这里也可以写成case a。1、case后面只能是常数或者常数的表达式但是结果一定是常数。switch-case输出成绩等级。3、case并不能作为分割,原创 2024-03-11 16:44:54 · 179 阅读 · 0 评论 -
while循环
4、循环求逆(结尾是0的数)输出不同。3、循环求逆(结尾不是0的数)原创 2024-03-12 19:25:55 · 72 阅读 · 1 评论 -
do-while循环
do while先做一遍循环再判断条件,while先判断条件不合适的话直接不循环。原创 2024-03-12 19:29:19 · 107 阅读 · 1 评论 -
for循环
(素数即质数,质数是指在大于1的自然数中,只能被1和他本身除尽的自然数。for循环括号里面3个式子每一个都是可以省略的但是;for循环 for(;原创 2024-03-12 19:43:42 · 204 阅读 · 1 评论 -
break 和 continue
continue作用是跳过此轮循后面的语句再进行下一轮循环 ,continue只能对他所在的那一层循环做。break的作用就是直接跳出循环 且只能对他所在的那一层循环做。原创 2024-03-12 19:52:37 · 127 阅读 · 1 评论 -
嵌套 循环
个人观点:不同的嵌套循环结构不同,部分从最里面的循环开始会容易理解 ,同样也有一部分从最外面一层理解更容易,不理解时可以变换尝试。嵌套循环输出100以内的素数。嵌套循环输出固定个数的素数。原创 2024-03-12 20:10:08 · 103 阅读 · 1 评论 -
跳出多层循环:接力break 和 go to
goto out 可以直接跳出循环到 out: 所在位置, 但是一般仅限于从最内曾跳到最外层;其他时候使用一般认为容易破坏程序结构性。if(exit==1)可简写为if(exit)exit跳出多层循环。原创 2024-03-12 20:19:50 · 161 阅读 · 1 评论 -
循环求前n项和
1、循环求前n项和(分式1+1/2+1/3+1/4+1/5......+1/n)2、循环求前n项和(分式1-1/2+1/3-1/4+1/5......1/n)原创 2024-03-12 20:26:17 · 119 阅读 · 1 评论 -
辗转相除法
否则,计算a除以b的余数,让a=b,而b等于那个余数;如果b=0,计算结束,a就是最大公约数;辗转相除法求最大公约数化简分式。1、辗转相处法求最大公约数。原创 2024-03-12 20:34:20 · 192 阅读 · 0 评论 -
数字正向分解
1、任意位数数字正向分解。原创 2024-03-12 20:40:42 · 82 阅读 · 0 评论 -
循环求水仙花数
一个N位正整数3<=N<=7,它的每个位上的数字的N次幂之和等于它本身。例如:153=1³+5³+3³。原创 2024-03-12 20:47:25 · 90 阅读 · 0 评论 -
输出乘法表
【代码】输出乘法表。原创 2024-03-12 20:48:18 · 69 阅读 · 0 评论 -
猜数字 2
如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示"Good Guess!并提示大了("Too big”),还是小了("Too small”),相等表示猜到了。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”则结束。用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,如果超过N次都没有猜到,则提示"Game Over”,并结束程序。如果猜到,则结束程序。原创 2024-03-12 20:55:25 · 171 阅读 · 0 评论 -
循环求给定条件的整数集
给定不超过6的整数A,考虑从A开始的连续4个数字,输出所有由他们组成的无重复数字的3位数。每行6个整数,整数之间用空格分隔,但行末没有空格。原创 2024-03-12 20:57:24 · 68 阅读 · 0 评论 -
给定区间的素数和
【代码】给定区间的素数和。原创 2024-03-12 20:59:46 · 113 阅读 · 0 评论 -
a的连续和
如a为2、n为8时输出的是2+22+222+...+22222222的和。求数列之和S=a+aa+aaa+...taaa...a(n个a)。输入两个整数a和n,a的范围是[0,9],n的范围是[1,8],原创 2024-03-12 21:01:16 · 60 阅读 · 0 评论 -
进制 转换
整数十进制→→二进制 二进制 →→十进制小数十进制→→二进制 二进制 →→十进制。原创 2024-03-16 19:28:18 · 243 阅读 · 0 评论 -
数据类型(整数)
任何形式的输出都是人把他当作什么看,例如unsigned,或是十六进制、八进制等输出只是输出形式不同,与计算机内部实际数值无关。当作补码看待表达的范围是 -128 ~ 127(即 - 2的n-1次方到2的n-1次方再-1;注:n是二进制位数)所以:对于 -a ,其补码就是0-a,实际是(2的n次方-a)n是这种类型的二进制位数。2.取中间数记为0比他小的是负数,比他大的是正数(麻烦不推荐)不管是原码还是补码,运算的时候都是用单纯数值进行二进制运算的。不能在sizeof的括号里面做运算,这些运算是不会做的。原创 2024-03-17 12:43:10 · 1037 阅读 · 0 评论 -
数据类型(浮点数)
+(1.20*~3.40*0-+inf(正负无穷)nan(非有效数字)%f%e(输出科学计数法)-+(2.2*~1.79*0-+inf(正负无穷)nan(非有效数字)%f%e(输出科学计数法)在浮点数中float类型的数字需要f或F后缀来表明例如:1.23f(1.23F)表示float1.23;而1.23表示double类型如果没有特殊要求一般使用double类型误差一般更小整数类型永远是准确的数字而浮点数永远存在误差(E+003)或 e+003表示。原创 2024-03-17 16:43:17 · 298 阅读 · 0 评论 -
char(整数或字符)
整数字符输入的1用scanf("%c")读入的意思是,按照字符类型入读用%d输出是按照整数输出而字符‘1’在ASCII码中对应的数值就是49;用%c输出是按照字符输出,读入字符1,输出字符1;原创 2024-03-17 17:28:06 · 267 阅读 · 0 评论 -
逃逸字符
【代码】逃逸字符。原创 2024-03-17 18:17:52 · 185 阅读 · 0 评论 -
类型转换
强制类型转换只是从原有的变量计算出一个新的变量,不会改变原有变量,不论是原有变量的值还是类型都不会改变。对于printf 任何小于int的类型会被转换成为int;float会被转换成为double。想要将a/b的值转换成int类型a/b必须加上括号int i=(int)(a/b);通常是将大的值转化成小的,但是需要注意此时的安全性因为小的量不能总是表达大的量。当运算符的两边类型不一致的情况下会自动转换成为较大的类型。(int)a/b的意思是将a转换成int类型再除以b;强制类型转换的优先级高于四则运算。原创 2024-03-17 18:40:30 · 143 阅读 · 0 评论 -
数据类型(bool)
bool是逻辑类型,可理解为用做判断,结果正确输出1,结果错误输出0。原创 2024-03-18 12:34:17 · 204 阅读 · 0 评论 -
逻辑运算
a=1或a=1那么!注意:5<a<6的计算方式是首先判断5是否小于a得到结果(0或1)再与6比较,但是无论得到0或1都小于6所以此不等式的值始终是1。a==1&&b==1,如果a==1是false那么不管b==1是true或者false此式子的结果都是0。a==1||b==1,如果a==1是true那么不管b==1是true或者false此式子的结果都是1。① 如果想要表达数学公式中 [5,6] 可以写作(a>=5&&a<=6)a<0||a>99的意思是a不在0~99之间。②可用来判断字母是否为大小写。原创 2024-03-18 14:07:37 · 194 阅读 · 0 评论 -
条件运算符
一般不建议将条件运算符嵌套使用,因为嵌套的结果比较复杂且容易出错。条件运算符的优先级高于赋值运算符,但是低于其他运算符。条件满足时候的值 :条件不满足时候的值;原创 2024-03-18 14:18:02 · 82 阅读 · 0 评论 -
逗号运算
逗号的组合关系是自左向右的,所以逗号左边的表达式先计算,然后右边再计算,例如:for(i=0,j=10;因为他的优先级是最低的,所以逗号两边的表达式会先计算,所以通常右边表达式的结果会留下来作为逗号运算的结果。逗号运算一般应用与for中存放多个表达式。逗号的优先级在所有运算符之中是最低的。逗号一般用来连接两个表达式,原创 2024-03-18 14:32:39 · 103 阅读 · 0 评论 -
优先级
优先级 运算符 结合性 1 () 从左到右 2 ! + - ++ -- 从右到左 3 * / % 从左到右 4 + - 从左到右 5 < <= > >= 从左到右 6 == != 从左到右 7 &&原创 2024-03-18 14:38:11 · 65 阅读 · 0 评论 -
函数
函数名后必须要有()即使括号里面没有参数括号也要有并且调用时也要有括号;如果有参数一定要注意数量和顺序的准确性。可理解为数学函数Y=F(X),变量x是接收的值,函数体是做的事,返回值是最终答案。函数知道每一次是从什么地方调用了数值并且会将值返回到正确的地方。返回类型可以是int 等数据类型而viod的意思是没有类型。函数是一段代码,接收参数做一件事然后返回值。函数头后面的函数体务必要有{}原创 2024-03-19 12:50:14 · 90 阅读 · 0 评论