第3章例题源程序

第3章例题源程序
第3章例题源程序

例3.1分别建立3×3、3×2和与矩阵A同样大小的零矩阵。

(1) 建立一个3×3零矩阵。

zeros(3)

ans =

0 0 0

0 0 0

0 0 0

(2) 建立一个3×2零矩阵。

zeros(3,2)

ans =

0 0

0 0

0 0

(3) 设A为2×3矩阵,则可以用zeros(size(A))建立一个与矩阵A同样大小零矩阵。

A=[1 2 3;4 5 6]; %产生一个2×3阶矩阵A

zeros(size(A)) %产生一个与矩阵A同样大小的零矩阵

ans =

0 0 0

0 0 0

例3.2建立随机矩阵:

(1) 在区间[20,50]内均匀分布的5阶随机矩阵。

(2) 均值为0.6、方差为0.1的5阶正态分布随机矩阵。

x=20+(50-20)*rand(5)

y=0.6+sqrt(0.1)*randn(5)

例3.3将101~125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。

M=100+magic(5)

例3.4求4阶希尔伯特矩阵及其逆矩阵。

命令如下:

format rat %以有理形式输出

H=hilb(4)

H=invhilb(4)

format short %恢复默认输出格式

例3.5求(x+y)5的展开式。

pascal(6)

例3.6先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。

A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;...

11,18,25,2,19];

D=diag(1:5);

D*A %用D左乘A,对A的每行乘以一个指定常数

例3.7 求方阵A的逆矩阵,且验证A与A-1是互逆的。

A=[1,-1,1;5,-4,3;2,1,1];

B=inv(A);

A*B

B*A

例3.8 用求逆矩阵的方法解线性方程组。

??

???=++-=++=++6278294532z y x z y x z y x

A=[1,2,3;1,4,9;1,8,27];

b=[5,-2,6]';

x=inv(A)*b

也可以运用左除运算符“\”求解线性代数方程组。例如,本例也可以用下面的命令求解:

A=[1,2,3;1,4,9;1,8,27];

b=[5,-2,6]';

x=A\b

例3.9 用求特征值的方法解方程。

3x 5-7x 4+5x 2+2x-18=0

p=[3,-7,0,5,2,-18];

A=compan(p); %A 的伴随矩阵

x1=eig(A) %求A 的特征值

x2=roots(p) %直接求多项式p 的零点

第8章 微机原理习题库

一.填空题 1.类型码为()的中断所对应的中断向量存放在0000H:0058H开始的4个连续单元中,若这4个单元的内容分别为(),则相应的中断服务程序入口地址为5060H:7080H。 2.CPU在指令的最后一个时钟周期检测INTR引脚,若测得INTR为()且IF为(),则CPU在结束当前指令后响应中断请求。 3.从CPU的NMI引脚产生的中断叫做(),它的响应不受()的影响。 4.中断类型码为15H的中断,其服务程序的入口地址一定存放在()四个连续的单元中,若这四个单元的的内容为:66H、50H、88H、30H,则其服务程序的入口地址为()。5.中断控制器8259A中的中断屏蔽寄存器IMR的作用是()。 6.CPU响应可屏蔽中断的条件是()、()和()。 7.在8086/8088微机系统中,INT20H指令中断向量存放在()中。 8.CPU在响应中断时,首先是保护(),然后将中断服务程序入口地址送入()。9.在8086/8088微机中,实现CPU关中断的指令是(),实现开中断的指令是()。10.如果CPU同时接收到中断请求和总线请求,则CPU应先响应()。 11.当用8259A管理INTR中断时,要发出EOI命令结束中断是操作()命令字。12.执行INTn指令时,其中断类型号由()提供,响应INTR时,中断类型号由()提供,响应NMI时,中断类型号由()提供,执行BOUND指令时,中断类型号由( )提供。 13.INTR、NMI均属于外中断,其中INTR被称为()中断,NMI被称为()中断。 14.80486在实模式下,当某中断源的中断类型码为70H时,中断服务程序的偏移地址和段基址将分别填入()单元和()单元。 15.CUP复位时,由于()被清零,使从INTR输入的可屏蔽中断不被响应。 16.2片8259A级联可管理()个可屏蔽中断。 17.INTR输入是()有效。 18.级连系统中,从8259A中的INT引脚应与主8259A的()连接。 19.()时,使用8259A的CS2~CS0引脚。 20.用二片8259A级连后,CPU的可屏蔽方式硬中断可扩充到()级。

