c语言新手常见细节(易错误点一)

  • scanf输入时  可以加一些奇怪的东西,比如符号(?)
    scanf("%d?",&a);
  • 定义变量时,最好赋初始值
int a;
a=100;//在使用和赋值前最好先赋一个初始值,否则可能会报错
  • 使用   %.f   也可以输出四舍五入的整数
  • 数与数之间相除,不同类型的数相除相乘,最后得到的结果一般是按照得到那个数的类型进行转换
  •     int a=9;
       
        float b=2.5;
       
        float c;  //按照c的类型处理数据吧
        c=a/b;
        printf("%f",c);//此时输出为3.600000    如果int c;则输出为 3(注意printf中要改为%d)

  • C语言运行顺序   从左往右先乘除后加减
  • c语言快捷键  给一整段加注释 不同编译器快捷键不同 https://blog.csdn.net/Hoghst_debug/article/details/126796030​​j​​
  • 其他快捷键https://www.cnblogs.com/Burning-youth/p/15448672.html#:~:text=%E5%A4%A7%E4%B8%80C%E8%AF%AD%E8%A8%80%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%EF%BC%882%EF%BC%89---%E5%BF%AB%E6%8D%B7%E9%94%AE%E7%AF%87%201%201.Home---------------%E5%B0%86%E5%85%89%E6%A0%87%E7%A7%BB%E5%8A%A8%E5%88%B0%E5%85%89%E6%A0%87%E6%89%80%E5%9C%A8%E8%A1%8C%E6%9C%80%E5%89%8D%E7%AB%AF%20%EF%BC%9B%20End-------------%E5%B0%86%E5%85%89%E6%A0%87%E7%A7%BB%E5%8A%A8%E5%88%B0%E5%85%89%E6%A0%87%E6%89%80%E5%9C%A8%E8%A1%8C%E6%9C%80%E5%90%8E%E7%AB%AF%202%202.Ctrl%20%2B,5.Ctrl%20%2B%20Z--------------%E6%92%A4%E5%9B%9E%E5%88%9A%E6%89%8D%E7%9A%84%E6%93%8D%E4%BD%9C%20%EF%BC%9B%20Ctrl%20%2B%20Y-------------------%E6%81%A2%E5%A4%8D%E5%88%9A%E6%89%8D%E6%92%A4%E5%9B%9E%E7%9A%84%E6%93%8D%E4%BD%9C%20%E6%9B%B4%E5%A4%9A%E9%A1%B9%E7%9B%AE
  • c中在各种条件下要把一个变量重新赋值为0,一定要注意,除了条件以外的赋值!!!  (条件使用完之后  ,在下一个循环中也要赋值)      比如那个选号程序,位数和重新赋值为0时,除了在条件中使用完赋值后,还要在非条件的情况下赋值
  • float强制类型转换为什么失败?注意条件吧https://blog.csdn.net/iteye_10289/article/details/82547058
  • 做一下素数判别
  • if 内部比较顺序  如果有两个比较条件 且没写与或符号时,两个条件满足其中一个,就能继续执行(或的关系)
    if(a=1;a<12,b<18;a++)//只要满足(a<12,b<18)其中之一,就能继续运行

  • for循环  i的取值                                                                                                                                                每一个条件执行的时候,看看是否会重复执行,或者要满足什么条件才能执行
  • for循环                                                                                                                                                   i<=n时,i能取到n,运行一遍下面的程序,后面就不能了
  • 赋值和比较是不一样的!!!(下面的详细解释  后续写)
  • codeblocks  打开工程后,编译运行默认是打开的那个文件,所以想要编译别的文件要关闭工程,或者把想要打开的工程设置为active project
  • 最大公约数  使用辗转相除法
  • c在进行每一个数据更替时,记得写数据更替!
  • codeblocks调试项目中,不要有中文路径,否则调试会闪退?
  • break跳出当前循环?
  • 总结金字塔的算法
  • 前后比较的时候,要一直比较的话,就要一直覆盖前一个值
  • 用while当条件,想要变量不为0时,如果不能一直输入变量,那么变量不为0时,会死循环。
  • break跳出if语句  可以跳出if和外面一层循环。
  • for里面写俩条件意思是或,后面的计算是两个都进行   如果想要跳出的话就要两个都不满足,才能跳出。
  • c语言中考虑0 1这种输入的特殊情况
  • 如果输出为浮点数,但用整型变量输出就会变成错误的数字   可以用强制类型转换输出
  • 强行把float  以整型输出会变成很大的负数                            C语言中int类型,如果计算的数量过大的话,会导致程序停止运行
  • 数组的定义,不能用变量定义,即使是先把变量存进去也不行
  • for循环输出变量是,在变的量,不要输出固定的值了。
  • 设置变量条件时一定要确定,到底是哪个才是最终变化到最后的
  • 数组全部赋0时,用中括号
  • 比较是否相等用==
  • if  之外的情况用else if  要不然可能if内变了之后进了设的新if里
  • 使用i++指的是在使用i之后.i+1
  • 数组赋初值必须要有前面的数据类型再赋值。
  • 在进行长度计算排序时,一定要考虑一下特殊情况,比如只有最后一个为1的时候
  • 数组的长度就是里面那个数字,不能太短,否则会出错
  • cb里面switch  case后不加break会一直执行下去,不管是否匹配,所以必须加break,why?
  • 当某个case 后的常量匹配后,如果执行语句最后没有break,则这个case下面的case无论是否匹配,都会被执行,并且会向下传递,直到遇到某个case里面的break,或是执行完所有的case里面的内容,才结束Switch语句。
  • &是按位与的意思。
  • c语言二维数组存储方式
  • 二维数组下标取值范围。
  • 回去代码试试每一行首地址是什么。
  • c语言0表示假,非0为真
  • codeblocks全部注释  ctrl shift c
  • 取消ctrl shift x
  • 字符串连接要用双引号!!!
  • 看清变量如何变化的,后面改的时候会都改了。
  • 位数更长的,输出要用lld!!!!
  • while里非0就是1
  • 递归太多就是会超出堆栈,加载很慢。比如斐波那契第50个数。   此时的结果就出的很慢,原因是什么?因为它超出堆栈的默认1MB的大小所以就结果出的很慢。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值