好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

C语言

[算法导论前奏]C语言[一][基本入门]

[算法导论前奏]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.界面

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

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

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

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

 

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

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

界面

然后点 帮助-注册

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

重启C-Free

 

Hello World,第一个C项目

新建工程

我们不选第三个

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

双击main.c文件

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

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

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

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

我们添加一行scanf代码

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

然后用

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

等待用户的输入

我们继续添加一行代码

按F5编译程序就可以了

接下来,你就可以直接

单击它,就可像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格式,且不输出无意义的零。

然后准备好空壳子

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

回到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按下回车

效果:

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

这点和C#不一样

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

代码如下

然后就可以了

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

效果图:

 

学习总结 对C有基本的认识了 对C和C#有基本的比较了 发现学起C不太难 用C-Free开发 很容易写出个比C#性能好点的小程序 下一步,具体慢慢学C会很容易了

 

 

分类:  C语言

标签:  C的世界

KingPaper教你写采集

 

简单的几个函数介绍

file_get _contents();

preg_match();

 首先获取你要采集的网页 并采集内容

$str = file_get_contents("www.baidu.com");// 获取地址url

$regex = "/(<div class=\"content\" id=\"article\".*?><.*?>.*?<\/.*?><\/div>)/ism";//正则表达式  

preg_match($regex,$str,$t);//正则匹配返回数组

print_r($t);打印数组查看内容

 //  连接数据库

mysql_connect(“localhost”,"root","root");

mysql_select_db("test")

mysql_query("insert into test(id,content)values('',$t[0])") 

采集多条的话  将获取内容的正则封装成函数

function getcontent($url){

$str=file_get_contents($url);

$regex = "/(<div class=\"content\" id=\"article\".*?><.*?>.*?<\/.*?><\/div>)/ism";

preg_match($regex,$str, $t);

return $t[0];

然后将url放到数组内

$str="www.baidu.com/1.html\n www.baidu.com/2.html \n www.baidu.com/3.html\nwww.baidu.com/5.html";

$arr = explode("\n",$str); 

foreach($arr as $val) {

$content=getcontent($val);

mysql_query("insert into test(id,content)values('',$content)"); 

欢迎光临我的网站 夕越网 http://www.xiyue369.com 

专注于PHP技术的研发,功能的实现

 

分类:  其它

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于C语言的详细内容...

  阅读:44次