IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 标准C语言基础知识2 -> 正文阅读

[C++知识库]标准C语言基础知识2

满满的干货,想学C语言又不知道从何入手的朋友们,关注我吧,每天分享C语言知识或者代码,跟我一起学习起来吧!

一、常量
? ? 什么是常量:程序运行期间数据不能变化的叫常量
? ? ? ? 100 ? ? 默认int
? ? ? ? 100u ? ?unsigned int
? ? ? ? 100lu ? unsigned long
? ? ? ? 100llu ?unsigned long long
? ? ? ? 100l ? ?long
? ? ? ? 100ll ? long long

? ? ? ? 3.14 ? ?默认double
? ? ? ? 3.14f ? float
? ? ? ? 3.14l ? long double

? ? 问题:100年有多少秒?
? ? #define SEC (3600*24*365*100)U
? ?

二、格式化输入输出
? ? %nd ? ? 显示n个字符宽度,不够则补空格,右对齐
? ? %-nd ? ?显示n个字符宽度,不够则补空格,左对齐
? ? %0nd ? ?显示n个字符宽度,不够则补0,右对齐
? ? %n.mf ? 显示n个字符宽度(小数点算一位),不够则补空格,m表示小数点后的位数(四舍五入)
? ? %g ? ? ?不显示小数点后多余的0

三、运算符
? ? 自变运算符:++/-- ? 使变量的值自动+1或者-1
? ? ? ? 前自变:++num --num ? ? 立即有效
? ? ? ? 后自变:num++ num-- ? ? 下一行语句生效
? ? ? ? 注意:不要在一行内多少使用自变运算符

? ? 算数运算符:+ - * / %
? ? ? ? 整数/整数 ? 结果没有小数 5/2=2
? ? ? ? / % 除数不能为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 /= b;
? ? ? ? ...

? ? 位运算符:& | ~ >> <<

? ? ? ? sizeo 也是运算符,但是sizeof括号内的表达式不会计算

四、类型转换:
? ? 自动类型转换:
? ? ? ? 只有相同类型的数据才能运算,不同类型的数据必须转换成相同的类型才能进行计算
? ? ? ? 转换规则:(以不丢失数据为基础,适当地牺牲一些空间)
? ? ? ? ? ? 1、字节少的向字节多的转
? ? ? ? ? ? 2、有符号的向无符号的转
? ? ? ? ? ? 3、整型向浮点型转
? ? 强制类型转换:
? ? ? ? (新类型)数据
? ? ? ? 有丢失数据的风险,要慎用

五、分支语句
? ? if(表达式) // 单分支
? ? {
? ? ? ? 表达式为真时,执行此处代码
? ? }

? ? ?if(表达式1) // 多分支
? ? {
? ? ? ? 表达式为真时,执行此处代码
? ? }
? ? else if(表达式2)
? ? {
? ? ? ? 表达式2为真时,执行此处代码
? ? }
? ? else
? ? {
? ? ? ? 表达式都为假时,最后执行此处代码
? ? }

? ? 注意:大括号建议上下对齐
? ? ? ? 当大括号语句只有一条时,大括号可以省略,但不建议省略
? ??
? ? 练习1:输入三个整数,从大到小显示?
? ? 练习2:输入一个年份,判断是闰年还是平年?
? ? ? ? 四闰百不闰,四百闰
? ? 练习3:输入一个年份和月份,判断该月有多少天?
? ? 练习4:输入一个三位整数,判断是否是水仙花数?
? ? ? ? abc == a*a*a + b*b*b + c*c*c?
? ? 练习5:输入一个成绩,判断等级
? ? ? ? [100,90] ? ?A?
? ? ? ? (90,80] ? ? B?
? ? ? ? (80,70] ? ? C?
? ? ? ? (70,60] ? ? D?
? ? ? ? (60,0] ? ? ?E
? ? ? ? other ? ? ? 输入成绩有误

六、开关语句
? ? switch(n) ? // n可以是数值、表达式,运算结果必须是整数
? ? {
? ? ? ? case val: ? //val 必须是整常量,如果val等于n,则打开执行开关
? ? ? ? ? ? ...
? ? ? ? ? ? break; ?//关闭执行开关
? ? ? ? case val:
? ? ? ? ? ? ...
? ? ? ? default:
? ? ? ? ? ? ...
? ? ? ? ? ? // 如果所有的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、判断循环条件,一般判断循环变量是否到达边界
? ? ? ? 4、如果条件2为真,则执行此处代码,也叫循环体
? ? ? ? 3、改变循环变量,防止出现死循环,一般对循环变量自加或自减
? ? ? ? 1 2 4 3 2 4 3 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次


作业1:计算出所有的水仙花数
作业2:输入一个正整数,判断是否是素数(只能被1和本身整除的数)?
作业3:输入一个正整数,判断是否是回文数? 12321 123321
作业4:输入一个6位数密码,输入正确显示"登录成功",输入错误提示"还剩几次机会",可以进行输入,最多三次,否则显示"账号已锁定",并结束
作业5:输入一个整数,分解显示
? ? -1234 ? ? - 1 2 3 4

  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-10 14:21:50  更:2021-07-10 14:23:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/4 21:23:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码