c 订阅
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。 [1] 展开全文
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。 [1]
信息
类    别
程序设计语言
影响语言
C++、C#、D、Java、JavaScript、ObjectPHP等
创始时间
1972年
主要编译器
Visual C++、Clang、GCC、Turbo C等
中文名
C语言
创始人
Dennis MacAlistair Ritchie
发    源
BCPL语言
外文名
C Programming Language
c语言简介
C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、仅产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。C语言描述问题比汇编语言迅速、工作量小、可读性好、易于调试、修改和移植,而代码质量与汇编语言相当。C语言一般只比汇编语言代码生成的目标程序效率低10%~20%。因此,C语言可以编写系统软件。 [2]  当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。 [3]  冯.诺依曼在1945年提出了现代计算机的若干思想,被后人称为冯.诺依曼思想,这是计算机发展史上的里程碑。自1945 年至今大多采用其结构,因此冯.诺依曼被称为计算机之父。他的体系结构计算机由运算器、控制器、存储器、输入设备、输出设备五大部件构成。 C语言拥有一套完整的理论体系经过了漫长的发展历史,在编程语言中具有举足轻重的地位。 [4] 
收起全文
精华内容
参与话题
问答
  • c语言入门自学 零基础学c语言教程

    万次阅读 多人点赞 2019-05-04 14:07:32
    考二级c的话c语言书籍的话推荐看谭浩强,但是你要用于工作上的话我推荐你看传智播客的C语言教程!精通C语言肯定得花上几个月时间。 很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言? 我是...

    C语言通过自学软件工程师要多久?
    许多同学问C语言怎么学?考二级c的话c语言书籍的话推荐看谭浩强,但是你要用于工作上的话我推荐你看传智播客的C语言教程!精通C语言肯定得花上几个月时间。
    很多人对学习C语言感到无从下手,经常问我同一个问题:究竟怎样学习C语言? 我是一个教师,已经开发了很多年的程序,和很多刚刚起步的人一样,学习的第一个计算机语言就是C语言。经过这些年的开发,我深深的体会到C语言对于一个程序设计人员多么的重要,如果不懂C语言,你想写底层程序这几乎听起来很可笑,不懂C语言,你想写出优秀高效的程序,这简直就是天方夜谭。

    C语言软件工程师都学什么?
    零基础学c语言教程内容:
    按照日期来看就行了,零基础班主要讲一些基础,适合入门学习。
    1.C语言概述,学习方法,开发环境搭建,HelloWorld案例分析,常量与变量;
    2.数据类型,数据类型转换,数据输入与输出;
    3.C语言运算符,C语言操作符;
    4.C语言表达式,表达式优先级;
    5.C语言流程控制,分支,顺序,循环逻辑控制;
    6.函数概述与引用,简单递归,简单嵌套,C语言调用函数示例;
    7.数组,二维数组,高维数组,详细案例;
    8.指针,指针与地址,指针与数组;
    9.指针与字符串,指针与函数,多重指针;
    10.结构体,共用体,枚举,typedef;
    11.宏定义,预编译,文件包含,条件编译;
    12.内存分析,作用域,生存期,可见域;
    13.C语言调试,排错,分析技巧;
    14.简单链表;
    15.综合复习型测试

    零基础学C语言教程百度盘下载地址
    http://www.xuexiluxian.net/cyuyan-rumen.html

    展开全文
  • C#完整实现消消乐

    千次阅读 多人点赞 2020-06-03 17:44:35
    C#课程设计作业,花了两天时间,其中抠图找图都花了大半天(后悔以前没去学PS,后悔莫及,所以最后做出来自己都看不下去的粗糙,不过只能这样了) 第一天上午:构思整个的大体框架,要实现的功能 ...

    C#课程设计作业,花了两天时间,其中抠图找图都花了大半天(后悔以前没去学PS,后悔莫及,所以最后做出来自己都看不下去的粗糙,不过只能这样了)
    第一天上午:构思整个的大体框架,要实现的功能
    第一天下午:找图,抠图,找资源,地图的绘制
    第二天上午:被搜索联通块以及方块的消除难住了,后面参考了一些才解决主要核心的,包括判断相邻,执行交换,消除,执行下落,利用了3个Timer组件
    第二天下午:技能体系,充值体系,修修改改,勉强做出来了

    (一)课程作业:C#消消乐完整实现
    利用 C#winform 实现了消消乐游戏的制作 开发环境 VS2015,SQL sever 2008,
    实现功能:
    1.登录,注册窗口
    2.主界面消消乐的实现
    3.技能体系:3个技能
    4.充值体系
    5.背包功能的实现
    6.闯关功能的实现
    (二)主要窗体
    1.登录,注册
    在这里插入图片描述
    在这里插入图片描述
    2.主界面
    在这里插入图片描述
    3.充值界面,教学界面
    在这里插入图片描述
    在这里插入图片描述
    (三)各窗体核心代码
    1.登录,注册

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Media;
    
    namespace KillGame
    {
        public partial class Login : Form
        {
            public Login()
            {
                InitializeComponent();
                
            }
    
            private void button1_Click(object sender, EventArgs e)//登录
            {
                if(checkBox1 .Checked ==true)
                {
                    if (textBox1.Text.Trim() == "123456" && textBox2.Text.Trim() == "123456")
                    {
                        string sname = "老师";
                        startProgress(progressBar1);
                        this.Hide();
                        Game game = new KillGame.Game(sname);
                        game.Show();
    
                    }
                    else
                    {
                        MessageBox.Show("登录失败,超级用户账号密码都是123456,再试试");
                    }
                }
                else
                {
                    string id = textBox1.Text.Trim().ToString();
                    string pwd = textBox2.Text.Trim().ToString();
                    if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "")
                    {
                        MessageBox.Show("请输入账号或密码!");
                        return;
                    }
                    SqlConnection conn = new SqlConnection(@"Data Source=(local);Initial Catalog=MBook;Persist Security Info=True;User ID=sa;Password='zdllxf211215'");
                    string strselect = "select Name from TUser where id='" + textBox1.Text.Trim().ToString() + "'and pwd='" + textBox2.Text.Trim().ToString() + "'";
                    SqlCommand cmd = new SqlCommand(strselect, conn);
                    conn.Open();
                    string name = cmd.ExecuteScalar().ToString();
                    if (name != null)
                    {
                        startProgress(progressBar1);
                        this.Hide();
                        Game game = new KillGame.Game(name);
                        game.Show();
    
                    }
                    else
                    {
                        MessageBox.Show("登录失败!");
                    }
                }
               
              
            }
    
            private void button2_Click(object sender, EventArgs e)//取消
            {
                this.Close();
            }
    
            private void button3_Click(object sender, EventArgs e)//注册
            {
                Logon logon = new Logon();
                logon.Show();
            }
            public void SetCursor(Bitmap cursor, Point hotPoint)//自定义光标
            {
                int hotX = hotPoint.X;
                int hotY = hotPoint.Y;
                Bitmap myNewCursor = new Bitmap(cursor.Width * 2 - hotX, cursor.Height * 2 - hotY);
                Graphics g = Graphics.FromImage(myNewCursor);
                g.Clear(Color.FromArgb(0, 0, 0, 0));
                g.DrawImage(cursor, cursor.Width - hotX, cursor.Height - hotY, cursor.Width,
                cursor.Height);
                this.Cursor = new Cursor(myNewCursor.GetHicon());
                g.Dispose();
                myNewCursor.Dispose();
            }
            private void startProgress(ProgressBar pBar1)
            {
                pBar1.Visible = true;// 显示进度条控件.
                pBar1.Minimum = 1;// 设置进度条最小值.
                pBar1.Maximum = 15;// 设置进度条最大值.
                pBar1.Value = 1;// 设置进度条初始值
                pBar1.Step = 1;// 设置每次增加的步长
                               //创建Graphics对象
                Graphics g = pBar1.CreateGraphics();
                for (int x = 1; x <= 15; x++)
                {
                    //执行PerformStep()函数
                    pBar1.PerformStep();
                    string str = Math.Round((100 * x / 15.0), 2).ToString("#0.00 ") + "%";
                    Font font = new Font("Times New Roman", (float)10, FontStyle.Regular);
                    PointF pt = new PointF(pBar1.Width / 2 - 17, pBar1.Height / 2 - 7);
                    g.DrawString(str, font, Brushes.Black , pt);
                    //每次循环让程序休眠300毫秒
                    System.Threading.Thread.Sleep(300);
                }
                pBar1.Visible = false;
                //MessageBox.Show("success!");
            }
    
            private void Login_Load(object sender, EventArgs e)//窗体加载
            {
    
                SoundPlayer bm = new SoundPlayer("Music\\bj.wav");//背景音乐
                bm.PlayLooping();
                Bitmap a = (Bitmap)Bitmap.FromFile("Image\\mouse.png");
                SetCursor(a, new Point(0, 0));
    
            }
        }
    }
    
    
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Data.SqlClient;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace KillGame
    {
        public partial class Logon : Form
        {
            public Logon()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)//注册
            {
                if (textBox1.Text.Trim() == "" || textBox2.Text.Trim() == "" || textBox3.Text.Trim() == "" || textBox4.Text.Trim()=="")
                {
                    MessageBox.Show("请输入完整信息!");
                    return;
                }
                if(textBox2 .Text .Trim ()==textBox3 .Text .Trim())
                {
                    SqlConnection conn = new SqlConnection(@"Data Source=(local);Initial Catalog=MBook;Persist Security Info=True;User ID=sa;Password='zdllxf211215'");
                    string strselect = "insert into TUser values('" + textBox1.Text.Trim() + "','" + textBox4.Text.Trim() + "','" + textBox2.Text.Trim() + "')";
                    SqlCommand cmd = new SqlCommand(strselect, conn);
                    conn.Open();
                    int a = cmd.ExecuteNonQuery();
                    if (a == 1)
                    {
                        MessageBox.Show("注册成功,快去征战吧,骚年!");
                    }
                    else
                    {
                        MessageBox.Show("注册失败!");
                    }
                }
                else
                {
                    MessageBox.Show("密码前后不一致,注册失败!");
                }
                
            }
            public void SetCursor(Bitmap cursor, Point hotPoint)//自定义光标
            {
                int hotX = hotPoint.X;
                int hotY = hotPoint.Y;
                Bitmap myNewCursor = new Bitmap(cursor.Width * 2 - hotX, cursor.Height * 2 - hotY);
                Graphics g = Graphics.FromImage(myNewCursor);
                g.Clear(Color.FromArgb(0, 0, 0, 0));
                g.DrawImage(cursor, cursor.Width - hotX, cursor.Height - hotY, cursor.Width,
                cursor.Height);
                this.Cursor = new Cursor(myNewCursor.GetHicon());
                g.Dispose();
                myNewCursor.Dispose();
            }
    
            private void button2_Click(object sender, EventArgs e)//取消
            {
                this.Close();
            }
    
            private void Logon_Load(object sender, EventArgs e)//加载
            {
                Bitmap a = (Bitmap)Bitmap.FromFile("Image\\mouse.png");
                SetCursor(a, new Point(0, 0));
            }
        }
    }
    
    

    2.主界面窗口

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Media;
    
    namespace KillGame
    {
        public partial class Game : Form
        {
            Star[,] getmap = new Star[15, 12];//地图信息
            Point topleft = new Point(60, 5);//坐标
            int gamestart = 0;//游戏开始
            int gamestop = 0;
            int ispic = 0;//记录是否选中方块
            int pickRow = 0;//记录选中的行
            int pickCol = 0;//记录选中的列
            int dropRow = 0;
            int dropCol = 0;
            int changeFlag = 0;//记录是否交换成功
            int size = 60;//方块的大小
            string news;//消息列表
            int height = 10;//地图大小
            int width = 10;
    
            int time = 60;//时间
            int money = 0;//金币
            int score = 0;//积分
            int gnum = 1;//关卡数
            int step = 60;
    
            int skill1num = 0;//技能1使用次数
            int skill2num = 0;//技能2使用次数
            int skill3num = 0;//技能3使用次数
    
            Star s1 = new Star(starcolor., 60, 0, new Point(0, 0));//用于临时交换的两个变量
            Star s2 = new Star(starcolor., 60, 0, new Point(0, 0));
            int x1 = 0;
            int x2 = 0;
            int y1 = 0;
            int y2 = 0;
    
            public Game()
            {
                InitializeComponent();
                SetStyle(ControlStyles.AllPaintingInWmPaint, true);
                SetStyle(ControlStyles.DoubleBuffer, true);
            }
            
            public Game (string name)//构造函数
            {
                InitializeComponent();
                Name = name;
            }
           
            public void SkillReload()//刷新技能
            {
    
            }
            public void GetMap()//随机生成地图
            {
                Random rnd = new Random(DateTime.Now.Second);
                for (int i=1;i<=height ;i++)
                    for(int j=1;j<=width ; j++)
                    {
                        getmap[i, j] = new KillGame.Star((starcolor)rnd.Next(1, 7), size, 0, new Point(topleft.X + (j - 1) * size, topleft.Y + (i - 1) * size));
                    }
            }
            public void ReGetMap(Graphics g)//绘制地图
            {
                for (int i = 1; i <= height ; i++)
                    for (int j = 1; j <= width ; j++)
                    {                    
                        getmap[i, j].Drawing(g);
                    }
    
            }
            public bool GetRowandClo(Point point,out int row,out int clo)//判断点击是否有效,并且输出点击的行列坐标
            {
                int srow = (point.Y - topleft.Y) / size + 1;
                int sclo = (point.X - topleft.X) / size + 1;
                if (srow <=10&&srow >=1&&sclo <=10&&sclo >= 1)
                {
                    row = srow;
                    clo = sclo;
                    return true;//点击有效,超出地图范围
                }
                else
                {
                    row = -1;
                    clo = -1;
                    return false;//点击无效,超出地图范围
                }
            }
            public void SwapStar(int x1,int y1,int x2,int y2)//交换星星,只是交换了两个星星的颜色
            {
                starcolor scolor = getmap[x1, y1].Color;
                getmap[x1, y1].Color = getmap[x2, y2].Color;
                getmap[x2, y2].Color = scolor;
            }
           
            public bool KillStar()
            {
    
                int a = 0;
                bool isclean = false;
                //初始化消除标记
                for (int i = 1; i <= height; i++)
                    for (int j = 1; j <= width; j++)
                    {
                        getmap[i, j].Killed  = 0;
                    }
    
                //遍历每个方格,每个都向右向下搜索
                for (int i = 1; i <= height; i++)
                    for (int j = 1; j <= width; j++)
                    {
                        if (getmap[i, j].Color != starcolor.)//如果有颜色则搜索
                        {
                            //纵向搜
                            int cnt = 1;//记录相连的同色方块个数   
                            int x = i + 1;
                            while (x <= height)
                            {
                                if (getmap[x, j].Color == getmap[i, j].Color)//如果颜色相同记录个数
                                { x++; cnt++; }
                                else break;
                            }
                            if (cnt >= 3)//如果大于等于3个,标记将消除
                            {
                                isclean = true;
                                for (int k = i; k < i + cnt; k++)
                                    getmap[k, j].Killed  = 1;
                                a += cnt;
                            }
                            //横向搜
                            cnt = 1;
                            int y = j + 1;
                            while (y <= width)
                            {
                                if (getmap[i, y].Color == getmap[i, j].Color)//如果颜色相同记录个数
                                { y++; cnt++; }
                                else break;
                            }
                            if (cnt >= 3)//如果大于等于3个,标记将消除
                            {
                                isclean = true;
                                for (int k = j; k < j + cnt; k++)
                                    getmap[i, k].Killed  = 1;
                                a  += cnt;
                            }
                        }
                    }
                //注意这里一定要先标记再同意消除,如果直接在上面消除,会导致十字不可消
                for (int i = 1; i <= height; i++)//将待消除的方块消除
                    for (int j = 1; j <= width; j++)
                    {
                        if (getmap[i, j].Killed  == 1)
                            getmap[i, j].Color = starcolor.;
                    }
                time += a  /= 3;//奖励时间
                time = Math.Min(time, 40);//时间不能超过最大的40
    
                score  += a  * 10;//奖励分数
                money += a ;//奖励金钱
    
                timelable .Text = time.ToString() + "s";//更新标签
                moneylable.Text = money.ToString();
               scorelable.Text = score .ToString();
               if(money >money )
                    Music("Music\\1.wav");
                if (score >=500+gnum * 250)//晋级成功
                {
                    timer1.Enabled = false;
                    time +=30;//奖励时间
                    time = Math.Min(time, 40);//时间不能超过最大的40
                    timelable.Text = time.ToString() + "s";//更新标签
                    money += gnum * 40;
                    moneylable.Text = money.ToString();//奖励金币
                    score = 0;//积分清零
                    scorelable.Text = score.ToString();
                    gnum++;
                    snumlable.Text = gnum.ToString();
                    textBox1.Text = "消息:恭喜您晋级成功," + Name + "阁下";
                    Music("Music\\12902.wav");
                    GetMap();
                    timer3.Enabled = true;
                    timer1.Enabled = true;
                    pictureBox4.Invalidate();
    
                    
    
                }
                return isclean;//返回是否可消
            }
            private void button4_Click(object sender, EventArgs e)//开始游戏
            {
                Bitmap a = (Bitmap)Bitmap.FromFile("Image\\mouse.png");
                SetCursor(a, new Point(0, 0));
                GetMap();
                gamestart = 1;
                gamestop = 0;
                time = 60;
                score = 0;
                money = 0;
                gnum = 1;
                snumlable.Text = gnum.ToString();
                namelable.Text = Name;
                textBox1.Text = "";
                textBox1.AppendText("消息:欢迎您来到KillGame!" + Name + "阁下!");
                pictureBox4.Invalidate();//重绘图片
                timer3.Enabled = true;
                timer1.Enabled = true;//开始计时
    
            }        
    
                    
    
    
            private void button1_Click(object sender, EventArgs e)//技能1购买
            {
    
                if (gamestart  == 1 &&gamestop  == 0)
                {
                    timer1.Enabled = false;
                    timelable.Text = "暂停";
                    if (MessageBox.Show("是否花费30金币购买火舞旋风?", "购买", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                    {
                        if (money >= 30)
                        {
                            money -= 30;
                            skill1num += 1;
                            s1lable.Text = skill1num.ToString();
                        }
                        else
                        {
                            MessageBox.Show("金币不足,骚年,开启钞能力吧!点击左下角充值系统,你值得拥有!", "购买失败", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                    moneylable .Text = money.ToString();
                    timer1.Enabled = true;
                }
            }
    
            private void button2_Click(object sender, EventArgs e)//技能2购买
            {
    
                if (gamestart == 1 && gamestop == 0)
                {
                    timer1.Enabled = false;
                    timelable.Text = "暂停";
                    if (MessageBox.Show("是否花费30金币购买万仞浮生?", "购买", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                    {
                        if (money >= 30)
                        {
                            money -= 30;
                            skill2num += 1;
                            s2lable.Text = skill2num.ToString();
                        }
                        else
                        {
                            MessageBox.Show("金币不足,骚年,开启钞能力吧!点击左下角充值系统,你值得拥有!", "购买失败", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                    moneylable.Text = money.ToString();
                    timer1.Enabled = true;
                }
            }
    
            private void button3_Click(object sender, EventArgs e)//技能3购买
            {
    
                if (gamestart == 1 && gamestop == 0)
                {
                    timer1.Enabled = false;
                    timelable.Text = "暂停";
                    if (MessageBox.Show("是否花费30金币购买时间掌控?", "购买", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
                    {
                        if (money >= 30)
                        {
                            money -= 30;
                            skill3num += 1;
                            s3lable.Text = skill3num.ToString();
                        }
                        else
                        {
                            MessageBox.Show("金币不足,骚年,开启钞能力吧!点击左下角充值系统,你值得拥有!", "购买失败", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        }
                    }
                    moneylable.Text = money.ToString();
                    timer1.Enabled = true;
                }
            }
    
            
            private void button5_Click(object sender, EventArgs e)//退出游戏
            {
                Application.Exit();
            }
    
            private void button6_Click(object sender, EventArgs e)//新手教学
            {
                About about = new About();
                about.Show();
            }
    
            private void pictureBox1_Click(object sender, EventArgs e)//技能1火舞旋风释放
            {
                if(gamestart ==1&&gamestop == 0)
                {
                    if(skill1num > 0)
                    {
                        skill1num--;
                        s1lable.Text = skill1num.ToString();
                        textBox1.Text = "消息:伟大的"+Name +"阁下,您使用了火舞旋风!";
                        Music("Music\\skill.wav");
                        Random myRand = new Random(DateTime.Now.Second);//随机选择一种颜色
                        int x = myRand.Next(1, 7);
    
                        for (int i = 1; i <= height; i++)//搜索所有方块,若是选择的颜色则消除
                            for (int j = 1; j <= width; j++)
                            {
                                if ((int)getmap[i, j].Color == x)
                                    getmap[i, j].Color = starcolor.;
                            }
                        timer3.Enabled = true;
                        pictureBox4.Invalidate();
                    }
                    else
                    {
                        timer1.Enabled = false;
                        timelable .Text = "暂停";
                        MessageBox.Show("骚年,你的魔法不足,不氪金怎么变强,试试你的钞能力吧", "使用失败", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        timer1.Enabled = true;
    
                    }
                }
            }
    
            private void pictureBox2_Click(object sender, EventArgs e)//技能2万仞浮生释放
            {
    
                if (gamestart == 1 && gamestop == 0)
                {
                    if (skill2num > 0)
                    {
                        timer1.Enabled = false;
                        skill2num--;
                        s2lable.Text = skill2num.ToString();
                        textBox1.Text = "消息:伟大的" + Name + "阁下,您使用了万物浮生!";
                        Music("Music\\skill.wav");
                        GetMap();  //重新刷新地图                                     
                        timer3.Enabled = true;
                        timer1.Enabled = true;
                        pictureBox4.Invalidate();
                    }
                    else
                    {
                        timer1.Enabled = false;
                        timelable.Text = "暂停";
                        MessageBox.Show("骚年,你的魔法不足,不氪金怎么变强,试试你的钞能力吧", "使用失败", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        timer1.Enabled = true;
    
                    }
                }
            }
    
            private void pictureBox3_Click(object sender, EventArgs e)//技能3时间掌控释放
            {
    
                if (gamestart == 1 && gamestop == 0)
                {
                    if (skill3num > 0)
                    {
                        skill3num--;
                        s3lable.Text = skill3num.ToString();
                        time += 10; //时间增加
                        timelable.Text = time.ToString() + "s"; //更新标签
                        textBox1.Text ="消息:伟大的" + Name + "阁下,您使用了时间掌控!";
                        Music("Music\\skill.wav");
                    }
                    else
                    {
                        timer1.Enabled = false;
                        timelable.Text = "暂停";
                        MessageBox.Show("骚年,你的魔法不足,不氪金怎么变强,试试你的钞能力吧", "使用失败", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        timer1.Enabled = true;
    
                    }
                }
            }
            private void Music(string path)
            {
                SoundPlayer player = new SoundPlayer();
                player.SoundLocation = path;
                player.Load();
                player.Play();
    
            }
    
            private void timer1_Tick(object sender, EventArgs e)//记录时间
            {
                if(time == 0)
                {
                    gamestart = 0;
                    timer1.Enabled = false;
                    MessageBox.Show("游戏结束!");
                }
                timelable.Text = time.ToString() + "s";
                time--;
    
            }
    
            private void pictureBox4_MouseDown(object sender, MouseEventArgs e)//鼠标点击
            {
                if (timer3.Enabled == false && gamestart == 1 && gamestop == 0)
                {
                    Music("Music\\click.wav");
                    if (ispic == 0)
                    {
                        int row, col;
                        bool value = GetRowandClo(new Point(e.X, e.Y), out row, out col);//第一次点击,得到点击位置的行列
                        if (value == true)
                        {
                            if (getmap[row, col].Color != starcolor.)
                            {
                                pickRow = row;
                                pickCol = col;
                                ispic = 1;
                                getmap[pickRow, pickCol].Selected();
    
                                //Music("Music\\12596.wav");
    
                            }
    
    
                        }
                    }
                    else
                    {
    
                        int row, col;
                        bool value = GetRowandClo(new Point(e.X, e.Y), out row, out col);//第二次点击,得到点击位置的行列
                        if (value == true)
                        {
                            if (getmap[row, col].Color != starcolor.)
                            {
                                if (row == pickRow && Math.Abs(col - pickCol) == 1 || col == pickCol && Math.Abs(row - pickRow) == 1)//判断是否相邻
                                {
                                    dropCol = col;
                                    dropRow = row;
                                    getmap[pickRow, pickCol].Select = 0;
                                    s1 = new Star(getmap[pickRow, pickCol].Color, getmap[pickRow, pickCol].Size, getmap[pickRow, pickCol].Select, getmap[pickRow, pickCol].Top);
                                    s2 = new Star(getmap[dropRow, dropCol].Color, getmap[dropRow, dropCol].Size, getmap[dropRow, dropCol].Select, getmap[dropRow, dropCol].Top);
                                    getmap[pickRow, pickCol].Color = starcolor.;
                                    getmap[dropRow, dropCol].Color = starcolor.;
                                    pictureBox4.Invalidate();
                                    x1 = s1.Top.X;
                                    y1 = s1.Top.Y;
                                    x2 = s2.Top.X;
                                    y2 = s2.Top.Y;
                                    changeFlag = 0;
                                    timer1.Enabled = false;
                                    timer2.Enabled = true;//执行交换
    
    
                                }
                                else//重新标记
                                {
                                    getmap[pickRow, pickCol].Select = 0;
                                    pickRow = row;
                                    pickCol = col;
                                    getmap[pickRow, pickCol].Selected();
                                    ispic = 1;
                                }
                            }
    
                        }
    
                    }
    
                }
                pictureBox4.Invalidate();
            }
            private void timer2_Tick(object sender, EventArgs e)//交换
            {
                pictureBox4.Invalidate();
                int tax = 0;
                if (x1 == x2)
                {
                    if(y1<y2)
                    {
                        s1.Top = new Point(s1.Top.X, s1.Top.Y + step);
                        s2.Top = new Point(s2.Top.X, s2.Top.Y - step);
                        if (s1.Top.Y >= y2)
                            tax = 1;
                        
                    }
                    else
                    {
                        s1.Top = new Point(s1.Top.X, s1.Top.Y - step);
                        s2.Top = new Point(s2.Top.X, s2.Top.Y + step);
                        if (s1.Top.Y <= y2)
                            tax = 1;
                    }
                }
                else if (y1 == y2)
                {
                    if(x1<x2)
                    {
                        s1.Top = new Point(s1.Top.X + step, s1.Top.Y);
                        s2.Top = new Point(s2.Top.X - step, s2.Top.Y);
                        if (s1.Top.X >= x2)
                            tax = 1;
                       
    
                    }
                    else
                    {
                        s1.Top = new Point(s1.Top.X - step, s1.Top.Y);
                        s2.Top = new Point(s2.Top.X + step, s2.Top.Y);
                        if (s1.Top.X <= x2)
                            tax = 1;
                    }
                }
                if(tax == 1)
                {
                    timer2.Enabled = false;//
                    timer1.Enabled = true;//计时器继续工作
                    getmap[pickRow, pickCol].Color = s2.Color;
                    getmap[dropRow, dropCol].Color = s1.Color;//交换颜色
                    pictureBox4.Invalidate();
                   if(changeFlag == 0)
                    {
                        if (!KillStar())//判断是否可以消除
                        {
                            //继续交换回来
                            s1 = new Star(getmap[pickRow, pickCol].Color, getmap[pickRow, pickCol].Size, getmap[pickRow, pickCol].Select, getmap[pickRow, pickCol].Top);
                            s2 = new Star(getmap[dropRow, dropCol].Color, getmap[dropRow, dropCol].Size, getmap[dropRow, dropCol].Select, getmap[dropRow, dropCol].Top);
                            getmap[pickRow, pickCol].Color = starcolor.;
                            getmap[dropRow, dropCol].Color = starcolor.;
                            pictureBox4.Invalidate();
                            timer1.Enabled = false;
                            timer2.Enabled = true;//重新交换
                            getmap[pickRow, pickCol].Select = 0;
                            ispic = 0;
                            changeFlag = 1;//这次是交换成功了
    
                        }
                        else
                        {
                            timer3.Enabled = true;//执行下落
                            pickRow = 0;
                            pickCol = 1;
                            ispic = 0;
                        }
                    }
                }
    
            }
    
            private void timer3_Tick(object sender, EventArgs e)//下落
            {
                for (int j=1; j<=width;j++)
                {
                    for (int i = height; i >= 2; i--)
                    {
                        if (getmap[i, j].Color == starcolor.)
                        {
                            for (int c = i; c >= 2; c--)
                                SwapStar(c, j, c - 1, j);
                            break;
                        }
                    }
                }
                Random myRand = new Random();
                for (int j = 1; j <= width; j++)
                {
                    if (getmap[1, j].Color == starcolor.)
                        getmap[1, j].Color = (starcolor)myRand.Next(1, 7);
                }
                pictureBox4.Invalidate();
                int tax = 0;
                for (int i = 1; i <= height; i++)
                {
                    for (int j = 1; j <= width; j++)
                    {
                        if(getmap [i,j].Color ==starcolor.)
                        {
                            tax = 1;
                            break;
                        }
                    }
                    if (tax == 1)
                        break;
                }
                if(tax == 0)
                {
                    if(!KillStar ())
                    {
                        timer3.Enabled = false;
                    }
                }
    
    
    
            }
    
            private void s3lable_Click(object sender, EventArgs e)
            {
    
            }
            public void SetCursor(Bitmap cursor, Point hotPoint)//自定义光标
            {
                int hotX = hotPoint.X;
                int hotY = hotPoint.Y;
                Bitmap myNewCursor = new Bitmap(cursor.Width * 2 - hotX, cursor.Height * 2 - hotY);
                Graphics g = Graphics.FromImage(myNewCursor);
                g.Clear(Color.FromArgb(0, 0, 0, 0));
                g.DrawImage(cursor, cursor.Width - hotX, cursor.Height - hotY, cursor.Width,
                cursor.Height);
                this.Cursor = new Cursor(myNewCursor.GetHicon());
                g.Dispose();
                myNewCursor.Dispose();
            }
    
            private void pictureBox4_Paint(object sender, PaintEventArgs e)//绘制地图函数
            {
                if(gamestart == 1)
                {
                    ReGetMap(e.Graphics);
                    if(timer2 .Enabled ==true)
                    {
                        s1.Drawing(e.Graphics);
                        s2.Drawing(e.Graphics);
                    }
                }
            }
    
            private void Game_Load(object sender, EventArgs e)
            {
                Music("Music\\bj.wav");
                time = 0;
                score = 0;
                money = 0;
                gnum = 0;
                moneylable.Text = money.ToString();
                scorelable.Text = score.ToString();
                timelable.Text = time.ToString();
                snumlable.Text = gnum.ToString();
            }
    
            private void pictureBox5_Click(object sender, EventArgs e)//背包
            {
    
            }
    
            private void pictureBox6_Click(object sender, EventArgs e)//商城
            {
                Money m = new Money();
                //m.Show();
                if(m.ShowDialog()==DialogResult.OK)
                {
                    this.money += m.Num;
                    
                    moneylable.Text = money.ToString();
    
                }
               
            }
        }
    }
    
    

    3.充值,背包,教学界面

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    
    namespace KillGame
    {
        public partial class Money : Form
        {
            public Money()
            {
                InitializeComponent();
            }
            private int num;
            public int Num
            {
                get { return num; }
                set { num = value; }
            }
    
    
            //private void label1_Click(object sender, EventArgs e)
            //{
            //    DialogResult reult=MessageBox.Show("是否要花费20元购买200枚金币?", "充值提醒", MessageBoxButtons.OKCancel);
            //    if(reult ==DialogResult.OK)
            //    {
            //        num = 200;
            //        MessageBox.Show("充值成功!");
            //    }
            //    else
            //    {
            //        this.Close();
            //    }
            //}
    
            private void button1_Click(object sender, EventArgs e)
            {
                this.Close();
            }
    
            private void button2_Click(object sender, EventArgs e)
            {
                DialogResult reult = MessageBox.Show("是否要花费20元购买200枚金币?", "充值提醒", MessageBoxButtons.OKCancel);
                if (reult == DialogResult.OK)
                {
                    num = 200;
                    MessageBox.Show("充值成功!");
                }
                else
                {
                    this.Close();
                }
            }
        }
    }
    
    

    时间紧凑,略显粗糙,欢迎指出错误!

    展开全文
  • 一门初级、从入门到精通的C语言C++语法教程,由毕业于清华大学的业内人士执课。从简单的HelloWorld入门程序,到深入的C语言C++核心概念,均为您娓娓道来,言之必详、听之必懂。让C语言C++编程变得简单,让C语言C++...
  • C语言基础

    千人学习 2020-01-08 14:13:00
    一、C语言自我YY 1)、C语言是许多高级计算机语言的基础,学好C语言能更好的学习其他高级语言,为以后的学习打基础;往深学C语言的话那就是学到C在Linux里的应用,Linux十分强大。 2)、C语言是一种计算机程序设计语言...
  • C语言程序设计(全程实践)

    万人学习 2019-07-09 06:31:20
    C语言是非常流行的高级编程语言之一,是很多同学的入门编程语言,是建立编程思想的基础课程。 本视频课程是配合学生在学习了基本的理论课程的同时,进行编程实践,帮助初学者有效的进行上机实践,视频主要通过...
  • 从小白入门C语言

    千人学习 2017-09-06 19:13:46
    这是一门通俗易懂的C语言视频教程!  C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序员中备受青睐,成为近25年使用为广泛的编程语言。目前市面上的C视频教程很多,但是千篇一律,枯燥...
  • C#输出Word文档

    千次阅读 2014-12-14 20:22:52
    总结C#对Word文档的常用操作:按模板创建和动态创建,动态生成表格和目录等

     前一段时间在搞.net的一个项目,其中要求输出word和Excel,在网上找了找,常用的一些操作都有,不过我们用到了一些不常用的,这里一起总结总结。这里有两个自己认为比较好的小方法:1.这里如果项目中的输出的文档的形式是相对固定的,用模板文件去创建要输出的文档是个好的选择,这样输出的格式和速度都好于用程序动态输出。2.如果有些输出要求找不到可利用的有效代码,不防在office中录制个宏,参照VB的代码去写。

    C# 进行Word的操作

    C# 操作Word时需要添加的引用

    using Microsoft.Office.Interop.Word;

     

    Microsoft.Office.Interop.Word.Application wordApp = null;

    Microsoft.Office.Interop.Word.Document wordDoc = null;

     

    打开Word文档

    public static bool CreateWordDoc(stringfileName)

            {

                filePath = fileName;

                if(wordApp == null)

                {

                    wordApp = new Microsoft.Office.Interop.Word.Application();

                }

                objectpath = templateFileName;

                objectmissing = System.Reflection.Missing.Value;

                objectreadOnly = false;

                try

                {

                    wordApp.DisplayAlerts = WdAlertLevel.wdAlertsNone;

                    wordDoc =wordApp.Documents.Open(ref path, ref missing, refreadOnly, ref missing, refmissing, ref missing, refmissing, ref missing, refmissing, ref missing, refmissing, ref missing, refmissing, ref missing, refmissing, ref missing);

                   // wordDoc =wordApp.Documents.Add(Type.Missing, Type.Missing, Type.Missing,Type.Missing);//根据模板创建Word文档

                    returntrue;

                }

                catch(Exception e)

                {

                    Console.WriteLine(e.Message);

                    wordApp = null;

                    wordDoc = null;

                    returnfalse;

                }

            }       

    书签快速定位

    若是按照模板文件去创建输出的Word文档,其中可以很快的进行word文档的输出,对于定位叫困难的可以使用书签快速找到要插入或者替换的位置。

    Bookmarks bks = wordDoc.Bookmarks;

    bks[2].Range.Text = “This is the second Bookmark”; 

    动态创建表格

    有时候要生成的Word文档格式相不固定,需要根据实际情况去动态输出,动态输出的过程可以和我们手工编辑Word文档一样,有一定的顺序,最合乎我们思维的就是从头至尾的去用程序向Word文档中写数据。

    Word中动态创建表格,如果连续创建表格可能会产生表格嵌套的问题,这个问题的产生主要是因为插入表格的位置没有准确的定位造成的。因此在需要连续插入多个表格的时候,在插入时要保证光标的位置是我们所期望的,API中有光标定位的方法。   

    wordApp.Selection.EndKey(WdUnits.wdStory,);EndKey()方法有可以接受两个可选参数,第一个参数是光标移动至末尾的单元,类型为:Microsoft.Office.Interop.Word.WdUnits

    第二个参数指定是否为扩展,是的话光标移动过程中的内容被选中。

    因此为了避免产生表格嵌套的问题,在按顺序生成是,先将光标移动至文档的末尾,然后在另起一行进行表格的插入就不会产生问题了。如下面的方法中插入指定行数和列数的一个表格,同时对表格的样式进行设置。这样就可以创建形模板表格。

    public static Table CreatTable(introws, int columns)

            {

                if(wordDoc != null)

                {

                    wordApp.Selection.EndKey(WdUnits.wdStory);// 光标移动至文档的末尾

                   wordApp.Selection.TypeParagraph();//另起一段

    Table t = wordDoc.Tables.Add(wordApp.Selection.Range,rows, columns, Type.Missing, Type.Missing);

      t.AllowAutoFit = true;//允许自适应大小               

      t.Range.Cells.VerticalAlignment = WdCellVerticalAlignment.wdCellAlignVerticalCenter;//设置单元格竖直方向居中

      t.Borders.OutsideLineStyle = WdLineStyle.wdLineStyleSingle;//设置表格外边框样式

      t.Borders.InsideLineStyle = WdLineStyle.wdLineStyleSingle;//设置表格内边框样式

      t.Range.Font.Size=11;//设置单元格字体大小为默认大小 11

      t.Range.Font.Bold = 0;//设置单元格字体加粗样式为:无,即不加粗

      t.Rows[1].HeadingFormat = -1;//设置换页表头重复

      t.Rows[1].Range.Bold = 2;//设置表头行字体加粗               

      return t;

                }

                else

                {

                    returnnull;

                }

            }

    复制单元格

    复制一个单元格到另一个单元格中,下面的代码实现了将第四行第一列的内容复制都第四行第二列中去

    先复制要复制的的单元格:Table.Cell(4,1).Range.Copy(Type.Missing);

    然后将光标移动至要粘贴的单元格:Table.Cell(4,2).Select();

    粘贴wordApp.Selection.Paste();

    单元格写入内容

    table.Cell(1, 1).Range.Text= "第一行第一列";//向表格第一行第一列中写入内容

    合并单元格

    table.Cell(2, 1).Merge(table.Cell(2,2))//将表格中的第二行的前两个单元格合并 

    向文档中插入图片

    Word中的表格,单元格,段落,行等都实现了Range接口,Range接口中的AddPicture()方法可以插入图片,如在表格中的第三行第一列的单元格中插入一张图片

    Table.Cell(3,1).Range.InlineShapes.AddPicture("C:\\Users\\Green\\Desktop\\ cat.png");

    生成目录

    有时候需要根据生成的内容动态的生成目录,生成目录的过程和我们手动生成目录的过程很相似,设置好不同得标题后,将光标移动至要插入目录的地方,选择目录。

    那么用程序如何生成目录呢?大致可以分为两步:

    第一步:设置标题的级别和样式

    下面的方法可以在写Word文档时,指定目录中各级标题的样式,方法中只简单的加了两级标题,按顺序输出时,在需要设置标题的地方调用此方法,指定要输出的标题的内容和标题的级别即可。

    public static void WriteHeadLine(stringtext, WdOutlineLevel level)

            {

               float fontSize = level.Equals(WdOutlineLevel.wdOutlineLevel1) ? 15f : 12f;

               int fontBold = level.Equals(WdOutlineLevel.wdOutlineLevel1) ? 3 : 2;

               wordApp.Selection.EndKey(WdUnits.wdStory);

               wordApp.Selection.TypeParagraph();

               wordApp.Selection.Paragraphs.OutlineLevel = level;

               wordApp.Selection.Font.Size = fontSize;

               wordApp.Selection.Font.Bold = fontBold;

               wordApp.Selection.TypeText(text);

            }

    第二步:在正文部分输出完成后,将光标定位至要生成目录的页的指定位置(即目录生成的起始位置),生成目录即可。

    //下面的代码将光标移动至文档的第二页,具体在什么地方输出目录,就将光标移动至什么地方

    wordApp.Selection.GoTo(WdGoToItem.wdGoToPage,Type.Missing,2, Type.Missing);

    生成目录

    wordApp.ActiveDocument.TablesOfContents.Add(wordApp.Selection.Range,true, "1","3", Type.Missing,"", true,true, Type.Missing,true, true, true);

               wordApp.Selection.InsertBreak(WdBreakType.wdLineBreak);

    此方法的具体参数可以参考API中方法的参数说明,也可以录制宏手动生成目录,并设置目录的格式,然后参照VB代码进行调整。

    文件保存操作

    可以使用wordDoc.SaveAs()方法执行另存为操作,或者wordDoc.Save()方法进行保存,具体SavaAs()方法的参数可以参看API中方法的参数描述 

    关闭Word应用程序和打开的Word文档

    public static void Close()

            {

                objectmissing = System.Reflection.Missing.Value;

                try

                {

                    wordApp.DisplayAlerts = WdAlertLevel.wdAlertsNone;//设置不弹出提示消息

                    if(wordDoc != null)

                    {

                        wordDoc.Close(ref missing, refmissing, ref missing);

                        //wordDoc.Close(refmissing, ref missing, ref missing);

                        wordDoc = null;

                    }

                    if(wordApp != null)

                    {                  

                        wordApp.Quit(ref missing, refmissing, ref missing);                   

                    }

     //wordApp.Quit()不能真正退出打开的应用时(没有仔细研究为啥不能退出),使用下面的方法,可以完全退出应用程序 这是在网上看到一个方法,确实有效        

     System.Runtime.InteropServices.Marshal.ReleaseComObject(wordApp);

                   wordApp = null;

                }

                catch(Exception e)

                {

                    Console.WriteLine(e.Message);

                } 

            }

    工作过程中在CSDN和博客园中看过不少前辈的帖子,很有启发。这里旨在总结自己的工作,有错误的地方还望各位大侠指出,讨论共同进步。

    展开全文
  • C++ Primer Plus 第六版 所有章节课后编程练习答案

    万次阅读 多人点赞 2017-11-01 20:32:16
    C++ Primer Plus 第六版 所有章节课后编程练习答案

    我的独立博客地址:www.blog4jimmy.com,欢迎大家关注

    下面的是C++ Primer Plus 第六版所有章节的课后编程练习的答案,都是博主自己写的,有不对的地方请大家留言指出讨论讨论

    C++ Primer Plus 第六版 第二章课后编程练习答案: http://blog4jimmy.com/2017/10/67.html

    C++ Primer Plus 第六版 第三章课后编程练习答案: http://blog4jimmy.com/2017/10/71.html

    C++ Primer Plus 第六版 第四章课后编程练习答案: http://blog4jimmy.com/2017/10/74.html

    C++ Primer Plus 第六版 第五章课后编程练习答案: http://blog4jimmy.com/2017/10/80.html

    C++ Primer Plus 第六版 第六章课后编程练习答案: http://blog4jimmy.com/2017/10/83.html

    C++ Primer Plus 第六版 第七章课后编程练习答案: http://blog4jimmy.com/2017/10/147.html

    C++ Primer Plus 第六版 第八章课后编程练习答案: http://blog4jimmy.com/2017/10/149.html

    C++ Primer Plus 第六版 第九章课后编程练习答案: http://blog4jimmy.com/2017/10/151.html

    C++ Primer Plus 第六版 第十章课后编程练习答案: http://blog4jimmy.com/2017/10/153.html

    C++ Primer Plus 第六版 第十一章课后编程练习答案: http://blog4jimmy.com/2017/10/155.html

    C++ Primer Plus 第六版 第十二章课后编程练习答案: http://blog4jimmy.com/2017/10/157.html

    C++ Primer Plus 第六版 第十三章课后编程练习答案: http://blog4jimmy.com/2017/10/159.html

    C++ Primer Plus 第六版 第十四章课后编程练习答案: http://blog4jimmy.com/2017/10/161.html

    C++ Primer Plus 第六版 第十六章课后编程练习答案: http://blog4jimmy.com/2017/10/163.html

    展开全文
  • 目录 一.变量的内存实质到 1.1变量的实质 1.2 赋值给变量 1.3变量在哪里? 二. 指针是个什么东西? 三. 二级指针(指针的指针) 3.1 定义与初始化 3.2间接数据访问 3.2.1.改变一级指针指向 ...四....4....
  • 用到的开发软件是VS2008 和SQL server 2008 首先就这么一个简单的窗口,以下是窗体的一些简单的代码。   using System; using System.Collections.Generic; using System.ComponentModel;...using System.Li...
  • C++复习大全(各种知识点)

    万次阅读 多人点赞 2018-05-28 20:42:29
    前言 这篇博客是我之前的一个礼拜复习总结的各种知识点,可能有些多,其中的一些观点是来自于《Effective C++》和《C++编程思想》,这两本书中的知识给了我很多启发,也让我懂得了许多不一样的知识点,我连带我的...
  • C语言深度解剖.pdf

    千次下载 热门讨论 2013-05-02 22:59:48
    一本相当不错的C程序员面试宝典 详细的介绍了面试的各个难点 免积分共享
  • 内含:C参考手册.chm(最全的一个) 、C函数查询.chm 、C语言库函数速查手册.chm 、C语言100例.chm、C语言标准库函数大全.chm、C语言库函数使用大全CHM版.chm、 这6个是我找了好久才找到的,各有各的好处,3个互补十分...
  • c语言实现的一个多任务小程序,标准C语言编写,模拟多任务运行的状态,可以移植到任意平台,代码写的很简单,适合C初学者,只是抛砖,作为启发只用,高端C开发人员可以忽略,不喜勿喷
  • 172集通俗易懂的C语言从入门到项目实战教程 张长志技术全才、擅长领域:区块...
  • C语言规则检查工具C Checker

    热门讨论 2010-06-09 16:50:50
    C语言规则检查工具C Checker C语言规则检查工具C Checker C语言规则检查工具C Checker
  • C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔C语言图案金字塔
  • c语言实现aes ecb模式加密,可以和java,c#,obj-c互相 加,解密。包含base64编码,urlEncode编码 注意,该算法里面的密文是转换成16进制的字串,如果不要16进制,可自行转换,内的函数。 vc6,vs2008,可编译。
  • C语言圣经三部曲之一,希望大家喜欢,据说写得很深,不是初学者能看懂的啊~~
  • 蓝牙c语言代码蓝牙c语言代码蓝牙c语言代码蓝牙c语言代码蓝牙c语言代码蓝牙c语言代码蓝牙c语言代码蓝牙c语言代码
  • C高级编程 基于模块化设计思想的C语言开发 高清 带书签
  • GoogleC++编程规范(中文版)汽车业C语言编程规范(中文版)
  • 文件名通配符,比如:*.txt,?.txt。一个通配符匹配算法,一个ANSI C函数就OK了
  • C语言学习书籍

    千次阅读 2006-08-14 10:16:00
    C语言学习书籍 引言 自从Dennis M.Ritchie于1973年设计并实现C语言以来,计算机程序设计领域已经发生了巨大的变化。以C语言为根基的C++、Java和C#等面向对象语言相继诞生,并在各自领域大获成功。今天,C及其后裔...
  • 请你编写一个函数,将C语言源程序中的注释全部删去。 函数原型 // 删除注释 void Pack(FILE *src, FILE *dst); 说明:参数 src 和 dst 均为文件指针,其中:src 指示原始程序文件,dst 指示整理后得到的文件。...
  • C++ 读作“C加加”,是“C Plus Plus”的简称。顾名思义,C++是在C语言的基础上增加新特性,玩出了新花样,所以叫“C Plus Plus”,就像手机 iPhone 7S 和 iPhone 7、Win10 和 Win7 的关系。 从语法上看,C语言是...
  • C语言实验——合法的C标识符

    千次阅读 2018-05-15 20:01:22
    C语言实验——合法的C标识符Time Limit: 1000 ms Memory Limit: 65536 KiB Submit Statistic Discuss Problem Description 给出一个标识符,请你判断它是否是C语言合法的标识符。...
  • 今天水一波,记录一些概念性的知识,嘿嘿嘿C语言的起源CPL语言(Combined Programming Language) 1963年英国的剑桥大学推出了CPL语言,较接近硬件,难懂,实现难。BCPL语言(Basic CPL) 1967年英国剑桥大学的Matin ...
  • c语言中a=b=c是先将c的值赋予b,再把b的值赋予a还是先将b的值赋予a,再把c的值赋予b?
  • C语言的实现经过(C代码到CPU执行)

    千次阅读 2018-01-05 06:40:48
    2018-01-05 创建人:Ruo_Xiao 2018-01-06 修改人:Ruo_Xiao 1、添加编辑器之后,预处理之前的编译器的操作。 2、添加对优化器的简单的说明。 2018-01-12 修改人:Ruo_Xiao ...C源代码 -> C编辑器 -

空空如也

1 2 3 4 5 ... 20
收藏数 10,376,794
精华内容 4,150,717
关键字:

c