| |
|
开发:
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语言零基础学习日记 -> 正文阅读 |
|
[C++知识库]c语言零基础学习日记 |
原码、反码、补码 负数在内存中存储的时候,存储的是二进制的补码 使用、打印的时候是这个数的原码 只要是整数,内存中存储的都是二进制的补码 正数--原码,反码,补码相同 负数-- //-2? 第一位为符号位,都是 //1000000000000000000010? --? 原码 //1111111111111111111101? --? 反码 //1111111111111111111110? --? 补码 //后置++,先使用变量的值,再++???? 原变量值改变,赋值的为原变量 //前置++,先++,再使用a的值 ??????原变量值改变,赋值的为新变量
关系操作符 ?> ????>=??? <??? <=??? !=? ? ? --? 用于测试“不相等” ==? ? ?--? 用于测试“相等” 逻辑操作符 &&? --? 逻辑与 ?有0则结果为0 ||? --? 逻辑或 ?有1则结果为1??? //判断左右数字的真假,结果只有0或1 条件操作符 exp1 ? exp2 : exp3;?? //max = (a > b ? a : b);? a是否大于b,真则输出a,假则输出b 逗号表达式 exp1, exp2, exp3, …expn 下标引用、函数调用和结构成员 []??? ()??? .??? -> 常见关键字 auto -- auto int//一般都省略 ?break?? case? char?? const? continue? default? do? double? else? enum? extern? float? for? goto? if? int? long? register int a = 10;//建议把a放进寄存器中 ?return? short? signed int a = -2;//定义的变量是有符号的 ?sizeof? static? struct/*结构体关键字*/? switch? typedef? union/*联合体/共用体*/? unsigned? void? volatile? while? typedef? --? 类型定义 ?--? 类型重定义 typedef unsigned int u_int//将unsigned int重新定义为u_int,二者的数据类型完全相同 static? --? 修饰局部变量 ?--? 局部变量的生命周期变长 ??????? -- ?修饰全局变量 ?--? 改变了变量的作用域(静态的全局变量之能在自己所在的源文件内部使用) ??????? --? 修饰函数 ?????--? 改变了函数的链接属性(可以在同一个程序中声明后使)
//extern -- 用于申明外部符号 extern int ……(其他文件中的全局变量 #define定义常量和宏 #define MAX 100 //#define定义标识符常亮 //#define可以定义宏-带参数
//宏的定义
可以看出,用宏定义函数只需要一行,比原来的函数定义方式要简单一些,实现起来更加简洁 指针 内存:如何产生地址:32位 -- 32根地址线/数据线 -- 正电和负电 -- 1/0
p前的数据类型要根据使用的数据类型而改变 指针大小在32位平台是4个字节,64位平台是8个字节 分支语句和循环语句 分支语句? ? ? ? ? ? ? ? 循环语句? ? ? ? ? ? ? ? ? ?goto语句 if? ? ? ? ? ? ? ? ? ? ? ? ? ? ?while switch? ? ? ? ? ? ? ? ? ? ?for ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?do while if语句 语法结构: if(表达式) ??? 语句; if(表达式) ??? 语句1; else ??? 语句2; //多分支 if(表达式1) ??? 语句; else if(表达式2) ??? 语句; else(表达式3) ??? 语句;
如果条件成立,要执行多条语句;应该怎样使用代码块
{}就代表一个代码块 悬空else
else和最近的if进行匹配,和谁对齐没有关系 代码书写形式的对比 //代码1
//该语句正确,如果执行if,返回x,如果不执行,返回y //代码2
//该语句正确,如果执行if,返回x,如果不执行,返回y //代码3
//此处也能输出hehe,这是由于num被赋值了 代码的书写习惯:在执行判断语句时要反过来写 -- 5 == x? //常量放在变量的左边 //这样即使产生了漏打=的情况也会无法编译从而发现错误 switch语句 分支语句,常常用于多分支的情况 ?--? 必须使用整型 比如:? 输入1,输出星期一; ??????? 输入2,输出星期二; ??????? 输入3,输出星期二; switch (整形表达式) { ??? 语句项; }
case后的输入决定从哪个阶段进入,break决定从哪个地方中止
相同输出可以没有break 如果输入的不在可输出范围内:
循环语句 break跳出循环 ????continue到这一行中止本次循环返回最初的循环判断部分
在缓冲区中输入的内容是123456\n 123456被存储到password中,\n存储到ret中,所以这里ret的值为10(转义字符\n的十进制)自动进行下一步if语句 这个时候就要让\n在进行到下一步之前被取走
这个时候发现读取完123456以后getchar读取了剩下的ABCD然后又剩下了\n 写一个循环让代码把缓冲区内的字符都读完再进行下一步
复制出输入的字符,不输出其他的字符如英文字符 for循环 for(表达式1;表达式2;表达式3) ??? 语句; 和while中使用continue会造成死循环不同,for只要执行了,就算continue后的语句没有执行,同样继续for后括号内的部分 一些建议:
一些for循环的变种
do…while()循环 do语句的语法: do ??? 循环语句; while (表达式);
二分查找 假设一个有序数组中有n个元素,遍历查询中最坏的情况需要查找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图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 13:30:20- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |