- 博客(11)
- 收藏
- 关注
原创 三子棋程序编写心得
第一个小for循环:在行数确定时,依次在每一列打印出一格中的第一部分,程序跳出第一个小for时,不会直接返回大for循环,而是接着进入了第二个小for循环。这是因为取余后的数字是0,1,2间任意一个,倘若取的余数大于等于3,那么rand()/3所得的结果就要+1,因此取余结果刚好与二维数组的范围相吻合,可以直接代入!判断输赢函数的返回字符我用ret进行接收,‘*’表示玩家获胜,‘#’表示电脑获胜,‘C’表示游戏继续,‘Q’表示双方平局,这里的判断依次是,行,列,对角线。为什么rand()要除以三后取余?
2024-10-29 15:22:52 295
原创 一维,二维数组的创建与初始化
char arr【4】=“abc”,【】中是4,而“为什么”中仅有3个元素?二者的差异:前者内部蕴含了\0停止符,后者无\0,分别打印出两者时,前者打印出 a b c,后者会打印出a,b,c与乱码。例如 int arr【3】【4】={1,2,3,4,5,6,7,8,9,10,11,12}倘若在创建一个数组时,你希望在【】中输入一个变量,那么你的编译器必须支持C99标准。二维数组行数可以省略,而列数不得以省略,因为在得知元素的条件下,列数决定了行数。语法形式:数组类型+ 数组名称【行数】【列数】={元素}
2024-10-16 13:08:35 322
原创 函数学习与部分习题分析
当num=100时,进入Judge函数,因为x是num的形式参数,所以x=100,而第二个循环此时对y大小的要求是2~99,倘若此处没有return 0,而是printf(“%d”,x/y)的话,程序会用x=100去依次除以y=2~99所有的数并打印出来,而此时有return,程序即会在第一次x%y==0时就终止此次剩余所有循环,返回0 ,当一个数完完整整不满足x%y==0时,程序走出第二个for,来到return 1这里,1被返回至if的条件中去,满足C语言逻辑,程序往下走,将这个数打印出来!
2024-10-08 17:32:41 364
原创 C语言常识日常积累与二分查找
一定要在头文件处加上#include <string.h>,strcpy就是将源指针指向的字符串拷贝到目标空间中去,最后再将目标空间的起始地址返回!函数的组成:返回类型+函数名(函数参数),如int Add(int x,int y)条件连接操作符:&&与||,&&表示并且,和。int 整形,long长整形,short短整型,函数的参数分为实际参数以及形式参数。例如:goto error。
2024-10-05 17:02:38 383 1
原创 C语言知识日常积累与猜字游戏的编写心得
示例:srand((unsigned int)time(NULL)),这其中还涉及时间戳,C语言中time函数时时间戳,NULL是空指针,当前我的知识还不够理解其原理,对此我只记忆使用time函数就先输入NULL空指针!C语言中用来生成随机数字,rand函数返回的是0~RAND_MAX间的一个随机数,使用rand函数时要在头文件命名。:判断两串字符是否相等,要使用strcmp函数,不得直接使用==。srand函数通常在程序中调用一次即可,无需频繁调用。如果第一个字符串小于第二个字符串,即返回<0的数字。
2024-09-23 22:51:09 301
原创 分支与循环及日常c语言知识积累
switch语句中,你switch()内填入的是什么,那么在接下来的程序运行中,就会相应的匹配到case几,匹配到相应的case之后,倘若没有遇到break(终止符),那么程序会一直进行下去。这是一个while的嵌套,要弄明白每一个while的作用。第一个while,其作用是多组输入a的数值,第二个while是循环打印*,直至a<0.(倘若在遇到陌生代码,不知道其运行顺序时,可以采用VS2019中调试的逐语句进行观察)if语句如果想要条件成立,要执行多条语句,则应该使用代码块{}
2024-09-16 18:02:08 232
原创 define/宏/指针/进制之间转换知识点初学习
回到main函数底下Max(a,b)中a与b都是整型,因此需要利用int x,int y整形接受,而Max前面填什么类型与该函数返回的东西有关,该函数返回的是一个整形数字,所以Max仍然使用int 修饰。11010(二进制)转十进制,0*1+1*2+0*2*2+1*2*2*2+1*2*2*2*2=26。宏的功能是进行替换,函数的功能是先计算再返回值,二者在形式上略有相似。由于2的四次方=16,没4位二进制可以转为1位十六进制。由于2的三次方=8,每3位二进制可以转为1位八进制。表示将100赋值给M。
2024-09-14 09:06:43 279
原创 static的运用以及C语言常识积累
因此当i=1进入test函数时, a的值任然为0.static修饰局部变量时,能够将局部变量放至静态区,使得局部变量在进入函数时产生,离开函数时不被销毁.因此i=0时,程序进入test,在程序出test函数时,a的值为1,i=1时,程序进入test时,a的值任然为1,后++得到2,以此往后printf输出1 2 3 4 5 6 7 8 9 10。static的三运用:1.修饰局部变量 2.修饰全局变量 3.修饰函数。static对于函数的影响大同小异,令函数只能在本身的源文件之内使用。
2024-09-13 09:12:29 183
原创 函数示例与日常积累的c语言常识
我们可以依据自身需要来决定函数究竟需要输入几个变量,如ADD(num1,num2),pf(num1),二者所需变量个数不同。依据后置++规则,b=a++时先将a的原本值赋给b,即b等于100,然后a再在原先100的基础上加一,即a输出值为101.2.strlen是库函数,计算的是字符串长度,统计的是字符串中\0之前出现的字符长度。常识积累:1.sizeof是计算变量占内存空间的大小,单位是字节。3.后置++是先使用,后++,前置++是先++,后使用。后置--,前置--与++时的规则相同!
2024-09-12 09:26:34 287
原创 多组输入例子
scanf函数返回的是实际读到数据的个数,如scanf(“%d”,&a)因为输入了一个数据,则scanf读取了一个数,进一步返回1,如scanf(“%d %d“,&a,&b)这样的,scanf进一步返回2,以此类推。运行逻辑:假设我们输入130,scanf程序读取此数据,返回了读取个数1,符合while函数中的条件,以此进入到下一步if中去,130小于140,所以不能够输出GOOD。当我们没有数据输入但是仍然运行数据时,scanf返回值是EOF,实质上是-1,-1!
2024-09-11 09:24:31 118
原创 C语言初体验
创建字符变量与变量赋值,二者在形式上相似,如char ch=‘w’,int a=0,但是创建字符变量其=右边一定要有‘’4.希望能够学有所成,在比特完课后找到一份自己满意的工作,但是目前尚未对某个IT公司特别向往。2.在学校课堂与比特上同步学习编程,二者互补,遇到自己无法解决的问题,向学管老师求助。3.学习编程的时间会根据本校一周的各科学习进度来变化,可能会在水课上自己学一点编程。计划与期望:1.在大一上学期将C语言学扎实,学明白。局部变量与全局变量冲突时,局部变量被优先使用。
2024-09-09 11:08:23 303 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人