c语言程序设计-向艳-书上例题源代码教学提纲

第五章函数 1.定义一个求两个整数和的函数 int sum(x,y) int x,y; { int z; z=x+y; return(z); } 2.编写函数求两个数的最大值 #include float max(float x,float y) { float z; if(x>y) z=x; else z=y; return (z); } void main() { float a,b,c; scanf("%f%f",&a,&b); c=max(a,b); printf("max=&f\n",c); } 3.计算并输出一个圆台两底面积之和 #include float area(float x,float y) { float s; s=3.1415*(x*x+y*y); return s; } void printstar() { int i; for(i=0;i<30;i++) printf("*"); printf("\n"); } void main() {

float r1,r2,s; printstar(); scanf("%f,%f",&r1,&r2); s=area(r1,r2); printf("s=%.2f\n",s); printstar(); } 4.实参求值顺序的例子 #include int fun(int a,int b) { if (a>b) return 1; else if (a==b) return 0; else return -1; } void main() { int k=3,s; s=fun(k,++k); printf("s=%d\n",s); } 5.计算Σn i=1 i #include void main() { void s(int); int n; printf("input number\n"); scanf("%d",&n); s(n); printf("n=%d\n",n); } void s(int n) { int i; for(i=n-1;i>=1;i--) n=n+i; printf("n=%d\n",n); } 6.全局变量被“屏蔽” #include

第06章_MATLAB数值计算_例题源程序汇总

第6章 MATLAB 数值计算 例6.1 求矩阵A 的每行及每列的最大和最小元素,并求整个矩阵的最大和最小元素。 1356 78256323578255631 01-???? -? ?=???? -??A A=[13,-56,78;25,63,-235;78,25,563;1,0,-1]; max(A,[],2) %求每行最大元素 min(A,[],2) %求每行最小元素 max(A) %求每列最大元素 min(A) %求每列最小元素 max(max(A)) %求整个矩阵的最大元素。也可使用命令:max(A(:)) min(min(A)) %求整个矩阵的最小元素。也可使用命令:min(A(:)) 例6.2 求矩阵A 的每行元素的乘积和全部元素的乘积。 A=[1,2,3,4;5,6,7,8;9,10,11,12]; S=prod(A,2) prod(S) %求A 的全部元素的乘积。也可以使用命令prod(A(:)) 例6.3 求向量X =(1!,2!,3!,…,10!)。 X=cumprod(1:10) 例6.4 对二维矩阵x ,从不同维方向求出其标准方差。 x=[4,5,6;1,4,8] %产生一个二维矩阵x y1=std(x,0,1) y2=std(x,1,1) y3=std(x,0,2) y4=std(x,1,2) 例6.5 生成满足正态分布的10000×5随机矩阵,然后求各列元素的均值和标准方差,再求这5列随机数据的相关系数矩阵。 X=randn(10000,5); M=mean(X) D=std(X) R=corrcoef(X)

