我刚学编程,问几个问题!

作者&投稿:恭甘 (若有异议请与网页底部的电邮联系)
刚学编程,请问有哪些问题是需要主意的?~

1 许多人都说要养成良好的编程习惯,那请问什么才算是良好的编程习惯?
1. 遵循命名规则

一个应用程序的命名规划必须保持一致性和可读性。任何一个实体的主要功能或用途必须能够根据命名明显的看出来。因为ActionScript是一个动态类型的语言,命名最好是包含有代表对象类型的后缀。一般而言,名词_动词和形容词_名词之类的语法是最常用的命名方式,如:
影片名字:my_movie.swf
URL实体:course_list_output
组件或对象名称:chat_mc
变量或属性:userName

方法和变量的名称应该以小写字母开头,对象和对象的构造方法应该大写。命名变量的时候使用大小写混和的方式,并且使用字母打头,还可以包含数字和下划线。
下面的一些命名是非法的:

_count =5 ;//首字符不能使用下划线
5count = 0;//首字符不能使用数字
foo/bar = true;//包含非法字符

另外,ActionScript使用的保留字不能用来命名变量。
ActionScript是基于ECMAScript,所以我们可以根据ECMAScript的规范来命名。如,
course_list_output = "foo"; //全部小写,使用下划线分割字串
courseListOutput = "foo"; // 大小写混和的方式
BASEURL = http://www.foo.com; // 常量使用全部大写
MAXCOUNTLIMIT = 10;
MyObject = function(){ }; // 构造函数
f = new MyObject(); // 对象
注意;良好的命名规范还可以使用Flash的代码提示功能。

2. 给你的代码添加注释

使用代码注释能够使得程序更清晰,也便于我们阅读。Flash支持的代码注释方法有两种:

单行注释,通常用于变量的说明
var clicks = 0; // variable for number of button clicks
多行注释,通常用于功能说明和大段文字的注释:
/*
Initialize the clicks variable that keeps track of the number of times
the button has been clicked.
*/
一些具有特定意思的注释方法:

// :TODO: topic
表明一个主题的开始
// :BUG: [bugid] topic
显示了一个BUG所在
// :KLUDGE:
表明下面的代码并不完善,可能存在问题
// :TRICKY:
告诉开发人员下面的代码具有相互作用,修改之前请谨慎

3. 保持代码的整体性

无论什么情况,应该尽可能保证所有代码在同一个位置,这样使得代码更容易搜索和调试。我们在调试程序的时候很大的困难就是定位代码,如果大部分代码都集中在同一帧,问题就比较好解决了。通常,我们把代码都放在第一帧中,并且单独放在最顶层。如果在第一帧中集中了大量的代码,记得用注释标记区分,并在开头加上代码说明。

//===========================================
// 视频语音聊天系统
// FCAVPresence组件
// Copyright ◎2002 Macromedia, Inc. All rights reserved.
// 完 善: Liu21st, Liu21st@126.com
//---------------------------------------------------------
在独立的功能模块前面加上类似的标注:
//===========================================
// 参数初始化
//---------------------------------------------------------
4. 初始化应用程序

记得一定要初始化你的应用程序,init函数应该是你的应用程序类的第一个函数,如果使用面向对象的编程方式则应该在构造函数中进线初始化工作。该函数只是对应用程序中的变量和对象初始化,其它的调用可以通过事件驱动。
下面的例子可以说明如何进线初始化

function FCAVPresenceClass() {
this.init();
}
FCAVPresenceClass.prototype.init = function() {
this.name = (this._name == null ? "_DEFAULT_" : this._name);
this.prefix = "FCAVPresence." + this.name + ".";
};
5.使用局部变量

所有的局部变量使用关键字var来申明,这样可以避免被全局变量访问,更重要的是,可以保证变量不被覆盖和混淆程序逻辑。例如,下面的代码没有使用var来申明,覆盖了其它变量。

counter = 7;
function loopTest()
{
trace(counter);
for(counter = 0; counter < 5; counter++)
{
trace(counter);
}
}
trace(counter);
loopTest();
trace(counter);
输出结果为:
7
7
0
1
2
3
4
5

6. 创建对象时使用原型添加方法和属性

当我们创建一个对象的时候,应当使用原型方式来添加对象的方法或属性,使得该方法或属性能够被所有该对象或子对象的实体所访问。这种能够确保内存中每个函数只有一份拷贝。作为一般的规则,不要在构造函数中定义方法。下面是一个正确的例子:

