① C语言编程中的问题
1.先学习C语言的基础知识。现在正在学C语言的在校学生可以直接进入第2步学习。
2.按照《C语言程序设计入门学习六步曲》进行上机练习。
3.在上机练习时要养成良好的编程风格。点击查看C语言的编程风格
4.积极参加C、C++兴趣小组,养成和老师与同学交流习惯,从而相互收益。有时别人不经意的一句话可能使你茅塞顿开--“一句话点醒梦中人”。
5.及时总结自己的学习经验,养成写C语言日记的习惯。软件有编程日记功能。
6.从网上或教材上找一个自己感兴趣的题目(选题时根据自己的能力,可先易后难,培养自己的成就感,如果有了成就感,即使再苦再累还是感觉C语言学习是一件快乐的事,同学们喜欢打游戏,经常通宵达旦地玩游戏也乐而不疲就是这个道理)进行实战训练,提高自己的C语言综合应用能力。
7. 由于C语言灵活、强大,初学者要全面地掌握它是不可能的,因此在学习C语言的过程中,不要在细枝末节上浪费精力(比如++、--用于表达式的计算,实际上是没有意义的),但一定要熟练掌握C语言的流程控制语句、数组、函数、指针等基础知识的应用,为学习面向对象程序设计打下坚实的基础。如果这些知识你学不好,要后续学习好C++、可视化的程序设计Visual C++或C++Builder就像空中楼阁,是不现实的。
C语言程序设计入门学习六步曲
笔者在从事教学的过程中,听到同学抱怨最多的一句话是:老师,上课我也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手。发生这种现象的原因有三个:
一、所谓的看懂听明白,只是很肤浅的语法知识,而我们编写的程序或软件是要根据要解决问题的实际需要控制程序的流程,如果你没有深刻地理解C语言的语句的执行过程(或流程),你怎么会编写程序解决这些实际问题呢?
二、用C语言编程解决实际问题,所需要的不仅仅是C语言的编程知识,还需要相关的专业知识。例如,如果你不知道长方形的面积公式,即使C语言学得再好你也编不出求长方形的面积的程序来。
三、C语言程序设计是一门实践性很强的课程,“纸上谈兵”式的光学不练是学不好C语言的。例如,大家都看过精彩自行车杂技表演,假如,你从来没有骑过自行车,光听教练讲解相关的知识、规则、技巧,不要说上台表演、就是上路你恐怕都不行。
出现问题原因清楚了,那么如何学习呢?请你看【C语言学习六步曲】
在程序开发的过程中,上机调试程序是一个不可缺少的重要环节。“三分编程七分调试”,说明程序调试的工作量要比编程大得多。这里以如何上机调试C程序来说明C语言的学习方法。
第一步、验证性练习
在这一步要求按照教材上的程序实例进行原样输入,运行一下程序是否正确。在这一步基本掌握C语言编程软件的使用方法(包括新建、打开、保存、关闭C程序,熟练地输入、编辑C程序;初步记忆新学章节的知识点、养成良好的C语言编程风格)。
初学者最容易犯的错误是:
1、没有区分开教材上的数字1和字母l,字母o和数字0的区别,造成变量未定义的错误。另一个易错点是将英文状态下的逗号,分号;括号()双引号""输入出入成中文状态下的逗号,分号;括号(),双引号“”造成非法字符错误。
2、C语言初学者易犯语法错误:使用未定义的变量、标示符(变量、常量、数组、函数等)不区分大小写、漏掉“;”、“{”与“}”、“(”与“)”不匹、控制语句(选择、分支、循环)的格式不正确、调用库函数却没有包含相应的头文件、调用未C声明的自定义函数、调用函数时实参与形参不匹配、数组的边界超界等。
3、修改C语言语法错误时要注意以下两点:
(1)、由于C语言语法比较自由、灵活,因此错误信息定位不是特别精确。例如,当提示第10行发生错误时,如果在第10行没有发现错误,从第10行开始往前查找错误并修改之。
(2)、一条语句错误可能会产生若干条错误信息只要修改了这条错误,其他错误会随之消失。特别提示:一般情况下,第一条错误信息最能反映错误的位置和类型,所以调试程序时务必根据第一条错误信息进行修改,修改后,立即运行程序,如果还有很多错误,要一个一个地修改,即,每修改一处错误要运行一次程序。
第二步、照葫芦画瓢
在第一步输入的C程序的基础上进行试验性的修改,运行一下程序看一看程序结果发生了什么变化,分析结果变化的原因,加深新学知识点的理解。事实上这和第一步时同步进行的,实现“输入”加深知识的记忆,“修改”加深对知识的理解。记忆和理解是相辅相成的,相互促进。
例如:将最简单的Hello World!程序
#include "stdio.h"
int main()
{
printf("Hello World!\n");
return 0;
}
中的
printf("Hello World!\n");
中的Hello World!改成你的姓名,运行一下程序,看有什么变化?
再如求1+2+3...+100的和的程序
#include <stdio.h>
main()
{
int i,sum=0;
for(i=1;i<=100;i++)
{
sum=sum+i;
}
printf("sum=%d\n",sum);
}
第1次将for(i=1;i<=100;i++)中的100改成50,运行一下程序,看有什么变化?
第2次将for(i=1;i<=100;i++)中的i++改成i=i+2,运行一下程序,看有什么变化?
找出程序结果变化的原因,就加深了对C语句的理解。
第三步、不看教材看是否能将前两步的程序进行正确地输入并运行。
在这一步要求不看教材,即使程序不能运行,看能否将其改正,使其能正确运行。目的是对前两步的记忆、理解进一步强化。
第四步、增强程序的调试能力
在教材中每章都有C语言初学者易犯的错误,按照易出错的类型,将教材中的正确的程序改成错误的程序,运行一下程序,看出现的错误信息提示,并记下错误信息,再将程序改成正确的,运行一下程序。这样反复修改,就能够学习C语言程序发生错误的原因和修改错误的能力。
注意:每次只改错一个地方,目的是显示发生该错误的真正原因,避免一次改动多个地方,搞清发生错误的真正原因,切记!!!!
注意:上机调试程序时要带一个记录本,记下英文错误提示信息和解决该错误问题的方法,积累程序调试经验,避免在编程犯同样的错误,切记!!!!。
例如,将Hello World程序中语句
printf("Hello World!\n");
中的;改成中文的分号;
运行一下程序,看有什么结果?
调试程序是一种实践性很强的事,光纸上谈兵是是没用的,就像游泳运动员只听教练讲解示范,而不亲自下水练习,是永远学不会游泳的。
即使在优秀的程序员编写程序也会犯错误的,可能事最低级的语法错误,但他能快速发现错误并改正错误,而我们C语言初学者面对错误提示,不知道发生了什么错误,如何改正,这就事差别。
第五步、研究典型的C语言程序,提高程序设计能力
C语言初学者遇到最多的困惑是:上课也能听懂,书上的例题也能看明白,可是到自己动手做编程时,却不知道如何下手。发生这种现象的原因是:所谓的看懂听明白,只是很肤浅的语法知识,而没有深刻地理解C语言的语句的执行过程(或流程)。
计算机是按照人的指令(编写的程序)去执行的,如果不知道这些C语句在计算机中是如何执行的,你怎么回灵活运用这些知识去解决实际问题呢?
解决问题的方法是要先理解C语言各种语句的流程(即计算机是如何执行这些语句的过程),然后研读现成C语言经典程序,看懂别人事如何解决问题的,以提高自己的程序设计能力。
第六步、研究课程设计源成序,提高C语言的综合应用能力.
② 学习电脑编程过程中遇到的问题
首先,我想说的是,其实编程能力的高低和英语水平没有很大的关联。(如果,是想要做科研,算法研究等非一般人能完成的伟业,那么就需要有比较好的英文水平,因为可以读懂外国最新技术的原着)其次,我个人认为,VB不算是一个好的入门语言。因为它基本上是实现可视化编程,处在一个比较高的位置上,会将许多东西混杂在一起。(比如,函数,事件,消息)对于初学者而言,在一开始还是需要在细节上做做功夫。(比如,变量,常量,表达式,语句)最后,我建议你学习C语言吧。我当初,也是先学的VB然后发现自己什么都没有学会。直到后面学习C语言才会编程的。而且,你将来准备去软件学院,有C语言的基础会好一些。 就这样了,祝你成功。
③ 数控车床手工编程中几个常见问题的处理
随着数控技术的不断发展,数控机床的使用量越来越多,尤其在中小型企业和大型企业的修配车间,数控车床单件小批生产的情况也越来越多。而目前这些企业或车间生产零件往往是采用手工编程,刀具也往往是通用硬质合金或高速钢材料,其耐磨性相对不理想;操作人员在工作过程中大都要进行多次对刀、多次测量,从而多次设定刀补,工作量很大;对于一个零件多次装夹才能加工完成的,往往要使用多个程序,占用了系统的内存量;有的数控车床系统指令长时间不用,电器元件老化等原因造成到使用时可能会出现不能用的现象,也影响其使用寿命;编程人员对工件坐标系建立不当,加工质量有时难以得到保证;我在此仅根据自己多年的授课感受和在企业了解的情况,发现了一些关于数控车床编程中常见的几个问题,并总结出了一点相关规律,现陈述如下。
一、工艺问题
零件加工工艺的合理与否,直接反映和影响其加工质量,也要影响其生产率。不同的零件,其工艺不一样。例如加工顺序问题,如图所示零件,其基本加工顺序应为:
1.夹持右端(夹持长度50mm)车左端?25、?40及倒角达到要求;
2.以?25外圆和?40左端面定位车右端达到要求。
这样,满足了基准重合,既容易保证轴向尺寸要求,也容易满足同轴度要求。
其它工艺问题,这里不再赘述。
二、巧用G50(G92)与M00
灵活和巧妙使用G50(G92)与M00,既可以减少对刀次数,又可以减少程序数量,从而少用系统内存,也提高了生产率 。
如上图所示零件,车小端对刀端面Z坐标若设定为2(留2mm车端面),当车完后刀具走到(X50 Z37)点(第二对刀点)后使用M00,掉头可用G50(G92)设对刀点坐标:
G50(G92) X50 Z80
即可按下循环启动,无需再对刀,节约时间,以提高生产率,且只需一个程序就行了。如果中途不使用 G50(G92)与M00 或其它坐标设定,则需要两个程序才行。
下面谈谈第二对刀点Z坐标如何确定:
1.确定第一次装夹后,车了端面的露出总长度L1
2.确定第二次装夹厚露出总长度L2
3.计算L=L2-L1+a(a是刀具在对刀点处与工件间的安全距离)
4.第一次装夹后的坐标系中的Z坐标Z1+L即为第二对刀点在第一次装夹加工后应移动到的坐标值(Z1:第一对刀点的坐标值)
5.根据第二次装夹后的基准确定其G50的坐标值,如工件右端面为编程基准,Z为a;如卡盘端面为编程基准,Z为L2+a.,以此类推。
三、编程中基准的问题
编程基准应与设计基准重合,避免出现基准不重合误差,从而不进行尺寸链计算。
如上图所示零件,车右端应该以?40左端面为轴向(Z坐标)基准,否则除螺纹面和锥面两个长度尺寸以外,均需要进行尺寸链计算,有的尺寸很难达到图纸要求!
四、编程中绝对坐标与增量坐标的使用问题
合理使用绝对坐标与增量坐标可以在编程中简化计算和便于保证质量。
如上图所示零件,螺纹面与锥面的长度尺寸如果采用绝对坐标编程,需要进行尺寸链计算,增加了计算工作量,且难达到图纸要求,采用增量坐标就不需进行尺寸链计算了,也很容易达到要求。
五、编程中径向尺寸的确定
编程中径向尺寸的确定准确与否,在数控加工的手工编程过程中有着非常重要的意义。一方面影响操作人员的工作量,一方面又要影响生产率。我认为如果采用下述方法确定既可以减少因刀具磨损使操作人员多次进行刀补设定的工作量,又可以提高生产率。
1.如为自由公差,按基本尺寸计算坐标;
2.如有公差,按最小实体尺寸原则计算坐标;
1)外轮廓尺寸,按最小极限尺寸计算;
2)内轮廓尺寸,按最大极限尺寸计算。
六、系统中的指令代码问题与螺纹加工切入点问题
系统中每一个指令都有其特殊含义,在编程中,应根据加工性质采用合理的加工指令和合理的切入点(特别是螺纹加工的切入点),这对保证加工质量有着很重要的意义,这里就不多说了,下面以一个具体实例说明之。
综上所述,数控车床在单件小批生产中,只要把工艺解决好、编程基准选择好、基点坐标计算准确、绝对/增量坐标使用得当、对刀点指令使用灵活,既可以减轻操作人员的工作量,提高生产率,又可以使工件质量容易得到保证;编程时根据加工要求和系统指令特点,合理使用指令,既可以使加工质量容易得到保证,提高生产率,又可以使数控系统中的电器元件在工作中得到保养,提高其使用寿命。
④ 编程遇到的困难问题
你在看别人的代码的同时,要思考人家为什么要用这段代码,同样的,你也要了解这段代码有什么样的作用,能不能用其他的方法代替。就像楼上说的,同一个程序有多种不同的解决方法,你在敲完代码的时候要理解为什么用这样的方法,还要思考能不能用更简便的方法。我不知道你的C和C++知识掌握到什么程度了,不过目前你的状态就是缺少一种对知识的融会贯通,这个要看每个人的悟性了,多学多做,会慢慢改善你目前的情况的,只是时间长短而已
⑤ 初学编程的人一般会遇到的几个问题
对于一个初学编程的人来说,首先遇到的问题就是:(1)、在编写源程序过程中出现的各种语法错误。这种错误主要是由于刚刚开始学习编程,对编程语言的语句、以及语法结构还不是很清晰造成的,这种错误是最容易进行调试的,因为语法错误,编译器连编译都无法通过;(2)、当对初始编程较为熟练了、且语法错误较少了之后,之后就会遇到更为复杂、并且难于调试的语义错误。例如在 C 语言中,对于如下代码:
void main( )
{
int n ;
scanf("%d", &n) ;
if( n == 100)
printf(" n is 100 !\n") ;
else
printf(" n is not 100 !\n") ;
}
在逻辑判断语句:if( n == 100) 中,如果误将“==”(逻辑等于)写成了“=”(赋值等于),那么在 scanf("%d", &n) 语句中,无论你输入的 n 等于多少,一旦执行 if 语句,那么 将 100 这个数字赋给变量 n,则该逻辑表达式的值总是 1,程序的运行结果必定总是输出:n is 100。
而该程序的实际思路是:从键盘输入一个整数,如果该整数等于 100,则输出:n is 100 !
如果输入的整数不等于 100 的话,则输出:n is not 100 !
像这样的逻辑错误(在编译源程序时,C 语言编译器是检查不出来的),如果没有丰富的程序调试经验,程序调试起来就是非常困难的。
所以说,如果想学习编程,必须要勤于上机编辑、调试、运行程序,而不能够只是在书本上阅读程序。只有这样,才能够在较短的时间内,使自己的编程水平有一个较大的提高。
⑥ 我是一个学编程的学生,在学习的过程,遇到很多的问题,应该怎么样解决呢
一把而言使用调试功能逐条执行察看程序中变量的值
与自己预期的值作比较,发现不一样的就找到了症结之所在
也可以在程序中设print 之类,这样程序调试更快
慢慢积累,注意容易范错的位置!
⑦ 在java中常出现的异常和解决方法
1. java.lang.nullpointerexception
这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对象,这个错误经常出现在创建图片,调用数组这些操作中,比如图片未经初始化,或者图片创建时的路径错误等等。对数组操作中出现空指针,很多情况下是一些刚开始学习编程的朋友常犯的错误,即把数组的初始化和数组元素的初始化混淆起来了。数组的初始化是对数组分配需要的空间,而初始化后的数组,其中的元素并没有实例化,依然是空的,所以还需要对每个元素都进行初始化(如果要调用的话)
2. java.lang.classnotfoundexception
这个异常是很多原本在jb等开发环境中开发的程序员,把jb下的程序包放在wtk下编译经常出现的问题,异常的解释是"指定的类不存在",这里主要考虑一下类的名称和路径是否正确即可,如果是在jb下做的程序包,一般都是默认加上package的,所以转到wtk下后要注意把package的路径加上。
3. java.lang.arithmeticexception
这个异常的解释是"数学运算异常",比如程序中出现了除以零这样的运算就会出这样的异常,对这种异常,大家就要好好检查一下自己程序中涉及到数学运算的地方,公式是不是有不妥了。
4. java.lang.
这个异常相信很多朋友也经常遇到过,异常的解释是"数组下标越界",现在程序中大多都有对数组的操作,因此在调用数组的时候一定要认真检查,看自己调用的下标是不是超出了数组的范围,一般来说,显示(即直接用常数当下标)调用不太容易出这样的错,但隐式(即用变量表示下标)调用就经常出错了,还有一种情况,是程序中定义的数组的长度是通过某些特定方法决定的,不是事先声明的,这个时候,最好先查看一下数组的length,以免出现这个异常。
5. java.lang.illegalargumentexception
这个异常的解释是"方法的参数错误",很多j2me的类库中的方法在一些情况下都会引发这样的错误,比如音量调节方法中的音量参数如果写成负数就会出现这个异常,再比如g.setcolor(int red,int green,int blue)这个方法中的三个值,如果有超过255的也会出现这个异常,因此一旦发现这个异常,我们要做的,就是赶紧去检查一下方法调用中的参数传递是不是出现了错误。
6. java.lang.illegalaccessexception
这个异常的解释是"没有访问权限",当应用程序要调用一个类,但当前的方法即没有对该类的访问权限便会出现这个异常。对程序中用了package的情况下要注意这个异常。
其他还有很多异常,我就不一一列举了,我要说明的是,一个合格的程序员,需要对程序中常见的问题有相当的了解和相应的解决办法,否则仅仅停留在写程序而不会改程序的话,会极大影响到自己的开发的。关于异常的全部说明,在api里都可以查阅。
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
java.lang.AbstractMethodError
抽象方法错误。当应用试图调用抽象方法时抛出。
java.lang.AssertionError
断言错。用来指示一个断言失败的情况。
java.lang.ClassCircularityError
类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。
java.lang.ClassFormatError
类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。
java.lang.Error
错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。
java.lang.ExceptionInInitializerError
初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。
java.lang.IllegalAccessError
违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。
java.lang.IncompatibleClassChangeError
不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。
java.lang.InstantiationError
实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.
java.lang.InternalError
内部错误。用于指示Java虚拟机发生了内部错误。
java.lang.LinkageError
链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。
java.lang.NoClassDefFoundError
未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。
java.lang.NoSuchFieldError
域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。
java.lang.NoSuchMethodError
方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。
java.lang.OutOfMemoryError
内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。
java.lang.StackOverflowError
堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。
java.lang.ThreadDeath
线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。
java.lang.UnknownError
未知错误。用于指示Java虚拟机发生了未知严重错误的情况。
java.lang.UnsatisfiedLinkError
未满足的链接错误。当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。
java.lang.UnsupportedClassVersionError
不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。
java.lang.VerifyError
验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。
java.lang.VirtualMachineError
虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。
java.lang.ArithmeticException
算术条件异常。譬如:整数除零等。
java.lang.
数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
java.lang.ArrayStoreException
数组存储异常。当向数组中存放非数组声明类型对象时抛出。
java.lang.ClassCastException
类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。
java.lang.ClassNotFoundException
找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。
java.lang.CloneNotSupportedException
不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。
java.lang.
枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。
java.lang.Exception
根异常。用以描述应用程序希望捕获的情况。
java.lang.IllegalAccessException
违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。
java.lang.IllegalMonitorStateException
违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。
java.lang.IllegalStateException
违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。
java.lang.IllegalThreadStateException
违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。
java.lang.IndexOutOfBoundsException
索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。
java.lang.InstantiationException
实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。
java.lang.InterruptedException
被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。
java.lang.NegativeArraySizeException
数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。
java.lang.NoSuchFieldException
属性不存在异常。当访问某个类的不存在的属性时抛出该异常。
java.lang.NoSuchMethodException
方法不存在异常。当访问某个类的不存在的方法时抛出该异常。
java.lang.NullPointerException
空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。
java.lang.NumberFormatException
数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。
java.lang.RuntimeException
运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。
java.lang.SecurityException
安全异常。由安全管理器抛出,用于指示违反安全情况的异常。
java.lang.
字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。
java.lang.TypeNotPresentException
类型不存在异常。当应用试图
⑧ 关于C语言编程过程中遇到的问题
#include<stdio.h>
char xianshi[4] = {'+','-','*','/'}; /*定义一个存放符号的数组*/
float jisuan(int i, float a, float b)/*完成对a,b之间的i运算*/
{
switch(i)
{
case 0: return a+b;
case 1: return a-b;
case 2: return a*b;
case 3: return a/b;//此处b不为0的情况未处理
}
}
int shuch(int a,int b,int c,int d) /*完成对四个数字的运算,并且把结果输出*/
{
int i,j,k,shuchu[4],zhongjian1,zhongjian2;
double zhongjian3;
shuchu[0]=a;shuchu[1]=b;shuchu[2]=c;shuchu[3]=d;
for(i=0;i<=3;i++)
{
zhongjian1=jisuan(i,shuchu[0],shuchu[1]);
for(j=0;j<=3;j++)
{
zhongjian2=jisuan(j,zhongjian1,shuchu[2]);
for(k=0;k<=3;k++)
{
zhongjian3=jisuan(k,zhongjian2,shuchu[3]);
printf("%d %c %d %c %d %c %d=%f\n",shuchu[0],xianshi[i],shuchu[1],xianshi[j],
shuchu[2],xianshi[k],shuchu[3],zhongjian3);
}
}
}
return 0;
}
main ()
{int js=0;
//这一段实现对四个数字的12种排列
js=js+1;
int shuru[] = {5,2,5,3};
shuch(shuru[0],shuru[1],shuru[2],shuru[3]);/*调用函数*/
//这一段实现对最后两个数字的交换
js=js+1;//同上一样,调用函数
printf("%d\n",js);
}
我还是未能完全明白你的意思,我大致猜测了你的意图,修改了一下程序,但并没有发现js有何异常,希望能对你起到一定帮助
⑨ c语言编程方面的问题应该如何解决
1、学习方法:基本掌握面向过程程序设计的基本思路和方法。
2、达到熟练掌握C语言的基本知识和技能。
3、能够利用所学的基本知识和技能,解决简单的程序设计问题。