例6.6 对下列矩阵做各种排序。 185412613713-?? ??=?? ??-?? A A=[1,-8,5;4,12,6;13,7,-13]; sort(A) %对A 的每列按升序排序 -sort(-A,2) %对A 的每行按降序排序 [X,I]=sort(A) %对A 按列排序,并将每个元素所在行号送矩阵I 例6.7 给出概率积分 2 (d x x f x x -? e 的数据表如表6.1所示,用不同的插值方法计算f (0.472)。 x=0.46:0.01:0.49; %给出x ,f(x) f=[0.4846555,0.4937542,0.5027498,0.5116683]; format long interp1(x,f,0.472) %用默认方法,即线性插值方法计算f(x) interp1(x,f,0.472,'nearest') %用最近点插值方法计算f(x) interp1(x,f,0.472,'spline') %用3次样条插值方法计算f(x) interp1(x,f,0.472,'cubic') %用3次多项式插值方法计算f(x) format short 例6.8 某检测参数f 随时间t 的采样结果如表6.2,用数据插值法计算t =2,7,12,17,22,17,32,37,42,47,52,57时的f 值。 T=0:5:65; X=2:5:57;

第2章例题源程序

例2.1 计算表达式 i 27147cos 5-++? 的值,并将结果赋给变量x ,然 后显示出结果。 x=(5+cos(47*pi/180))/(1+sqrt(7)-2*i) %计算表达式的值 例2.2 利用M 文件建立MYMAT 矩阵。 (1)启动有关编辑程序或MATLAB 文本编辑器(见第4章),并输 入待建矩阵: MYMAT=[101,102,103,104,105,106,107,108,109 ; 201,202,203,204,205,206,207,208,209; 301,302,303,304,305,306,307,308,309]; (2)把输入的内容存盘(设文件名为mymatrix.m)。 (3)在MATLAB 命令窗口中输入mymatrix ,即运行该M 文件,就会自动建立一个名为MYMAT 的矩阵,可供以后使用。 例2.3 建立5阶方阵A ,判断A 的元素是否能被3整除。 A =[24,35,13,22,63;23,39,47,80,80; ... 90,41,80,29,10;45,57,85,62,21;37,19,3 1,88,76] P=rem(A,3)==0 %判断A 的元素是否可以被3整 除 例2.4 在[0,3π]区间,求y=sin(x)的值。要求: (1)消去负半波,即(π,2π)区间内的函数值置0。

2 (2) (3π,32π)和(37π,38π)区间内取值均为sin 3 π。 方法1: x=0:pi/100:3*pi; y=sin(x); y1=(x2*pi).*y; %消去负半波 q=(x>pi/3&x<2*pi/3)|(x>7*pi/3&x<8*pi/3); qn=~q; y2=q*sin(pi/3)+qn.*y1; %按要求处理第 (2)步 方法2: x=0:pi/100:3*pi; y=sin(x); y1=(y>=0).*y; %消去负半波 p=sin(pi/3); y2=(y>=p)*p+(y=10 & A<=20) ans = 3 6 7 例2.6 建立一个字符串向量,然后对该向量做如下处理:

第十章 输入输出系统习题

第十章输入输出系统习题 一、单项选择题: 1、“总线忙”信号是由__ __建立的。 A.获得总线控制权的设备B.发出“总线请求”的设备 C.总线控制器D.CPU 2、在不同速度的设备之间传送数据__ __。 A.必须采用同步控制方式B.必须采用异步控制方式 C.可以选用同步方式,也可选用异步方式D.必须采用应答方式 3、挂接在总线上的多个部件___ _。 A.只能分时向总线发送数据,并只能分时从总线接收数据 B.只能分时向总线发送数据,但可同时从总线接收数据 C.可同时向总线发送数据,并同时从总线接收数据 D.可同时向总线发送数据,但只能分时从总线接收数据 4、总线从设备是____。 A.掌握总线控制权的设备 B.申请作为从设备的设备 C.被主设备访问的设备D.总线裁决部件 5、假设某系统总线在一个总线周期中传输4个字节信息,一个总线周期占用2个时钟周期,总线时钟频率为10MHz,则总线带宽是__ __。 A.10 MB/s B.20 MB/s C.40 MB/s D.80 MB/s 6、波特率表示传输线路上____。 A.信号的传输速率B.有效数据的传输速率 C.校验信号的传输速率D.干扰信号的传输速率 7、中断系统中的断点是指____。 A.子程序入口地址B.中断服务子程序入口地址 C.中断服务程序入口地址表D.中断返回地址 8、显示器的主要参数之一是分辨率,其含义是____。 A.显示屏幕的水平和垂直扫描频率 B.显示屏幕上光栅的列数和行数 C.可显示不同颜色的总线 D.同一个画面允许显示不同颜色的最大数目 9、下列选项中,能引起外部中断的事件是____。 A.键盘输入B.除数为0 C.浮点运算下溢D.访存缺页 10.CPU响应中断时,最先完成的两个步骤是_ __和保护现场信息。 A.开中断 B.恢复现场 C.关中断 D.不可屏蔽中断 11、在独立编址方式下,存储单元和I/O设备是靠来区分的。 A.不同的地址代码B.不同的地址总线 C.不同的指令和不同的控制信号D.上述都不同 12、计算机系统的输入/输出接口通常是__ __。 A.CPU与存储器之间的交界面B.存储器与打印机之间的交界面 C.主机与外围设备之间的交界面D.CPU与系统总线之间的交界面 13.根据连线的数量,总线可分为串行总线和_____ ___总线

第3章例题源程序

例3.1分别建立3×3、3×2和与矩阵A同样大小的零矩阵。 (1) 建立一个3×3零矩阵。 zeros(3) ans = 0 0 0 0 0 0 0 0 0 (2) 建立一个3×2零矩阵。 zeros(3,2) ans = 0 0 0 0 0 0 (3) 设A为2×3矩阵,则可以用zeros(size(A))建立一个与矩阵A同样大小零矩阵。 A=[1 2 3;4 5 6]; %产生一个2×3阶矩阵A zeros(size(A)) %产生一个与矩阵A同样大小的零矩阵 ans = 0 0 0 0 0 0 例3.2建立随机矩阵: (1) 在区间[20,50]内均匀分布的5阶随机矩阵。 (2) 均值为0.6、方差为0.1的5阶正态分布随机矩阵。 x=20+(50-20)*rand(5) y=0.6+sqrt(0.1)*randn(5) 例3.3将101~125等25个数填入一个5行5列的表格中,使其每行每列及对角线的和均为565。 M=100+magic(5) 例3.4求4阶希尔伯特矩阵及其逆矩阵。 命令如下: format rat %以有理形式输出 H=hilb(4) H=invhilb(4) format short %恢复默认输出格式 例3.5求(x+y)5的展开式。 pascal(6) 例3.6先建立5×5矩阵A,然后将A的第一行元素乘以1,第二行乘以2,…,第五行乘以5。 A=[17,0,1,0,15;23,5,7,14,16;4,0,13,0,22;10,12,19,21,3;... 11,18,25,2,19]; D=diag(1:5); D*A %用D左乘A,对A的每行乘以一个指定常数 例3.7 求方阵A的逆矩阵,且验证A与A-1是互逆的。

第10章例题源程序

例10.1 设系统的微分方程为: ?????==-t e x x t x x 5.02'22'1 试建立系统仿真模型。 例10.2 利用Simulink 构建函数曲线y=5t 2+16。 例10.3 利用Simulink 仿真求I=? +10)1ln(dx x x 。 例10.4 有初始状态为0的二阶微分方程x"+0.2x'+0.4x=0.2u (t), 其中u(t)是单位阶跃函数,试建立系统模型并仿真。 例10.5 PID 控制器是在自动控制中经常使用的模块,在工程应用中其标准的数学模型为 )()/11()(s E N s T s T s T K s U d d i p ++= 其中采用了一阶环节来近似纯微分动作,为保证有良好的微分近似的效果,一般选N ≥10。试建立PID 控制器的模型并建立子系统。 例10.6 利用使能子系统构成一个正弦半波整流器。 例10.7 利用触发子系统将一锯齿波转换成方波。 例10.8 采用S 函数实现模块y=nx ,即模块的功能是把一个输入信号n 倍以后再输出。 (1) 利用MATLAB 语言编写S 函数。程序如下: %************************************************* %S 函数timesn.m ,其输出是输入的n 倍 %************************************************* function [sys,x0,str,ts]=timesn(t,x,u,flag,n) switch flag, case 0 %初始化 [sys,x0,str,ts]=mdlInitializeSizes; case 3 %计算输出量 sys=mdlOutputs(t,x,u,n); case {1,2,4,9} %未使用的flag 值 sys=[]; otherwise %出错处理 error(['Unhandle flag=',num2str(flag)]); end %************************************************* %mdlInitializeSizes :当flag 为0 时进行整个系统的初始化 %************************************************* function [sys,x0,str,ts]=mdlInitializeSizes(T) %调用函数simsizes 以创建结构体sizes

verilog源代码第8.9章例题

第八章语法概念总复习练习 1)以下给出了一个填空练习,请将所给各个选项根据电路图,填入程序中的适当位置。 a s s i g n m o d u l e;~| &i n p u t o u t p u t i n p u t s o u t p u t s e n d m o d u l e A , B , C , D AOI ( A, B, C, D, F ) input A,B,C,D; output F; assign F = ((A&B)&(C&D)); endmodule

