VerilogHDL经典程序非常适合新手

VerilogHDL经典程序非常适合新手
VerilogHDL经典程序非常适合新手

一、2线-4线译码器

module counter4(q1,q0,ncr,cp);

input cp,ncr;

output q1,q0;

reg q1,q0;

always@(posedge cp or negedge ncr) begin

if(~ncr){q1,q0}<=2'b00;

else{q1,q0}<={q1,q0}+1'b1;

end

endmodule

二、4选1数据选择器

module selector4_1(i0,i1,i2,i3,a1,a0,y); input i0,i1,i2,i3,a1,a0;

output y;

reg y;

always@(a1or a0)

begin

case({a1,a0})

2'b00:y=i0;

2'b01:y=i1;

2'b10:y=i2;

2'b11:y=i3;

default:y=0;

一、2线-4线译码器

module counter4(q1,q0,ncr,cp);

input cp,ncr;

output q1,q0;

reg q1,q0;

always@(posedge cp or negedge ncr) begin

if(~ncr){q1,q0}<=2'b00;

else{q1,q0}<={q1,q0}+1'b1;

end

endmodule

二、4选1数据选择器

module selector4_1(i0,i1,i2,i3,a1,a0,y); input i0,i1,i2,i3,a1,a0;

output y;

reg y;

always@(a1or a0)

begin

case({a1,a0})

2'b00:y=i0;

2'b01:y=i1;

2'b10:y=i2;

2'b11:y=i3;

default:y=0;

endcase

end

endmodule

三、8线-3线优先编码器module encoder8_3(i,y,ei,eo,gs); input[7:0]i;

input ei;

output[2:0]y;

output eo;

output gs;

reg[2:0]y;

reg eo,gs;

always@(ei or i)

begin

