精华内容
下载资源
问答
  • 主要面向想做出图形界面的C语言初学者 C语言初学者开始都是在黑白控制台上开发一些小程序,实现一些小功能,因为基础的C语言可视化效果比较差,所展示的都是黑白的字符和数字,比较单调乏味。一些大学的计算机类专业...

    主要面向想做出图形界面的C语言初学者

    C语言初学者开始都是在黑白控制台上开发一些小程序,实现一些小功能,因为基础的C语言可视化效果比较差,所展示的都是黑白的字符和数字,比较单调乏味。一些大学的计算机类专业学生,大一学习C语言,学习基础语法和算法,通过平台刷题提高自己编程能力,一般不专门学习图形化编程,期中或者期末可能会有开发一个小游戏或者小系统(如学生成绩管理系统、银行管理系统、日程管理系统等)的任务。这时如果在实现基本功能的情况下做出优美的图形界面,会比较出彩并且会有满满的成就感。

    C语言图形化编程

    一、环境准备

    操作系统:windows 10
    编译环境:VS 2017
    图形库:EasyX_20190415(beta)

    下载链接
    VS 2017: 微软官网
    EasyX图形库:EaxyX官网

    下面介绍一下EasyX:
    EasyX 是针对 C++ 的图形库,可以帮助 C语言或C++语言初学者快速上手图形和游戏编程,比如用编译环境和EasyX图形库可以轻松画一个房子,或者一辆移动的小车,可以编写俄罗斯方块、贪吃蛇、黑白棋等小游戏,或者导入一张图片,可以练习图形学的各种算法,等等。
    如何安装:
    需要先下载安装好编译环境VS2017,然后再下载安装EasyX图形库,安装时选择安装在Visual C++2017目录下即可。
    安装截图

    二、程序运行截图

    欢迎界面
    在这里插入图片描述
    系统初始界面
    在这里插入图片描述
    学生端
    在这里插入图片描述
    教师端
    在这里插入图片描述

    三、部分源码展示

    下面是代码的头文件、宏定义、函数声明部分。完整源码请在下方获取

     /************************************************************************
    程序名:日程管理系统
    版本号:2.0
    程序功能:1)设计学生端口和教师端口,学生端学生自我管理,教师端教师监督管理
    		  2)注册、登录账号,修改密码
    		  3)添加、修改、删除、显示日程
    		  4)文件自动保存
    		  5) 精美界面,界面友好,交互性强
    		  6)系统会进行自动保存
    		  7)登录后退出需要重新登录
    ************************************************************************/
    
    /*对库函数的定义*/
    #include <graphics.h>      // 引用图形库头文件
    #include<stdio.h>
    #include<stdlib.h>
    #include<string.h>
    #include<math.h>
    #include <conio.h>
    #include<tchar.h>
    
    /*宏定义*/
    #define NUMBER 100//定义可容纳(学生/教师)的用户数量 
    #define MANAGELENGTH 30//定义事件长度(包含时间) 
    #define STRLENGTH 30//定义用户名长度
    #define NUMLENGTH 12//定义密码长度 
    
    /*定义图片*/
    IMAGE welcome;//欢迎界面
    IMAGE welcome_button;//ENTER按钮
    IMAGE startup;//初始界面
    IMAGE stu1;//学生端初始
    IMAGE stu1_return;
    IMAGE stu1_exit;
    IMAGE stu_register;//学生端:创建账户
    IMAGE stu_logon;//学生端:学生登录
    IMAGE stu_resetpassword;//学生端:修改密码
    IMAGE stu_schedulemanagement1;//学生端:日程管理界面1
    IMAGE stu_schedulemanagement2;//学生端:日程管理界面2
    IMAGE stu_schedulemanagement2_return;
    IMAGE stu_schedulemanagement2_exit;
    IMAGE teacher1;//教师端初始
    IMAGE teacher1_return;
    IMAGE teacher1_exit;
    IMAGE teacher_register;//教师端:创建账户
    IMAGE teacher_logon;//教师端:教师登录
    IMAGE teacher_resetpassword;//教师端:修改密码
    IMAGE teacher_schedulemanagement1;//教师端:日程管理界面1
    IMAGE teacher_schedulemanagement2;//教师端:日程管理界面2
    IMAGE teacher_schedulemanagement2_return;
    IMAGE teacher_schedulemanagement2_exit;
    IMAGE createschedule;//学生端:创建日程
    IMAGE resetschedule;//学生端:修改日程
    IMAGE finishedcondition;//学生端:完成状态
    IMAGE setstuschedule;//教师端:设定学生日程
    IMAGE resetstuschedule;//教师端:修改学生日程
    IMAGE checkfinishedcondition;//教师端:查看完成状态
    IMAGE end;//结束界面
    
    /*全局变量*/
    int nStudentNum = 0;//注册的学生编号(从0开始)(同时也代表着注册人数) 
    int nTeacherNum = 0;//注册的教师编号 (第一个注册的用户编号为0) 
    int nStuFlag = 0;//定义判断学生是否登录的标志变量
    int nTeacherFlag = 0;//定义判断教师是否登录的标志变量 
    int studentnum;//定义登录的学生编号
    int teachernum;//定义登录的教师编号
    
    /*定义学生结构体数组*/
    struct student
    {
    	wchar_t szName[STRLENGTH];//定义学生用户名
    	wchar_t password1[NUMLENGTH];//定义学生账户密码
    	wchar_t password2[NUMLENGTH];//定义学生二次输入密码
    	int nSerialNum;//定义学生序号(从1开始) 
    	int nManagement = 0;//定义学生的日程事件数  
    	wchar_t Management1[10][MANAGELENGTH];//定义存储该学生设定的初始时间字符数组      设定一个学生最多设定10个事件 
    	wchar_t Management2[10][MANAGELENGTH];//定义存储该学生设定的截止时间字符数组
    	wchar_t Management3[10][MANAGELENGTH];//定义存储该学生设定的日程内容字符数组
    	wchar_t FinishStatus[10][MANAGELENGTH];//定义每个学生设定的日程的完成状态 
    }stu[NUMBER];
    
    /*定义教师的结构体数组*/
    struct  teacher
    {
    	wchar_t szName[STRLENGTH];//定义教师用户名
    	wchar_t password1[NUMLENGTH];//定义教师账户密码
    	wchar_t password2[NUMLENGTH];//定义教师二次输入密码 
    	int nSerialNum;//定义老师序号(从1开始) 
    }teacher[NUMBER];
    
    /*函数声明***********************************************/
    
    /*欢迎界面函数*/
    void Welcome(FILE *fp);
    
    /*文件保存函数*/
    void SaveFile(FILE *fp);
    
    /*一级主菜单函数*/
    void Select_MainMenu(FILE *fp);
    
    /*二级菜单函数*/
    
    //二级菜单学生端目录显示
    void OutputStu_SecondMenu(FILE *fp);
    //二级菜单教师端目录显示
    void OutputTeacher_SecondMenu(FILE *fp);
    //二级菜单:学生创建账户 
    void Stu_Register(FILE *fp);
    // 二级菜单:学生登录
    void Stu_Logon();
    //二级菜单:学生修改密码
    void Stu_ResetPassword(FILE *fp);
    //二级菜单:学生日程管理
    void Stu_ScheduleManagement(FILE *fp);
    //二级菜单:教师创建账户
    void Teacher_Register(FILE *fp);
    //二级菜单:教师登录
    void Teacher_Logon();
    //二级菜单:教师修改密码
    void Teacher_ResetPassword(FILE *fp);
    //二级菜单:教师对学生日程管理
    void Teacher_ScheduleManagement(FILE *fp);
    
    /*二级菜单结束*/
    
    /*三级菜单*/
    
    //三级菜单:新建日程 
    void CreateSchedule(FILE *fp);
    //三级菜单:修改日程
    void ResetSchedule(FILE *fp);
    //三级菜单:完成状态
    void FinishedCondition(FILE *fp);
    //三级菜单:设定学生日程
    void SetStuSchedule(FILE *fp);
    //三级菜单:修改学生日程
    void ResetStuSchedule(FILE *fp);
    //三级菜单:查看学生完成状态
    void CheckFinishedCondition();
    
    /*三级菜单结束*/
    
    /*函数声明结束********************************************/
    

    四、完整文件

    程序中要多次用到图形库的函数,建议刚接触的初学者查看EasyX安装时附带的官方帮助文档,也可以参考我的源代码。但是考虑到帮助文档内容较少,对函数的用法介绍较少,EasyX图形库详细函数用法介绍文档和完整代码文件可以添加微信获取:A18792660219

    注:如果有特别需要,可以微信私我获取ppt、开发文档、用户手册、演示视频等配套资料。

    五、要点

    1、创建项目:新建-项目-空项目-右键“源文件”-添加-新建项-C++文件
    2、编码字符集:unicode字符集
    在这里插入图片描述
    3.将图片资源直接导入到所命名的文件夹中,注意不要将图片打包文件夹后再放入,要直接将图片导入对应文件夹。

    4.解决方案配置有两种选择:debug和release,程序编译后会生成对应的文件,如debug文件夹,将图片资源导入该文件夹就可以直接运行文件夹内的可执行文件,否则无法运行,release同理。

    5.信息存储用的C语言文件模块,相信可以解决大多数C语言初学者的难题。

    六、最后的话

    本文不谈高深的技术,只介绍了最基础的基于EasyX图形库的C语言图形化编程,比较简单适合初学者,但是学好了同样可以开发出非常棒的程序。当时刚接触C语言和图形界面时不知从何下手,后来发现EasyX这个简单好用的库,没有找到很多详细的文章和博客。自己看EaxyX帮助文档和一些源码学到了一些东西,最后写出了这个日程管理系统,于是决定将我学到的东西和写的程序分享给大家,没有多好,希望给大家一个参考,衷心的希望本文可以对大家有所帮助,欢迎大家留言呀。

    展开全文
  • 我也是C语言初学者,一初准备学C语言前感觉选好一个打码软件非常重要,于是上网搜了搜感觉visual studio2017/2015系列的界面非常好看而且功能也非常多,也就下载安装了visual studio 2015免费版用用,用了一段时间...

    我也是C语言初学者,一初准备学C语言前感觉选好一个打码软件非常重要,于是上网搜了搜感觉visual studio2017/2015系列的界面非常好看而且功能也非常多,也就下载安装了visual studio 2015免费版用用,用了一段时间感觉就是对于我们初学者来说这个软件并不是非常适合的,首先visual studio2015安装时间久,占用内存空间大,启动编译速度对于我们编译的一些小程序来说有些慢。而且界面跟很多C语言教科书,C语言教学视频上的界面不太一样,也就会使大学学习C语言的速度减慢。从这几方面来讲,我发现visual studio系列软件更加适合做一些大型工程类的项目,对于我们初学者来说功能有点多余,所以用了几周就准备换用其他打码编译器了。又一次百度发现

    Code::Blocks这个软件小巧便用就下载安装使用了,但是打完码发现在部分电脑上需要另外下载它的编译器,于是也放弃了这个软件。

    试了几款工具没找到一个比较适合我们初学者的,所以我又想起了教科书上使用的软件VC++6.0,但是据我所知的我们现在使用的win10操作系统等一些比较高级的操作系统上是无法正常运行VC++6.0,但我又在想既然选择了就再试试,于是我从网上下了一个适合win10使用的VC++6.0版,而且也不用额外装编译器什么的,非常方便,用了几次感觉还是蛮方便快捷的。VC++6.0主要特点:小巧快捷,与教科书上的教学演示图一致,与机房实验课也用这个软件,软件稳定性好,占内存也小。缺点:主要就是界面不是非常好看。

    说这么多主要就是想推荐各位初学者使用VC++6.0,因为个人认为这个软件真是适合我们这些C语言初学者的,既然我推荐各位使用这个软件了,那我就无私的给大家分享我的VC++6.0 win10稳定版吧!

    下载安装后,你想创建一个C语言程序应该怎么做呢?那让我一步步教你简单使用VC++6.0吧

    首先 点击文件 新建

    然后在工程中选择 Win32consoleapplication

    并给工程取个名 点击确定按钮

    3b3bf174925747749dc69c04a9eee487.jpg

    确定后会弹出选择框 选择 一个空工程并点击确定

    4e896d85d07d45a6b6603ce5d65f06ec.jpg再次点击确定

    861a160c1c304e16a0b3fee4f334a46e.jpg

    工程创建完成后 点击文件 新建

    2b8ab7efe1cb4dafa304b41309349926.jpg

    选择文件中的C++ Sourcefile并给文件取个名再点击确定(可选择创建文件的目录)

    69c854dbac274e549aa0c3924e727f94.jpg

    创建完成后你就可以开始你的打码之旅了,下面是我们最常见的代码Hello World,完成打码后点击编译,编译完成后点击 调试并运行,程序就能顺利运行哦

    f535b5d94ec7473da8d3f41a70eab5a6.jpg

    点击运行

    是不是感觉非常便利呢?希望能对编译器选择困难症或者准备初学C语言的朋友们有点帮助,如果满意记得点赞哦!!!

    展开全文
  • c语言初学者入门讲座

    2008-06-14 16:51:44
    c语言初学者学习的入门软件
  • 1.C语言编译器:这是手机上的一个C语言编程软件,可以直接在手机上编译运行baiC语言程序, 如果你在学习C/C++的过程中遇到了问题,可以来加入小编的企鹅圈问小编哦~小编很热情的(●’◡’●) 2.C++编译器:也即C4...


    手机软件

    1.C语言编译器:这是手机上的一个C语言编程软件,可以直接在手机上编译运行baiC语言程序,

    如果你在学习C/C++的过程中遇到了问题,可以来加入小编的企鹅圈问小编哦~小编很热情的(●’◡’●)

    2.C++编译器:也即C4droid,手机上的一个C/C++编程软件,基本功能和C语言编译器差不多,也可以直接编译运行C语言程序,

     

    电脑软件

    1.Dev-C++:这是Windows平台下一个免费、轻量级的C/C++集成开发环境,基本功能和早期的VC++6.0非常相似,自带有GCC、GDB等编译调试工具,因为没有任何自动补全、语法检查和提示的功能,所以对于初学者来说非常锻炼基本功,在许多学校中都作为教学软件使用:

     

    2.Code::Blocks:这也是一个轻量级的C/C++开发环境,免费、开源、跨平台,相比较Dev-C++比较单一的功能来说,支持自动补全、语法提示和语法检查,除此之外,还自带有许多现成的工程模板,可以快速开发GUI、Qt、OpenGL等应用,插件扩展也比较丰富,对于初学者来说,也是一个非常不错的选择

     

    3.Visual Studio:这应该是Windows平台下使用最多的C/C++开发环境了,专业重量级的,由微软自主设计研发,号称宇宙第一IDE,插件扩展众多,支持单元测试、代码重构等高级功能,开发调试效率都非常高,因此在大型项目开发中经常会用到这个软件,虽然对于初学者来说,早期不容易学习和掌握,但熟悉后,的确是一个编程开发利器

    Visual Studio经常被人诟病是“巨无霸”,安装体积太大,其实,如果只是用作开发C/C++的话,VS的安装体积并不大。如果不是很明确知道自己应该安装什么IDE,那么就安装VS吧。

    而现在微软于2019年4月2日发布的Visual Studio 2019,引入了实时共享的功能,同时微软优化了VS的Debug功能,使之变得更加高效便捷。

    4.Vim:这个是Linux环境下使用比较多的代码编辑器,严格意义上说不是一个C语言开发软件,但安装GCC、GDB等工具后,也是一个非常不错的C语言编程软件,插件扩展众多,占用内存少,轻便灵活:

     

     

    展开全文
  • C语言初学者入门讲座

    2010-05-13 16:40:22
    C语言是Combined Language(组合语言)的中英混合简称。是一种计算机程序设计语言。...因此,它的应用范围广泛,不仅仅是在软件开发上,而且各类科研都需要用到C语言,具体应用比如单片机以及嵌入式系统开发。
  • C语言初学者最常问的几个问题 隔行如隔山初学编程往往不知道从何入手非常迷茫以下几个问题是我经常被问到的总结出来分享给读者 1多久能学会编程 这是一个没有答案的问题每个人投入的时间学习效率和基础都不一样如果...
  • C语言初学者编程规范—命名规则

    千次阅读 2015-06-07 23:26:01
    原文地址:C语言初学者编程规范—命名规则 C是一门朴素的语言,你使用的命名也应该这样。与Modula-2和Pascal程序员不同,C程序员不使用诸如“ThisVariableIsATemporaryCounter”这样“聪明”的名字。C程序员...

    原文地址:C语言初学者编程规范—命名规则


    C是一门朴素的语言,你使用的命名也应该这样。与Modula-2和Pascal程序员不同,C程序员不使用诸如“ThisVariableIsATemporaryCounter”这样“聪明”的名字。C程序员应该叫它“tmp”,这写起来更简单,也不会更难懂。

    然而,当面对复杂情况时就有些棘手,给全局变量取一个描述性的名字是必要的。把一个全局函数叫做“foo”是一种目光短浅的行为。全局函数也一样,如果你有一个统计当前用户个数的函数,应当把它命名为“count_active_user()”或者简单点些的类似名称,不应该命名为“cntusr()”。
    1 三种流行的命名法则目前,业界共有四种命名法则:驼峰命名法、匈牙利命名法、帕斯卡命名法和下划线命名法,其中前三种是较为流行的命名法。

    (1)驼峰命令法。正如它的名称所表示的那样,是指混合使用大小写字母来构成变量和函数的名字。例如,下面是分别用骆驼式命名法和下划线法命名的同一个函数:
    printEmployeePaychecks();
    print_employee_paychecks();

    第一个函数名使用了驼峰命名法,函数名中的每一个逻辑断点都有一个大写字母来标记。第二个函数名使用了下划线法,函数名中的每一个逻辑断点都有一个下划线来标记。

    驼峰命名法近年来越来越流行了,在许多新的函数库和Microsoft Windows这样的环境中,它使用得当相多。另一方面,下划线法是C出现后开始流行起来的,在许多旧的程序和UNIX这样的环境中,它的使用非常普遍。

    (2)匈牙利命名法。广泛应用于象Microsoft Windows这样的环境中。Windows 编程中用到的变量(还包括宏)的命名规则为匈牙利命名法,这种命名技术是由一位能干的 Microsoft 程序员查尔斯-西蒙尼(Charles Simonyi) 提出的。

    匈牙利命名法通过在变量名前面加上相应的小写字母的符号标识作为前缀,标识出变量的作用域、类型等。这些符号可以多个同时使用,顺序是先m_(成员变量)、再指针、再简单数据类型、再其它。这样做的好处在于能增加程序的可读性,便于对程序的理解和维护。

    例如:m_lpszStr, 表示指向一个以0字符结尾的字符串的长指针成员变量。
    匈牙利命名法关键是:标识符的名字以一个或者多个小写字母开头作为前缀;前缀之后的是首字母大写的一个单词或多个单词组合,该单词要指明变量的用途。

    (3)帕斯卡(pascal)命名法。与驼峰命名法类似,二者的区别在于:驼峰命名法是首字母小写,而帕斯卡命名法是首字母大写,如:
    DisplayInfo();
    string UserName;
    二者都是采用了帕斯卡命名法。

    (4)三种命名规则的小结:MyData就是一个帕斯卡命名的示例;myData是一个驼峰命名法,它第一个单词的第一个字母小写,后面的单词首字母大写,看起来像一个骆驼;iMyData是一个匈牙利命名法,它的小写的i说明了它的型态,后面的和帕斯卡命名相同,指示了该变量的用途。
    2 命名的基本原则(1)标识符的命名要清晰、明了,有明确含义,同时使用完整的单词或大家基本可以理解的缩写,避免使人产生误解——尽量采用采用英文单词或全部中文全拼表示,若出现英文单词和中文混合定义时,使用连字符“_”将英文与中文割开。较短的单词可通过去掉“元音”形成缩写;较长的单词可取单词的头几个字母形成缩写;一些单词有大家公认的缩写。例如:temp->tmp、flag->标志寄存器、statistic->stat、increment->inc、message->msg等缩写能够被大家基本认可。

    (2)命名中若使用特殊约定或缩写,则要有注释说明。应该在源文件的开始之处,对文件中所使用的缩写或约定,特别是特殊的缩写,进行必要的注释说明。

    (3)自己特有的命名风格,要自始至终保持一致,不可来回变化。个人的命名风格,在符合所在项目组或产品组的命名规则的前提下,才可使用。(即命名规则中没有规定到的地方才可有个人命名风格)。

    (4)对于变量命名,禁止取单个字符(如i 、j 、k... ),建议除了要有具体含义外,还能表明其变量类型、数据类型等,但i 、j 、k 作局部循环变量是允许的。变量,尤其是局部变量,如果用单个字符表示,很容易敲错(如i写成j),而编译时又检查不出来,有可能为了这个小小的错误而花费大量的查错时间。

    (5)除非必要,不要用数字或较奇怪的字符来定义标识符。

    (6)命名规范必须与所使用的系统风格保持一致,并在同一项目中统一。

    (7)在同一软件产品内,应规划好接口部分标识符(变量、结构、函数及常量)的命名,防止编译、链接时产生冲突。对接口部分的标识符应该有更严格限制,防止冲突。如可规定接口部分的变量与常量之前加上“模块”标识等。

    (8)用正确的反义词组命名具有互斥意义的变量或相**作的函数等。
    下面是一些在软件中常用的反义词组。
    add / remove       begin / end        create / destroy
    insert / delete       first / last         g et / release
    increment / decrement                 put / get
    add / delete         lock / unlock      open / close
    min / max          old / new         start / stop
    next / previous      source / target     show / hide
    send / receive       source / destination
    cut / paste          up / down

    示例:
    int  min_sum;
    int  max_sum;
    int  add_user( BYTE *user_name );
    int  delete_user( BYTE *user_name );

    (9)除了编译开关/ 头文件等特殊应用,应避免使用_EXAMPLE_TEST_ 之类以下划线开始和结尾的定义。
    3 变量名的命名规则(1)变量的命名规则要求用“匈牙利法则”。
    即开头字母用变量的类型,其余部分用变量的英文意思、英文的缩写、中文全拼或中文全拼的缩写,要求单词的第一个字母应大写。
    即: 变量名=变量类型+变量的英文意思(或英文缩写、中文全拼、中文全拼缩写)
    对非通用的变量,在定义时加入注释说明,变量定义尽量可能放在函数的开始处。
    见下表:
    bool 用b开头 b标志寄存器
    int 用i开头 iCount
    short int 用n开头 nStepCount
    long int 用l开头 lSum
    char  用c开头 cCount
    unsigned char 用by开头
    float 用f开头 fAvg
    double 用d开头 dDeta
    unsigned int(WORD) 用w开头 wCount
    unsigned long int(DWORD) 用dw开头 dwBroad
    字符串 用s开头 sFileName
    用0结尾的字符串 用sz开头 szFileName

    (2)指针变量命名的基本原则为:
    对一重指针变量的基本原则为:“p”+变量类型前缀+命名,如一个float*型应该表示为pfStat。对二重指针变量的基本规则为:“pp”+变量类型前缀+命名。对三重指针变量的基本规则为:“ppp”+变量类型前缀+命名。

    (3)全局变量用g_开头,如一个全局的长型变量定义为g_lFailCount。即:变量名=g_+变量类型+变量的英文意思(或缩写)。此规则还可避免局部变量和全局变量同名而引起的问题。

    (4)静态变量用s_开头,如一个静态的指针变量定义为s_plPerv_Inst。即: 变量名=s_+变量类型+变量的英文意思(或缩写)

    (5)对枚举类型(enum)中的变量,要求用枚举变量或其缩写做前缀。并且要求用大写。如:
    enum cmEMDAYS
    {
    EMDAYS_MONDAY;
    EMDAYS_TUESDAY;
    ……
    };

    (6)对struct、union变量的命名要求定义的类型用大写。并要加上前缀,其内部变量的命名规则与变量命名规则一致。

    结构一般用S开头,如:
    struct ScmNPoint
    {
    int nX;//点的X位置
    int nY; //点的Y位置
    };

    联合体一般用U开头,如:
    union UcmLPoint
    {
    LONG lX;
    LONG lY;
    }

    (7)对常量(包括错误的编码)命名,要求常量名用大写,常量名用英文表达其意思。当需要由多个单词表示时,单词与单词之间必须采用连字符“_”连接。
    如:#define CM_FILE_NOT_FOUND CMMAKEHR(0X20B) 其中CM表示类别。

    (8)对const 的变量要求在变量的命名规则前加入c_。即:c_+变量命名规则;示例:const char* c_szFileName;
    4 函数的命名规范(1)函数的命名应该尽量用英文(或英文缩写、中文全拼、中文全拼缩写)表达出函数完成的功能——函数名应准确描述函数的功能。遵循动宾结构的命名法则,函数名中动词在前,并在命名前加入函数的前缀,函数名的长度不得少于8个字母。函数名首字大写,若包含有两个单词的每个单词首字母大写。如果是OOP 方法,可以只有动词(名词是对象本身)。示例:
    LONG GetDeviceCount(……);
    void print_record( unsigned int rec_ind ) ;
    int  input_record( void ) ;
    unsigned char get_current_color( void ) ;

    (2)避免使用无意义或含义不清的动词为函数命名。如使用process、handle等为函数命名,因为这些动词并没有说明要具体做什么。

    (3)必须使用函数原型声明。函数原型声明包括:引用外来函数及内部函数,外部引用必须在右侧注明函数来源: 模块名及文件名;内部函数,只要注释其定义文件名——和调用者在同一文件中(简单程序)时不需要注释。
    应确保每个函数声明中的参数的名称、类型和定义中的名称、类型一致。
    5 函数参数命名规范(1)参数名称的命名参照变量命名规范。
    (2)为了提高程序的运行效率,减少参数占用的堆栈,传递大结构的参数,一律采用指针或引用方式传递。
    (3)为了便于其他程序员识别某个指针参数是入口参数还是出口参数,同时便于编译器检查错误,应该在入口参数前加入const标志。
    如:……cmCopyString(const CHAR * c_szSource, CHAR * szDest)
    6 文件名(包括动态库、组件、控件、工程文件等)的命名规范文件名的命名要求表达出文件的内容,要求文件名的长度不得少于5个字母,严禁使用象file1,myfile之类的文件名。
    展开全文
  • C语言出学者使用的软件。1.了解TC环境的组成。  2.学习TC环境的使用方法。  3.了解C语言程序从编辑、编译、连接到运行并得到运行结果的过程。 
  • 前些天我写了一篇“Unix C语言值得注意的地方”一贴,回贴中谈到学习国外的开源软件中的高质量代码的问题,但是有朋友跟我说,在看代码的过程中感觉难度很大,想想也是如此,动辄十几万行的程序如果没有人指点的话是...
  • c语言初学者 环境搭建 linux mint ubuntu

    千次阅读 2016-12-22 16:44:37
    以前在windows下使用VC++写过C语言,最近重学C语言,公司的电脑装的Linux mint ubuntu,经过一番努力终于Hello World了 ,下面重0开始 1,安装编译器 linux 自带C语言的运行环境,可是没有编译器,在这里我们需要...
  • vs2017是一全宇宙最牛之一的IDE(个人觉得是全宇宙颜值最高hhh) 下面为一个小白给大家分享怎么用vs2017...这是软件的主界面,相当的美观了!! 3.创建c语言文档 在文件里头新建项目 选择Visual C++ 里的Windows桌...
  • 写给C语言初学者的话【转载】 写给C语言初学者的话 --www.chinaunix.net(ldap) 前些天我写了一篇“Unix C语言值得注意的地方”一贴,回贴中谈到学习国外的开源软件中的高质量代码的问题,但是有朋友跟我说,在看...
  • 笔者作为用C语言工作的一名程序员(实际上糊口的工作),经常会在各大交流社区看到一些有潜力的初学者遇到这样或者那样的问题。(很大一部分是由于教材选择不当导致的)所以笔者就来写一篇儿文章来解答这些疑难杂症。 ...
  • 初学者c语言编程软件 C is a programming language invented in the early 1970s by Dennis Ritchie as a language for writing operating systems. The purpose of C is to precisely define a series of ...
  • 写给C语言初学者的话

    2013-08-09 08:44:26
     前些天我写了一篇“Unix C语言值得注意的地方”一贴,回贴中谈到学习国外的开源软件中的高质量代码的问题,但是有朋友跟我说,在看代码的过程中感觉难度很大,想想也是如此,动辄十几万行的程序如果没有人指点的话...
  • 隔行如隔山,初学编程往往不知道从何入手,非常迷茫,以下几个问题是我经常被问到的,总结出来分享给读者。 1)多久能学会编程? 这是一个没有答案的问题。每个人投入的时间、学习效率和基础都不一样。如果你每天都...
  • 其实这十句话不仅仅是对C语言初学者,甚至于对于编程初学者都是这样,如果你说你没有注意这十个点的话,那么我敢说,你一定不能成为一名优秀的程序员!先别忙着反驳笔者,不信我们往下看看是那十句话: 一、一定要...
  • 写给C语言初学者的话 写给C语言初学者的话 --www.chinaunix.net(ldap) 前些天我写了一篇“Unix C语言值得注意的地方”一贴,回贴中谈到学习国外的开源软件中的高质量代码的问题,但是有朋友跟我说,在看代码的过程...
  • 初学C语言,选好一个适合初学者的c编译器对我们接下来的学习帮助是非常大的。 我作为一个初学C语言的小白,也用过几种编译器,这次给大家推荐的是Windows上非常好用的Dev_C++。 Dev_C++的安装&基本操作&...
  • 写给C语言初学者的话 前些天我写了一篇“Unix C语言值得注意的地方”一贴,回贴中谈到学习国外的开源软件中的高质量代码的问题,但是有朋友跟我说,在看代码的过程中感觉难度很大,想想也是如此,动辄十几万行的...
  • 应用的C语言开发软件 站的空间特别少 要求的配置非常低 是初学者理想的C语言应用软件,是你快速入门
  • 写给C语言初学者的话 --www.chinaunix.net(ldap) 前些天我写了一篇“Unix C语言值得注意的地方”一贴,回贴中谈到学习国外的开源软件中的高质量代码的问题,但是有朋友跟我说,在看代码的过程中感觉难度很大,想想也...
  • 一个老程序员写给C语言初学者的话

    千次阅读 2012-06-28 16:59:28
    前些天我写了一篇“Unix C语言值得注意的地方”一贴,回贴中谈到学习国外的开源软件中的高质量代码的问题,但是有朋友跟我说,在看代码的过程中感觉难度很大,想想也是如此,动辄十几万行的程序如果没有人指点的话是...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 26,228
精华内容 10,491
关键字:

c语言初学者软件

c语言 订阅