2〕 在这一题中,我们将作有关层次电路的练习,通过这个练习,你将加深对模块间调 用时,管脚间连接的理解。假设已有全加器模块FullAdder,若有一个顶层模块调用此全加器,连接线分别为W4,W5,W3,W1和W2。请在调用时正确地填入I/O 的对应信号。 module FullAdder(A,B,Cin,Sum,Cout); input A, B, Cin; output Sum, Cout; endmodule 3) initial begin end initial SEL=0; A=0; B=0; #10 A=1; #10 SEL=1; #10 B=1; $monitor (SEL , A ,B , ,F) ; reg A, B , SEL; wire F; A Sum W1 W2 W3 W4 W5 B Cin Count

endmodule 标准答案: module TestFixture reg A,B,SEL; wire F; MUX2M(SEL,A,B,F); initial begin SEL=0; A=0; B=0; #10 A=1; #10 SEL=1; #10 B=1; end initial $monitor(SEL,A,B,,F); endmodule 4)指出下面几个信号的最高位和最低位。 reg [1:0] SEL; input [0:2] IP; wire [16:23] A; 标准答案: MSB:SEL[1] MSB:IP[0] MSB:A[16] LSB:SEL[0] LSB:IP[2] LSB:A[23] 5)P,Q,R都是4bit的输入矢量,下面哪一种表达形式是正确的。 1)input P[3:0],Q,R; 2)input P,Q,R[3:0]; 3)input P[3:0],Q[3:0],R[3:0]; 4)input [3:0] P,[3:0]Q,[0:3]R; 5)input [3:0] P,Q,R; 标准答案:5) 6)请将下面选项中的正确答案填人空的方括号中。 1. (0:2) 2. (P:0) 3. (Op1:Op2) 4.(7:7) 5. (2:0) 6. (7:0) reg [7:0] A; reg [2:0] Sum, Op1, Op2; reg P, OneBit; initial begin Sum=Op1+Op2; P=1; A[ ]=Sum; .....