if(ei==1'b1)

begin

{y,eo,gs}=5'b111_11;

end

else if(i[7:0]==8'b1111_1111) begin

{y,eo,gs}=5'b111_01;

end

else if(i[7]==1'b0)

begin

{y,eo,gs}=5'b000_10;

end

else if(i[6]==1'b0)

begin

{y,eo,gs}=5'b001_10;

end

else if(i[5]==1'b0)

begin

{y,eo,gs}=5'b010_10;

end

else if(i[4]==1'b0)

begin

{y,eo,gs}=5'b011_10;

end

else if(i[3]==1'b0)

begin

{y,eo,gs}=5'b100_10;

end

else if(i[2]==1'b0)

begin

{y,eo,gs}=5'b101_10;

end

else if(i[1]==1'b0)

begin

{y,eo,gs}=5'b110_10;

end

else if(i[0]==1'b0)

begin

{y,eo,gs}=5'b111_10;

end

end

endmodule

四、模10加法计数器和一个时钟10分频电路

1、模10加法计数器cnt_10的Verilog代码module count_10(clk,reset,dout);

input clk;

input reset;

output[3:0]dout;

reg[3:0]dout;

always@(posedge clk or negedge reset)

begin

if(~reset)

dout<=4'b0000;

else

if(dout<4'b1001)

dout<=dout+1;

else

if(dout==4'b1001)

dout<=4'b0000;

end

endmodule

2、10分频模块fenpin_10的Verilog代码module fenpin_10(clk_in,reset,clk_out); input clk_in;

input reset;

output[0:0]clk_out;

reg[0:0]clk_out;

reg[3:0]count;

always@(posedge clk_in or negedge reset) begin

if(~reset)

count<=4'b0000;

else

if(count<4'b1001)

count<=count+1;

else

if(count==4'b1001)

begin

count<=4'b0000;

clk_out<=~clk_out;

end

end

endmodule

五、10110101序列发生器module generator(clk,

endcase

end

endmodule

三、8线-3线优先编码器module encoder8_3(i,y,ei,eo,gs); input[7:0]i;

input ei;

output[2:0]y;

output eo;

output gs;

reg[2:0]y;

reg eo,gs;

always@(ei or i)

begin

if(ei==1'b1)

begin

{y,eo,gs}=5'b111_11;

end

else if(i[7:0]==8'b1111_1111) begin

{y,eo,gs}=5'b111_01;

end

else if(i[7]==1'b0)

begin

{y,eo,gs}=5'b000_10;

end

else if(i[6]==1'b0)

begin

{y,eo,gs}=5'b001_10;

else if(i[5]==1'b0)

begin

{y,eo,gs}=5'b010_10;

end

else if(i[4]==1'b0)

begin

{y,eo,gs}=5'b011_10;

end

else if(i[3]==1'b0)

begin

{y,eo,gs}=5'b100_10;

end

else if(i[2]==1'b0)

begin

{y,eo,gs}=5'b101_10;

end

else if(i[1]==1'b0)

begin

{y,eo,gs}=5'b110_10;

end

else if(i[0]==1'b0)

begin

{y,eo,gs}=5'b111_10;

end

end

endmodule

四、模10加法计数器和一个时钟10分频电路

1、模10加法计数器cnt_10的Verilog代码module count_10(clk,reset,dout);

input clk;

input reset;

output[3:0]dout;

reg[3:0]dout;

always@(posedge clk or negedge reset)

begin

if(~reset)

dout<=4'b0000;

else

if(dout<4'b1001)

dout<=dout+1;

else

if(dout==4'b1001)

dout<=4'b0000;

endmodule

2、10分频模块fenpin_10的Verilog代码module fenpin_10(clk_in,reset,clk_out); input clk_in;

input reset;

output[0:0]clk_out;

reg[0:0]clk_out;

reg[3:0]count;

always@(posedge clk_in or negedge reset) begin

if(~reset)

count<=4'b0000;

else

if(count<4'b1001)

count<=count+1;

else

if(count==4'b1001)

begin

count<=4'b0000;

clk_out<=~clk_out;

end

end

endmodule

五、10110101序列发生器

module generator(clk,

clr,

dout);

input clk;

input clr;

output dout;

reg dout;

reg[7:0]temp;

always@(posedge clk or negedge clr) begin

if(~clr)

begin

dout<=1'b0;

temp<=8'b10110101;

end

else

begin

temp<=temp<<1;

temp[0]<=temp[7];

dout<=temp[7];

end

end

endmodule

六、利用状态机设计一个1011序列检测器module detec1101(clk,reset,din,get1101); input clk;

input reset;

input din;

output get1101;

reg get1101;

reg[2:0]current_state;

reg[2:0]next_state;

parameter IDLE=3'b000,

S1=3'b001,

S2=3'b010,

S3=3'b100,

s4=3'b100;

always@(posedge clk or negedge reset)

begin

if(~reset)

current_state<=IDLE;

else

current_state<=next_state;

end

always@(din or current_state or next_state)

begin

next_state=3'b111;

case(current_state)

IDLE:next_state=(din==1'b1)?S1:IDLE;

S1:next_state=(din==1'b1)?S2:IDLE;

S2:next_state=(din==1'b1)?S2:S3;

S3:next_state=(din==1'b1)?s4:IDLE;

s4:next_state=(din==1'b1)?S1:IDLE;

default:next_state=IDLE;

endcase

end

always@(posedge clk)

begin

case(next_state)

s4:get1101<=1'b1;

IDLE,S1,S2,S3:get1101<=1'b0;

default:get1101<=1'b0;

endcase

end endmodule

java经典编程题二及详细答案

2.1上机练习 ?基本题 1)编程观察如下输出语句: System.out.println("hello test escape char"); 在“escape”处换上各种转义字符测试输出效果。如何实现如下输出: Hello "test" Hello ‘\test’ 2)设有如下代码段,考虑赋值转换问题: int a=234; byte b=a; System.out.println("a=" a ",b=" b); 将a,b的类型以及数据进行各种替换,观察什么时候能赋值,什么时候需要使用强制转换,什么时候不能强制转换,什么时候强制转换会丢失数据。 3) 编写一个程序求半径R为10的圆的面积,结果保留2为有效小数。公式为:S=πR2 注:π可用Math类的常量PI表示(即Math.PI)。保留小数请查阅DecimalFormat类?提高题 1)设有一个边长为30的等边三角形,三角形内有一个内切圆,计算除内切圆外三角形内其它部分的面积。 【提示】先算三角形面积,再计算圆的面积,其差即为结果。h是等边三角形的高,内切圆的半径r=h/3,面积s=πh?/9。 2)调试分析以下程序的运行结果: public class test { public static void main(String a[]) { int m=10,n=517; System.out.println(n % m); System.out.println(n / m); System.out.println(m >> 2); System.out.println(m & n); System.out.println(Integer.toBinaryString(m)); System.out.println(Integer.toBinaryString(m >> 2)); } } 注意:Integer.toBinaryString(int)用于将一个整数转化为二进制形式的数字串。在进行位运算

dev c++ 的使用方法汇总

导读 1、什么是Dev-C++? 它是C程序的可视化集成编译环境(IDE),并且它是免费的,您可以去它的官方网站htt p://https://www.360docs.net/doc/1f4118138.html,去下载它的最新版本。它只不过是DELPHI编写的窗口环境(就连作者本人都觉得这是个讽刺),本质是起编译作用的是GCC。 2、听说Microsoft Vistual C++也能胜任C语言编程,为什么不用它? 如果你要编写WINDOWS的软件,并且有银子,那就用吧。如果你和我一样讨厌WINDO WS的东西,暂且用DEV C++,将来可以用GCC。我悄悄的告诉你,微软的程序员在研发Microsoft Vistual C++过程中,用的也是类似于GCC命令行下的东西。 3、安装Dev C++,语言选择中文后,就出现乱码,这是怎么回事? 怎么,您不会英文?请直接选择ENGLISH,这是学习编程最起码的要求。 以下内容来源于https://www.360docs.net/doc/1f4118138.html,/faq.html,我仅仅是翻译,您最好阅读原文。 1、当我编译并执行DOS程序时,DEV会最小化、恢复后什么也没显示。 当建立一个命令行程序时,请确认没有Project-Options中没有选择Do not create a console. 2、当运行DOS程序时,它会自动关闭,如何改善? #include int main() { system(“PAUSE”); return 0; }/*请应用上述代码。小样,看你还自动关闭吗*/ 3、在连接后,我得到了错误信息“C:\DEV-C++\LIB\\libmingw32.a(main.o)(.text +0x8e): undefined reference to `WinMain@16' 你可能没有定义main() 函数,否则,请重新编译。 4、当我打开Dev-C++ 时,提示“没有找到WININET.DLL”你可以到这里下载相应的缺失文件https://www.360docs.net/doc/1f4118138.html,/supfiles.htm 5、当我编译文件时,提示没有找到“

计算机专业学生必读的经典书籍

1.UNIX环境高级编程(第2版)(美),史蒂文斯,拉戈著尤晋元,张亚英,戚正伟译出版日期2006010 2.数据结构与算法分析:C语言描述(原书第2版)(美)Mark Allen Weiss 出版社:机械工业出版社出版时间:2004 3.TCP/IP 详解(卷1:协议).作者:(美)史蒂文斯(W.Richard Stevens)著,范建华等译 4.设计模式可复用面向对象软件的基础 5.机器学习(美)米歇尔(Mitchell,T.M.)著;曾华军等译 6.C++程序设计语言(特别版)十周年中文纪念版 7.Java语言程序设计:基础篇 8.计算机程序的构造和解释:原书第2版 9.重构: 改善既有代码的设计: 英文注释版 10.编程珠玑(第2版)图灵程序设计丛书人民邮电出版社(中英文) 11.Linux命令行与Shell脚本编程大全 12.Python基础教程(第2版) 13.C语言程序设计:现代方法(第2版) 14.嵌入式Linux基础教程 15.Linux/Unix设计思想 16.Linux程序设计/(英) Neil Matthew, Richard Stones(第四版) 17.《linux系统管理技术手册》作者(美)Evi Nemeth 人民邮电出版社 18.离散数学及其应用(原书第6版) 19.深入理解计算机系统(原书第2版) 20.图灵程序设计丛书:程序员的数学 21.iOS 6编程实战 22.PHP与MySQL程序设计(第4版) 23.iOS 5基础教程 24.JavaScript高级程序设计 25.精通C/C++,熟悉linux编程环境; 26.熟练使用多种脚本语言(shell/python); 27.具备系统架构设计经验,熟悉Web前后台技术; 28.C基础扎实,数据结构等基础知识掌握牢固 29.熟悉Linux/Shell开发 30.精通Linux平台上的C/C++语言编程,熟悉shell编程; 31.精通Linux/Unix平台上C/C++语言编程; 32.熟悉至少一门脚本语言:Shell、Perl或Python; 33.熟悉TCP/IP协议、ARM的基本知识; 34.熟悉Linux系统开发环境及常用脚本语言 35.精通PHP+MYSQL的开发技术;

DevC使用说明

附录3D e v-C++操作手册 Dev-C++是一个可视化集成开发环境,可以用此软件实现C/C++程序的编辑、编译、链接、运行和调试。本手册中介绍了Dev-C++常用的一些基本操作,包括创建、编译、链接、运行和调试C源程序和C工程,希望每一位读者都要熟练掌握。 1.启动Dev-C++ 方法一: 1.首先鼠标点击任务栏中的“开始”按钮,选择“程序”菜单项,然后选“程序”下的子菜单项“BloodshedDev-C++”项,显示该项下的子菜单。 2.单击”Dev-C++”菜单项,即可启动Dev-C++集成开发工具。(如图1所示) 图1启动Dev-C++ 方法二: 我们也可以通过直接单击桌面上的Dev-C++的图标来启动该开发工具。 2.新建源程序 1.要新建一个源程序,可以从主菜单选择“File”->“New”->“SourceFile”(中文环境下为“文件”->“新建”->“源代码”)即可(如下图2所示)。 图2新建源程序 如果大家看到界面上的字是中文的,则可以根据以下操作将界面改为英文。点击主菜单“工具”->”环境选项”,在弹出的对话框中选择“界面”页,在Language下拉列表中选择“English”即可,如下图3所示。此时界面上的菜单、工具条等就会全部显示其英文命名。 图3更改界面语言 2.此时屏幕右下侧出现一片白色区域,可以在此输入新的程序。如下图4所示。

菜单 工具栏 源程序编辑区域 输出标签页 图4Dev-C++开发环境功能布局 3.保存源程序到硬盘。 一个好的习惯是创建了一个新程序后,在还未输入代码之前先将该程序保存到硬盘某个目录下,然后在程序的编辑过程中我们也要经常性地保存程序,以防止机器突然断电或者死机导致工作成果丢失。要保存程序,只需从主菜单选择“File”->”Save”就可以将文件保存到指定的硬盘目录。如图5所示。 图5保存文件 此时会弹出一个对话框,如图6所示。在此我们需要指定文件要存放的目录(此处为F:\temp),文件名称(此处为test)以及保存类型(此处为*.c)。需要注意的是,在保存类型处一定要选择“Csourcefiles(*.c)”,意思是保存的是一个C文件。在点击右下角的保存按钮后,在temp目录下将会出现一个名为test.c的C源文件。 图6指定要保存文件的路径和名字 对于刚创建且未进行任何编辑的程序,主菜单的“File”->”Save”菜单是灰色的,此时需要从主菜单选择“File”->”SaveAs”来保存;此外,对于正在编辑的程序,如果你想对其进行重新命名或者将其保存到另一个磁盘目录下,也可以用“File”->”SaveAs”菜单,如图7所示。 图7使用SaveAs保存文件 4.在程序编辑区域编辑程序。 如图8所示。在输入程序的过程中记得要随时对程序进行保存(使用菜单“File”->”Save”,或者用组合键Ctrl+s),此时会将程序以相同名字重新保存到之前指定的目录下,如F:\temp,覆盖掉之前的同名文件。

java经典小程序,java入门100例!

1,编写程序,判断给定的某个年份是否是闰年。 闰年的判断规则如下: (1)若某个年份能被4整除但不能被100整除,则是闰年。 (2)若某个年份能被400整除,则也是闰年。 import java.util.Scanner; class Bissextile{ public static void main(String[] arge){ System.out.print("请输入年份"); int year; //定义输入的年份名字为“year” Scanner scanner = new Scanner(System.in); year = scanner.nextInt(); if (year<0||year>3000){ System.out.println("年份有误,程序退出!"); System.exit(0); } if ((year%4==0)&&(year%100!=0)||(year%400==0)) System.out.println(year+" is bissextile"); else System.out.println(year+" is not bissextile "); } } 2,给定一个百分制的分数,输出相应的等级。 90分以上A级 80~89 B级 70~79 C级 60~69 D级 60分以下E级 import java.util.Scanner; class Mark{ public static void main(String[] args){ System.out.println("请输入一个分数"); //定义输入的分数为“mark”,且分数会有小数 double mark; Scanner scanner = new Scanner(System.in); mark = scanner.nextDouble(); //判断是否有输入错误。 if(mark<0||mark>100){

JAVA编程不得不看的几本经典书籍

为了帮助对java编程感兴趣的同学更好、更快的提高编程技术,武汉北大青鸟光谷校区专业老师在此推荐几本学习编程非常有用的书籍,以供大家参考。 入门类 1.《java从入门到精通》(第3版) 【内容介绍】 本书从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java 语言进行程序开发应该掌握的各方面技术。全书共分28章,包括:初识Java,熟悉Eclipse 开发工具,Java 语言基础,流程控制,字符串,数组,类和对象,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,Swing程序设计,集合类,I/O输入输出,反射,枚举类型与泛型,多线程,网络通信,数据库操作,Swing表格组件,Swing树组件,Swing其他高级组件,高级布局管理器,高级事件处理,AWT绘图与音频播放,打印技术和企业进销存管理系统等。所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。 【推荐理由】 本书内容详尽,实例丰富,非常适合作为编程初学者的学习用书,也适合作为开发人员的查阅、参考资料。 2.《java核心技术卷一》 【内容介绍】 本书是Java技术经典参考书,多年畅销不衰,第7版在保留以前版本风格的基础上,涵盖Java2开发平台标准版J2SE5.0的基础知识,主要内容包括面各对象程序设计、反射与代理、接口与内部类、事件监听器模型、使用Swing UI工具箱进行图形用户界面设计,异常处理、流输入/输出和对象序列化、泛型程序设计等。本书内容翔实、深入浅出,附有大量程序实例,极具实用价值,是Java初学者和Java程序员的必备参考书。 【推荐理由】 本书出版以来,深受广大读者的喜爱,它全面介绍了Java SE的基础知识,不但具有使用价值,而且易于阅读,易理解,它必成为想进军Java和基础薄弱同学的不二之选。 3.《java编程语言》 【内容介绍】 本书以Java语言创建者的独特视角向读者展现了为什么以及如何使用Java语言,以便读者理解Java语言的基本设计目标以及它在现实世界中的应用。本书介绍的是Java语言的

Java经典编程题50道

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一 对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出所有的"水仙花数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: 153是一个"水仙花数",因为153=1的三次方+5的三次方+3的三次方。 1.程序分析:利用for循环控制100-999个数,每个数分解出个位,十位,百位。 【程序4】 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 程序分析:对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成: (1)如果这个质数恰等于n,则说明分解质因数的过程已经结束,打印出即可。 (2)如果n<>k,但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数你n,重复执行第一步。 (3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。 【程序5】 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下 的用C表示。 1.程序分析:(a>b)?a:b这是条件运算符的基本例子。 【程序6】 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 1.程序分析:利用辗除法。 【程序7】 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 1.程序分析:利用while语句,条件为输入的字符不为'\n'. 【程序8】 题目:求s=a+aa+aaa+aaaa+aa...a的值,其中a是一个数字。例如2+22+222+2222+22222(此时共有5个数相加), 几个数相加有键盘控制。 1.程序分析:关键是计算出每一项的值。 【程序9】

dev c++使用方法

Dev-C++非官方中文入门教程收藏 Dev-C++非官方中文入门教程 前言 本教程仅仅是为了C语言入门者(暂时不涉及C++),并且假设我的读者只有中学文化。我将近可能少用术语,让你轻松理解。C很灵活,有时候用A、B两种方法都可达到目的,但我要告诉你用A方法的好处,用B方法的坏处。 与我的读者一起共勉! 导读 1、什么是Dev-C++? 它是C程序的可视化集成编译环境(IDE),并且它是免费的,您可以去它的官方网站htt p://https://www.360docs.net/doc/1f4118138.html,去下载它的最新版本。它只不过是DELPHI编写的窗口环境(就连作者本人都觉得这是个讽刺),本质是起编译作用的是GCC。 2、听说Microsoft Vistual C++也能胜任C语言编程,为什么不用它? 如果你要编写WINDOWS的软件,并且有银子,那就用吧。如果你和我一样讨厌WINDO WS的东西,暂且用DEV C++,将来可以用GCC。我悄悄的告诉你,微软的程序员在研发Microsoft Vistual C++过程中,用的也是类似于GCC命令行下的东西。 3、安装Dev C++,语言选择中文后,就出现乱码,这是怎么回事? 怎么,您不会英文?请直接选择ENGLISH,这是学习编程最起码的要求。 以下内容来源于https://www.360docs.net/doc/1f4118138.html,/faq.html,我仅仅是翻译,您最好阅读原文。 1、当我编译并执行DOS程序时,DEV会最小化、恢复后什么也没显示。 当建立一个命令行程序时,请确认没有Project-Options中没有选择Do not create a console. 2、当运行DOS程序时,它会自动关闭,如何改善? #include int main() { system(“PAUSE”); return 0;

各种计算机语言经典书籍

各种计算机语言的经典书籍 1、Java Java编程语言(第三版)---Java四大名著----James Gosling(Java之父) Java编程思想(第2版)----Java四大名著----Bruce Eckel Java编程思想(第3版)----Java四大名著----------------Bruce Eckel JAVA 2核心技术卷I:基础知识(原书第7版)---Java四大名著-----Cay Horstmann JAVA 2核心技术卷II:高级特性(原书第7版)----Java四大名著-----Cay Horstmann Effective Java中文版------Java四大名著--------Joshua Bloch 精通Struts:基于MVC的Java Web设计与开发---孙卫琴 精通Hibernate:Java对象持久化技术详解---孙卫琴 Tomcat与Java Web开发技术详解------------孙卫琴 Java与模式------------------------------阎宏 2、c# C#程序设计-------Charles Petzold“windows编程泰山北斗”---C#语言“倚天屠龙双剑” C# Primer中文版--------Stanley B.Lippman---C#语言“倚天屠龙双剑” 编程泰山北斗”https://www.360docs.net/doc/1f4118138.html,平台四大.NET框架程序设计(修订版)--------Jeffrey Richter“windows 天王 编程泰山北斗”https://www.360docs.net/doc/1f4118138.html,平台四大天王c#Windows程序设计----------Charles Petzold“windows .NET程序设计技术内幕-------------Jeff https://www.360docs.net/doc/1f4118138.html,平台四大天王 .NET本质论--第1卷:公共语言运行库(中文版)--------Chris https://www.360docs.net/doc/1f4118138.html,平台四大天王 3、C++

JAVA算法100例_全源码

JA V A经典算法40题 【程序1】题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... public class exp2{ public static void main(String args[]){ int i=0; for(i=1;i<=20;i++) System.out.println(f(i)); } public static int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 或 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=1;i<=20;i++) System.out.println(mymath.f(i)); } } class math { public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } } 【程序2】题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 public class exp2{ public static void main(String args[]){ int i=0; math mymath = new math(); for(i=2;i<=200;i++) if(mymath.iszhishu(i)==true) System.out.println(i); } } class math { public int f(int x) { if(x==1 || x==2) return 1; else return f(x-1)+f(x-2); } public boolean iszhishu(int x) { for(int i=2;i<=x/2;i++) if (x % 2==0 ) return false; return true;

Dev-C 非官方中文入门教程

Dev-C++非官方中文入门教程 Dev-C++非官方中文入门教程 前言 本教程仅仅是为了C语言入门者(暂时不涉及C++),并且假设我的读者只有中学文化。我将近可能少用术语,让你轻松理解。C很灵活,有时候用A、B两种方法都可达到目的,但我要告诉你用A方法的好处,用B方法的坏处。 与我的读者一起共勉! 导读 1、什么是Dev-C++? 它是C程序的可视化集成编译环境(IDE),并且它是免费的,您可以去它的官方网站https://www.360docs.net/doc/1f4118138.html,去下载它的最新版本。它只不过是DELPHI编写的窗口环境(就连作者本人都觉得这是个讽刺),本质是起编译作用的是GCC。 2、听说Microsoft Vistual C++也能胜任C语言编程,为什么不用它? 如果你要编写WINDOWS的软件,并且有银子,那就用吧。如果你和我一样讨厌WINDOWS的东西,暂且用DEV C++,将来可以用GCC。我悄悄的告诉你,微软的程序员在研发Microsoft Vistual C++过程中,用的也是类似于GCC命令行下的东西。

3、安装Dev C++,语言选择中文后,就出现乱码,这是怎么回事? 怎么,您不会英文?请直接选择ENGLISH,这是学习编程最起码的要求。 以下内容来源于https://www.360docs.net/doc/1f4118138.html,/faq.html,我仅仅是翻译,您最好阅读原文。 1、当我编译并执行DOS程序时,DEV会最小化、恢复后什么也没显示。 当建立一个命令行程序时,请确认没有Project-Options中没有选择Do not create a console. 2、当运行DOS程序时,它会自动关闭,如何改善? #include <stdlib.h> int main() { system(“PAUSE”); return 0; }/*请应用上述代码。小样,看你还自动关闭吗*/ 3、在连接后,我得到了错误信息 “C:/DEV-C++/LIB//libmingw32.a(main.o)(.text+0x8e): undefined reference to `WinMain@16' 你可能没有定义main() 函数,否则,请重新编译。 4、当我打开Dev-C++ 时,提示“没有找到WININET.DLL”

devcpp-使用手册

Dev-C++简明使用手册 Dev-C++是一个可视化集成开发环境,可以用此软件实现C/C++程序的编辑、预处理/编译/链接、运行和调试。本手册中介绍了Dev-C++常用的一些基本操作,每一位同学都要掌握。 一.启动Dev-C++ 方法一: 1. 鼠标点击任务栏中的“开始”按钮,选“程序”菜单项,然后选“程序”下的子菜单项 “Bloodshed Dev-C++”项,显示该项下的子菜单。 2. 单击”Dev-C ++”菜单项,即可启动Dev-C ++集成开发工具。(如图1所示) 图1 方法二: 直接单击桌面上的Dev-C++的图标。 二.新建源程序 1.从主菜单选择“File”—〉“New”—〉“Source File”(“文件”—〉“新建”—〉“源代码”)即可(如下图2所示)。

图2 如果大家看到界面上的字是中文的,则可以根据以下操作将界面改为英文。点击主菜单“工具”->”环境选项”,在弹出的对话框中选择界面页,在Language下拉列表中选择Chinese 即可,如下图所示。此时界面上的菜单、工具条等全部以英文命名。 2.此时屏幕右下侧出现一片白色区域,可以在此输入程序。如下图3所示。

菜单 工具栏 源程序编辑区域 输出标签页 图3 3.保存源程序到硬盘 一个好的习惯是创建了一个新程序后,在还未输入代码之前先将该程序保存到硬盘某个目录下,然后在程序的编辑过程中经常性地保存程序,以防止机器突然断电或者死机。要保存程序,只需从主菜单选择“File”—〉”Save”就可以将文件保存到指定的硬盘目录。如图4所示。 图4 此时会弹出一个对话框,如图5所示。在此你需要指定文件要存放的目录(此处为F:\temp),文件名称(此处为test)以及保存类型。需要注意的是,在保存类型处一定要选择 C source

Dev C++调试方法

Dev-C++ 调试方法简明图文教程 来源:蚂蚁的C/C++ 标准编程作者:antigloss 等级:精品 发布于2006-12-07 22:43 被读27065次【字体:大中小】 1. 把“生成调试信息”设置为 Yes。方法如下: Tools(工具) --> Compiler Options(编译器选项) --> Settings(设置) 2. 编译程序。请参考: Dev-C++ 安装&使用教程 Dev-C++ 编译多文件程序的方法 3. 设置断点(Break point) 把光标移动到您想暂停执行的那一行,按 ctrl + F5,或者直接用鼠标点击下图红线标明的区域。

4. 开始调试(Debug) 按 F8 开始调试。如果您没有把“生成调试信息”设置为 Yes,Dev-C++ 会提示说您的工程中没有调试信息。 点击 Yes,Dev-C++ 会自动把“生成调试信息”设置为 Yes,并且重新编译您的工程。程序运行到断点处会暂停:

按 F7 执行当前行,并跳到下一行:

ctrl + F7 跳到下一断点,shift + F4 跳到光标所在行,并在该行设置断点。 5. 查看变量的值 开始调试后,在图示区域按右键(如果您使用的是左手习惯,则是左键),选择“添加监测(Add Watch)”;或者直接按 F4。在弹出窗口中输入您想查看的变量名,然后按确定(OK),就可以看到该变量的值:

用鼠标选择源文件中的变量名,然后按 F4 也可以查看变量的值,该变量会出现在左边的监测列表中:

如果您在环境选项(Environment Options)中选择了“通过鼠标监测变量(Watch variable under mouse)”,用鼠标指向您想要查看的变量一段时间,该变量也会被添加到监测列表中。 重要提示: 1).当您想查看指针指向的变量的值的时候,按 F4,然后输入星号及指针的名字(如*pointer)。 如果没加 *,看到的将会是一个地址,也就是指针的值。 2).有时,调试器(Debugger)可能不知道某个指针的类型,从而不能显示该指针指向的变量的值。 此时,我们需要手动输入该指针的类型。按 F4 后,以*(type *)pointer形式输入。例如, *(int *)pointer。 本文版权归蚂蚁的 C/C++ 标准编程以及作

JAVA编程实例大全及详解答案(50例)

JA V A编程实例大全及详解答案(50例) 【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? //这是一个菲波拉契数列问题 public class lianxi01 { public static void main(String[] args) { System.out.println("第1个月的兔子对数: 1"); System.out.println("第2个月的兔子对数: 1"); int f1 = 1, f2 = 1, f, M=24; for(int i=3; i<=M; i++) { f = f2; f2 = f1 + f2; f1 = f; System.out.println("第" + i +"个月的兔子对数: "+f2); } } } 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除,则表明此数不是素数,反之是素数。 public class lianxi02 { public static void main(String[] args) { int count = 0; for(int i=101; i<200; i+=2) { boolean b = false; for(int j=2; j<=Math.sqrt(i); j++) { if(i % j == 0) { b = false; break; } else { b = true; } } if(b == true) {count ++;System.out.println(i );} } System.out.println( "素数个数是: " + count);

java编程不得不看的几本经典书籍

JAVA编程不得不看的几本经典书籍 为了帮助对java编程感兴趣的同学更好、更快的提高编程技术,在此推荐几本学习编程非常有用的书籍,以供大家参考。 入门类 1.《java从入门到精通》(第3版) 【内容介绍】 本书从初学者角度出发,通过通俗易懂的语言、丰富多彩的实例,详细介绍了使用Java语言进行程序开发应该掌握的各方面技术。全书共分28章,包括:初识Java,熟悉Eclipse开发工具,Java 语言基础,流程控制,字符串,数组,类和对象,包装类,数字处理类,接口、继承与多态,类的高级特性,异常处理,Swing程序设计,集合类,I/O输入输出,反射,枚举类型与泛型,多线程,网络通信,数据库操作,Swing表格组件,Swing树组件,Swing其他高级组件,高级布局管理器,高级事件处理,AWT绘图与音频播放,打印技术和企业进销存管理系统等。所有知识都结合具体实例进行介绍,涉及的程序代码给出了详细的注释,可以使读者轻松领会Java程序开发的精髓,快速提高开发技能。 【推荐理由】 本书内容详尽,实例丰富,非常适合作为编程初学者的学习用书,也适合作为开发人员的查阅、参考资料。 2.《java核心技术卷一》

【内容介绍】 本书是Java技术经典参考书,多年畅销不衰,第7版在保留以前版本风格的基础上,涵盖Java2开发平台标准版J2SE5.0的基础知识,主要内容包括面各对象程序设计、反射与代理、接口与内部类、事件监听器模型、使用Swing UI 工具箱进行图形用户界面设计,异常处理、流输入/输出和对象序列化、泛型程序设计等。本书内容翔实、深入浅出,附有大量程序实例,极具实用价值,是Java初学者和Java程序员的必备参考书。 【推荐理由】 本书出版以来,深受广大读者的喜爱,它全面介绍了Java SE的基础知识,不但具有使用价值,而且易于阅读,易理解,它必成为想进军Java和基础薄弱同学的不二之选。 3.《java编程语言》 【内容介绍】 本书以Java语言创建者的独特视角向读者展现了为什么以及如何使用Java 语言,以便读者理解Java语言的基本设计目标以及它在现实世界中的应用。本书介绍的是Java语言的最新版本,该版本在《Java Language Specification,Second Edition》中定义,在Java2SDK1.3标准版中实现。本书已是第三版,在经构上相对前两版有所调整,重点讲述了新的语言特征,并提供了新API的使用实例。本书完全覆盖了Java语言当前版本的特征和类库,可以作为Java 语言的入门向导,也可作为高级Java开发及Java语言教学的参考用书。

java经典选择题100例及答案

1.使用Java语言编写的源程序保存时的文件扩展名是()。 (A).class (B).java (C).cpp (D).txt 2.设int a=-2,则表达式a>>>3的值为()。 (A)0 (B)3 (C)8 (D)-1 3.设有数组的定义int[] a = new int[3],则下面对数组元素的引用错误的是()。 (A)a[0]; (B)a[a.length-1]; (C)a[3]; (D)int i=1;a[i]; 4.在类的定义中可以有两个同名函数,这种现象称为函数()。 (A)封装(B)继承 (C)覆盖(D)重载 5.在类的定义中构造函数的作用是()。 (A)保护成员变量(B)读取类的成员变量 (C)描述类的特征(D)初始化成员变量 6.下面关键字中,哪一个不是用于异常处理语句()。 (A)try (B)break (C)catch (D)finally 7.类与对象的关系是()。 (A)类是对象的抽象(B)对象是类的抽象 (C)对象是类的子类(D)类是对象的具体实例 8.下面哪一个是Java中不合法的标识符()。 (A)$persons (B)twoNum (C)_myVar (D)*point 9.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为( )。 (A)static void method( ) (B)public void method( ) (C)final void method( ) (D)abstract void method( ) 10.欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的()。 (A)ArrayList myList=new Object( ) (B)List myList=new ArrayList( ) (C)ArrayList myList=new List( ) (D)List myList=new List( ) 11.Java源文件和编译后的文件扩展名分别为() (A) .class和.java(B).java和.class (C).class和.class(D) .java和.java 12.在Java Applet程序用户自定义的Applet子类中,一般需要重载父类的( )方法来完成一些画图操作。 (A) start( ) (B) stop( ) (C) init( ) (D) paint( ) 13.对于一个Java源文件,import, class定义以及package正确的顺序是: (A) package,import,class(B) class,import,package (C) import,package,class(D) package,class,import 14.下面哪个是非法的: (A) int I = 32;(B) float f = 45.0; (C) double d = 45.0;(D) char c = ‘u’;//符号错 15.Java语言使用的字符码集是 (A) ASCII (B) BCD (C) DCB (D) Unicode 16. 如果一个类的成员变量只能在所在类中使用,则该成员变量必须使用的修饰是 (A) public (B) protected (C) private (D) static 17.下面关于main方法说明正确的是 (A) public main(String args[ ]) (B) public static void main(String args[ ]) (C) private static void main(String args[ ]) (D) void main() 18.哪个关键字可以对对象加互斥锁?( ) (A) transient (B) synchronized (C) serialize (D) static 19.关于抽象方法的说法正确的是( ) (A)可以有方法体(B) 可以出现在非抽象类中 (C) 是没有方法体的方法(D) 抽象类中的方法都是抽象方法 20.java.io包的File类是 (A)字符流类(B) 字节流类 (C) 对象流类(D) 非流类 21.Java application中的主类需包含main方法,以下哪项是main方法的正确形参?()A、String args B、String args[] C、Char arg D、StringBuffer args[] 22.以下代码段执行后的输出结果为() int x=-3;int y=-10; System.out.println(y%x); A、-1 B、2 C、1 D、3 23.以下关于继承的叙述正确的是()。 A、在Java中类只允许单一继承 B、在Java中一个类只能实现一个接口 C、在Java中一个类不能同时继承一个类和实现一个接口 D、在Java中接口只允许单一继承 24. 若有定义:byte[] x={11,22,33,-66}; 其中0≤k≤3,则对x数组元素错误的引用是() A)x[5-3] B)x[k] C)x[k+5] D)x[0] 25.paint()方法使用哪种类型的参数? () A、Graphics B、Graphics2D C、String D、Color 26.以下哪个不是Java的原始数据类型() A、int B、Boolean C、float D、char 27.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为() A)隐藏 B)重写 C)重载 D)Java不支持此特性 28.以下有关构造方法的说法,正确的是:() A.一个类的构造方法可以有多个 B.构造方法在类定义时被调用 C.构造方法只能由对象中的其它方法调用。 D.构造方法可以和类同名,也可以和类名不同 29.在浏览器中执行applet 程序,以下选项中的哪个方法将被最先执行()。 A、init() B、start() C、destroy() D、stop() 30.给出下面代码,关于该程序以下哪个说法是正确的?()public class Person{ static int arr[] = new int[5]; public static void main(String a[]) { System.out.println(arr[0]);} } A、编译时将产生错误 B、编译时正确,运行时将产生错误 C、输出零 D、输出空 31、有以下方法的定义,请选择该方法的返回类型()。ReturnType method(byte x, double y) { return (short)x/y*2; } A、byte B、short C、int D、double 32.下列类定义中哪些是合法的抽象类的定义?() A、abstract Animal{abstract void growl();} B、class abstract Animal{abstract void growl();} C、abstract class Animal{abstract void growl();} D、abstract class Animal{abstract void growl(){System.out.println(“growl”);};} 33.有以下程序片段,下列哪个选项不能插入到行1。() 1. 2.public class Interesting{ 3.//do sth 4. } A、import java.awt.*; B、package mypackage; C、class OtherClass{ } D、public class MyClass{ } 34. 设有下面两个赋值语句: a = Integer.parseInt(“12”); b = Integer.valueOf(“12”).intValue(); 下述说法正确的是()。

DEVC 使用说明

这篇文章是我在网络上无意中发现的,很早之前写的,现在的DEV C++早已发展了新版本,但是对于大多数人而言,这篇文章足以够用。使用DEV C++的好处在于,集成使用了GNU的GCC,对于ANSI C/C++的兼容性远好于微软的VS系列。相信对于参加ACM等需要用GCC处理代码的同学而言是不错的选择。原文如下: Dev-C++是一个可视化集成开发环境,可以用此软件实现C/C++程序的编辑、预处理/编译/链接、运行和调试。本手册中介绍了Dev-C++常用的一些基本操作,每一位同学都要掌握。 一.启动Dev-C++ 方法一: 1.鼠标点击任务栏中的“开始”按钮,选“程序”菜单项,然后选“程序”下的子菜单项“Bloodshed Dev-C++”项,显示该项下的子菜单。 2.单击”Dev-C++”菜单项,即可启动Dev-C++集成开发工具。(如图1所示) 图1 方法二: 直接单击桌面上的Dev-C++的图标。 二.新建源程序 1.从主菜单选择“File”—〉“New”—〉“Source File”(“文件”—〉“新建”—〉“源代码”)即可(如下图2所示)。

图2 如果大家看到界面上的字是中文的,则可以根据以下操作将界面改为英文。点击主菜单“工具”->”环境选项”,在弹出的对话框中选择界面页,在Language下拉列表中选择Chinese 即可,如下图所示。此时界面上的菜单、工具条等全部以英文命名。 2.此时屏幕右下侧出现一片白色区域,可以在此输入程序。如下图3所示。 输出标签页 源程序编辑区域

工具栏 菜单 图3 3.保存源程序到硬盘 一个好的习惯是创建了一个新程序后,在还未输入代码之前先将该程序保存到硬盘某个目录下,然后在程序的编辑过程中经常性地保存程序,以防止机器突然断电或者死机。要保存程序,只需从主菜单选择“File”—〉”Save”就可以将文件保存到指定的硬盘目录。如图4所示。 图4

相关文档
最新文档