常用简单电脑快捷键大全:Ctrl+C复制、Ctrl+X剪切、Ctrl+V粘贴、Ctrl+Z撤销、Ctrl+A全选所有文字,文件、Delete删除、Shift+Delete避开回收站bai直接永久删除(不可找回)、F3搜索文件和文件夹、Alt+F4关闭当前窗口或退出某程序界面、Alt+Enter查看对象属性、Alt+空格键当前窗口启用快捷菜单、Alt+TAB窗口切换、Alt+ESC顺序切换循环、F5
1.应用商店下载VS2.选择下载VS学生版3.勾选4.等待安装5.打开vs6.创建项目/工程7.选择空项目8.填写项目名称选择项目所放路径9.右击鼠标添加源文件10.编写源文件的文件名,建议:如果是C语言编写代码,在取完文件名的后面加个.c(.cpp是c++文件名后缀)11.一般情况不需修改源文件的存放位置,一般默认源文件文件存放在项目路径文件的里面。12.开始敲代码13.例:1同时按住CTRL和
图片示例:scanf函数不会对函数做一个空间检测(没有做空间越界的判断)可能会栈溢出,然后程序崩溃总之scanf函数不安全例:解决方法1.考虑使用VS提供的scanf_s函数代替scanf但是只能在VS下使用,降低了代码的可移植性,跨平台性不考虑使用2.使用_CRT_SECURE_NO_WARNINGS一劳永逸的方法(每次打开文件都会在最顶层出现_CRT_SECURE_NO_WARNINGS,而且
1.打开浏览器(推荐MicrosoftEdge)2.输入GitHub.com3.用邮箱注册账号先下载两个软件(注意存在先后顺序)先下载再次下载直到在桌面上右击鼠标出现如下图片即下载成功4.代码仓库的创建5.代码仓库的名字及描述(可以打钩可以不打)6.代码仓库的地址7.网上代码仓库创建完毕8.选择网上代码仓库克隆在电脑的位置建立线下代码仓库(与网上代码仓库有关系的文件夹)9.URL处选择输入网上代码
1.题一:解析:stu是用户定义的结构体变量名2.题二:答案:B解析:a是结构体structS类型的变量p是指向结构体structS类型的指针变量->操作符,只有面对指针时才能使用3.题三:解析:students先与[3]结合,再与structStu结合,说明变量students是一个数组元素个数为3的结构体数组数组名即为数组的首元素地址即为字符串的首字符串的首字母的地址4.题四:解析:si
题一:答案:解析:unsignedlong*指针变量pulPtrunsignedlong数组名pulArray是数组首元素地址所以指针变量pulPtr存储的是数组首元素的地址pulArray是数组首元素地址+3,跳过3个元素的地址,来到第四个元素的地址解引用一下,得到第四个元素,+=3,第四个元素将9改为12解引用指针变量pulPtr找到数组第一个元素,6pulPtr存储的还是数组首元素的地址,+
例题一:输出结果为:答案错误:正确结果为:2,5(看代码想象成看内存)解析:&a取出的是整个数组的地址,+1将会跳过整个数组的空间a是数组的首元素的地址,+1将会指向数组的第二个元素因为将数组的地址强制类型转化为int的地址所以指针变量ptr+-整数时跳过的将是int类型大小的空间2.例题二:将0x100000这个整型强制类型转化为结构体指针类型答案为:解析:p是全局变量p为结构体指针变量
qsort函数冒泡排序思路:相邻两个元素比较,交换一趟冒泡排序后最大值一定来到相应的位置上一共需要sz-1趟冒泡排序每次需要比较sz-1-i次代码实现:void*指针可以接收任意一个类型的地址但是不知道,存储的地址所指向的变量类型所以不能解引用操作,也不能跳空间使用qsort函数的使用注意:返回值只有int类型的\<0,\>0,=0强制类型转换后即可使用解引用操作符函数调用总之:qso
内容:回顾:七,指向函数指针数组的指针八,回调函数print函数就是这个回调函数qsort函数冒泡排序思路:相邻两个元素比较,交换一趟冒泡排序后最大值一定来到相应的位置上一共需要sz-1趟冒泡排序每次需要比较sz-1-i次代码实现:void*指针可以接收任意一个类型的地址但是不知道,存储的地址所指向的变量类型所以不能解引用操作,也不能跳空间使用qsort函数的使用注意:返回值只有int类型的\&l
算法的一般实现:#include<stdio.h>voidmnue(){printf("------------------------------------------\n");printf("------1.Add2.Sub-----------------\n");printf("------3.Mul4.Div-----------------\n");printf("---
内容:回忆1,2,3四,数组传参和指针传参一维数组的传参[]里面的内容可以省略arr是首元素地址传递的是地址可以使用指针变量接收也可以使用相同类型的数组进行接收,但是不要求数组长度二维数组的传参可以省略行但是不能省略列二维数组传参时看成一维数组的组合首元素看做一维数组首元素的地址利用数组指针进行接收int(*)[5]是指针类型arr是指针变量名指向的是数组长度为5类型为int的数组指针传参形式参数
内容:注意:数组名是搜元素的地址就算是用数组接受,本质上接受的还是地址地址就是指针,指针的大小取决于32位平台还是64位平台但是int类型的数组元素的大小就是int类型的所以sz有两种可能1(32位平台)或2(64位平台)初阶指针内容一,字符指针用法一:用来存放字符变量的地址用法二:打印字符数组内容直接用%s加数组首元素地址即可根据字符串数组地址找到存储的内容,用%s打印字符串内容pc里面存放的正
1e10的意思是1*10的10次方在float.h头文件中可以查看浮点型的精度和取值范围在limit.h头文件可以查看整形的精度和取值范围整形在内存中的存储方式与浮点型在内存中的储存方式有区别例:猜测实际上先将十进制的浮点数,化为相应的二进制补码,再将二进制写成科学计数法的表达形式,计算机将SME分别存储,待使用时应用即可(-1的几次方(表示符号)-1^0=0(二进制补码中表示正数),-1^1=-
本章重点1.数据类型的详细介绍内置类型就是C语言自己有的类型根据存储形式具体分为:char分为整形是因为char类型的变量在计算机中存储的是ASCII码值ASCII码值是int类型的空间大小存储类型如:打开内存后发现整形和浮点型的存储形式不一样unsigned(无符号)默认为正数,最高位不看做符号位,看做有效位(数字的范围会更大些)signed(有符号)有正有负计算机存储的是二进制的补码最高位为符
初级结构体1.结构体类型的声明结构体是什么:structstu是我们自己创建的一种类型(与int类似)s是一个变量,它的类型是结构体类型(structstu)structstu是变量类型的声明,声明是一条语句所以要在花括弧后加分号类型不占空间,只有当创建变量时才向内存申请空间1.structtag(tag的意思是标签)结构体标签(tag自己决定,简明知意即可)2.member-list结构体成员变
分析:编程题:函数实现:非递归:递归:思路:借用第三变量与整形数组进行交换是一样的方法二:递归实现:思路:先将a拿出再将f放入a处再将\0放入f处再将中间的进行逆序再将a放入\0处思路:
有了优先级,结合性,也不一定能求出唯一值(没有默认值的准备也是从左到右的)不知道哪个++i先计算,程序路径不唯一,程序错误,不同编译器下结果可能不同野指针不能使用,会报错short类型的指针加1会向后跳2个字节循环4次跳了8个字节的大小每次都将0放入2个字节中4个字节是一个int所以只将两个int改为了0char*往后跳了一个字节的大小16进制中2个16进制位表示8个bit位,1个字节内存中数字是
解决有些VS编译器中控制台一闪而过的方法形象来说就是看不到打印页面1.加上程序暂停代码注意:需要加在return的前面需要引相应的头文件#include<stdlib.h>所有main函数里面都要加上这样一个代码2.改变控制台的属性(在此项目中的开头实现,之后的代码窗口都会停下来)右击项目名,点击属性找到链接器点击系统点击子系统找到控制台点击再点击确定引用就可以了
使用小括号是不行的A中行可以省略,列不能省略C中两行,初始化中有三行D中两个逗号之间没有元素,错误元素个数计算是从1开始10个元素下标调用是从0开始所以C中越界访问了逗号表达式,从左到右依次计算,最后一个表达式的结果作为整个逗号表达式的结果所以数组中放的元素是1,2,4,5四个元素sizeof求的是数组所占空间的大小,单位是字节字符串数组中“”中自动放了‘\0'结束标志,占一个字节strl
return只能返回一个数函数不能嵌套定义(在函数内部定义另一个函数)函数可以嵌套使用(嵌套调用)实际参数和形式参数可以同名void函数就没有返回值函数调用可以使用全局变量主调函数和被调函数可以在不同文件中,但要在同一个项目中函数的定义可以放在函数使用的前面函数必须先声明后使用函数的定义可以放在使用之前也可以放在使用之后,但是函数的声明必须放在函数的使用之前函数的定义放在函数的使用之后时,一定要在
指针运算1.指针加减整数2.指针减去指针得到的是中间的元素个数(大地址减小地址)例:方法3.利用指针实现my_strlen注意相同类型的指针变量进行相减3.指针的关系运算(比较大小)两种方法都是可行的但是C语言中推荐采用第一种方法是因为:意思是:允许指针p1与p2进行比较但不允许指针p1与p3进行比较指针和数组(所以第一种情况不需要&,直接arr那么将是首元素的地址)如果是&arr
本节重点1.指针是什么内存是一个大的空间里面以一个字节为大小划分了很多小的空间并且这些小空间都有相应的编号(这个编号就被称为地址)这些编号是32个bit位或64个bit位,16进制来表示(与计算机平台有关)总结:例:p叫做指针变量p的类型叫做int*2.指针和指针的类型指针也有对应的类型叫做指针类型注意:但是所有的指针变量的大小与指针类型无关,只与机器是32位平台还是64位平台有关例:代码好习惯:
一,关系操作符(用于比较大小)注意:==用来判断相等=用来赋值二,逻辑操作符注意:注意区分按位与&和按位或例:(&&)时左边表达式一旦存在逻辑0的情况后面的表达式不在执行整句话的表达式结果为0(||)时左边表达式一旦存在逻辑1的情况后面的表达式不在执行整句话的表达式结果为1三,条件操作符(三目操作符)如果表达式1的结果为真那么执行表达式2,且将表达式2的结果作为整条语句的结
操作符一,算术操作符重点/和%注意:1.%两个操作数必须是整形(其他的整形浮点型都可以),返回值是取余2./两个操作数是整形的话,执行整数除法,得到的返回值是整形3./两个操作数是浮点型的话,执行浮点数除法,得到的返回值是浮点型二,移位操作符尖尖往哪边,就往哪边移(移动的是二进制位的补码)(计算机是以补码形式存储)移动的必须是正整数<<规则:基本上见到的是算术右移正数的符号位为0负数的
一,游戏规则1.输入9*9的格的坐标(*显示其坐标未被选择过)(共有10颗雷)2.如果是雷,游戏结束3.如果不是,将显示所点击的位置相邻八个位置有几颗雷4.若除了雷位未选后,玩家胜利例:(有80颗雷)------------------------------------------------------------------1.play0.exit----------------------
一,游戏效果二,游戏规则1.输入1进入游戏2.输入0退出游戏3.玩家先走4.玩家落子是选择棋盘的坐标位置5.电脑是随机落子6.如果电脑连了三子则提示电脑赢了,选择要不要继续游戏三,实现游戏的代码思路先构架游戏整体思路voidgame(){charret=0;//数组存放棋盘信息charboard[ROW][COL]={0};//二维数组的初始化并没有这么简单introw=ROW;intcol=CO
数组1.一维数组的创建和初始化数组在创建的时候如果想不指定数组的确定的大小就得初始化。数组的元素个数根据初始化的内容来确定。注意:sizeof计算的是所占空间的大小,元素个数*元素类型(单位是字节)strlen计算字符串中\0前的字符个数(\0不算字符串的内容)strlen函数只有遇到\0后才停止计算长度2.一维数组的使用打印每一位元素一般用循环3.一维数组在内存中的存储p--->point
把A杆上的金盘全部移到C杆上,并仍保持原有顺序叠好。操作规则:每次只能移动一个盘子,并且在移动过程中三根杆上都始终保持大盘在下,小盘在上,操作过程中盘子可以置于A、B、C任一杆上。思路:图解:示例:当有两个盘a,b时示例:当有三个盘a,b,c时算法分析(递归算法):实现这个算法可以简单分为三个步骤: (1)把n-1个盘子由A移到B; (2)把第n个盘子由A移到C; (3)把n-1
函数的声明及定义编译器是一条一条语句往下扫描的注意:1.intAdd(int,int);也可以(x,y并不会使用)intAdd(intx,inty);(也行)2.一定要记得打;建议:函数的定义写在main函数的上面一般的使用场景(分模块实现)主函数前引用自定义函数需要引相应的头文件(推荐自定义函数的头文件使用双引号"",库函数引用时使用尖括号<>)(实际上两种都能用
1.函数是一个能完整实现某一功能的代码块2.函数分为自定义函数和库函数1.库函数:C语言提供的能实现一些常用功能的函数,方便程序员开发推荐cplusplus.com这个网站查看所有的库函数例如:printf函数strcpy函数strlen函数等C语言中常见的库函数IO函数I--->inputO---->output输入输出函数根据文档查看使用库函数例:strcpy----stringc