第4章例题源程序

例4.1 建立一个命令文件将变量a,b 的值互换,然后运行该命令文件。 程序1: 首先建立命令文件并以文件名exch.m 存盘: clear; a=1:10; b=[11,12,13,14;15,16,17,18]; c=a;a=b;b=c; a b 然后在MA TLAB 的命令窗口中输入exch ,将会执行该命令文件。 程序2: 首先建立函数文件fexch.m : function [a,b]=exch(a,b) c=a;a=b;b=c; 然后在MA TLAB 的命令窗口调用该函数文件: clear; x=1:10; y=[11,12,13,14;15,16,17,18]; [x,y]=fexch(x,y) 例4.2 求一元二次方程ax 2+bx+c=0的根。 a=input('a=?'); b=input('b=?'); c=input('c=?'); d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]; disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]); 例4.3 计算分段函数: cos(1)1010x x y x ?++=?=??≠? x=input('请输入x 的值:'); if x==10 y=cos(x+1)+sqrt(x*x+1); else y=x*sqrt(x+sqrt(x)); end y 也可以用单分支if 语句来实现: x=input('请输入x 的值:'); y=cos(x+1)+sqrt(x*x+1); if x~=10 y=x*sqrt(x+sqrt(x)); end

第6章软件编码一、填空题(20小题)1、源程序中加注释是帮助理解程序

第6章软件编码 一、填空题(20小题) 1、源程序中加注释是帮助理解程序的重要手段,注释分为( )、( )两类。答案:序言性注释、功能性注释 2、通常考虑选用语言的因素有( )、( )、( )、( )和( )。 答案:项目的应用领域、软件开发的方法、软件执行环境、算法与数据结构的复杂性、软件开发人员的知识 3、从软件工程的观点,语言的工程特性是指( )、( )、( )和( )。 答案:可移植性、开发工具的可利用性、软件的可重用性、可维护性 4、编写操作系统、编译系统等系统软件时,可选用( )、( )、( )和( )等。 答案:汇编语言、C语言、Pascal语言、Ada语言 5、效率是一个( )要求,目标在( )给出。 答案:性能、需求分析 6、提高程序效率的根本途径在于选择良好的( )、良好的( ),而不是靠编程时对程序语句做调整。 答案:设计方法、数据结构与算法 7、语句构造的原则是( ),不能为了追求效率而使代码( )。 答案:简单直接、复杂化 8、程序设计语言的心理特性在语言中的表现形式为( )、( )、( )、( )和( )。 答案:歧义性、简洁性、局部性、顺序性、传统性 9、语言的心理特性在语言中的表现形式有:( )、( )、( )、( )和( )。 答案:歧义性、简洁性、局部性、顺序性、传统性 10、程序设计语言的简洁性是指人们必须记住的( )的数量。人们要掌握一种语言,需要记住的成分数量越多,简洁性越( )。 答案:语言成分、差 11、在软件的设计中占有极其重要地位的是软件功能结构,它是联系( )跟开发者的规格说明。 答案:用户 12、贯穿于软件生存期中的一个极为重要的问题是( )。 答案:软件质量 13、为了做好软件质量评价,必须在( )定义其质量需求。 答案:开发前

c++书中例题源代码第13章

