zoukankan      html  css  js  c++  java
  • AaronYang风格 C语言挑讲[一][基本入门]

     

    我没有上过大学,所以不会C,掌握了C#,决定看算法导论,于是要学C

    我是学C#的,所以学的时候会联想C#的,然后做个比较,我学过JAVA,所以也会联想JAVA做个比较

     

    基本概念

    1. 程序:用某种计算机能理解并执行的计算机语言描述解决问题的方法步骤

    2.程序设计:分析解决问题的方法步骤,并将其记录下来的过程

    3.二进制语言→汇编语言(符号代替二进制代码,所以称符号语言,面向机器的语言)

    4.高级语言:C(面向过程的语言)等,将二进制语言和汇编语言统称为“低级语言”

    5.高级语言编写的程序称为“源程序”,源程序不能直接在计算机上运行,先翻译成二进制语言然后执行。方式:①翻译一句执行一句-解释执行,完成翻译工作的程序叫”解释程序”。②一次性翻译完再执行,完成翻译工作的程序叫”编译程序”,编译后的二进制程序称为”目标程序“

    6.C语言前身-ALGOL语言(世界上第一个高级语言,第二个是 FORTRAN语言),以后还有BASIC,COBOL,PASCAL等

    7.相比C#特点:更接近硬件,比低级语言更容易描述算法,性能更好

     

     

    基础知识

    1.字符集和C#一样.转义用\

    2.保留字(关键字),例如if,int,float,typedef,C#会了,这很容易掌握

    3.标识符:取名字的规范和C#一样,方法名,函数名等

    4.词汇分类:常量,变量,运算符,函数调用,表达式,保留字,跟C#一样

    5.语句分类:数据定义语句,赋值语句,函数调用月,表达式语句,流程控制语句,符合语句,空语句,其他语句。跟C#基本一样

    6.C程序是C语句组成的语句序列,通常一个C程序包括一个或多个函数,其中有且仅有一个成为主函数,其函数名规定为 main

    7.注释:/*   */

    8.C程序,总是从主函数开始,主函数结束。基本和C#中控制台程序一样

     

     

    C程序的开发环境

    (一)WIN-TC(书中使用Turbo C,我电脑时Win7 64位,运行不了,了解一下就可以了)

    1.下载 :  下载

    2.安装:一直下一步就行了,很简单。

    3.界面

    image

    4. 本来Turbo C的调试C程序的主要操作步骤分为:

    • 输入新程序或调用已有的程序
    • 编辑修改源程序
    • 源程序清单存盘
    • 编译连接生成目标程序
    • 执行目标程序
    • 显示运行结果

    但是在WIN7 64位,运行程序时候,就不行了,如果你是XP用户,或许可以用

    于是我决定用C-Free这个工具去学习了

     

    (二)C-Free 5.0 (下载:第一卷  第二卷

    安装一直下一步,也是比较简单的

    界面

    图像 10

    然后点 帮助-注册

    用户名:tianfang
    电子邮件:quart@163.com
    注册码:2NnUqd3shO2agta0xNjcusfK1LXO

    重启C-Free

     

    Hello World,第一个C项目

    新建工程

    image

    image

    我们不选第三个

    image

    image

    因为我电脑有vs2010,选择第一个,然后完成

    image

    image双击main.c文件

    输入代码如下,printf相当于C#中的Console.Write

    image

    和VS2010一样,按下F5编译运行程序,效果图:

    image

    但是这个生成后的exe程序,在这里,显示结束后,会定个下来,可以看到效果

    但是如果你单独运行,我们以前在C#中都是Console.ReadLine()等待用户输入,然后可以看到,输入以前的所有效果

    image

    我们添加一行scanf代码

    java中也是用类似 scan的一个单词,等待用户输入的,好像是Scanner s = new Scanner(System.in);

    然后用

          String str = s.next();
          Integer i = s.nextInt();

    等待用户的输入

    我们继续添加一行代码

    image

    按F5编译程序就可以了

    接下来,你就可以直接

    image

    单击它,就可像C#的控制台那样,运行项目了,程序的启动速度很快,这是C#不能比的,WPF项目生成exe,我发现启动最慢的

     

    其他小例子

    作为一个初学者,你还想试试,发现真的跟C#差不多

    求输入的3个数字的 平均数,这也是书上的小例子

    预备工作:

    如上面一样建立一个空壳子,准备写代码

    知识:还记得%f,我们学过C#,知道 float,那么f就是float的简写了,表示,这里输入一个float或者double类型的值。输入后,直接输出保存正确的数据类型了,关于%号,还有其他的一些格式

    %d整型输出,%ld长整型输出,

    %o以八进制数形式输出整数,

    %x以十六进制数形式输出整数,

    %u以十进制数输出unsigned型数据(无符号数)。

    %c用来输出一个字符,

    %s用来输出一个字符串,

    %f用来输出实数,以小数形式输出,

    %e以指数形式输出实数,

    %g根据大小自动选f格式或e格式,且不输出无意义的零。

    image然后准备好空壳子

    我们写一个ave方法,返回的方式和C#有点不一样,变量用括号括起来了,其他一样

    image

    回到main函数,继续编写代码

    #include <stdio.h>
     
    float ave(float f1,float f2,float f3){
        float a1;
        a1=(f1+f2+f3)/3;
        return (a1);
    }
     
    int main(int argc, char *argv[])
    {
        float x1,x2,x3,x4;
        scanf("%f,%f,%f",&x1,&x2,&x3);
        x4=ave(x1,x2,x3);
        printf("%f\n",x4);
        scanf("%f");
        return 0;
    }

    输入 5,6,7按下回车

    效果:

    image

    这点 ave 函数必须在main方法上面,否则当先运行main的时候,ave根本不存在,所以编译会出错

    这点和C#不一样

    如果你想要在其他位置放ave方法,需要在main方法中,调用ave方法之前先声明这个ave函数

    代码如下

    image

    然后就可以了

    scanf后面的%f的逗号随便什么连接字符的,例如我改成这样

    image

    效果图:

    image

     

    学习总结

    1. 对C有基本的认识了
    2. 对C和C#有基本的比较了
    3. 发现学起C不太难
    4. 用C-Free开发
    5. 很容易写出个比C#性能好点的小程序
    6. 下一步,具体慢慢学C会很容易了
  • 相关阅读:
    超级简单的分屏控件【自定义PictureBox 继承于UserControl】
    《(学习笔记)两天进步一点点》(3)——应用BindingSource实现数据同步
    《(学习笔记)两天进步一点点》(5)——几个比较小的类,但很实用
    【唠叨两句】如何将一张树型结构的Excel表格中的数据导入到多张数据库表中
    《(学习笔记)两天进步一点点》(2) ——BindingSource基础操作
    微软通用类库——DbHelper
    经典的SQL语句
    ToString 中的常见格式
    【学习笔记】SQL Server 中的批量复制操作 (ADO.NET)
    《(学习笔记)两天进步一点点》(1)——Windows控件DGV
  • 原文地址:https://www.cnblogs.com/AaronYang/p/3131406.html
Copyright © 2011-2022 走看看