精华内容
下载资源
问答
  • C语言贪吃蛇游戏

    万次阅读 多人点赞 2020-02-19 08:24:09
    贪吃蛇是个非常经典的游戏,用C语言来实现也是一个好玩的事情。这个游戏我写完后放在知乎,竟然点赞的人数超级多。我觉得大家喜欢,一个方面是因为写得简单,大家都能看得懂,一个可扩展性还是非常强...

    贪吃蛇是个非常经典的游戏,用C语言来实现也是一个好玩的事情。这个游戏我写完后放在知乎,竟然点赞的人数超级多。我觉得大家喜欢,一个方面是因为写得简单,大家都能看得懂,一个可扩展性还是非常强的。

    我试了说一下这个代码 核心的三个函数

        menu();
        setup();
        draw();
    

    menu用来设置菜单,也就是我们一运行看到的那个。setup用来设置参数,我们需要设置高度和宽度,还有分数,食物的位置。draw也就是画,也就是画整个画面。

    还有一个枚举类型 这个结构体用来设置蛇的几个状态,我觉得这个也是面向对象编程的一个思想,把蛇的状态都封装成一个枚举类型。

    typedef enum
    {
            STOP = 0,
            LEFT,
            RIGHT,
            UP,
            DOWN
    }Direction;
    

    还有

    /*判断贪吃蛇的长度*/
    void logic()
    

    这个函数,这个函数应该是整个贪吃蛇的精髓了,要理解代码怎么把蛇给连接起来。用了点巧妙的东西。

    来看这里面的关键代码

    /*把上一个位置记下*/
        int lastX = tailX[0];
        int lastY = tailY[0];
        int last2X, last2Y;
        /*重新获取当前的位置*/
        tailX[0]=x;
        tailY[0]=y;
        int i=0;
        /*遍历整条蛇的长度 把 0 的位置空出来,其余蛇的位置往后面的空间移动*/
        for(i=1; i<ntail;i++)
        {
            last2X = tailX[i];
            last2Y = tailY[i];
            tailX[i]=lastX;
            tailY[i]=lastY;
            lastX = last2X;
            lastY = last2Y;
        }
    

    lastX lastY 用来存上一次的蛇头的位置。后面的 for 循环,通过tail 蛇的长度,把蛇上个状态给保存到数组tailX tailY里面。

    完整代码

    
    #include <stdio.h>
    #include <stdlib.h>
    #include <stdbool.h>
    #include <Windows.h>
    #include <time.h>
    #include <conio.h> /*键盘输入获取*/
    
    bool gameOver;
    bool stop = false;
    bool hit = false;
    /*游戏的边框大小*/
    const int width = 50;
    const int height = 20;
    /*蛇的坐标,食物的坐标还有分数*/
    int x,y,fruitX,fruitY,score;
    /*蛇每个点的坐标*/
    int tailX[200],tailY[200];
    /*蛇的默认长度*/
    int ntail=3;
    
    typedef enum
    {
            STOP = 0,
            LEFT,
            RIGHT,
            UP,
            DOWN
    }Direction;
    
    Direction Dir;
    /*开始菜单*/
    void menu()
    {
        int a;
        printf("------------------------------------------------------------------\n");
        printf("|                              贪吃蛇游戏                        |\n");
        printf("|                              1) 新游戏                         |\n");
        printf("|                              2) 开始边界                       |\n");
        printf("|                              3) 退出游戏                       |\n");
        printf("------------------------------------------------------------------\n");
        printf("---->请输入你的选择:");
        scanf("%d", &a);
    }
    
    /*初始化状态*/
    void setup()
    {
        gameOver = false;
        /*根据当前时间设置“随机数种子”*/
        srand(time(NULL));
        Dir = STOP;
        
        /*贪吃蛇的位置,固定在中间*/
        x= width/2;
        y= height/2;
        /*食物的位置,位置是随机的*/
        fruitX = rand()%width;
        fruitY = rand()%height;
        score = 0;
    }
    /*绘制界面*/
    void draw()
    {
            if(stop == true)
            {
                    return;
            }
        system("cls");/*清除屏幕*/
        printf("分数:%d",score);
        printf("\n");
        
            /*第一行*/
        int i;
        for(i= 0 ;i<width+1;i++)
            {
            printf("-");
        }
        printf("\n");
        
        /*画中间的画面*/
        int p;
        for(p= 0 ;p<height;p++)/*高度*/
            {
            int q;
            for(q= 0 ;q<width;q++)/*宽度*/
                    {
                            /*第一行最后已给字符*/
                if(q==0 || q==width-1)
                            {
                    printf("|");
                }
                
                            if(p == fruitY && q == fruitX)/*食物的随机坐标*/
                            {
                    printf("O");
                }
                            else
                            {
                        int k=0;
                        bool print = false;
                        /*贪吃蛇的长度 默认长度是 3*/
                                            for(k=0;k<ntail;k++)
                                            {
                            if(tailX[k]==q && tailY[k]==p)
                                                    {
                                printf("*");
                                print = true;
                            }
                        }
                        /*如果这个位置打印了 * 就不要打印空格了*/
                        if(!print)
                                            {
                                                    printf(" ");
                                            }
                }
            }
            printf("\n");
        }
    
            /*最后一行*/
        int j;
        for(j= 0 ;j<width+1;j++)
            {
            printf("-");
        }
    
    }
    /*按键输入控制*/
    void input()
    {
        if(_kbhit())
            {
                    /*获取键盘的输入字符*/
            switch(_getch())
                    {
                case '4':
                case 75:/*左键*/
                    Dir = LEFT;
                    hit= true;
                    break;
                case '8':
                case 72:/*上键*/
                    Dir = UP;
                    hit= true;
                    break;
                case '6':
                case 77:/*右键*/
                    Dir = RIGHT;
                    hit= true;
                    break;
                case '2':
                case 80:/*向下键盘键 */
                    Dir = DOWN;
                    hit= true;
                    break;
                case 'x':
                case 27:/*ESE*/
                    gameOver = true;
                    break;
                case 32:/*空格 暂停键*/
                                    stop = !stop;
                                    break;
            }
        }
            else if(!hit && stop == false)/*如果没有改变方向*/
            {
            x++;
        }
    }
    /*判断贪吃蛇的长度*/
    void logic()
    {
            if(stop == true)
            {
                    return;
            }
            
            /*把上一个位置记下*/
        int lastX = tailX[0];
        int lastY = tailY[0];
        int last2X, last2Y;
        /*重新获取当前的位置*/
            tailX[0]=x;
        tailY[0]=y;
        int i=0;
        /*遍历整条蛇的长度 把 0 的位置空出来,其余蛇的位置往后面的空间移动*/
        for(i=1; i<ntail;i++)
            {
            last2X = tailX[i];
            last2Y = tailY[i];
            tailX[i]=lastX;
            tailY[i]=lastY;
            lastX = last2X;
            lastY = last2Y;
        }
        /*根据方向来改变x y 的值*/
        switch(Dir)
            {
            case UP:
                y--;
                break;
            case DOWN:
                y++;
                break;
            case LEFT:
                x--;
                break;
            case RIGHT:
                x++;
                break;
        }
        if(x<0 || width<x || y<0 || height<y)
            {
            gameOver = true;
            /*清除屏幕*/
            system("cls");
            printf("------------------------------------------------------------------\n");
                printf("|                                                                |\n");
                printf("|                                                                |\n");
                printf("|                             游戏结束                           |\n");
                printf("|                                                                |\n");
                printf("|                                                                |\n");
                printf("------------------------------------------------------------------\n");
        }
        if(x==fruitX && y==fruitY)
            {
                    /*吃了一个食物,蛇的长度增加1*/
            ntail++;
            score+=10;
            /*更新下一个食物的位置*/
            fruitX = rand()%width;
            fruitY = rand()%height;
        }
    }
    int main()
    {
    #if 0
            while(1)
            {
                    printf("%d\n",_getch());
            }
    #endif
        menu();
        setup();
        draw();
        /*循环画贪吃蛇的界面*/
            while(!gameOver)
            {
            draw();
            input();
            logic();
            Sleep(70);
        }
    
        return 0;
    }
    

    上面这段代码直接在Dev C++上面应该是可以运行的,很多人在知乎上私信问我,为什么我的贪吃蛇执行不了呢,可能就是平台不同,少了这个头文件,少了那个头文件,但是你为什么不能跟我一样,用Dev C++呢,轻量级,简单。代码的精髓是什么?我认为精髓一定是思想,不是你写了多少行代码,用了什么高端的IDE。

    我自认为我的注释已经写得不错了,所以就没有什么好说明的了吧,有不明白的把代码过一下,至于屏幕刷新这个东西,如果只是用时间刷新就会闪屏,所以出现了一个双缓存,把要显示的东西送到一个buff里面去,另一个buff用来显示,这样就可以保证不会出现闪屏。除了写贪吃蛇,可以用这个方法写其他小程序,挺有意思的。

    在知乎上,发起了一个C语言 100 行代码之内实现贪吃蛇的问题。我觉得很不错,里面很多同学的回复都非常赞,特别是叶大神的回复。

    https://www.zhihu.com/question/360814879/answer/1013986215


    扫码或长按关注

    回复「 篮球的大肚子」进入技术群聊

    展开全文
  • C语言
  • 不要这样学习C语言坑!

    千次阅读 2016-05-10 07:45:57
    对于大部分初学者,学习C语言的目的是希望做一名合格的程序员,开发出靠谱的软件来。...其实,是很多初学者都会踩到的一坑!C语言本身是一门很简单的语言,提供的实用功能不多,大部分要借助操作系统和其他库
    对于大部分初学者,学习C语言的目的是希望做一名合格的程序员,开发出靠谱的软件来。但是学了C语言的基本语法后,发现只能开发“黑底白字”的DOS程序,完全没有漂亮的界面和生动的交互。于是学数据结构,学算法,越陷越深,越来越难,最后迷失了,不知道学C语言能做什么,认为学习编程很难。

    其实,这是很多初学者都会踩到的一个坑!C语言本身是一门很简单的语言,提供的实用功能不多,大部分要借助操作系统和其他库来完成。

    第一阶段:学习软件开发基础

    1) 首先学习C语言的基础语法,也就是本教程的前十章,这些都是编程的基础。

    2) 学习Windows开发,你就能够使用C语言开发出带界面的软件来了,可以有窗口、输入框、菜单等,也可以响应键盘和鼠标事件,可以播放音乐、视频等。

    但是,你会发现比较麻烦,要使用很多API,还要手动写资源脚本。

    3) 学习Visual C++开发,通过VC或VS来拖拽各种控件、编辑各种参数。

    这个时候,你就可以用C语言做出小规模的软件了,了解了软件的底层是怎么回事,也学会了使用VC或VS来编辑界面。

    第二阶段:提高软件开发效率

    Windows API是软件开发的基础,如果你希望走得更加长远,拿到的工资更高,跟大家拉开差距,那么一定要学。

    接下来是提高开发效率,有好几条路可以选择,众多大神争论不一。

    第一条路:学习C++,包括C++基础语法、MFC、QT等。MFC和QT都是界面库,对Windows API做了封装,会大大提高开发效率。

    第二条路:学习C#。C#语言本身对底层API做了很好的封装,可以使用面向对象的方式来开发软件。

    第三条路:学习Delphi。Delphi是著名的Borland(现在已和Inprise合并)公司开发的可视化软件开发工具。“聪明的程序员用Delphi,真正的程序员用C++,偷懒的程序员用PowerShell”已经成为对 Delphi 的最真实写照。

    一款大型软件,例如 QQ、迅雷、360 等,往往是多种技术的集合。

    其他开发

    C语言主要用于软件开发、底层开发、嵌入式和单片机等对效率要求高的地方,如果你希望学习Web开发或APP开发,那么学完了C语言的基础语法就跳出C语言,去学习PHP、Python、Java、Objective-C、Swift吧,千万不要陷在C语言不能自拔。

    这个时候,C语言主要的作用是让你入门,了解编程语言的基本语法,强化编程思维,而不是用它来做实际开发。

    关于数据结构和算法

    如果你不是专门搞算法,而是做应用开发,那么了解一下就可以了,主要是堆栈、链表、排序、查找等比较基础的,千万不要深入学习,算法是个无底洞,不要陷进去,要尽早跳出来去做应用开发。

    实践中你会发现,很多会用到什么数据结构和算法,用到的话也已经被封装好了,调用对应的函数就可以,而且像树、图一类的晦涩难懂的数据结构基本与你无缘。
    展开全文
  • #C语言 输入一个字符,并判断这个字符属于哪一类字符。 #include<stdio.h> int main () { char ch; ch = getchar(); putchar(ch); if(65<=ch&&ch<=89) { printf("这是大写字母\n");...

    C语言

    输入一个字符,并判断这个字符属于哪一类字符。

    #include<stdio.h>
    int main ()
    {
    	char ch;
     	ch = getchar();
     	putchar(ch);
    	if(65<=ch&&ch<=89)
    	{
    		
    		printf("这是大写字母\n");
    	}
    	else 
    	if(97<=ch&&ch<=121)
    	{
    			printf("这是小写字母\n");
    	}
    	else
    	if(48<=ch&&ch<=57)
    	{
    			printf("这是数字\n");
    	}
    	else 
    	printf("这是其他字符\n");
    	return 0;
     } 
    

    注意if语句后的逻辑表达式使用逻辑运算符。

    展开全文
  • 这个问题是相对的,对于找到合适方法学习C语言的同学想必是觉得很简单;但对于一部分同学来说,没有众观全局就会误以为刚入门就需要学习庞大的知识,学着学着开始看不懂,由于心理作怪,感觉内容巨多,之后就真的...

    真不难

    C语言难不难?这个问题是相对的,对于找到合适方法学习C语言的同学想必是觉得很简单;但对于一部分同学来说,没有众观全局就会误以为刚入门就需要学习庞大的知识,学着学着开始看不懂,由于心理作怪,感觉内容巨多,之后就真的一直看不懂了。

    但C语言的基础内容真的多吗?回答是:不多。请看下图,C语言可以分为9个块,或者说9个主要知识点;才9个?对的,就是9个。主要是printf输出、变量、scanf输入、数组、逻辑判断、循环、自定义函数、指针以及结构体。

    接下来我将讲解各个知识点的简要概括,助各位学习者一同进步。

    在这里插入图片描述以下将会在讲解知识点的时候有对应知识点的教程链接,点进去就可以看到文章教程,全部免费,无套路~

    先来个教程完整目录

    目录

    第一篇:(一)脱离学习误区
    第二篇:(二)C语言没那么难简单开发带你了解流程
    第三篇:(三)轻轻松松理解第一个C语言程序
    第四篇:(四)语言的基本数据类型及变量
    第五篇:(五)C语言的变量、常量及运算
    第六篇:(六)轻轻松松了解C语言的逻辑运算
    第七篇:(七)C语言的循环分分钟上手
    第八篇:(八)了解基本数组还不是那么简单
    第九篇:(九)C语言二维数组与循环嵌套
    第十篇:(十)C语言的指针原来是这样
    第十一篇:(十一)C语言自定义函数真的很简单
    第十二篇:(十二)原来结构体是这么回事
    第十三篇:(十三)socket服务端编写

    C语言新手的100个报错解法

    推荐

    欢迎大家关注公众号,公众号每满1024及1024倍数则会抽奖赠送机械键盘一份+IT书籍2份哟~
    在这里插入图片描述

    学习目标

    1.知道C语言真不难

    一、printf

    在学习C语言时,第一个程序一般是HelloWorld;HelloWorld主要是编写一个程序,在程序运行时显示HelloWorld文字;使用的代码就是printf。这是程序的第一步,并没有过多的内容,主要是了解软件的使用,以及尝试第一个程序的编写。

    printf教程参考:(三)轻轻松松理解第一个C语言程序

    二、变量

    在这里插入图片描述

    变量这一块的知识点主要是介绍如何使用变量,并且告诉你变量有很多类型,其实变量就是指可以存储值的容器。这个非常好理解,例如你在生活中使用的杯子,杯子用来装水,或者是一些液体;装水可以当做容器的值是水,容器是杯子。那我也可以用抽屉装书本,书本就是值,抽屉就是容器。

    在编程中也一样,不同的容器对应的是不同掉值;在C语言中,存在几个类型,这些类型规定使用指定的容器去存储;当然也可以不按照常规存储,就像你用一个纸杯装了一个红彤彤的碳一样,高温会把纸杯给融化;除非你是故意要这个效果。

    所以变量就是很简单的一个内容。在变量这一节的内容中,还将会学习变量的输出。这个输出值的是,我们在程序运行时将该容器内装的东西显示出来;就像你用一个桶装了你钓鱼钓到的货,你把这个货给大家一起看了。

    变量还有一个关键的概念,就是可变。什么是可变?可变就是值你容器内的东西倒出来后还可以装新的东西进去;我装水的杯子我喝完了还可以装别的水进去。但是常量就不一样,常量存储了值后,就不可以改变了,就已经外包装封死了;你只能看见里面装什么,给大家看,但是你还想把里面的东西拿出来装别的东西进去是不可能的。

    变量教程参考:
    (四)语言的基本数据类型及变量
    (五)C语言的变量、常量及运算

    三、scanf

    在这里插入图片描述

    scanf的作用主要是接收用户的输入。什么是接收用户的输入呢?接收用户的输入就是值我们运行程序后,例如需要输入一个密码才可以启动程序;这时就需要我输入一个值,程序将等待我进行值的输入;输入完毕后程序接收到这个值,判断是否正确。要完成这个操作,在C语言程序中就需要使用scanf。

    scanf主要有几个知识点,最为主要的知识点则是知道变量的地址。一般情况下,我们输入一个值将需要一个变量进行接收;这句话我们可以理解成,输入一个值,我们需要一个变量对这个值进行存储。但是要完成这个操作需要知道这个变量的地址,得到地址后我们就会将这个值存到这个变量中。每个变量在内存中会有一个地址对应,就像你住的地方一样,有一个标记,给予这个标记给scanf后就可以将值存储到那个变量中。

    由于融入到了其它知识点这一个知识点不在这列出:(一)脱离学习误区

    四、数组

    在这里插入图片描述

    数组主要是理解数组结构是如何存储的。数组是用来存储一堆数值的容器,跟单个的变量所存储的内容不一样,数组可以存储多个。例如我们需要存储同一类数据的多个值就可以使用数组。数组的存储结构跟一个抽屉一样,每个抽屉都装了一个值,例如第1排第1个,第1排第二个,理解了就及其简单。

    二维数组呢其实跟一般的数组一致,就是有了第2排,有了第3排等。所以你既然能够理解抽屉,那么数组一定可以理解。

    其中索引指的就是第几个,第几排的这个几,这个数字指的是一个量词对位置的标记;数组的存取就是指对这些抽屉进行查看,和重新放一些东西进去,就那么简单。

    数组教程参考:
    (八)了解基本数组还不是那么简单
    (九)C语言二维数组与循环嵌套

    五、逻辑判断

    在这里插入图片描述

    逻辑判断其实就是对一些数值进行判断,例如刚刚说的,这个程序每次打开需要输入一个值,判断这个值是否是打开的密码,如果输入错误就退出程序。

    那么进行判断就需要使用if或者switch。if和switch都是同样的作用,懂其一则都懂,只是使用格式的不同而已。例如我们打开程序,输入了1234,密码是123456;输入的值存到了一个容器中,这个容器我们给它一个名字,或者说给了标记,叫做A;那我们只需要判断A是否等于123456就可以了。这就是逻辑判断的作用。

    逻辑判断也可以进行“套娃”,也就是判断是否正确后再进行判断,也可以同时判断多个条件。例如当前的密码知道能够被2除断,没有余数就正确,但是不能等于2;这个时候就需要使用逻辑判断运算符,只要把想判断的内容放到逻辑判断符的左右两边,就可以完成了。

    逻辑判断教程参考:
    (六)轻轻松松了解C语言的逻辑运算

    六、循环

    在这里插入图片描述

    循环是为了重复运行一些代码而设计的。主要使用的逻辑为,给予循环你要循环的次数,给予循环的代码,最后给予一个循环的控制变量;循环的控制变量作用顾名思义,用来控制循环次数;我们设置一个容器,里面装了一个数字0,每次循环就加1;例如最开始这个容器的数字是0,循环1次后我们加个1,这是容器装的值就是1了,每次加1则每次递增;那么这个时候我们给予的次数是10,每次循环只要判断这个循环控制变量是否大于10,就可以控制循环的次数了。

    for循环、while循环以及do…while循环都是一样的用法,通过循环变量控制循环次数。循环是可以嵌套的,例如循环嵌套指的就是一个循环里面有另外一个循环,每次外面的循环循环1次,里面则循环指定的次数。

    当我们需要重复设置我们的数组存储的值,使用循环特别方便。例如你需要在一个大规则的每个抽屉都需要放一个值,使用循环分分钟解决。

    循环教程参考:(七)C语言的循环分分钟上手

    七、自定义函数

    在这里插入图片描述

    自定义函数指的是你可以自己创建一个工具包。例如洗衣机是一个有功能的工具,它是用来洗衣服的,每次使用洗衣机把衣服扔进去就可以自动帮你完成任务。自定义函数也一样,实现一个功能后直接拿过来使用就可以了。

    洗衣机功能是洗衣服,但是必须要有衣服才可以洗,衣服就是参数;洗衣机洗完衣服后给你的是干净的衣服,那么干净的衣服就是返回值;就是整个功能的结果。

    自定义函数参考:(十一)C语言自定义函数真的很简单

    八、指针

    在这里插入图片描述

    指针其实就是一个代理人,你可以通过这个代理人访问一些变量,或者对这些变量进行直接的操作,你就是他们的主人;但是在使用指针的时候你必须知道你要操作的东西的地址,不然从何操作;多重指针呢就是你的全权代理人跟另外一个人搭伙,你可以操作另外一个人的代理。

    那为什么说指针危险呢?那是因为你的代理人保留着上一任主人的数据,你直接让他去操作一些东西,他会把上一任主人保留的数据拿去操作,这样你操作了不属于你的东西,这就被警告了。所以要使用指针时记得把上一任主人的数据给丢掉,并且用完这个指针工具人后让它把所有数据都扔掉。

    指针教程参考:
    (十)C语言的指针原来是这样

    九、结构体

    在这里插入图片描述

    结构体我们可以当做是一种类型的组合。例如你使用变量去存储一个人的名字、年龄,需要新建2个变量;例如你又要存储一个人的名字、年龄就需要再新建2个变量;真太麻烦。这时使用结构体,结构体就像一个大容器,跟数组不一样,结构体可以给自己存的值给个变量存储,数组直接就是个变量,结构体包含着其它的变量。我们新建一个结构体叫做“人”,这个人结构体我们在内部新建2个变量,一个是名字、一个是年龄,这时只需要创建这个结构体,那我们就可以直接拥有2个变量,简单方便。

    结构体教程参考:
    (十二)原来结构体是这么回事

    总结

    了解概念后,学习将不会有太大难度,主要是认识使用的语法规则即可。

    展开全文
  • /**给定四种水果,分别是苹果(apple)、梨(pear)、桔子...然后对应用户的每输入,在一行中按格式“price = 价格”输出查询结果,其中价格保留两位小数。当用户连续查询次数超过5次、或主动输入0时,程序结束。
  • 生成一个随机数,用户猜这个随机数#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;time.h&gt;main(){ int x,a; char ch; srand(time(NULL)); do { x=rand()%100; //printf...
  • 本课程的目标是引导大家从本质上了解内存和C语言程序的关联,课程性质是原理性、理解性的。虽实战较少但可以用来指导实战,层次上高于实战。
  • 数比较大小 — C语言经典题目

    万次阅读 多人点赞 2017-03-29 20:57:40
    道题是每一位初学C的小伙伴们的必经之路,其经典性简直如同Hello World!下面写一下几种不同的解法。 1.if语句 2.三目运算(?) 3.调用函数 4.指针
  • 前几天写篇文章《精心为学弟学妹准备的C语言与C++学习路线、书籍、视频推荐和...也有不少小伙伴问看完书和视频后,可以做点啥,今天给大家分享60个c语言/c++的小项目源码(里面一部分是c++的c),学习过程中,可
  • C语言

    千次阅读 2007-01-08 20:24:00
    C语言已死 ”,是刚刚看到的,我没有愤愤不平,只是,作为学过C语言的人,我很想说点什么。 选择了我的专业,C是我第一门正式的计算机课程,我学得很认真,几乎看了图书馆里所有类型的C语言书籍,我的第一能...
  • 找出一个大于给定整数且紧随这个整数的素数 问题:1、忘了break 2、忘了第一个return 0,其后果就是咔——————根本停不下来(语言难以描述) 3、for+if的穷举法(?)用来判断是不是素数 ...
  • #include&lt;stdio.h&gt; int main() { double x,x1,x2,w; scanf("%lf",&amp;x); x1=x; x2=(2.0*x1+x/(x1*x1))/3.0; w=(x2-x1)/x1; if(w&lt;0) w=w*-1; while(w&... ...
  • C语言实战-打字游戏

    千次阅读 2019-04-25 21:15:06
    纯C语言的打字游戏 ...后续所有的更新不会脱离纯C语言这个规则,我写这个游戏的初衷就是为了有一个简单点的可玩性高的纯c语言版本的小游戏 1.0单线程版本 点击下载体验 最下面有源码下载地址 先上一个打字游戏...
  • C语言输出一汉字

    千次阅读 2013-07-14 08:11:18
    C语言输出一个汉字 分类: C++2012-12-18 22:19 390人阅读 评论(3) 收藏 举报 [cpp] view plaincopy ...其实,应该这个样子: [cpp] view plaincopy
  • C语言源文件编译成一程序

    万次阅读 2009-04-19 12:56:00
    一般来说,我们编制的C语言源程序都是放在一扩展名为.C的文件中,对一较简单的程序是合适的,但对于大型项目就不合适了,其一,大项目往往由多人合作完成,大家都来操作同一文件极易出错;其二,大
  • #include<stdio.h> int main() { double x,x1,x2,w; scanf("%lf",&x); x1=x; x2=(2.0*x1+x/(x1*x1))/3.0; w=(x2-x1)/x1; if(w<0) w=w*-1; while(w>...
  • C语言:32关键字

    万次阅读 多人点赞 2018-12-05 19:22:55
    不是常量,而是一只读变量。 3. double:声明双精度变量 4. long:声明长整型变量 5. char:声明字符变量 单纯的char类型应该用于字符值的存储使用,唯一允许的操作就是赋值和相同运算符(...
  • 之前自己一直都不太搞得懂这个,不过之前写的程序都是简单的,一个源文件就能搞定的那种,所以也一直懒了没有去学怎么,心里隐隐的对学习心的东西感觉到恐惧。今天自己搬弄了一个下午,各种错误,要崩溃了。吃完饭,...
  • 好玩的C语言程序

    千次阅读 2013-08-28 20:29:54
    1.写一个c语言程序,输出hello,删掉代码的第一字符,输出world。 2.写一个c语言程序,输出hello,删掉代码的最后一...想了一会,写出了代码,哈哈,再次膜拜一下c语言的语法。 Think time 。 。 。 。 。 。
  • C语言fopen打开文件失败了,原来是这个原因~~~~

    千次阅读 多人点赞 2020-06-19 11:07:54
    今天给大家分享一个C语言初学者常见的一问题。 问题 经常有人问我,我的C语言代码好好的,怎么就打开文件失败了呢? 我们先来看看代码吧 #include <stdio.h> #include <stdlib.h> int main() { ...
  • ESC -- 27 0 -- 48 A -- 65 a -- 97

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 92,877
精华内容 37,150
关键字:

c语言这个

c语言 订阅