【例13.1】使用预定义的插入符进行屏幕输出。 #include #include void main( ) { cout<<"The length of \"This a string\" is: " < void main( ) { int x=90; int *px=&x; cout<<"x="< void main( ) { cout<<'B'<<'E'<<'I'<<'J'<<'I'<<'N'<<'G'<<'\n'; cout.put('B').put('E').put('I').put('J').put('I').put('N').put('G').put('\n'); char c1='A',c2='B',c3='C'; cout.put(c1).put(c2).put(c3).put('\n'); } 【例13.5】分析下列程序的输出结果,注意该程序中write( )函数的用法。

第10章_MATLAB Simulink仿真软件_例题源程序

第10章 MATLAB Simlllink 仿真软件 例10.1 设系统的微分方程为: ' 12'0.522 e t x x t x x -?=??=?? 试建立系统仿真模型。 例10.2 利用Simulink 构建函数曲线y =5t 2+16。 例10.3 利用Simulink 仿真求I =1 0ln(1)d x x x +?。 例10.4 有初始状态为0的二阶微分方程x "+0.2x '+0.4x =0.2u (t ),其中u (t )是单位阶跃函数,试建立系统模型并仿真。 例10.5 PID 控制器是在自动控制中经常使用的模块,在工程应用中其标准的数学模型为 )()/1 1()(s E N s T s T s T K s U d d i p ++ = 其中采用了一阶环节来近似纯微分动作,为保证有良好的微分近似的效果,一般选N ≥10。试建立PID 控制器的模型并建立子系统。 例10.6 利用使能子系统构成一个正弦半波整流器。 例10.7 利用触发子系统将一锯齿波转换成方波。 例10.8 采用S 函数实现模块y =nx ,即模块的功能是把一个输入信号n 倍以后再输出。 (1) 利用MATLAB 语言编写S 函数。程序如下: %************************************************* %S 函数timesn.m ,其输出是输入的n 倍 %************************************************* function [sys,x0,str,ts]=timesn(t,x,u,flag,n) switch flag, case 0 %初始化 [sys,x0,str,ts]=mdlInitializeSizes; case 3 %计算输出量 sys=mdlOutputs(t,x,u,n); case {1,2,4,9} %未使用的flag 值 sys=[]; otherwise %出错处理

第1章练习题答案

第一章 C语言概述练习题 一、选择题 1.C语言是一种( )。 A) 机器语言B) 汇编语言C) 高级语言D) 低级语言 2.下列各项中,不是C语言的特点是( )。 A) 语言简洁、紧凑,使用方便B) 数据类型丰富,可移植性好 C) 能实现汇编语言的大部分功能D) 有较强的网络操作功能 3.下列叙述正确的是( )。 A) C语言源程序可以直接在DOS环境中运行 B) 编译C语言源程序得到的目标程序可以直接在DOS环境中运行 C) C语言源程序经过编译、连接得到的可执行程序可以直接在DOS环境中运行 D) Turbo C系统不提供编译和连接C程序的功能 4.下列叙述错误的是()。 A) C程序中的每条语句都用一个分号作为结束符 B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 5.一个C程序的执行是从()。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 6.以下叙述不正确的是()。 A) 一个C源程序必须包含一个main函数 B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面 7.C语言规定:在一个源程序中,main函数的位置( )。 A)必须在程序的开头B)必须在系统调用的库函数的后面 C)可以在程序的任意位置D)必须在程序的最后 8.一个C语言程序是由( )。 A)一个主程序和若干个子程序组成B) 函数组成 C) 若干过程组成D) 若干子程序组成 9.以下有4组用户标识符,其中合法的一组是()。 A) For B) 4d C) f2_G3 D) WORD -sub DO IF void Case Size abc define 10. 一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是 ()。 A) 有零个或多个输入B) 有零个或多个输出C) 有穷性D) 可行性 二、填空题

C语言程序设计第二版第四章正文例题程序源码详细答案

(1)while循环实现十个整数和; #include #include #include #include int main(void) { int i,number,sum; sum=0; i=1; printf("请输入十个整数:\n"); while(i<=10) { scanf("%d",&number); sum+=number; i++; } printf("累加和为:%d\n",sum); return 0; } (2)for循环实现n个整数求和; #include #include #include #include int main(void) { int n,i,x; int sum=0; printf("请输入总共要输入数字的个数:"); scanf("%d",&n); printf("请输入整数:"); for(i=0;i