// Best practice for creating an object
MyObject = function()
{ }
MyObject.prototype.name = "";
MyObject.prototype.setName = function(name)
{
this.name = name;
}
MyObject.prototype.getName = function()
{
return this.name;
}
下面这段代码是不可取的:

// Less desirable practice for creating an object
MyObject = function()
{
this.name = "";
this.setName = function(name)
{
this.name = name;
}
this.getName = function()
{
return this.name;
}
}
使用上面的方式在每个对象的实体被创建的时候都会实体重新复制每一个属性和方法,会加重系统的内存开销。

7. 规范命名方式获取代码提示功能



在平时学习理论知识的时候要主意些什么?实践的时候又应该主意什么?
理论学需要注意1 .联系实际应用 比如: 你学了一种算法,就要想那里会用到。
2.避免前人的犯过的错误 比如:指针初始化
实践的时候:
1.不断总结自己犯下的错误 ,哪怕是非常小的,这样天长日久才能养成良好的编程风格。
2.读别人的代码。从中吸取你需要的,因为不是每个编程项目,都是要从零开始的。只有站在前人的肩膀上才能走的更远。

3 许多人都说编程思想是编程里面非常重要的一点,请问对于初学者该怎么样从一开始就慢慢领悟这种思想?
答:思想来源与不断的实践 ,不断总结前人和自己的错误,不断地与人分享自己的观点(比如我现在回答你的问题),不断地讨论(其中可能有意想不到的灵感)
只有勤奋,与执着的追求才能让你成为一位优秀的编程人员

4 曾经有人跟我说过学编程搞软件开发还需要学习微机原理,请问是不是如此?如果是,请顺便指点一下此课程的学习方法

答:学习微机原理? 初学者不需要学它。那是做开发用的。你现在是要把基础打好,等你打好基础,在慢慢就能看到其中的奥秘

谢谢! 欢迎交流

首先通过对N除100000得到它的最高位数字,这里是“1”
然后将N减去最高位数字*100000以后除10000,得到次高位数“7”
依次类推
得到所有位的数字
放一个数组里面,通过冒泡法
对他进行升序排序 然后通过S,这里是“4”,得到留下的数字数,这里是留下2个数字,把数组0的数字放10位,数组1的数字放个位,就可以了

当然 排序的方式有很多 不一定要用冒泡法

