⑴ php 怎么声明数组
一、什么是数组
数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。
二、声明数据
在PHP中声明数组的方式主要有两种:一是应用array()函数声明数组,一是直接为数组元素赋值。
<1>array()函数声明的数组的方式array([mixed...]) 参数mixed的语法为key=>value
如,<?php
$array=array("1"=>"编","2"=>"程","3"=>"词","4"=>"典");
print_r($array);
echo "<br>";
echo $array[1]; //注意:下标默认是从0开始
echo $array[2];
echo $array[3];
echo $array[4];
?>
<2>直接为数组元素赋值。如果在创建数组时不知所创建数组的大小,或在实际编写程序时数组的大小可能发生变化,采用这种数组创建的方法较好。
如,<?php
$array[1]="I";
$array[2]="love";
$array[3]="PHP";
print_r($array); //输出所创建数组的结构
?>
三、数组的类型
PHP支持两种数组:索引数组(indexed array)和联合数组(associative array),前者使用数字作为键,后者使用字符串作为键。
四、输出数组
在PHP中对数组元素输出,可以通过echo和print语句来实现,但这只能对数组中某一元素进行输出;要将数组结构输出则要使用print_r()函数,其语法:print_r(mixed expression_r),参数expression_r为普通的整形、字符型或实型变量则输出该变量本身,如果该参数为数组,则按一定键值和元素的顺序显示出该数组中的所有元素。
五、数组的构造
一维数组:
当一个数组的元素是变量时,则称其为一维数组。
声明一位数组: 类型说明符 数组名[常量表达式];
二维数组:
当一个数组的元素是一个一位数组时,则称之为二维数组。
如,<?php
$str = array (
"网络编程语言"=>array ("PHP","JSP","ASP"),
"体育项目"=>array ("m"=>"足球","n"=>"篮球"));
print_r ( $str) ;
?>
六、遍历数组
遍历数组中的所有元素是常用的一种操作,在遍历的过程中可以完成查询或其他功能。在PHP中遍历数组的方法有多种,下面介绍最常用的两种方法。
<1>使用foreach结构遍历数组;
<2>使用list()函数遍历数组,list()函数仅能用于数字索引的数组,且数字索引从0开始。
例:综合使用list()和each()认证用户登录:
<?php
//输出用户登录信息
while(list($name,$value)=each($_POST)){
if($name!="submit"){
echo "$name=$value<br>";
}
}
?>
七、统计数组元素个数
在PHP中,使用count()函数对数组中的元素个数进行统计,语法为:int coun(mixed array[,int mode]),其中参数array为必要参数,mode为可选参数,若选中COUNT——RECURSIVE(或1),本函数将递归地对数组数组。如,
<?php
$array = array("php" => array("PHP函数参考大全","PHP程序开发范例宝典","PHP数据库系统开发完全手册"),
"asp" => array("ASP经验技巧宝典")
); //声明一个二维数组
echo count($array,COUNT_RECURSIVE);//递归统计数组元素的个数,运行结果为6
?>
八、数组排序
<1>使用sort()和rsort()分别对数组进行升序和降序,如,
<?php
$array=array(5,26,37,18,9,42,88,66);
$array1=sort($array);
for($i=0;$i<count($array);$i++){
echo $array[$i]."";
}
echo "<br>";
$array1=rsort($array);
for($i=0;$i<count($array);$i++){
echo $array[$i]." ";
}
?>
运行结果:
5 9 18 26 37 42 66 88
88 66 42 37 26 18 9 5
<2>使用ksort()和asort()对关联数组排序
如果使用了相关数组,在排序后还要保持关键字和值的排序一致,这是就需要使用ksort()和asort()函
数,如,
<?php
$array=array('php'=>1,'jsp'=>2,'asp'=>3);
ksort($array);
print_r($array);
echo "<br>";
asort($array);
print_r($array);
?>
运行结果:
Array ( [asp] => 3 [jsp] => 2 [php] => 1 )
Array ( [php] => 1 [jsp] => 2 [asp] => 3 )
⑵ 如何系统的学习php编程
楼主去买本书看吧,多研究下HTML
我推荐PHP圣经,和明日科技出的PHP范例宝典!绝对实用,楼主只要细心研究用不了几个月就可以独立开发网站了!!!
⑶ php,操作数组问题
<?php
$arr = array ('php' => array ('php编程宝典', 'php入门' ), 'java' => array ('java编程宝典', 'java入门' ), 'c#' => array ('C#编程宝典', 'c#入门' ) );
$count = 0;
foreach ( $arr as $k => $v ) {
echo $k . ' ';
$count = count ( $v );//这里如果一维数组中的元素个数不一致就会出错,不过这样可以实现了你的需求
}
echo '<br/>';
for($i = 0; $i < $count; $i ++) {
foreach ( $arr as $k => $v ) {
if (strlen ( $v [$i] ) <= 10) {
echo $v [$i] . ' ';
} else {
echo $v [$i]. ' ';
}
}
echo '<br/>';
}
echo '<br/>';
?>
⑷ php select传值问题
你的思路是完全可以的,只是有些小bug,稍微修改了下:两个文件select.html和action.php
select.html
<html>
<head>
<meta http-equiv="content-type" content="text/html charset=utf-8"/>
<title>select传值</title>
</head>
<body>
<form name="form4" method="post" action="./action.php">
<select name="select[]" size="5" multiple="multiple">
<option value="PHP完全手册">PHP完全手册</option>
<option value="ASP编程宝典">ASP编程宝典</option>
<option value="PHP范例宝典">PHP范例宝典</option>
<option value="PHP从入门到精通">PHP从入门到精通</option>
<option value="DELPHI函数参考手册">DELPHI函数参考手册</option>
</select>
<input type="hidden" name="action" value="list" />
<input type="submit" name="submit" value="提交" />
</form>
</body>
</html>
action.php
<?php
header("Content-Type:text/html;charset=utf-8");
if(isset($_POST['action']) && $_POST['action'] == 'list'){
echo '您选择的是:<br />';
foreach($_POST['select'] as $v){
echo $v.'<br />';
}
}
?>
⑸ php中计算二维数组中某一元素之和的函数是那个啊谢谢……
PHP数组的总结(很全面啊)
一、什么是数组
数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。
二、声明数据
在PHP中声明数组的方式主要有两种:一是应用array()函数声明数组,一是直接为数组元素赋值。
1array()函数声明的数
一、什么是数组
数组就是一组数据的集合,把一系列数据组织起来,形成一个可操作的整体。数组的每个实体都包含两项:键和值。
二、声明数据
在PHP中声明数组的方式主要有两种:一是应用array()函数声明数组,一是直接为数组元素赋值。
<1>array()函数声明的数组的方式array([mixed...])
参数mixed的语法为key=>value
如,<?php
$array=array("1"=>"编","2"=>"程","3"=>"词","4"=>"典");
print_r($array);
echo
"<br>";
echo
$array[1];
//注意:下标默认是从0开始
echo
$array[2];
echo
$array[3];
echo
$array[4];
?>
<2>直接为数组元素赋值。如果在创建数组时不知所创建数组的大小,或在实际编写程序时数组的大小可能发生变化,采用这种数组创建的方法较好。
如,<?php
$array[1]="I";
$array[2]="love";
$array[3]="PHP";
print_r($array);
//输出所创建数组的结构
?>
三、数组的类型
PHP支持两种数组:索引数组(indexed
array)和联合数组(associative
array),前者使用数字作为键,后者使用字符串作为键。
四、输出数组
在PHP中对数组元素输出,可以通过echo和print语句来实现,但这只能对数组中某一元素进行输出;要将数组结构输出则要使用print_r()函数,其语法:print_r(mixed
expression),参数expression为普通的整形、字符型或实型变量则输出该变量本身,如果该参数为数组,则按一定键值和元素的顺序显示出该数组中的所有元素。
五、数组的构造
一维数组:
当一个数组的元素是变量时,则称其为一维数组。
声明一位数组:
类型说明符
数组名[常量表达式];
二维数组:
当一个数组的元素是一个一位数组时,则称之为二维数组。
如,<?php
$str
=
array
(
"网络编程语言"=>array
("PHP","JSP","ASP"),
"体育项目"=>array
("m"=>"足球","n"=>"篮球"));
print_r
(
$str)
;
?>
六、遍历数组
遍历数组中的所有元素是常用的一种操作,在遍历的过程中可以完成查询或其他功能。在PHP中遍历数组的方法有多种,下面介绍最常用的两种方法。
<1>使用foreach结构遍历数组;
<2>使用list()函数遍历数组,list()函数仅能用于数字索引的数组,且数字索引从0开始。
例:综合使用list()和each()认证用户登录:
<?php
//输出用户登录信息
while(list($name,$value)=each($_POST)){
if($name!="submit"){
echo
"$name=$value<br>";
}
}
?>
七、统计数组元素个数
在PHP中,使用count()函数对数组中的元素个数进行统计,语法为:int
coun(mixed
array[,int
mode]),其中参数array为必要参数,mode为可选参数,若选中COUNT——RECURSIVE(或1),本函数将递归地对数组数组。如,
<?php
$array
=
array("php"
=>
array("PHP函数参考大全","PHP程序开发范例宝典","PHP数据库系统开发完全手册"),
"asp"
=>
array("ASP经验技巧宝典")
);
//声明一个二维数组
echo
count($array,COUNT_RECURSIVE);//递归统计数组元素的个数,运行结果为6
?>
八、数组排序
<1>使用sort()和rsort()分别对数组进行升序和降序,如,
<?php
$array=array(5,26,37,18,9,42,88,66);
$array1=sort($array);
for($i=0;$i<count($array);$i++){
echo
$array[$i]." ";
}
echo
"<br>";
$array1=rsort($array);
for($i=0;$i<count($array);$i++){
echo
$array[$i]."  ";
}
?>
运行结果:
5
9
18
26
37
42
66
88
88
66
42
37
26
18
9
5
<2>使用ksort()和asort()对关联数组排序
如果使用了相关数组,在排序后还要保持关键字和值的排序一致,这是就需要使用ksort()和asort()函
数,如,
<?php
$array=array('php'=>1,'jsp'=>2,'asp'=>3);
ksort($array);
print_r($array);
echo
"<br>";
asort($array);
print_r($array);
?>
运行结果:
Array
(
[asp]
=>
3
[jsp]
=>
2
[php]
=>
1
)
Array
(
[php]
=>
1
[jsp]
=>
2
[asp]
=>
3
)
⑹ 学php需要学习的知识
会html学php怎么学?
下本php书看 例如 php从入门到精通
开始学什么?
学一些简单的数据库调用 修改 插入,这时候就可以做一个简单的留言本程序了
要学些什么?
学php要有html基础 有sql数据库语言基础(一般php的书籍里都有一章专门讲这个) 然后就是php 如果会javascript 就如虎添翼了
用php需要用到什么软件?
需要安装php开发环境Apache+PHP+MySQL
新手安装可能有些麻烦 告诉你个好办法,下载phpstudy现在好像是1.7版了,傻瓜式安装,装完phpstudy别的你就不用管了,你已经拥有了Apache+PHP+MySQL,因为这是个集成环境,专门针对新手
编php在哪里编?
我就用Dreamweaver 里面建动态网页,有php选项
其实拿记事本就可以写,不过Dreamweaver给你提供了一些简便的方法而已
完
⑺ 帮我推荐一本书,有关FLASH游戏制作的或c++游戏制作的书.谢谢!我是菜鸟啊!
Game Developer Magazine 1994 - 2000年,共7年的游戏开发者杂志电子版(含源码)
Graphics Programming Black Book (by Michael Abrash).zip,图形编程黑书,Id software的Michael Abrash编着
Game Programming Gems I.rar ,游戏编程精粹I、II(含源码)
Game Programming Gems II.rar
Graphics Gems I.rar ,图形学精粹I、II、III、IV、V
Graphics Gems II.rar
Graphics Gems III IBM.rar
Graphics Gems IV IBM.rar
Graphics Gems V.rar
Computer Graphics, C Version (2nd Ed.).rar ,计算机图形学C版(第二版)
half_life2_engine.zip ,半条命2游戏引擎源代码
D3DTutorial10_Half-Life2_Shading.pdf ,半条命2游戏引擎光照分析
Course.PTR.3D.Game.Engine.Programming.eBook-LinG.rar ,3D游戏引擎编程
3D Game Engine Design.rar ,3D游戏引擎设计
3D Game Engine Design source code.rar ,3D游戏引擎设计源代码
3D.Game.Programming.All.In.One.zip ,3D游戏编程大全
Game Design - Theory and Practice.rar ,游戏设计 - 理论与实践
game.programming.all.in.one.zip ,游戏编程大全
The Cg Tutorial - The Definitive Guide to Programmable Real-Time Graphics.rar ,CG指导 - 可编程实时图形权威指南
Tricks Of The 3D Game Programming Gurus - Advanced 3D Graphics And Rasterization.rar ,3D游戏编程大师技巧 - 高级3D图形和光栅化
Ultimate Game Design Building Game Worlds.rar ,终极游戏设计 - 创建游戏世界
Core.Techniques.And.Algorithms.In.Game.Programming.rar ,核心技术和算法在游戏编程
Simulating Humans.rar ,仿真人类
3D Lighting - History, Concepts, and Techniques.rar ,3D光照 - 历史,概念和技术
Lighting.Techniques.For.Real-Time.3D.Rendering.rar ,光照技术For实时3D渲染
Vector.Game.Math.Processors.zip ,向量游戏数学处理器
AI for Computer Games and Animation - A Cognitive Modeling Approach.rar ,AI(人工智能)for计算机游戏和动画 - 一个认知建模方案
AI.Game.Development.Synthetic.Creatures.With.Learning.And.Reactive.Behaviors.rar ,AI游戏开发 - 合成生物With学习和反应举止
AI.Techniques.for.Game.Programming.rar ,AI技术for游戏编程(含源码)
Ai.Game.Programming.Wisdom.rar ,AI游戏编程(代码)
Real_Time_Rendering.rar ,实时渲染
special.effects.game.programming.rar ,特效(特殊效果)游戏编程(含源码)
Shaders.for.Game.Programmers.and.Artists.zip ,着色器for游戏开发者和艺术家
Real-Time Shader Programming.rar ,实时着色器编程
Wordware.Publishing.Advanced.Lighting.and.Materials.With.Shaders.rar ,高级光照和材质with着色器
OReilly - Physics for Game Developers.rar ,物理for游戏开发者
GPU Programming Guide.rar ,GPU编程指南
Collision.Detection.pdf.rar ,碰撞检测
Collision.Detection.-.Algorithms.and.Applications.rar ,碰撞检测 - 算法与应用
focus.on.3D.terrain.zip ,游戏3D地形编程
Focus.On.3D.Models.zip ,游戏3D模型编程
Focus.On.2D.in.Direct3D.-.fly.pdf ,集中于Direct3D中的2D
Beginning.Game.Audio.Programming.rar ,开始游戏音频编程(含源码)
Internetworked.3D.Computer.Graphics.rar ,互连网间的3D计算机图形学
Beginning.Math.and.Physics.For.Game.Programmers.zip ,开始数学和物理for游戏编程者(PDF版)
Beginning Math and Physics for Game Programmers[CHM].rar ,开始数学和物理for游戏编程者(CHM版)
3D.Math.Primer.for.graphics.and.game.development.zip ,3D数学初步for图形和游戏开发
The art of computer game design.rar ,计算机游戏设计艺术
Sams.Beginning.3D.Game.Programming.eBook-LiB.rar ,3D游戏编程入门
MIT.Press.Rules.of.Play.Game.Design.Fundamentals.rar ,游戏设计基础
design a pc game engine.rar ,设计一个PC游戏引擎
Advanced Graphics Programming Techniques Using Opengl.rar ,高级图形编程技术用OpenGL
Real-time.Rendering.Tricks.and.Techniques.in.DirectX.rar ,DirectX实时渲染技巧与技术
Real-Time Rendering Tricks and Techniques in DirectX(src).ZIP ,DirectX实时渲染技巧与技术(源代码)
Real Time 3D Terrain Engines Using C++ And Dx9.rar ,实时3D地形引擎用C++和Dx9
MS.Press.-.Microsoft.DirectX.9.Programmable.Graphics.Pipeline.rar ,Microsoft DirectX9可编程图形管线
Wordware.Publishing.OpenGL.Game.Development.eBook-YYePG.rar ,OpenGL游戏开发
Beginning.OpenGL.Game.Programming.ebook.zip ,OpenGL游戏编程入门
OpenGL.Programming.Guide.rar ,OpenGL编程指南
Addison.Wesley.-.OpenGL.Programming.Guide.2nd.Edition.rar ,OpenGL编程指南(第二版)
Addison-Wesley,.OpenGL.Shading.Language.(2004).DDU.ShareConnector.rar ,OpenGL着色语言(2004)
Learn Vertex and Pixel Shader Programming With Directx 9.rar ,学习顶点和像素着色器编程用DirectX9
Shaderx2 - Shader Programming Tips & Tricks With Directx 9.rar ,Shaderx2 - 着色器编程提示与技巧With DirectX9
ShaderX2 Introctions and Tutorials with DirectX9.rar ,ShaderX2介绍和指导With DirectX9
Direct3D.ShaderX.-.Vertex.and.Pixel.Shader.Tips.and.Tricks.rar ,Direct3D.ShaderX - 顶点和像素着色器提示和技巧
Advanced 3D Game Programming with DirectX 9.rar ,高级3D游戏编程用DirectX 9.0(含源码,CHM版)
Advanced 3D Game Programming with DirectX 9[PDF].rar ,高级3D游戏编程用DirectX 9.0(PDF版)
DirectX 3D Graphics Programming Bible.rar ,DirectX 3D图形编程宝典
Introction to 3D Game Programming with DirectX 9.0.rar ,介绍对3D游戏编程用DirectX9.0(含部分源代码)
Beginning.Direct3D.Game.Programming.rar ,Direct3D游戏编程入门
Beginning.DirectX9.zip ,DirectX9入门
Cutting Edge Direct 3D Programming.rar ,Cutting Edge(刀刃)Direct 3D编程
Game.Scripting.Mastery.zip ,游戏描述语言掌握
Data.Structures.for.Game.Programmers.rar ,数据结构for游戏编程者(含源码)
2_OpenGL.Extensions.-.Nvidia.rar ,OpenGL扩展(Nvidia)
Managed.DX.9.Kick.Start.Graphics.And.Game.Programming.rar ,DirectX9图形和游戏编程
OpenGL.Reference.Manual.rar ,OpenGL参考手册
OpenGL.Super.Bible.rar ,OpenGL超级宝典
Tricks of the Windows Game Programming Gurus.rar ,Windows游戏编程大师技巧
Tricks of Win Game Programming Gurus 2ed.rar ,Windows游戏编程大师技巧(第二版)
Game.Programming.Beginners.Guide.rar ,游戏编程初学者指南
Chris_Crawford_on_Game_Design.rar ,Chris Crawford写的游戏设计书
Advanced.Animation.with.DirectX.rar ,高级动画with DirectX(含源码)
Inside Direct3D.rar ,深入Direct3D
Direct3D_9_Basics.rar ,Direct3D 9基础
Sams Teach Yourself DirectX 7 in 24 Hours.rar ,教你自己DirectX7在24小时
Programming.Role.Playing.Games.with.DirectX.rar ,用DirectX编程RPG游戏(含源码)
Programming Multiplayer Games.rar ,编程多玩家游戏
Net Game Programming With Directx 9.0.rar ,网络游戏编程with Directx 9.0
Programming Linux Games.rar ,编程Linux游戏
Developing Online Games - An Insiders Guide.rar ,开发在线游戏 - 一个权威人士的指导
Game Coding Complete.rar ,游戏编码完全
Strategy Game Programming with DirectX 9.0.rar ,策略游戏编程用DirectX9.0
Strategy Game Programming with DirectX 9.0 Source Code.zip ,策略游戏编程用DirectX9.0(源代码)
Addison-Wesley - Software Engineering and Computer Games.rar ,软件工程和计算机游戏
Artificial Intelligence and Software Engineering.rar ,AI和软件工程
Game-Programming-OpenGL-C++.rar ,有关OpenGl和C++的一些资料
GBA Programming Game Boy Advance The Unofficial Guide.rar ,GBA编程非官方指南
Palm.OS.Game.Programming.zip ,Palm掌上操作系统游戏编程
Mac.Game.Programming.pdf ,苹果机游戏编程
Premier.Press.J2ME.Game.Programming.rar ,J2ME游戏编程
J2ME Game Development with MIDP2.rar ,J2ME游戏开发with MIDP2
PHP.Game.Programming.zip ,PHP语言游戏编程
Game.Programming.with.Python.Lua.And.Ruby.zip ,游戏编程用Python,Lua和Ruby语言
Apress.dot.NET.Game.Programming.with.DirectX.9.0.eBook-KB.rar ,点NET游戏编程用DirectX9
Wordware.Wireless.Game.Development.In.C.Cpp.With.BREW.chm ,无线游戏开发用C、C++ With BREW
DirectX9 User Interfaces Design and Implementation.rar ,DirectX9用户接口设计和实现
Game.Interface.Design.rar ,游戏接口设计
SAMS Teach Yourself Game Programming in 24 Hours.rar ,教你自己游戏编程在24小时
C.Game.Programming.For.Dummies.2.rar ,C游戏编程傻瓜书2
Beginners Guide to DarkBASIC Game Programming.rar ,初学者指南对DarkBASIC游戏编程
Windows Graphics Programming Win32 GDI and DirectDraw.rar ,Windows图形编程 - Win32 GDI 和 DirectDraw
Game Programming Genesis.rar ,游戏编程起步
2D.Artwork.and.3D.Modeling.for.Game.Artists.zip ,2D艺术品和3D建模for游戏艺术家
Game.Art.for.Teens.pdf ,游戏艺术for青年人
Game Development and Proction.rar ,游戏开发和产品
Game.Developers.Market.Guide.rar ,游戏开发者市场指南
MIT.Press.A.History.Of.Modern.Computing.eBook-LiB.rar ,现代计算历史
The C++ Programming Language NO.3 Edition.rar ,C++编程语言(第三版)
Computer Systems A Programmers Perspective.rar ,计算机系统 - 一个编程者的透视
Intel Architecture Software Developer Manual.zip ,Intel架构软件开发者手册
Intel Itanium Assembly Language Reference.rar ,Intel Itanium架构汇编语言参考
Agile Software Development.rar ,灵活的软件开发
Code Reading The Open Source Perspective.rar ,代码阅读与开放源透视
ps2DevEnvironment.exe ,PS2开发环境
doxygen-1.3.9.1-setup.exe ,一种文档自动生成软件
wolf_source.exe ,wolf游戏(id software)源代码
doom_src.zip ,doom游戏(id software)源代码
q2src320.exe ,Quake2游戏(id software)源代码
Q3A_TA_GameSource_127.exe ,QuakeIII(id software)游戏源代码
Q3A_ToolSource.exe ,QuakeIII(id software)工具源代码
⑻ 编程怎么学
硬件电脑(最好是能上网的),软件编译器,或者加上一些辅助学习的软件,学习资料和个一些高手的FAQ。至于编译器,一般国内学习有以下几款可以用:TC VC GCC LCC-Win32,不过只是学习的话可以用一下C-free,现在流行的版本是4.0和4.1的。推荐书如下:
1、谭浩强的《C程序设计》。
优点在于,面向中国学生,语言易于理解,而且全书篇幅小,看过的人多,容易找到人请教。但是各方面的概念不深入,浅尝辄止,实际上还有些小错误,不是很严谨。因此适合第一次入门学习,例题做完基本就可以抛弃了。有实体书和电子版下载。同时配套有习题集和习题解答,适合自学。
2、王大刚先生的《C语言编程宝典》。
质量不错,与老谭的书一样非常适合中国学生,而且对于TC的图形编程讲解非常透彻。本人没有发现实体书,可能只发布在网络上,在VCgood论坛有转载:
http://www.vcgood.com/bbs/forum_posts.asp?TID=1560&PN=2
http://book.chinaz.com/C/C/index.html
3、Kenneth A.Reek 的《C和指针》
进阶读物,把指针一章演绎为一本书可见其技术精度。指针是C的灵魂,能领会本书中的理念,才能算是真正明白了C指针的奥妙,才算懂得了C。
以下是对初学者的一些建议:
一、首先确保你的健康状况和基本计算机操作水平,我上面说过的机器也已经找好了吧,从来没听说谁没有电脑就能学习编程的(以后科技进步到人机合一的程度,也许可以实现)。如果能有网络连接,那简直达到了完美的境界。
没人可以无师自通,天才也不行。所以你要做的第一件事是找一本好的入门教材,最好是经典作品。反复地看教材,要牢记一点,你所提出的大部分问题,教材上都有解释,只是你没有认真看而已。反复地阅读,直到你觉得你已经可以编写出那本教材了,才可以丢弃他。教材比老师好的理由之一是,你可以带教材上厕所去卧室,而老师不行。当然,老师也有比教材优越的地方,那就是他可以给你解释教材上没有的问题。但记住老师也是人,你不动脑子就去找他,他会厌烦的。不要鄙视你的老师,即使他其它方面不如你,至少在编程这件事上他能做你的老师就是他比你强的硬道理。
你以为光看语法书和背诵单词而不练嘴就能说好英语么,显然不对。编程也是,熟能生巧在任何地方都是一样的。首先看懂教材上的那些例子,确保看懂之后,按着他的思路把它默写出来,当你尝试过就会知道看懂和默写是两个完全不同的程度。然后就可以做书后面的习题,独立想,不要看答案或提示。等到整本书后面的习题你都能做对的时候,你就算入门了。然后去找等级考试二级三级的题目来做,等到也可以准确无误的时候,恭喜你,C语言(或者其他语言)可以算是通过了。如果你的目的是去考试,现在就出发吧。但如果你想要以编程谋生,sorry,你还欠火候。这其中的差别就相当于大学英语四级作文和畅销英文小说之间的差异。
二、我碰到问题了,谁能帮我
郑钧说,记得没人会同情你,我亲爱的兄弟。这真是至理名言。编程这件事,基本上是不能指望有人帮你的。
当你遇到编程遇到问题,首先应该是去看编译器提供的信息。它可是最直接的来源,相当于案发现场,从没听说刑警不看尸检报告就直接破案的。现代的编译器已经不止编译那么简单,编译本身就能送出大量的提示,调试功能更是强大到可以让你检视程序运行的每一步都发生了什么变化,只要你能看懂。机器的问题,就应该用机器来解决,而不是用人的肉眼去检查。
然后就去查教材和文档。手边的教材能解决70%以上的问题,如果还不够,上网去查。如果找不到,请记住有个东西叫搜索引擎,国内最着名的两个,google 。99%的问题可以得到解决。
如果你有老师,可以试着向他请教。不要抱太大的希望,虽然他收你学费,但他也不是万能的。
如果还是不行,确认你已经努力过而没有答案,那么你可以考虑提问,去论坛、新闻组或者群,都可以提问。
在你确定要提问之前,请先阅读这篇文章《提问的智慧》
http://www.chinaunix.net/jh/29/8675.html
http://www.vcgood.com/bbs/forum_posts.asp?TID=1581&PN=1&TPN=1
这个也行,《提问的智慧 图片版》
http://bbs.chinaunix.net/viewthread.php?tid=750796&extra=page%3D1
http://www.vcgood.com/bbs/forum_posts.asp?TID=1573&PN=1&TPN=1
三、其他需要学习的相关知识
首先是纯C的教材
然后是C++的教材
接下来是Windows编程
Unix/Linux/BSD系统
数据结构和算法
各种图形以及其它库
软件工程思想