(3)输入n个数,输出最大值; #include #include #include #include int main(void) { int n; printf("请输入要比较数字的总数:"); scanf("%d",&n); int i,x; int max=0; for(i=0;i,输出比较数字最大值; #include #include #include #include int main(void) { int n,i,x; printf("请输入要比较数字的总数:"); scanf("%d",&n); int max; max=INT_MIN; for(i=0;i

第04章_MATLAB程序设计_例题源程序

第4章 MATLAB 程序设计 例4.1 建立一个命令文件将变量a,b 的值互换,然后运行该命令文件。 程序1: 首先建立命令文件并以文件名exch.m 存盘: clear; a=1:10; b=[11,12,13,14;15,16,17,18]; c=a;a=b;b=c; a b 然后在MATLAB 的命令窗口中输入exch ,将会执行该命令文件。 程序2: 首先建立函数文件fexch.m : function [a,b]=exch(a,b) c=a;a=b;b=c; 然后在MATLAB 的命令窗口调用该函数文件: clear; x=1:10; y=[11,12,13,14;15,16,17,18]; [x,y]=fexch(x,y) 例4.2 求一元二次方程a x 2+b x +c=0的根。 a=input('a=?'); b=input('b=?'); c=input('c=?'); d=b*b-4*a*c; x=[(-b+sqrt(d))/(2*a),(-b-sqrt(d))/(2*a)]; disp(['x1=',num2str(x(1)),',x2=',num2str(x(2))]); 例4.3 计算分段函数: cos(1)1010x x y x ?+=?=??≠? x=input('请输入x 的值:');

if x==10 y=cos(x+1)+sqrt(x*x+1); else y=x*sqrt(x+sqrt(x)); end y 也可以用单分支if语句来实现: x=input('请输入x的值:'); y=cos(x+1)+sqrt(x*x+1); if x~=10 y=x*sqrt(x+sqrt(x)); end y 或用以下程序: x=input('请输入x的值:'); if x==10 y=cos(x+1)+sqrt(x*x+1); end if x~=10 y=x*sqrt(x+sqrt(x)); end y 例4.4输入一个字符,若为大写字母,则输出其对应的小写字母;若为小写字母,则输出其对应的大写字母;若为数字字符则输出其对应的数值,若为其他字符则原样输出。 c=input('请输入一个字符','s'); if c>='A' & c<='Z' disp(setstr(abs(c)+abs('a')-abs('A'))); elseif c>='a'& c<='z' disp(setstr(abs(c)- abs('a')+abs('A'))); elseif c>='0'& c<='9' disp(abs(c)-abs('0')); else

第10章练习题

第10章练习题 一、填空: 1.SQL语句中删除一个表中记录,使用的关键字是( delete )。 2.数据库表中的每一行称为一条(记录)。 3.要关闭已打开的数据库连接,应使用连接对象的(close )方法。 4.关闭数据库的连接,应使用连接对象的(close)方法。 5.SQL语句中的选择语句,使用的关键字是( SELECT )。 6.使用SqlDataReader一次可以读取(1)条记录。 7.在https://www.360docs.net/doc/462483299.html,中,表示程序到数据的连接的对象为( Connection对象)。 8.、在https://www.360docs.net/doc/462483299.html,中,可以在DataSet中维护( DataRelation)对象的集合来管理表间 的导航关系。 9.在DataSet对象中,可通过( Tables )集合遍历DataSet对象中所有的数据表 对象。 10.在https://www.360docs.net/doc/462483299.html,中,通过执行Command对象的ExecuteReader方法返回的DataReader 对象是一种(只向前的只读的结果集)。 11.Microsoft https://www.360docs.net/doc/462483299.html,框架中的类主要属于( System.Data )命名空间? https://www.360docs.net/doc/462483299.html,对象模型包含(.NET数据提供程序)和(DataSet)两部分 13.在设置连接字符串时,参数Initial Catalog代表的含义是(数据库的名称)。 14.成功向数据库表中插入5条记录,当调用ExecuteNonQuery方法后,返回值为(5)。 15.属于DDL 语句(数据定义语句)( Create )、(Drop)和(Alter)。 16.若想从数据库中查询到student表和course表中的所有信息并显示出来,则应该调 用 17.命令对象的(ExecuteReader)方法 18.在https://www.360docs.net/doc/462483299.html,中,为访问DataTable对象从数据源提取的数据行,可使用DataTable 19.对象的(Rows)属性 20.DataAdapter 对象使用与(UpdateCommand)属性关联的Command 对象将DataSet 修 改的数据保存入数据源。 21.数据适配器对象使用与(InsertCommand)属性相关联的Command对象将DataSet 插入的数据更新入数据源。