1、下划线。c变量只能由字母、数字、下划线组成
2、内存中所占位数。运算时的变量在内存中占多少位由编译器确定,所以不用写那么多0.写了也没用
3、
4、这个数在内存中表示为0XFFFF,第一个a是十进制有符号数,正常输出-1。%u是无符号数,所以输出65535.%o是八进制输出
5、if(a=b+c)这里的是赋值符号,不是比较。正确的应该是if(a==b+c)。这也是编程中容易常犯的错误啊
6、首先你要注意,if(..)后边没有大括号,就是说如果条件成立才执行t=a以及t=b,而另几个赋值语句无论条件是否成立都是执行的。
main()
{
int a = 3, b = 4, c = 5, t = 99;
if (b < a && a < c) //这里b>a,所以条件不成立
t = a; //不执行
a = c; //执行后a = 5
c = t; //执行后c = 99
if (a < c && b < c) //这里条件成立
t = b; //执行后t = 4
b = a; //执行后b = 5
a = t; //执行后a = 4
printf("%d%d%d\n,a,b,c); //输出4599
}
7、switch 实在匹配某个case后执行其后语句,直到遇到break。第一次循环匹配了0,执行其后的输出,由于没有break,那么继续执行,虽然不匹配2,但是也执行其相应输出,所以有三个0。第二次循环没有匹配项,所以执行default的输出,所以有一个1。第三次循环匹配2,执行2与default的输出,所以有两个2.然后循环退出。
8、第七题如果懂了,那么这个题其实是一样的。for中的switch每次都有匹配项,所以每次都会执行到i = 3;那么v[i]++就变成v[3]++了,一共执行了八次,那么v[3]就是8了,其它的仍然是0,所以输出0008
9、只有当!(--x)不等于0的时候才执行循环体,也就相当于(--x)等于0的时候,而--x等于2,所以整个条件不成立,所以不执行循环体
10、不太明白,你输入的是什么啊?输入不同输出也不同。输入中包含一个0,两个0,两个相同的非0,两个不同的非0,结果都不太一样。如果你输入任意两个不同的自然数,那么结果就是1,为什么是1,这个是数学问题,跟c语言没啥关系,哈哈
11、这个我也不明白。我觉得应该是10 109 1 (因为没有换行符)。第一次循环时y=++i并不执行,循环一次后才执行
12、这个就不一定了,不是必须填那两个的。不过那两个答案也是对的。第一次循环i=0,而奇数和c要从1开始,所以c+=i+1。但是这样的话,最后一次循环还加了一个11.估计这道题是要计算10以内的数,所以减去11
13、这个我觉得答案应该是1 2。if是第二层循环中的语句,而n++是第一层循环中的语句,所以第一此外循环打印1,第二次打印2
14、do那个循环要循环5次,y分别为18,9,4,2,1,每次y对2求余的结果赋给a[i],分别是0 1 0 0 1。从while循环出来时,i=5,所以for中j=i-1,而且是从后向前打印,即a[4].....a[0],所以结果应该是 1 0 0 1 0

1.这题考的是合法的标识符有什么规定,参见书本,“_”没有任何意思,只是说这个标识符以它开头,合不合法,按照规定应该是合法的。

2.这个数占内存2个字节,也就是16个bit位。前面零显示它所有的位数,告诉你它可以表示的最大数为2的16次方。

3.

4.这个数在内存中二进制码为111111...32位全1。int型把它定义成-1,unsign型把它定义成65535,等等,完全是规定。因为它能表示的数是有限的,而你只能定义它所表示的范围。int的范围是-32768~32767,unsign是0~65535
而o好像应该是8进制吧,自己换算一下就行了。

5.你被骗了,括号内不是逻辑表达式,而是赋值给a,a=b+c,a就变为0了。赋值成功返回1,因此才有题中结果。

6.又被骗了,应该分开看,因为if后面没有括号
if(b<a&&a<c)t=a; //括号内为假,不执行
a=c; //a=5
c=t; //c=99
if(a<c&&b<c)t=b; //t=4,实际上a=c=5,按照你答案,可能它认为,a<c包括相等的情况,因此为真
b=a; //b=5
a=t //a=4

输出abc即4599

7.switch(i)
{ case 0: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
} 因为每种case后面没有break,所以当执行case 0时,后两句也一起执行:i为0时,输出3个0; 为1时,执行第三句,输出1个1;为2时,执行case 2,和default输出2个2
就是000122

8.这题其实并不难,就是那for循环,你只要把每个值代入进去,把循环展开就可以自己看懂了。
解释起来要一大堆话,都说不清楚

9.--x的值为2,逻辑上不为0就是1,因此!(--x)的值为0,当然不执行循环了

10.你还没告诉我输入是什么呢

11.循环没法解释,难道你要我一步步写给你看?太多了。你再试试分析,细心一点,就没问题了

12.因为,循环了6次,i的值分别为0,2,4,6,8,10.
a+=i;就是把它们加起来,是所有偶数和,
c+=i+1,就是把1,3,5,7,9,11加起来,多了个11因此要减去11,才是奇数和

13.又被骗:要分开看。
for(i=0;i<2;i++)
{for(j=0;j<2;j++)
if(j>=i)m=1; //循环到此已经结束!!
n++; //n当然等于1了!

14.没有任何意思,就是打印一个空格,将数组中各个数打印时分开,便于查看

呼--,累死我了!

1._表示下划线,就是一个标识符.和a,b,c没区别.
2.整数在32位机中占四位.所以是2的4次方.一共16,高位补零.
3.应该是合法的,可能是因为没加分号吧.
4.-1在十进制中表示-1.而在其他的进制中则表示最大没表示的数减1.65535是2的16次方.
5.按照程序应该输出$$$$$$.
6.第一个if不成立,但a=c和c=t还是做了.因为if只到t=a就结束了.a=c和c=t是必做的.
7.case后面没有break,一直做下去.0和2都做了两次.
8.和7一样,每次i都为3.所以只有v[3]加一.
9.--x为2,真.只有当假时才执行循环.
10.只有当输入不同时才为1.不同时因为减的结果一定为正,所以不断变小只到为1.
11.我的答案是101091
12.c+=i+1,得到c等于1,从1开始.多加了11次1嘛,所以要减去.
13.n是局部变量,跳出循环后又变为0了.
14.a[0]=0;i=1;y=9;
a[1]=1;i=2;y=4;
a[2]=0;i=3;y=2;
a[3]=0;i=4;y=1;

1 选B no.1 C语言标识符 可以用数字 字母 下划线 那个_没意思的
2 C语言中数字是以16位2进制储存的
3
4第一个是整数就是-1 第二个是8进制数 第三个是无符号整数
5

已经有很多人回答了,但我看到没有一个人把第一题回答对.
在C语言中,变量的命名是以下划线或者英文字母开头,后接一个或多个下划线,字母,数字组成.如下面的变量:

合法的:_a35b_ , abb, bci.a 等等
非法的: 6a (它以数字开头) ,a$(它有$这个符号)


初学编程最常问的几个问题?
这是一个没有答案的问题。每个人投入的时间、学习效率和基础都不一样。如果你每天都拿出大把的时间来学习,那么两三个月就可以学会web前端,不到半年时间就可以编写出一些软件。但是有一点可以肯定,几个月从小白成长为大神是绝对不可能的。要想出类拔萃,没有几年功夫是不行的。学习编程不是看几本...

我刚学编程,问几个问题!
10、不太明白,你输入的是什么啊?输入不同输出也不同。输入中包含一个0,两个0,两个相同的非0,两个不同的非0,结果都不太一样。如果你输入任意两个不同的自然数,那么结果就是1,为什么是1,这个是数学问题,跟c语言没啥关系,哈哈 11、这个我也不明白。我觉得应该是10 109 1 (因为没...

菜鸟刚学FPGA,问个原理性的问题:(回答好的继续加分)
第一个问题:二者不一样,不是一回事。SRAM型fpga是指,片内的逻辑资源是跟SRAM类似结构的,配置过程就像写ram一样,掉电后消失,结构比SRAM复杂的多,所以每次上电都需要重配置。对应的另一种FPGA有flash型,结构单元和flash存储器一样,掉电不消失。至于BLOCK ram是指FPGA内部嵌入有SRAM,用于存储...

编程专业就必须要会英语吗?
很多人刚开始学编程都会问这问那,“我英语差能学编程吗?”、“我数学差能学编程吗?”、“学编程一定需要很好的英语吗?”我的回答是:尽管去学,别管其他的。你只要有一个正常的英语水平,也就是初高中的英语水平就可以了,是没有太大阻碍的,因为编程常用的关键字就是那么几个,只要你熟悉这些...

Java新手的几个问题
答:不懂英文也行,就是要在学习的时候注意记忆。常用的单词就那么几个。当然你想更好的发展,就要把英语练好。因为很多文档都是英文的(技术是国外的,新技术刚开始没有译文)6.所谓的编程是直接把代码输入再输出么?还是什么?答:编程就是通过代码控制逻辑和输入输出。当然我说的不是很专业,等你...

初学java,问几个问题, 1、int a=1, b=2; a=b; 问b的值,答案是1,不懂...
【1】 b的答案是1?!是不是答案错了呀~写个测试程序测试一下,b=2呢~ 程序如下:public class Test{ public static void main(String[] args){ int a=1,b=2;a = b;System.out.println("b= "+b);} } 【2】variable是变量,constant是常量~variable中设好的值可以变化,就像上边测试...

刚学PLC,有几个问题,求解答
2这个步进梯形图的自动循环或单循环没听过。3M8002是作为数据初始化用的,这个实际应用中基本指令编程也很常用到,只是你初学一些顺序控制用不到罢了,在实际应用中比如有扩展模块,AD,DA等,比如AD需要赋初始值,来规定AD采集的是电流还是电压,就用LD M8002。。。TO。。。,在比如用到了通信,定义...

有关学习编程的问题
4、C语言是基础,很重要,如果你不学好C语言,那么什么高级语言你都学不好。 5、C语言与C++语言是两回事。就象大熊猫和小熊猫一样,只是名字很像! 6、请先学习专业课《数据结构》、《计算机组成原理》,不要刚开始就拿着一本VC在看,你连面向对象都搞不清楚,看VC没有任何用处。 7、对编程有一定的认识后,就...

在问几个关于c++的问题
1.double *(*p)[10],是定义了一个指向二维数组的二级行指针。既然是行指针所以其实参首先应该具有二维数组的特性,其次它是一个二级指针,因此其实参还应该是一个一级指针。所以只有B是正确的了。而D是与它同类型的指针,不能做为其参数。2.既然是元素那当然就不是地址了,不过表示那个元素的东西...

编程新手(一窍不通的人)小问题!!
编程语言有很多:C,C++,java,pasal,vb……目前主流的是 C++,C#和java 初学都是从C开始,它是无可厚非的基础语言。然后可以进阶学习C++和java。(大学课程都是这样安排的)学语言一定要打好基础,因为编程语言思想和语法结构大多是相似的,重要的是多实践多上机。至于基础知识,初学编程初中数学即可,...

永康市13224059603: 刚学编程,请问有哪些问题是需要主意的?
弓保复方: 1 许多人都说要养成良好的编程习惯,那请问什么才算是良好的编程习惯? 1. 遵循命名规则 一个应用程序的命名规划必须保持一致性和可读性.任何一个实体的主要功能或用途必须能够根据命名明显的看出来.因为ActionScript是一个动态类型...

永康市13224059603: 问几个编程的问题 -
弓保复方: 1.编程语言很多,比如vb,vf,c,c++,java~~~还有很多,具体每种语言都有各自语法,有些是需要使用固定的软件2.编程语言里有英文部分,像一些关键字是一些英文的缩写,有些变量的定义如果使用其对应单词会方便写程序时,程序的辨识度3.个人觉得学c语言吧,这个使用比较广泛,c++等就是在这个基础上的,c语言的书很多,谭浩强编写的c语言书比较好可以看看.4.基础就是看得懂中文,有些简单的英语也要会,装学的对应的软件,边看书边自己写,慢慢摸索.c语言就装c的程序就好,这些破解版网上很多,看着下就行 最后,我想说的是编程只有慢慢写,一点一点的练,祝你好运

永康市13224059603: 新手学编程遇到的一些小问题~ -
弓保复方: 所谓理论的就是前辈们经过在量实践,留给我们的经验,以便我们少走些弯路! 这有利也有它的弊哦(当然是利大于弊了)^-^ 弊:让了我们少了很少去创新,难于进步, 因为人就是这样,总是以为当前的就是最好的(人都懒性,况且是前辈...

永康市13224059603: 最近刚学编程,有几个问题
弓保复方: VC++.net 兼容VC++,但另外提供.net类库 一般软件用VC开发的很多,如QQ,另外有的软件用VB delphi也很多 mfc是VC++中的微软封装类库,用mfc开发主要是快捷方便

永康市13224059603: 初学者编程问题
弓保复方: C语言,学语法.. 把语法学熟习了.. 比如变量的定义,函数,函数的传值还是传址,指针,结构体拉. 分支语句if else,switch,循环语句while,for..等等.. 这些弄懂了.,你的C语言基本没问题,在学其他的编程语言也是一个道理了拉.

永康市13224059603: 初学java,问几个问题, 1、int a=1, b=2; a=b; 问b的值,答案是1,不懂为什么不是2? -
弓保复方: 【1】 b的答案是1?!是不是答案错了呀~写个测试程序测试一下,b=2呢~ 程序如下:public class Test{ public static void main(St...

永康市13224059603: 编程入门问题 -
弓保复方: 推荐C语言,应用范围广,基础扎实,能上(上层应用)能下(底层或系统驱动),也可作为C#,C++的基础,入门不难,深入可研究系统原理,学习工作都非常实用. 推荐书籍:谭浩强《C程序设计》,凯尼格《C陷阱与缺陷》 软件,推荐使用...

永康市13224059603: 关于编程入门的问题
弓保复方: 我不给你乱推荐,因为我不知道你想学到什么程度,想做些什么?是想针对地层开发,还是其他,这都不一样. 你是想学编程做网站,那可以选PHP、ASP、ASP.NET、JSP、ROR…… 软件:C、JAVA、C#、DELPHI、VB…… 游戏:C++ 当然C呀什么的也可以做网站,我的朋友就用C做了一个完全模拟BAIDU的程序,包括所有模块.我不会和你说什么语言是学习的基础,因为每一门语言都有他的思想,否则就不能叫一门语言啦,看你要学什么,做什么,换句话说喜欢什么,了解了这些你就可以选一门来学习.

永康市13224059603: 关于学编程的问题
弓保复方: 你好 谭浩强的《C程序设计》 这本书比较好的 一般我们这些初学者都是看他的 比较浅显易懂,合适我们的,之后你可以再看看比较麻烦的长的代码, 最好自己多做做练习,看看教程 多分析分析! 还有我认为理解是最主要的 在理解的基础上去...

永康市13224059603: 关于学编程入门的问题???????????????????????????? -
弓保复方: 首先你要选择学那门语言.例如你学C,C#,C++,JAVA.你选择不同,你将所学的东西将有些不同,我是学JAVA的,我现在刚学这,我把我学的每步告诉你吧,给你作为参与...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网