
C语言
文章平均质量分 78
dxtianlei
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C语言的初始和学习
在大学里学过C语言这门课程。虽然当时只是粗略的学习了一下这门课程,但是它的学习过程却给我留下了很深的印象。 在这门语言的学习中,我们可以一边学习一边实践。这种学习方式和其它的传统学科的学习是有很大的区别的。在学习C语言中,并不是单纯的学习理论与知识的记忆,更重要的是对语句的认识和理解。当我将一个个的C语言语句连接使用起来,实现所需要的功能时,心中的自我认可和自豪感是传统学科学习所没有的,也是...原创 2018-07-17 22:43:35 · 164 阅读 · 0 评论 -
C语言实现三子棋及优化
用C语言来实现一个三子棋,我们首先要有一个思维框架。游戏开始前首先要有一个菜单供玩家选择,选项有进入和退出两种选项。当然,也要考虑玩家不小心按错的情况。退出游戏则直接退出,而进入游戏结束一局游戏后应该再次让玩家进行菜单选择。这样就又回到了开始的选项,形成了死循环,跳出的途径只有选择菜单上的退出选项。以上的情况就是我们游戏的基本设定,以C语言来实现也十分简单://三字棋#inclu...原创 2018-08-19 17:42:30 · 373 阅读 · 0 评论 -
指针和数组相关的一些题目---(3)
在(2)中分析了题目3,题目4和题目5,这篇博客来分析题目6,题目7和题目8,也是最后的3道题目。题目6.//练习6int main(){ int aa[2][5] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; int *ptr1 = (int*)(&aa + 1); int *ptr2 = (int*)(*(aa + 1)); print...原创 2018-08-07 21:27:20 · 553 阅读 · 0 评论 -
指针和数组相关的一些题目---(2)
这次接着上次指针和数组相关的一些题目---(1)的题进行解析。题目3.//练习2int main(){ int a[4] = { 1, 2, 3, 4 }; int *ptr1 = (int *)(&a + 1); int *ptr2 = (int *)((int)a + 1); printf("%x,%x", ptr1[-1], *ptr2); return 0;...原创 2018-08-07 17:47:12 · 347 阅读 · 0 评论 -
指针和数组,函数的结合
上次分析了一些关于指针和数组的一些相关题目,接下来就是对指针的更深层次的应用学习。当然,应用的前提是理解,接下来我就分析一些指针的应用类型以便于更好的应用。1.指针数组:我们先来分析它的名称,“指针数组”中的“指针”只是一个形容词,“数组”才是它的词根。那么我们就知道了:“指针数组”本质上是一个数组,是一个内含元素为“指针”的“数组”。我们来举一个指针数组的例子帮助我们更好的理解:...原创 2018-08-02 17:59:54 · 1285 阅读 · 0 评论 -
字符串的空格替换
题目:请实现一个函数,把字符串中的每个空格替换成"%20",例如输入:"We are happy.",则输出:"We%20are%20happy."。这道题的思路很简单,就是在字符串中找到空格。然后将空格转换为:'%','2'和'0'这个三个字符。当然,直接替换会由于这三个字符所占的空间大于空格所占的空间而使后面的内存被覆盖。所以我们替换完成后的字符串长度与原字符串的长度必然是不一致的。此处我...原创 2018-08-14 19:32:15 · 447 阅读 · 0 评论 -
C和C++的注释转换
我们想要将一个代码文件中的所有C风格注释全部转换成C++风格注释,那么就首先要了解C与C++注释的区别。C++风格注释:C语言风格的注释格式为://xxxxxxxxx 。它一次只能注释一行内容。C风格注释:C++风格的注释格式为:/*xxxxxxxxxx*/。从"/*"到"*/"都是它的注释范围。C和C++两种风格注释的区别:最大的区别为C++风格的注释一次只能注释一行内容...原创 2018-08-05 22:30:03 · 624 阅读 · 0 评论 -
可变参数列表解析
在C语言的函数使用过程中要先进行函数声明,声明的内容为: 1,函数的返回类型; 2,函数的名称; 3,函数的参数; 例如下面这个简单的ADD函数://普通方式的ADD函数:#include <stdio.h>int ADD(int a,int b,int c){ int sum = 0; sum = a + b; ...原创 2018-07-27 23:26:39 · 210 阅读 · 2 评论 -
指针和数组相关的一些题目---(1)
C语言学的指针是一个非常难的知识点,当它和数组结合起来是更是难上加难。所以这里有一些关于指针和数组相关的题目来帮我们更好的理解指针。题目1.#include <stdio.h>int main(){ int a[5] = { 1, 2, 3, 4, 5 }; int *ptr = (int*)(&a + 1); printf("%d,%d", *(a + 1...原创 2018-07-29 11:39:51 · 671 阅读 · 1 评论 -
函数的调用过程(栈帧)
函数是我们C语言中经常接触到的一个内容。我们的编程和代码都会有函数。那么函数的调用有是怎样的一个过程呢?这个过程在内存中又是如何来实现呢?这些问题的答案就是函数的调用,这个调用的过程中要为函数开辟栈空间,这块空间就是函数栈帧。我在学习了函数的调用和栈帧之后,深感这一知识的重要和理解的困难,所以写了这篇关于函数栈帧的博客。其中有理解的不清楚或不对的地方也请大家指正。以下是我这次理解函数栈帧时...原创 2018-07-25 21:19:34 · 1266 阅读 · 0 评论 -
C语言的操作符
学习C语言有一段时间了,在这期间的学习和实践中我发现,操作符在C语言中的使用十分频繁。所以我今天决定粗略的总结一些常见的操作符。操作符按照分类可分为:1.算术操作符+;//加法操作符-;减法操作符*;乘法操作符/;除法操作符%;取模操作符2.移位操作符《;左移操作符》;右移操作符(分为逻辑移位和算术移位) 逻辑移位:左边用...原创 2018-07-24 22:10:58 · 186 阅读 · 0 评论 -
C语言实现扫雷
要用C语言实现一个扫雷小游戏,扫雷中有一个棋盘和若干个地雷。而棋盘上要有初始状态,要是还要在棋盘上设置地雷的话就要求棋盘上一个位置能同时存在两种状态或信息。这是很难做到的,所以我们要有一个棋盘,一个雷区。这样的话我们就定义两个数组,一个数组就是棋盘数组,一个数组就是雷区数组。扫雷游戏中有些情况下需要统计雷数,所以我们就将地雷在雷区上的表示设置为1,没有地雷的地方则设置为0。这样雷区数组就可以确...原创 2018-08-19 19:41:18 · 669 阅读 · 0 评论