第08章_MATLAB图形用户界面设计_例题源程序

第8章MATLAB图形用户界面设计 例8.1建立图8.1所示的图形演示系统菜单。菜单条中含有3个菜单项:Plot、Option 和Quit。Plot中有Sine Wave和Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦和余弦曲线。Option菜单项的内容如图8.1所示,其中Grid on和Grid off控制给坐标轴加网格线,Box on和Box off控制给坐标轴加边框,而且这4项只有在画有曲线时才是可选的。Window Color控制图形窗口背景颜色。Quit控制是否退出系统。 screen=get(0,'ScreenSize'); W=screen(3);H=screen(4); figure('Color',[1,1,1],'Position',[0.2*H,0.2*H,0.5*W,0.3*H],... 'Name','图形演示系统','NumberTitle','off','MenuBar','none'); %定义Plot菜单项 hplot=uimenu(gcf,'Label','&Plot'); uimenu(hplot,'Label','Sine Wave','Call',... ['t=-pi:pi/20:pi;','plot(t,sin(t));',... 'set(hgon,''Enable'',''on'');',... 'set(hgoff,''Enable'',''on'');',... 'set(hbon,''Enable'',''on'');',... 'set(hboff,''Enable'',''on'');']); uimenu(hplot,'Label','Cosine Wave','Call',... ['t=-pi:pi/20:pi;','plot(t,cos(t));',... 'set(hgon,''Enable'',''on'');',... 'set(hgoff,''Enable'',''on'');',... 'set(hbon,''Enable'',''on'');',... 'set(hboff,''Enable'',''on'');']); %定义Option菜单项 hoption=uimenu(gcf,'Label','&Option'); hgon=uimenu(hoption,'Label','&Grid on',... 'Call','grid on','Enable','off'); hgoff=uimenu(hoption,'Label','&Grid off',... 'Call','grid off','Enable','off'); hbon=uimenu(hoption,'Label','&Box on',...

常见的fortran 例题源文件

1 !求解f(x1)=x1**3-2.0*x1**2+3.0*x1+4.0的泫截法迭代过程 program mian logical e real f,f0,f1,f2 real x0,x1, x2 integer i f(x1)=x1**3-2.0*x1**2+3.0*x1+4.0 e(f1,f2)=sign(f1,f2)==f1!表示a,b同号 do read(*,*)x1,x2 f1=f(x1) f2=f(x2) if (e(f1,f2))then print*,"这不是一个有效的数" else exit !只是退出这个循环而不是整个程序 endif Enddo !求解过程 f0=1e32 i=0 do while (abs(x1-x2)>le-5 .and. f0>1e-6) x0=x2-(x2-x1)/(f2-f1)*f2 !泫截法迭代过程 f0=f(x0) if(e(x1,x0))then x1=x0 f1=f0 else x2=x0 f2=f0 endif i=i+1 write(*,"(1x,i5.5,'x0=',f10.6,'f0=',f10.6)")i,x0,f0 enddo !结果 x0=(x1+x2)/2.0 write(*,"('root is',f10.6)")x0 pause end

2!输入一个三位数调用子函数程序进行逆排序 program main integer i,j,m write(*,*),"输入一个三位数" read*,m m=nimabi(m) write(*,*)m pause End function nimabi(i) integer i,a,b,c a=int(i/100) b=int((mod(i,100))/10) c=mod(i,10) nimabi=c*100+b*10+a !注意结果一定存在函数名中,不然读取不到结果End 3!将三个数进行从小到大排列的子例行子程序program main implicit none integer a ,b,c read*,a,b,c if (a>b) call we(a,b) if (b>c) call we(b,c) if(a>b) call we(a,b) print*,a,b,c pause end subroutine we(i,j) integer i,j,t if (i>j) t=i i=j j=t end !将三个数进行从小到大排列的内部过程 program main implicit none integer a ,b,c read*,a,b,c if (a>b) call we(a,b) if (b>c) call we(b,c) if(a>b) call we(a,b) print*,a,b,c pause Contains !说明为内部过程 subroutine we(i,j) implicit none!数据初始化说明,对已ijk必须有,不然有隐含规则的数值integer i,j,t if (i>j) t=i i=j j=t end end

相关文档
最新文档