无敌小龙 2007-1-20 21:42
无敌小龙 欢乐C语言 教程连载 [一]
版权申明:本连载文章版权为无敌小龙所有,未经作者同意不得用于商业用途!欢迎转载,但是,所有转载请注名出处!
官方网站:[url=http://www.winsock.cn/][color=#0000ff]www.winsock.cn[/color][/url]
小龙Blog:[url=http://hi.baidu.com/pespin][color=#800080]hi.baidu.com/pespin[/color][/url]
论坛支持:[url=http://www.xdxf.net/][color=#0000ff]www.xdxf.net[/color][/url]
其他说明:本教程采取连载形式,所有文章不定时补充添加!
最后,衷心希望,大家在黑客X档案,学有所成!
大家好,我是无敌小龙,玩转了几年hacker大家也都改行进入编程界了!
编程顷刻化身一股“软”流,袭击整个中国。弄潮儿们遍地开花!而涌现出来的爱好者们也是各个热情彭湃,勤勉可嘉!
但是,市面上还是缺乏好的教程,教材来充实爱好者们饕餮的求知欲!小龙不才,但愿能做一领路人!
一:Hello world
翻开各位C语言牛人的著作,很少有不用这个例子的,为了让大家魔鬼速成,小龙也用这个例子来实现我们的第一个C语言程序!
介绍之前,我们来熟悉点C语言常用的语法!不要怕,其实可以当成学习E文单词!
第一个:include,翻译过来就是包含。
因为C语言是首先链接“头文件”(暂时理解为C语言编程的不可或缺的文件),然后再来编译的,所以编程时,开头一般都有类似这样的的一
句:#include "stdio.h"。也就是包含了stdio.h这个头文件--H就是是head的缩写!
第二个:main,翻译下就是主要,主体!
在C中起的作用就是告诉编译器,让编译后的程序首先从这个地方开始执行!
比如,你的程序中有1:早晨晨跑;2:中午和朋友K歌;3:晚上和女友吃烛光晚餐,然后请她吃哈跟达斯!
那么现在,我们应该首先做什么呢?当然是先晨跑嘛!因为这个是你起床后要做的第一件事!
所以main() 函数就是告诉程序,当被用户执行后,首先要做什么事情!--首先要晨跑!
在main()中可以做很多不同的事情,比如晨跑后,我们就要和朋友去K拉OK了,最后是和GF共进晚餐!在C语言中,每做的一件事可以看做
一个函数。而每个函数,都要在main中有申明,否则C是不给于执行的!
最后:常常听说什么人机交互,什么是人机交互呢?其实把这样繁杂的话大众化就是:在键盘输入字符,然后给计算机处理,最后输出结
果!而负责输入的就是:scanf()函数;输出的就是printf()函数;
好了,上面就是我们要编写一个hello world所要用到的E文知识!
看来学计算机不需要多高的E文水平吧!(不过要学好,还是要好好学习E文的哦!~~~)
[code]#include "stdio.h" //include a stdio.h file
main()
{
printf ("hello world --by xiaolong");
}
[/code]
编译后,进入projects目录下,在CMD下输入noname.exe。如图,已经出现了我们的第一个hello world了!
[img]http://hiphotos.baidu.com/pespin/pic/item/f4c718fa7b4b8b9659ee90c7.jpg[/img]
二:关于字符(串)
前面说到了人机交互,说白了也就是两个函数:scanf和printf。这里我不想教科书般的罗列函数的使用方法!大家直接看实例!
要输出一个字符,非常简单。如我们要输出无敌小龙:printf("wudixiaolong");
因为C语言中所有的语句都是用“;”结尾的,所以我们可以照葫芦画瓢般的也这样运用上!(初学编程,少问为什么,多多实际操作给出的实力才是王道!)
[img]http://hiphotos.baidu.com/pespin/pic/item/36f2e2d377a8bcdea9ec9ad5.jpg[/img]
大家可以疑问,图中怎么出现了一个getch();语句呀,呵呵,这个只是我的编译器中预定义的一个函数,
用来让程序运行后不会自动关闭!
好了,说完了输出,我们现在来说说输入方面的操作!
前面我们已经介绍到了,输入是scanf函数。以前玩过扫描工具的朋友对scan应该是耳熟能详吧。让人记忆犹新的应该就是superscan。那么scan是虾米意思呢?扫描!
要输入一个字符,我们就首先要告诉内存,为我们开辟一点空间,给我们存一点数据!
怎么告诉内存呢?就是变量定义!
char xiaolong;
就是定义了一个名字为xiaolong的内存空间,然后以后就可以把字符类型的数据放到这块内存空间中了(如果存放其他类型的数据就有可能是计算机出现错误!)!可能有小菜要问了,为什么要申请内存空间呢?在Basic中不是可以直接使用变量吗,那样多方便呀!呵呵,是的,但是,C作为一种效果更高的语言,告诉计算机你所要使用的变量能更加好的节省内存空间,这样才能产生高效率的程序来!
定义了之后,我们就可以把数据存储到这块内存空间中了!具体就是:
xiaolong='c';
=就是赋值符号,简单点理解就是让=左边的变量(内存的一块区域)等于右边的数据!
注意,字符简单理解就是一个一个字母,譬如:a。在C语言中规定,字符是要用“''”扩起来的!大家就表问为什么了,这个就好比,为什么你吃饭用筷子,而西方人用汤匙和叉子!
[img]http://hiphotos.baidu.com/pespin/pic/item/2fdf1ad17c435fd2572c84a3.jpg[/img]
说了这么多,有点学究的感觉,为了让大家不至于感到枯燥,现在我们来编写一个程序,把大写字母变成小写字母!
A的ASI值为:65
a的ASI值为:97
97-65=32
A=a+32;
上面是需要的数学基础,看不懂的回家翻翻,小学二年级课本,应该会有启示!*^_^*(哪里来的西红柿!#·¥¥%……——¥%)
首先是接受用户的输入,申请一块内存空间,然后接受用户的输入!
char c;
scanf("%c",&c);
看到这个&符号,表紧张,其实就是获得c的内存地址,只有知道了地址,我们才能正确的把数据放到内存相应的地方中!
现在就要判断用户的输入!
这里会碰到一个if语句,想不要慌张,if就是如果的意思,你姑且先把他理解为一段英文翻译作业吧!
if (c>'A' && c<'Z')
这句“英语”的意思就是,如果输入的字符在A和Z之间,也就是大写字母!
c=c+32;
把c中存储的字符的ASC的值增加32!
现在就是输出了:
printf("%c",c);
[code]code:
#include "stdio.h" //include a stdio.h file
main()
{
char c;
scanf("%c",&c);
if (c>'A'&&c<'Z')
c=c+32;
printf ("%c",c);
getch();
}
end code:
[/code]
[img]http://hiphotos.baidu.com/pespin/pic/item/d233267add1be7ec2e73b3b8.jpg[/img]
[[i] 本帖最后由 flyli 于 2007-1-22 22:08 编辑 [/i]]
wyzhack 2007-1-21 17:30
:L 小龙哥 偶们都是小菜 一看到这么长的文章很少有人看的下去 理别说能看懂了
心絃 2007-1-22 18:29
看完了,顶顶顶!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
flyli 2007-1-22 21:21
呵呵,我全部看完了写的很不错!!!!!!
十分支持哈!!!!!!
唯一的意见就是把那句#include "stdio.h"改为#include <stdio.h>就好了
理由:一般来说c语言中""和<>都是可以的
但是一般来说我们把系统的头文件用<>而自己写的头文件用""
这只是个习惯问题哈,另外在注意下缩进就好了~
那个图片我一直看不到哦......建议你当成附件上传上来哈~然后在引用上传的网址就可以了
希望这个教程能一直写下去~哈!!!!!!!!!!!!!!!!!!!!!!给你加精了!
flyli 2007-1-22 22:09
另外下个教程的代码用
[code] 和[/code]括起来标住一下哈,这次我帮你做了~:handshake
[[i] 本帖最后由 flyli 于 2007-1-22 22:11 编辑 [/i]]
fanjie 2007-1-30 11:27
百度不允许链接
请把图片传到其它空间,在做个链接,谢谢了。这样也许就看的更明白了。:handshake :handshake
无敌小龙 2007-2-14 20:59
hehe 已经写的第二章节了,第三章节也快写完了
大家期待吧...
沙漠鼠 2007-3-2 01:05
:face19 :face19 :face19 :face19
不知道是写什么````:face22 :face22 :face22
枫 2007-3-2 15:20
无敌小龙 欢乐C语言 教程连载 [一]
写的不错,我们很期待教程连载 [二]的到来,再接再励吧
521322132 2008-5-31 08:08
楼主,看了你这期的VB制作远程控制,写的满不错的哦,加油!