| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> Day04 C语言标准 -> 正文阅读 |
|
[C++知识库]Day04 C语言标准 |
常量: ????什么是常量:程序运行期间数值不能变化的叫常量 ????整数默认为int类型?小数默认为double类型??? ????100?int ????100u?unsigned?int ????100lu?unsigned?long ????3.14?double ????3.14f?float ????3.14l?long?double ????无符号与有符号运算,有符号向无符号转 ????问题:100年有多少秒? ????#define?SEC?(3600*24*365*100u)??加个u改变数据类型 格式化输入输出 ????%nd?????显示n个字符宽度,不够则补空格,右对齐 ????%-nd????显示n个字符宽度,不够则补空格,左对齐 ????%0nd????显示n个字符宽度,不够则补0,右对齐,0没有左对齐 ????%n.mf???显示n个字符宽度(小数点算一位),不够则补空格,m表示小数点后的位数(四舍五入) ????%g??????不显示小数点后多余的0 ???? 运算符 ????自变运算符:?++/--???使变量的值自动+1或者-1 ????????前自变:?++num???--num???值立即有效 ????????后自变:?num++???num--???值在下一行语句生效 ????????注意:不要在一行内多次使用自变运算符 ????算术运算符:?+?-?*?/?% ????????整数/整数???结果没有小数点 ????????/?%????????除数不能为0 ????关系运算符:?>?<?>=?<=?==?!= ????????比较结果必须是0或者1,比较结果还能继续参与运算 ????????int?num?=?-5; ????????if(1?<?num?<?10)?->永远为真,运算规则与数学不同 ????????注意:建议常量放左边 ????逻辑运算符:?&&??||??! ????????会先把运算对象转换成逻辑值,0转换为逻辑假,非0转换为逻辑真 ????????A?&&?B??一假即假 ????????A?||?B??一真即真 ????????!A??????求反 ????????&&?||?都具有短路特性:当左边的运算对象已经能够确定整个表达式的结果时,右边的所有运算对象不再计算 ????三目运算符:运算对象有三个部分 ????????A???B?:?C ????????判断A的值是否为真,如果为真执行B,否则执行C ????????注意:该语句不能使用流程控制语句,因为它必须要有运算结果 ????赋值运算符:?=?+=?-=?*=?/= ????????a?+=?b;?->a?=?a+b; ????????a?-=?b;?->a?=?a-b; ????????a?*=?b;?->a?=?a*b; ????????a?/=?b;?->a?=?a/b; ????????... ????位运算符:?&?|?~?>>?<< ????sizeof?也是运算符,但是sizeof括号内的表达式不会计算 类型转换 ????自动类型转换: ????????只有相同类型的数据才能运算,不用类型的数据必须转换成相同的类型才能进行计算 ????????转换规则:(以不丢失数据为基础,可以适当地牺牲一些空间) ????????????1、字节少的向字节多的转?char向int转 ????????????2、有符号的向无符号的转 ????????????3、整型向浮点型转 ???? ????强制转换类型: ????????(新类型)数据?(int)code ????????有丢失数据的风险,要慎重使用 分支语句 ????if(表达式)??//?单分支 ????{ ????????表达式为真时,执行此处代码 ????} ????if(表达式)??//?双分支 ????{ ????????表达式为真时,执行此处代码 ????} ????else ????{ ????????表达式为假时,执行此处代码 ????} ????if(表达式)??//?多分支 ????{ ????????表达式1为真时,执行此处代码 ????} ????else?if(表达式2) ????{ ????????表达式2为真时,执行此处代码 ????} ????... ???? ????else ????{ ????????表达式都为假时,最后执行此处代码 ????} ????注意:大括号建议上下对齐 ????????当分支语句只有一条时,大括号可以省略,但不建议省略 练习1:输入三个整数,从大到小显示. 练习2:输入一个年份,判断是闰年还是平年?(四闰百不闰,四百闰) 练习3:输入一个年份和月份,判断该月有多少天? 练习4:输入一个三位整数,判断是否为水仙花数.(abc=a^3+b^3+c^3?数学格式) 练习5:输入一个成绩,判断等级. ????????[100,90]????A ????????(90,80]?????B ????????(80,70]?????C ????????(70,60]?????D ????????(60,0]??????E ????????other???????输入成绩有误 开关语句 ????switch(n)???????//n可以是数值、表达式,运算的结果必须是整数 ????{ ????????case?value:?//value必须是整常量,如果value等于n,则打开了执行开关 ????????????????????... ????????????????????break;??//关闭执行开关 ????????case?value: ????????????????????... ????????????????????break; ????????default: ????????????????????... ????????????????????break; ????????????????????//如果所有的case都没有匹配成功,则打开该执行开关,并且放在任何位置都会最后执行???? ????} ????注意:如果每个case后都有break,就形成了分支结构 ????????switch不能与continue配合使用 ????注意:case?a?...?b:?->可以表示范围a到b的数据,但是属于GNU编译器独有的语法,所以不建议使用 练习6:输入一个月份,判断季节: ????1?2?3???????春天 ????4?5?6???????夏天 ????7?8?9???????秋天 ????10?11?12????冬天 ????other???????输入月份有误 循环语句(循环就是让一段代码反复执行,达到想要的效果) ????for循环语句: ????????for是一种比较灵活且较危险(与其它循环相比)的一种循环 ????????一般用一个变量来引导for循环的运行,这个变量叫做循环变量??i?->index ????????for([1];[2];[3]) ????????{ ????????????[4]; ????????} ????????[1]:只执行一次,给循环变量赋初值,只有在C99标准下才可以在此处定义循环变量 ????????[2]:判断循环条件,一般判断循环变量是否到达边界 ????????[3]:改变循环变量,防止出现死循环,一般对循环变量自加或自减 ????????[4]:如果[2]为真,则执行此处代码,此处也叫做循环体 ????for循环的多种写法: ????????for(;;) ????????{ ????????????//死循环 ????????} ????????int?i?=?0; ????????for(;i<10;i++) ????????{ ???????????? ????????} ????????for(int?i?=?0;i<10;) ????????{ ????????????... ????????????i++; ????????} ????while循环: ????????while(判断条件)//当条件为真时执行循环体,为假时结束循环 ????????{ ????????????//循环体 ????????} ????????while循环相当于for循环的精简版本?for(;条件;) ????????for循环负责解决明确知道循环次数的问题 ????????while循环负责解决只知道结束条件,而不确定循环次数的问题 ???? ????do?while循环: ????????do{ ????????????//循环体 ????????}while(条件);???//分号不能少 ????????先执行循环体,再判断循环条件是否为真,条件为真继续执行,为假结束循环,该循环至少循环一次 ????????适合先干活,再检查的特殊情况,例如:输入判断密码 问题:阐述?for、while、do?while?的区别 循环嵌套: ????循环语句中包含循环语句 ????外层循环执行一次,内层循环执行n次 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/28 11:51:59- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |