当前位置: 首页 > news >正文

C语言笔记7

#include <stdio.h>
int main(void) 
{int a=123;int b=052;//十进制42int c=0xa2;//十进制162printf("a=%d  b=%o  c=%x  \n",a,b,c);//分别是十进制  八进制   十六进制printf("a=%d  b=%d  c=%d  \n",a,b,c);printf("Hello 凌迟老头\n");return 0;
}
//结论:变量在内存存储的数值是固定的  可以以多种形式(八进制  二进制   十进制   十六进制等)输出

运行结果:

 

 

 float能保证有7位有效数字

double能保证有15位有效数字

volatile是防止编译器优化代码

比如:volatile int a=100;

register  建议将变量定义在寄存器(经常使用到的变量)(属于建议  不是命令)

当CPU内部有空闲的寄存器就生效,如果没有空闲寄存器就无效(就继续放内存)

字符串长度=字符串+结束符\0

结束符代表结束标志

所以字符常量的长度是1字节(单引号),但是字符串的常量就是2字节(双引号)

因为字符所对应的最大ASCII值是127,所以使用char类型就可以存下所有的字符

int main()
{char ch1;scanf("%c",&ch1);printf("ch1=%c\n",ch1);
}

switch()括号里面的判断条件必须是整数

switch()里面的break是跳出switch语句(没有跳出就依次执行)

switch()里面的default(可有可无)是跳过一条语句

if语句里面的判断条件就可以是任意值

算数运算符是加减乘除

二个数相除,如果要得到小数,必须有一个是double或者float类型

或者手动的将2个数中的某一个数改成单精度实数

eg:   int f=3.0/2;

另外:除数不能为0,除数为0的话,会报错

int main()
{int num=8627;int a=num % 10;//个位int b=num/10%10;int c=num/100%10;int d=num/1000%10;printf("%d\n",a);printf("%d\n",b);printf("%d\n",c);printf("%d\n",d);
}

 自加自减都是进行单独的加1或者减1

数字在前,先使用,再自加

加减号在前,先自加,再使用

赋值运算符=

比较运算符就是>  <   >=   <=   !=   ==   结果只有2种分别是0和1

逻辑运算符  &&乘      ||加      !取反

逗号运算符。最终的结果是最后一个表达式的结果

int main()
{int a=3;double b=(double)a;//隐式转换//类型的准换   所需要的类型和所给的类型不匹配//强制转换   (需要转换的类型)原来的数据类型printf("%d\n",a);printf("%lf\n",b);printf("%d\n",(int)(19.1415926));}

强制转换的好处是数据不丢失

但是注意转的顺序和大小

 需要注意的是最好从低精度往高精度转(int--->float---->double)

因为高精度往低精度转会损失部分数据,降低了数据的精度

if()语句后面不用加;(因为;是一个空语句)

if后面的语句如果是复合语句建议在后面加花括号形成一个复合语句

if else语句的结构有2种,但是结果互斥

if   语句1   else  语句2                             //只有2种结果

if   else   if                                                  //有很多种结果,只是不确定是哪一种结果

if  else if   和switch语句等同,只是判断的条件不同

在switch里面加break和default的作用

三目运算符

判断 表达式,如果为真,结果为表达式2的值,如果为假则为表达式3的值

int main()
{int a=1;int sum=0;while(a<=100)//后面无分号
//如果加了分号,程序也没错,但是一直在执行空语句,很消耗内存{sum=sum+a;a++;}printf("%d\n",sum);	
}

 while是先判断再决定是否执行,最坏的结果就是一次都不执行,需要注意的是while后面不加分号 

do while是先执行,再判断,最坏的结果就是至少执行一次,需要注意的是while后面要加分号

int main()
{int a=1;int sum=0;do{sum=sum+a;a++;}while(a<=100);//需要加分号printf("%d\n",sum);	
}

 视情况来决定选用哪一种判断

http://www.lryc.cn/news/118204.html

相关文章:

  • Centos更换网卡名称为eth0
  • 【Express.js】软件测试
  • TCP三次握手、四次握手过程,以及原因分析
  • OceanBase X Flink 基于原生分布式数据库构建实时计算解决方案
  • 600V EasyPIM™ IGBT模块FB30R06W1E3、FB20R06W1E3B11、FB20R06W1E3降低了系统成本和损耗,可满足高能效要求。
  • form 表单恢复初始数据
  • MySQL—索引
  • Android图形-合成与显示-概论
  • Swift 5 数组如何获取集合的索引和对应的元素值
  • 计算 Nginx 日志的PV和UV
  • Spring中常用的注解
  • Plugin 插件
  • Structure needs cleaning fsimage文件系统损坏修复
  • MATLAB|信号处理的Simulink搭建与研究
  • LinuxC编程——线程
  • 使用fetch调用fastapi接口(post)的实例
  • 探索规律:Python地图数据可视化艺术
  • Django-------自定义命令
  • 【Linux】在浏览器输入网址后发生了什么事情?
  • 推荐两本书《JavaRoadmap》、《JustCC》
  • 使用基于jvm-sandbox的对三层嵌套类型的改造
  • [HDLBits] Mt2015 q4b
  • C++:堆排序
  • Grafana Prometheus 通过JMX监控kafka
  • vue项目切换页面白屏不显示解决方案
  • Goland报错 : Try to open it externally to fix format problem
  • Python-OpenCV中的图像处理-几何变换
  • 前端JavaScript入门-day08-正则表达式
  • ML类CFAR检测器在不同环境中检测性能的分析
  • element-ui 路由动态加载功能