精华内容
下载资源
问答
  • 编写一个C程序,功能是读取文本文件in.txt,并依据命令行参数输出对应的查找结果。 程序源码如下: 然后在命令窗口用TCC将trans.c文件编译成trans.exe,并运行之: 如图所示,查找结果正确,且与in.txt里的对应...

    设有一个文本文件in.txt内容如下:
    1

    现编写一个C程序,功能是读取文本文件in.txt,并依据命令行参数输出对应的查找结果。

    程序源码如下:
    2

    然后在命令窗口用TCC将trans.c文件编译成trans.exe,并运行之:
    3

    如图所示,查找结果正确,且与in.txt里的对应关系一致。

    展开全文
  • Win-TC C语言编写软件

    2011-12-17 00:27:18
    Win-TC,经典的C语言编写程序,占用内存极,兼容性很好!
  • c语言学习小软件

    2018-10-31 15:50:15
    c语言学习小软件,可以用来编写并运行C程序,包含有C语言教程,关键字都列出来了。
  • C语言编写的打字软件

    2009-08-16 09:10:40
    初学完C,编写的歌程序,有很多地方效果不好,但很乐意和大家分享,有不足之处希望大家予以指正
  • 简而言之用c语言编写游戏,要开始使用,请根据您选择的方向选择其他IDE. 如果您正在学习C / C ++,则可以使用基于miniGW的方法(例如DevC ++或Code :: Blocks等),它既简单又轻巧,省去了复杂的事情...

    516d9544feffe7a226fd403d15777c13.png

    C ++和C#有很大的不同. 如果C ++和C ++之间存在某种继承关系,则C ++和C#之间根本就没有继承关系.

    ce07cce558b22ca494078f9356fc8561.png

    您不必使用VS来学习C ++. 要学习C#,您必须使用VS.

    1-524-png_6_0_0_0_0_0_0_892.979_1262.879-893-0-372-893.jpg

    简而言之用c语言编写游戏,要开始使用,请根据您选择的方向选择其他IDE. 如果您正在学习C / C ++,则可以使用基于miniGW的方法(例如DevC ++或Code :: Blocks等),它既简单又轻巧,省去了复杂的事情,使您更加专注于语言. 严重不建议使用VC6. 它太旧了,标准支持也很差.

    9-439-png_6_0_0_11_237_422_341_893.25_1263.375-676-0-1268-676.jpg

    如果您正在学习C#,建议安装VS2005,学习C#语法和.net Framework2.0.

    35d8ba1ac6d7f76eb6a20bc6fe14fa56.png

    书非常重要. 学习C依赖于“ C编程语言”,学习C ++依赖于“ C ++编程语言”,如果您学习C#……“ C#经典入门”几乎是相同的.

    在学习C ++之前,最好先具备C的基础. 如果您学习C#,则不必.

    VS2010用c语言编写游戏,如果您对F#或C ++ 0x不太满意,则无需尝试使用新的版本. 即使在beta版本中,VS2010也有很高的要求(比以前的版本要高得多),1G内存DX9图形卡,5G硬盘空间,总之,这是一个很大的块,并且运行非常缓慢.

    本文来自电脑杂谈,转载请注明本文网址:

    http://www.pc-fly.com/a/jisuanjixue/article-216488-1.html

    展开全文
  • 看不清的话,下方有源代码,由于编译器不同,可能有的会编译失败有什么不明白的可以私聊编下边是视频,速度会根据时间长度逐渐变快希望你也可以写出自己设计的程序 #include "stdafx.h"#include#include#include...

    看不清的话,下方有源代码,由于编译器不同,可能有的会编译失败

    有什么不明白的可以私聊小编

    下边是视频,速度会根据时间长度逐渐变快

    希望你也可以写出自己设计的程序

    38fe83f2807b236b5dd3a3fbb417c3bc.png

    #include "stdafx.h"

    #include

    #include

    #include

    void huanhang(int num_huanhang,int num_kongge,int num_xian)

    {

    for (int i = 0; i < num_huanhang; i++)putchar('\n');

    for (int i = 0; i < num_kongge; i++)putchar(' ');

    for (int i = 0; i < num_xian; i++)printf("_");

    }

    int main()

    {

    congxingkaishi:                //gou to语句

    system("color 70");            //改变颜色

    system("cls");                 //清空屏幕

    char ch;

    int cuowu = 0, zhengque = 0, num_suiji, num_suijichuxian, dengji=150,cishu=1;

    huanhang(12, 30, 0);

    printf("按任意键开始游戏...");

    getch();                       //这是按下键盘执行下一个编码

    while (true)

    {

    system("cls");             //清空屏幕

    huanhang(0, 0, 80);

    huanhang(2, 25, 0);

    printf("正确个数:%d", zhengque);

    huanhang(0, 10, 0);

    printf("错误个数:%d/5", cuowu);

    huanhang(1, 0, 80);

    putchar('\n');

    srand(time(NULL));          //生成随机数

    num_suiji = rand() % 26;    //生成随机数0-26

    num_suijichuxian = rand() % 65 + 5;

    //生成随机数5-70

    if (cishu % 5 == 0)dengji -= 10;

    cishu++;

    for (int i = 0; i < 21; i++)

    {

    huanhang(0, num_suijichuxian, 0);

    printf("%c", 'A' + num_suiji);

    //将键盘输入的小写转换成大写

    Sleep(dengji);

    //执行代码延迟,不然字母下落太快,谁能玩,小编破腹给你看

    printf("\b \n");

    //    \b是退格,有个空格是为了取代字母,不然不消失

    if (kbhit())

    // kbhit()不影响程序执行,如果用scanf或getchar就会中断程序,使得程序不能进行

    if (getch() == 'a' + num_suiji)   //转换大小写

    {

    zhengque++;

    break;

    }

    if (i == 20)cuowu++;

    }

    if (cuowu == 5)

    {

    system("cls");

    //清空屏幕

    huanhang(12, 30, 0);

    printf("死亡,最高成绩:%d", zhengque);

    huanhang(1, 30, 0);

    printf("输入Y重新开始:");

    ch = getch();

    if (ch == 'y')goto congxingkaishi;    //goto语句

    printf("退出游戏");

    huanhang(1, 30, 0);

    break;

    }

    }

    system("pause");                           //程序暂停

    return 0;

    }

    我们会不断努力,感谢你的支持!!!

    展开全文
  • 最开始,编还不太系统的了解编程,只知道计算机软件程序,是由编程语言开发的;有很多if(如果)、 for(循环)等关键字,用这些就能做出一个软件程序来。 目标 决定要自学编程,首先要定个目标。 这非常重要...

    用10天!系统地学习一遍C语言编程!
    如今看起来可笑的狂妄自大,但当时总觉得在将来会跟别人活得不一样。

    最开始,小编还不太系统的了解编程,只知道计算机软件程序,是由编程语言开发的;有很多if(如果)、 for(循环)等关键字,用这些就能做出一个软件程序来。

    小目标

    决定要自学编程,首先要定个小目标。

    这非常重要!

    很多计算机系毕业的本科大学生,让他们去做一个简单毕业设计管理系统,他们都是做不出来的。

    因此,选择一个小目标,自上而下的去思考和学习,就非常重要了…

    而小编当时的小目标,做小项目——“贪吃蛇,然后自己开发一个原创小游戏”。

    这个目标,足够的小,并且达成后会有强烈的成就感。

    对于想要学习编程的初学者来说,最好的学习方式是:少看,立刻动手。

    时间分配

    那10天的时间里,我是怎样把这个技能学习进行时间分配的?

    • 第1天:目标项目所需资料;
    • 第2 - 3天:基础理论视频;
    • 第4 - 7天:跟着开发原有项目;
    • 第8 - 10天:自己改进,加入自己的思想,开发新项目;

    虽然说10天学完了C语言入门,但是实际能力还是停留在一个很低的水平,基本上就是套几个for循环,暴力解一下排列组合问题的水平。这次的编写控制台贪吃蛇程序对小编当时来说是一个不小的挑战。

    这里不对编写过程进行赘述,主要说一下最基本功能的逻辑、和一些之前较少用的函数等。

    【源码获取】:

    由于平台原因,小编将完整源码放在小编自己的C语言/C++交流④群:836880131!资料共享在群文件里面,有需要的可以自行添加获取~

    如果对代码有任何建议,都可以添加小编的学习交流群,欢迎大家来讨论~

    一、 基本功能逻辑

    1、游戏的背景、打印

    定义一个二维字符串,用“■”和空格表示边界、蛇身、空白等。打印是用for循环遍历整个字符串,并以一定频率刷新,就可以达到游戏效果。

    2、建立蛇数组

    考虑到没用链表做过东西,不太熟练,我采用了数组来做蛇。数组主要有容量有限,最长长度需要先定义(只要我定的足够长hhhh),以及很多地方需要取地址(N次打掉了”&“)等缺点。数组存储蛇的节数、XY坐标、移动方向等参数。主要需要注意“■”占两个字节,在写坐标时很多地方要乘二。

    3、生成蛇的随机坐标

    首先种随机种子,采用系统时间做种子。定义x、y两个变量作为坐标值,用rand()函数搭配取余来获得想要的坐标值范围。然后初始生成两三节就可以了。

    4、把蛇画到地图上

    建立for循环遍历整条蛇,利用strncpy()函数将空白部分复制为“■”就行了。

    5、蛇的运动

    这里卡了比较久,期间去玩了玩贪吃蛇,发现蛇的运动方式不是很复杂,可以说就是蛇尾去一个,蛇头加一个。我采用了整个蛇身向前移,蛇头单独处理的方法,这样也便于以后控制方向。

    6、擦除运动轨迹

    写到上一步运行会发现蛇越来越长。。。。就像死机了以后的鼠标光标一样。。。。是因为虽然前一节点的属性赋给了后一个节点,但是这个节点并没有变。所以在每次运动前把之前的蛇擦掉,方法同第四步,只是把“■”换成两个空格。

    7、蛇改变方向

    由于蛇运动方式的特殊性,只需要对蛇头处理。用GetAsyncKeyState()函数读取键盘输入,并需要注意通过附加条件防止蛇掉头。

    8、生成食物

    随机坐标、复制、打印。

    9、蛇吃食物长长

    蛇运动到食物的地方会把食物覆盖掉,所以吃掉食物的效果不用写。只用判断蛇头坐标和食物坐标重合,然后判断运动方向来确定在哪里加一节就行了。然后用一个布尔值判断场上是否还有食物,来生成新的食物。计分也可以在此处写。

    代码如下:

    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdio.h>
    #include <stdlib.h>
    #include <math.h>
    #include <conio.h>
    #include <time.h>
    #include <windows.h>
    
    
    #define MAXWIDTH 30
    #define MAXHEIGHT 30
    #define INITLEN 3  //贪吃蛇的初始长度 
    
    
    struct{
        char *ch;
        int color;
        char type;
    }
    charBorder = { "■", 4, 1 },  //边框
    charBg = { "■", 2, 2 },  //背景
    charSnake = { "■", 0xe, 3 },  //贪吃蛇节点
    charFood = { "●", 0xc, 4 };  //食物
    
    //用一个结构体数组保存地图中的各个点
    struct{
        char type;
        int index;
    }globalMap[MAXWIDTH][MAXHEIGHT];
    
    
    struct{
        int x;
        int y;
    } snakeMap[(MAXWIDTH - 2)*(MAXHEIGHT - 2)], scoresPostion;
    
    int scores = 0;  //得分
    int snakeMapLen = (MAXWIDTH - 2)*(MAXHEIGHT - 2);
    int headerIndex, tailIndex; 
    HANDLE hStdin;  
    
    // 设置光标位置,x为行,y为列
    void setPosition(int x, int y){
        COORD coord;
        coord.X = 2 * y;
        coord.Y = x;
        SetConsoleCursorPosition(hStdin, coord);
    }
    
    // 设置颜色
    void setColor(int color){
        SetConsoleTextAttribute(hStdin, color);
    }
    
    //创建食物
    void createFood(){
        int index, rang, x, y;
    
        srand((unsigned)time(NULL));
        if (tailIndex<headerIndex){
            rang = headerIndex - tailIndex - 1;
            index = rand() % rang + tailIndex + 1;
        }
        else{
            rang = snakeMapLen - (tailIndex - headerIndex + 1);
            index = rand() % rang;
            if (index >= headerIndex){
                index += (tailIndex - headerIndex + 1);
            }
        }
    
        x = snakeMap[index].x;
        y = snakeMap[index].y;
        setPosition(x, y);
        setColor(charFood.color);
        printf("%s", charFood.ch);
        globalMap[x][y].type = charFood.type;
    }
    
    //死了
    void die(){
        int xCenter = MAXHEIGHT % 2 == 0 ? MAXHEIGHT / 2 : MAXHEIGHT / 2 + 1;
        int yCenter = MAXWIDTH % 2 == 0 ? MAXWIDTH / 2 : MAXWIDTH / 2 + 1;
    
        setPosition(xCenter, yCenter - 5);
        setColor(0xC);
    
        exit(1);
        _getch();
        exit(0);
    }
    
    // 蛇移动
    void move(char direction){
        int newHeaderX, newHeaderY;  //新蛇头的坐标
        int newHeaderPreIndex;  //新蛇头坐标以前对应的索引
        int newHeaderPreX, newHeaderPreY;  //新蛇头的索引以前对应的坐标
        int newHeaderPreType;  //新蛇头以前的类型
        int oldTailX, oldTailY;  //老蛇尾坐标
    
        switch (direction){
        case 'w':
            newHeaderX = snakeMap[headerIndex].x - 1;
            newHeaderY = snakeMap[headerIndex].y;
            break;
        case 's':
            newHeaderX = snakeMap[headerIndex].x + 1;
            newHeaderY = snakeMap[headerIndex].y;
            break;
        case 'a':
            newHeaderX = snakeMap[headerIndex].x;
            newHeaderY = snakeMap[headerIndex].y - 1;
            break;
        case 'd':
            newHeaderX = snakeMap[headerIndex].x;
            newHeaderY = snakeMap[headerIndex].y + 1;
            break;
        }
    
        headerIndex = headerIndex == 0 ? snakeMapLen - 1 : headerIndex - 1;
    
        newHeaderPreIndex = globalMap[newHeaderX][newHeaderY].index;
    
        newHeaderPreX = snakeMap[headerIndex].x;
        newHeaderPreY = snakeMap[headerIndex].y;
    
        snakeMap[headerIndex].x = newHeaderX;
        snakeMap[headerIndex].y = newHeaderY;
        globalMap[newHeaderX][newHeaderY].index = headerIndex;
    
        snakeMap[newHeaderPreIndex].x = newHeaderPreX;
        snakeMap[newHeaderPreIndex].y = newHeaderPreY;
        globalMap[newHeaderPreX][newHeaderPreY].index = newHeaderPreIndex;
    
        //新蛇头以前的类型
        newHeaderPreType = globalMap[newHeaderX][newHeaderY].type;
        //设置新蛇头类型
        globalMap[newHeaderX][newHeaderY].type = charSnake.type;
        // 判断是否出界或撞到自己
        if (newHeaderPreType == charBorder.type || newHeaderPreType == charSnake.type){
            die();
        }
        //输出新蛇头
        setPosition(newHeaderX, newHeaderY);
        setColor(charSnake.color);
        printf("%s", charSnake.ch);
        //判断是否吃到食物
        if (newHeaderPreType == charFood.type){  //吃到食物
            createFood();
            //更改分数
            setPosition(scoresPostion.x, scoresPostion.y);
            printf("%d", ++scores);
        }
        else{
            //老蛇尾坐标
            oldTailX = snakeMap[tailIndex].x;
            oldTailY = snakeMap[tailIndex].y;
            //删除蛇尾
            setPosition(oldTailX, oldTailY);
            setColor(charBg.color);
            printf("%s", charBg.ch);
            globalMap[oldTailX][oldTailY].type = charBg.type;
            tailIndex = (tailIndex == 0) ? snakeMapLen - 1 : tailIndex - 1;
        }
    }
    
    //下次移动的方向
    char nextDirection(char ch, char directionOld){
        int sum = ch + directionOld;
        ch = tolower(ch);
        if ((ch == 'w' || ch == 'a' || ch == 's' || ch == 'd') && sum != 197 && sum != 234){
            return ch;
        }
        else{
            return directionOld;
        }
    }
    
    //暂停
    char pause(){
        return _getch();
    }
    
    // 初始化
    void init(){
        // 设置相关变量 
        int x, y, index;
        int xCenter = MAXHEIGHT % 2 == 0 ? MAXHEIGHT / 2 : MAXHEIGHT / 2 + 1;
        int yCenter = MAXWIDTH % 2 == 0 ? MAXWIDTH / 2 : MAXWIDTH / 2 + 1;
        CONSOLE_CURSOR_INFO cci;  //控制台光标信息
    
        //判断相关设置是否合理
        if (MAXWIDTH<16){
            printf("'MAXWIDTH' is too small!");
            _getch();
            exit(0);
        }
    
        //设置窗口大小 
        system("mode con: cols=96 lines=32");
    
        //隐藏光标
        hStdin = GetStdHandle(STD_OUTPUT_HANDLE);
        GetConsoleCursorInfo(hStdin, &cci);
        cci.bVisible = 0;
        SetConsoleCursorInfo(hStdin, &cci);
    
        //打印背景 
        for (x = 0; x<MAXHEIGHT; x++){
            for (y = 0; y<MAXWIDTH; y++){
                if (y == 0 || y == MAXWIDTH - 1 || x == 0 || x == MAXHEIGHT - 1){
                    globalMap[x][y].type = charBorder.type;
                    setColor(charBorder.color);
                    printf("%s", charBorder.ch);
                }
                else{
                    index = (x - 1)*(MAXWIDTH - 2) + (y - 1);
                    snakeMap[index].x = x;
                    snakeMap[index].y = y;
                    globalMap[x][y].type = charBg.type;
                    globalMap[x][y].index = index;
    
                    setColor(charBg.color);
                    printf("%s", charBg.ch);
                }
            }
            printf("\n");
        }
    
        //初始化贪吃蛇
        globalMap[xCenter][yCenter - 1].type = globalMap[xCenter][yCenter].type = globalMap[xCenter][yCenter + 1].type = charSnake.type;
    
        headerIndex = (xCenter - 1)*(MAXWIDTH - 2) + (yCenter - 1) - 1;
        tailIndex = headerIndex + 2;
        setPosition(xCenter, yCenter - 1);
        setColor(charSnake.color);
        for (y = yCenter - 1; y <= yCenter + 1; y++){
            printf("%s", charSnake.ch);
        }
        //生成食物
        createFood();
    
        //设置程序信息
        setPosition(xCenter - 1, MAXWIDTH + 2);
        printf("  得分 : 0");
        setPosition(xCenter, MAXWIDTH + 2);
        printf("  姓名班级 :33班杨超");
    
        scoresPostion.x = xCenter - 1;
        scoresPostion.y = MAXWIDTH + 8;
    }
    
    int main(){
        char charInput, direction = 'a';
        init();
    
        charInput = tolower(_getch());
        direction = nextDirection(charInput, direction);
    
        while (1){
            if (_kbhit()){
                charInput = tolower(_getch());
                if (charInput == ' '){
                    charInput = pause();
                }
                direction = nextDirection(charInput, direction);
            }
            move(direction);
            Sleep(500);
        }
    
        _getch();
        return 0;
    }
    

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小编。

    另外本程序还需要一部分头文件,想要领取可以添加小编的C语言/C++交流④群:836880131,源码在群文件里

    福利来袭~

    学习过程很“痛苦”,但是结果大家一定会对自己很满意!

    如果觉得学习资料难找的话,可以添加小编的C语言/C++交流群:836880131! 学习资料已经共享在群里了,期待你的加入~

    展开全文
  • C语言编写的示例小软件,是我的同学编写的,拿来和大家分享分享! 谢谢!
  • C语言,简单模式的代码,适合初学者。北京信息科技大学软件工程1301 SHERO组#include #include #include #include #include void func();void fun();void fu();int k=0,num;void main(){int choice,choice1 ;float ...
  • C语言编写口令保护程序 摘要:在变飞猛进的计算机发展时代,对计算机软件出现了各种各样的保护措施。本文培出了一个用C语 言编写的口夺保护程序。 关键词:口夺程序保护
  • 如何用C语言编写病毒

    2016-10-26 19:13:00
    怎样用C语言编写病毒在分析病毒机理的基础上,用C语言写了一个病毒作为实例,用TURBOC2.0实现.[Abstract] This paper introduce the charateristic of the computer virus,then show a simple example written by ...
  • Ubuntu系统下用C语言编写以及用Makefile方式编程主程序Ubuntu开发环境下C语言编写任务内容实验过程实验结用Makefile方式编程主程序任务内容任务过程 这是嵌入式系统程序设计基础课程学习的一篇博客,记录自己的...
  • c语言编写单片机技巧

    2009-04-19 12:15:17
    MCU来说,其内部ROM、RAM、STACK等资源都有限,如果使用C语言编写,一条C语言指令编译后,会变成很多条机器码,很容易出现ROM空间不够、堆栈溢出等问题。而且一些单片机厂家也不一定能提供C编译器。而汇编语言,一...
  • 用纯C语言编写的示例小软件,来自我的同学,希望能和大家分享! 谢谢!
  • c语言源代码做的一个屏幕涂鸦软件,一个的 恶作剧软件 ,呵呵!~~
  • 关于用c语言编写加密器

    千次阅读 2010-03-25 17:14:00
    关于用c语言编写加密器——John_chen想想自己,也学习了一个学期的c语言了,所以我想做一个自己早就想做的小软件了,小小的私人加密器,当然不是我们书上教我们做的那个了,我们还是自己考虑算法和怎么逆向实现解密...
  • [摘要]在分析病毒机理的基础上,用C语言写了一个病毒作为实例,用TURBOC2.0实现. [Abstract] This paper introduce the charateristic of the computer virus,then show a simple example written by TURBOC2.0. ...
  • 小学生数学测试软件编写,要求: (1) 可选择题型(+,-,*); (2) 可选择每次答题的个数; (3) 随机生成两个数进行运算; (4) 每次在输入答案后应判断对错,若答案错误,应给出正确答案; (5) 最后给出做对...
  • C语言简单程序编写

    2008-12-27 11:45:43
    在WINTC软件上运行,未写明程序功能,实在抱歉
  • C语言实现字典软件

    2019-08-12 18:13:22
    说明 本文主要实现读取文本文件,查找内容,在命令行输入需要查找的内容,输出对应查找结果,文本文件内容如下: a 一 b 地 ...编写C代码实现结果 编写的c代码如下: #include<stdio.h> #inc...
  • 面向过程编程的一般思路:分析问题->设计流程和模块->编码和测试->改进并总结做算法问题的一般思路:先用数学方法计算分析,充分理解问题。在思考程序哪些地方应该用循环、指针或数组等细节问题之前,先要...
  • C语言编程工具软件推荐

    万次阅读 多人点赞 2019-04-23 11:06:01
    c语言编程软件适于编写系统软件,是学习编程的同学们的必备软件c语言一种非常强大的计算机语言,应用非常广泛,不仅仅是在软件开发上,而且各类科研都会用到c语言。今天编给大家汇总下C语言的编程工具 中国有...
  • 1.编程语言C语言 2.绝对可运行 3.需要报告说明留言 4.运行软件vc++6.0或者VS系列
  • c语言编写的小学生四则运算软件,有点缺点,但很好用,可以给小学生测试四则运算。
  • 下面是我平常为方便写了个程序处理这个问题,供大家参考,也可以在此基础上做一些改进和修改来执行其他的一些操作。 /* 1、对文本数据进行处理:将用其它软件导出的数据在原空格处添加分号,便于数据的进一步利用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 744
精华内容 297
关键字:

c语言编写小软件

c语言 订阅