第四章编程题

合集下载

04_JAVA练习题第四章-面向对象概念

04_JAVA练习题第四章-面向对象概念

04_JAVA练习题第四章-面向对象概念[单选题]1.下列哪种类成员修饰符修饰的变量只能在本类中被访问?()A)protectedB)publicC)defaultD)private答案:D解析: 【解析】只有私有访问权限修饰符才能限制变量只能在本类中被访问2.在Java 语言中,哪一个包中的类是自动导入的?()A)ngB)java.awtC)java.ioD)java.applet答案:A解析: 【解析】只有ng 包中的类能够被自动导入。

3.给出下面的程序代码:public class X4_1_3{ private float a;public static void m ( ){ }}如何使成员变量a 被方法m( )访问()A)将private float a 改为protected float aB)将private float a 改为public float aC)将private float a 改为static float aD)将private float a 改为float a答案:C解析: 【解析】static 类型的方法只能访问static 类型的数据成员。

4.有一个类B,下面为其构造方法的声明,正确的是()。

A)void B(int x) {}B)B(int x) {}C)b(int x) {}D)void b(int x) {}答案:B解析: 【解析】构造方法没有类型,且方法名与类名相同。

5.下面关于类的说法,不正确的是()。

A)类是同种对象的集合和抽象B)类属于Java 语言中的复合数据类型C)类就是对象D)对象是Java 语言中的基本结构单位答案:C解析: 【解析】类是对象的抽象,对象是类的实例,因此类和对象是有区别的。

6.下面关于方法的说法,不正确的是()。

A)Java 中的构造方法名必须和类名相同B)方法体是对方法的实现,包括变量声明和合法语句C)如果一个类定义了构造方法,也可以用该类的默认构造方法D)类的私有方法不能被其他类直接访问答案:C解析: 【解析】类中一旦用户定义了构造方法,该类默认的构造方法就不存在了,除非用户再自定义该类的默认构造方法。

单片机编程练习题

单片机编程练习题

单片机编程练习题第四章习题:1、编程将8051的内部数据存储器20H单元和35H单元的数据相乘,结果存到外部数据存储器中(任意位置)。

#include<reg51.h>#include<math.h>int movdata(char);void main(){unsigned int xdata sum;unsigned char *ptr,a,b;ptr=0x20;a=*ptr;ptr=0x35;b=*ptr;sum=a*b;}2、8051的片内数据存储器25H单元中存放有一个0~10的整数,编程求其平方根(精确到5位有效数字),将平方根放到30H单元为首址的内存中。

#include<reg51.h>#include<math.h>void main(){char n;char *ptr;float *ptr2;float f;ptr=0x25;n=*ptr;f=sqrt(n);ptr2=0x30;*ptr2=f;}3、将外部RAM 10H~15H单元的内容传送到内部RAM 10H~15H单元。

#include<reg51.h>int movdata(char);void main(){char n=6;char *ptr1=0x10;char xdata *ptr2;ptr2=0x10;while(n--){*ptr1++=*ptr2++;}}4、内部RAM 20H、21H和22H、23H单元分别存放着两个无符号的16位数,将其中的大数置于24H和25H单元。

#include<reg51.h>unsigned int x _at_ 0x20;unsigned int y _at_ 0x22;unsigned int z _at_ 0x24;void main(){z=(x>y)?x:y;}第五章习题1、编写出外部中断1为下跳沿触发的中断初始化程序。

数值传热学第四章编程题

数值传热学第四章编程题

4-5迭代法求解节点温度。

说明:此处给出的是C++程序代码,使用牛顿迭代法,迭代收敛精度1.0e-6;程序运行结果附后。

/*NHT 4-5 newton*created on 2012-10-19 by Sanye*/#include <cmath>#include <stdio.h>#include <iostream>using namespace std;int main(){ double funT=1.0,dfunT=1.0,temp1=1.0,temp2=1.0;double T=20.0;//primary valueint i=0; //for TEST!cout<<"primary T= "<<T<<" ;"<<endl;while(fabs(funT/dfunT)>=1.0e-6){ i++;if(i==1&&(T<=20.0))T=100.0;//in case unreasonable T;temp1=pow(T-20.0,0.25);temp2=pow(T-20.0,-0.75);funT=0.5*T-80+2*T*temp1-40*temp1;dfunT=0.5+2*temp1+0.5*T*temp2-10*temp2;T=T-funT/dfunT;cout<<" step "<<i<<";\tT3'-T3= "<<funT/dfunT<<" ;"<<endl;}cout<<"total steps: "<<i<<endl;cout<<"\tT[1]= "<<100<<"\tT[2]= "<<0.5*(T+130)<<"\tT[3]= "<<T<<endl;return 0;}运行结果:4-12 编写TDMA算法程序验证其正确性。

C语言程序设计习题集第4章 循环结构(答案)

C语言程序设计习题集第4章 循环结构(答案)

第4章循环结构一、选择题1、有以下程序段int k=0;while(k=1)k++;while 循环执行的次数是(A)A)无限次B)有语法错,不能执行C) 一次也不执行D)执行1次2、t为int类型,进入下面的循环之前,t的值为0while(t=1){ …… }则以下叙述中正确的是(B)A) 循环控制表达式的值为0B)循环控制表达式的值为1C) 循环控制表达式不合法D)以上说法都不对3、在C程序中,与while(m)中表达式m完全等价的是(B )A) m==0 B) m!=0 C) m==1 D)m!=14、有以下程序,程序运行后的输出结果是(C).main(){int i=1,sum=0;while(i<=4){sum=sum+i;i=i+1;}printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环5、有以下程序,程序运行后的输出结果是(D ).main(){int i=1,sum=0;while(i<=4)sum=sum+i;i=i+1;printf(“%d\n”,sum);}A)4 B)5 C)10 D)死循环6、有如下程序main(){int n=9;while(n>6){n-—;printf(“%d",n);}}该程序段的输出结果是(B)A)987 B) 876 C) 8765 D) 98767、以下程序的输出结果是(B)main(){int num= 0;while(num<=2){num++;printf(“%d\n”,num);}}A) 1 B) 1 C)1 D)l2 2 23 348、有以下程序,若运行时输入3.6 2.4<回车〉,则输出的结果是( B)。

main(){float x,y,z;scanf(“%f%f”,&x,&y);z=x/y;while(1){if(fabs(z)>1。

0){x=y;y=z;z=x/y;}elsebreak;}printf(“%f\n”,y);}A)1.500000 B)1.600000 C)2。

C语言第四章习题及答案(课余练习-不用提交)

C语言第四章习题及答案(课余练习-不用提交)

第四章习题答案一、选择题1)以下是if语句的基本形式:if(表达式) 语句其中"表达式"A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式2)以下选项中,值为1的表达式是()。

A)1-'0' B)1-'\0' C)'1'-0 D)'\0'-'0'3)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是:A)1 B)0 C)2 D)不知道a的值,不能确定4)若变量已正确定义,在if (W)printf(“%d\n”,k);中,以下不可替代W的是A)a<>b+c B)ch=getchar()C)a==b+c D)a++5)设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是A)if(x++); B)if(x>y&&y!=0);C)if(x>y) x- - D)if(y<0) {;}else y++; else x++;6) 以下选项中,当x为大于1的奇数时,值为0的表达式A)x%2==1 B)x%2 C)x%2!=0 D)x%2==07) 设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0)C)(EXP= =1)D)(EXP!=1)8) 在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E=0) B) (E>0||E<0) C) (E==0) D) (E!=0)9)若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是()。

A)(x-y>0) B)(x-y<0) C)(x-y<0||x-y>0) D)(x-y==0)10) 若有表达式(w)?(--x):(++y),则其中与w等价的表达式是 ( )A)w==1 B) w==0 C) w! =1 D) w! =011) 设有定义: int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是A)if(a>b) c=a,a=b,b=c; B)if(a>b){c=a,a=b,b=c;}C)if(a>b) c=a;a=b;b=c; D)if(a>b){c=a;a=b;b=c;}12) 已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是A)kk>='A'&&kk<='Z' B)!(kk>='A'‖kk<='Z')C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91)isalpha(c) 判断参数c是否为英文字母头文件:ctype.hisupper(c) 判断参数c是否为大写英文字母是返回非零值,否则返回零islower(c ) 检查参数c是否为小写英文字母13)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’D)c<=(‘z’-32)&&(‘a’-32)<=c14) 当变量c的值不为2、4、6时,值也为“真”的表达式是A)(c==2)‖(c==4)‖(c==6) B)(c>=2&&c<=6)‖(c!=3)‖(c!=5)C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1)15) 若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7 16)有以下程序#includemain(){int a=1,b=0;if(!a) b++;else if(a==0) if(a) b+=2;else b+=3;printf("%d\n",b); }程序运行后的输出结果是A)0 B)1 C)2 D)317)在嵌套使用if语句时,C语言规定else总是()。

Java第四章题

Java第四章题

1、已知类的定义如下public class test_3{int x ;int y ;test_3(int a,int b){x=a;y=b;}test_3(){x=-1;y=-1;}int get_x(){return x++;}int get_y(){return y--;}如果用下面三种不同的方法加载类,写出要求的结果:(1)用test_3 a1=new test_3()后;a1.x的内容为_____ ,a1.y的内容为______。

(2)用test_3 a1=new test_3(-2,5)后;a1.x的内容为_____ ,a1.y的内容为______。

(3)用test_3 a1=new test_3(10)后;其结果是__________。

2、设int x=1,float y=2,则表达式x / y的值是( )A、0B、1C、2D、以上都不是3、以下语句有语法错的是( )A、int x=1;y=2;z=3B、for (int x=10,y=0;x>0;x++);C、while (x>5);D、for(;;);4、void 的含义( )A、方法体为空B、定义的方法没有形参C、定义的方法没有返回值D、方法的返回值不能参加算术运算5、以下有关类定义的说法正确的是( )A、一个类可以有成员,也可以没有成员B、类的成员至少有一个属性和一个方法C、类的静态属性同全局变量的概念完全一样,只是表达形式不同D、类的方法在实例化时不占用内存6、以下有关构造函数的说法,正确的是( )A、一个类的构造函数可以有多个B、构造函数在类定义时被调用C、构造函数只能由对象中的其它方法调用。

D、构造函数可以和类同名,也可以和类名不同7、以下有关类的继承的说明中,正确的是( )A、子类能直接继承父类所有的非私有属性,也可通过接口继承父类的私有属性B、子类只能继承父类的方法,不能继承父类的属性C、子类只能继承父类的非私有属性,不能继承父类的方法D、子类不能继承父类的私有属性8、以下有关类的构造函数继承的说明,正确的是( )A、子类继承父类的构造函数,但不能自己定义B、子类可定义自己的构造函数,但受父类定义的构造函数的限制C、子类和父类均可独自定义自己的构造函数,但执行时的顺序有规定D、如父类定义了构造函数,则子类只能继承父类的构造函数,不能自己定义9、this 和super的使用中,正确的是( )A、都是指一个内存地址B、可以在同一个方法定义中出现C、意义相同D、以上都不10、分析以下程序,下面(AC)方法是对setVar方法的重载。

习题解答(第四章)

习题解答(第四章)

C 语言程序设计习题解答(第四章)4.1指出下列程序的错误或不合理之处, 并改正之.#include <stdio.h>void main(void){int x, n, s;s=power(x, n)}power(y){int i, p=1;for(i=1; i<=n; i++)p=p*y;};[解答] 错误或不合理之处有:(1) 第五行后面没有分号;(2) main 函数中应该有输入输出语句;(3) power 函数的使用在定义之前, 应该在使用前声明;(4) power 函数的使用在参数个数与返回值上与定义不一致;(5) power 函数的定义中没有说明形式参数的类型;(6) 变量n 应该作为power 的一个形式参数;(7) power 函数应该有一个返回值;(8) 程序最后一行的分号是多余的.正确的程序如下:#include "stdio.h"void main(){int x, n, s;int power(int y, int n);printf("Please input x and n:");scanf("%d%d",&x,&n);s=power(x, n);printf("s=%d\n",s);}int power(int y, int n){int i, p=1;for(i=1; i<=n; ++i)p=p*y;return(p);4.2, 4.3 略4.4 写一个将整数转换成字符串的函数itoa.[解答] 注: 这题需要第五章关于字体串的知识, 参考程序如下:#include <math.h>char *itoa(int num, char *str) /* 将整数 num 转换为相应的字符串, 将转换结果存放在 str 指向的字符数组中, 返回此字符数组的首地址 */{int i, len;if(num==0) /* 计算 num 的长度, 即数位的个数 */len=1;elselen=(int)log10(abs(num))+1;if(num<0) /* 处理负号 */{str[0]='-';num=-num;i=len+1;}elsei=len;str[i--]='\0'; /* 在最后一位放上字符串结束标记 */do /* 转换每一个数位 */{str[i--]=num%10+'0';num/=10;}while(num>0);return str;}4.5 写出Ackermann 函数),(n m Ack 的递归计算函数, 对于0,0≥≥n m , ),(n m Ack 定义为))1,(,1(),()1,1()0,(1),0(--=-=+=n m Ack m Ack n m Ack m Ack m Ack n n Ack 要求显示计算过程.[解答]#include "stdio.h"#include "stdlib.h"int Ack(int m, int n)if(m<0 || n<0){printf("m and n must be nonnegative.");exit(1);}else if(m==0){printf("Ack(%d, %d) = %d\n", 0, n, n+1);return(n+1);}else if(n==0){printf("Ack(%d, %d) = Ack(%d, %d)\n", m, 0, m-1, 1);return(Ack(m-1,1));}else{printf("Ack(%d, %d) = Ack(%d, Ack(%d, %d))\n", m, n, m-1, m, n-1);return(Ack(m-1,Ack(m,n-1)));}}4.6 分别写出计算Hermite 多项式)(x H n 之值的递推和递归函数, )(x H n 的定义如下:1),()1(2)(2)(2)(1)(2110>--===--n x H n x xH x H xx H x H n n n[解答]递推算法:#include <stdio.h>#include <stdlib.h>double H(int n, double x){int i;double h1=1, h2=2*x, h;if(n<0){printf("n 必须为非负整数.\n");exit(1);}else if(n==0) h=h1;else if(n==1) h=h2;elsefor(i=2; i<=n; i++){h=2*x*h2-2*(i-1)*h1;h1=h2;h2=h;}return h;}递归算法:#include <stdio.h>#include <stdlib.h>double H(int n, double x){if(n<0){printf("n 必须为非负整数.\n");exit(1);}else if(n==0)return 1;else if(n==1)return 2*x;elsereturn 2*x*H(n-1, x)-2*(n-1)*H(n-2, x);}4.7 (题目略)[解答] 各变量的存储属性如下:1.第二行的变量i是外部变量;2.main函数中的i, j是自动变量;3.next, last和new函数中的形式参数是自动变量;st函数中的i是静态(局部)变量;5.new函数中的j是自动变量.运行结果如下:i=1, j=1next(i)=1last(i)=10new(i+j)=12i=1, j=2next(i)=2last(i)=9new(i+j)=13i=1, j=3next(i)=3last(i)=8new(i+j)=144.8 (略)4.9 若有宏定义#define max(a, b) ((a)>(b) ? (a) : (b))下面表达式将扩展成什么?max(a, max(b, max(c, d)))如何修改上述表达式, 使其宏扩展变得稍小一些?[解答] max(a, max(b, max(c, d))) 将扩展成((a)>(((b)>(((c)>(d) ? (c) : (d))) ? (b) : (((c)>(d) ? (c) : (d))))) ? (a) : (((b)>(((c)>(d) ? (c) : (d))) ?(b) : (((c)>(d) ? (c) : (d))))))将max(a, max(b, max(c, d))) 修改成max(max(a, b), max(c, d)) 将使其宏扩展变得稍小一些. 注: max(max(a, b), max(c, d)) 的扩展为:((((a)>(b) ? (a) : (b)))>(((c)>(d) ? (c) : (d))) ? (((a)>(b) ? (a) : (b))) : (((c)>(d) ? (c) : (d))))4.10 定义一个宏, 将大写字母变成小写字母.[解答]#define ToLower(ch) ((ch)>='A' && (ch)<= 'Z'? (ch)+32 : (ch))或者:#define ToLower(ch) ((ch)>= 'A' && (ch)<= 'Z'? (ch)- 'A'+'a' : (ch))4.11 定义一个宏, 交换两个参数的值.[解答]#define SW AP(a, b) ((a)=(a)+(b), (b)=(a)-(b), (a)=(a)-(b))。

JAVA练习题(第4章)

JAVA练习题(第4章)
【答案】:C 【答案】:D
29、给出下列接口的定义,下面哪个类实现该接口,并且不是抽象() interface A{ int method1(int i); int method2(int j); } A 、class B implements A{ int method1(){ } int method2(){ } } B、class B{ int method1(int i){ } int method2(int j){ } } 【答案】:C C、class B implements A{ int method1(int i){ } int method2(int j){ } } D、class B extends A{ int method1(int i){ } int method2(int j){ } }
18、下列说法正确的是( )。 A、final 可修饰类、属性、方法 B、abstract可修饰类、属性、方法 【答案】:A C、定义抽象方法需有方法的返回类型、名称、参 数列表和方法体 D、用final修饰的变量,在程序中可对这个变量的 值进行更改 19、在Java中,所有类的根类是( )。 A、ng.Object B、ng.Class C、java.applet.Apple D、java.awt.Frame 【答案】:A
二、填空题

1、抽象(abstract)方法是一种仅有方法头,没 有具体方法体和操作实现的方法,该方法 必须在抽象类之中定义。 最终(final) 方法是 不能被当前类的子类重新定义的方法。
2、 java程序引入接口的概念,是为了弥补 单继承 只允许类的________ 的缺憾。 abstract 来修饰。 3、抽象方法用关键字________ 多重 4、java语言通过接口支持______ 继承,使类 继承具有更灵活的扩展性

实用教程习题集第4章

实用教程习题集第4章

实⽤教程习题集第4章第4章类的封装性、继承性、多态性及接⼝⼀、判断题1. 如果类A和类B在同⼀个包中,则除了私有成员外,类A可以访问类B中所有的成员。

()2. 接⼝中的成员变量全部为常量,⽅法为抽象⽅法。

()3. 抽象类可以有构造⽅法,所以能直接⽤来⽣成实例。

()4. Java的类不允许嵌套定义。

()5. 包含抽象⽅法的类⼀定是抽象类,但有abstract修饰的类不⼀定包含抽象⽅法()6. 泛型只能⽤于类的定义中,不能⽤于接⼝的定义中。

()7. ⽤final修饰的类不能被继承。

()8. 接⼝⽆构造器,不能有实例,也不能定义常量。

()9. ⼀个具体类实现接⼝时,必须要实现接⼝中的所有⽅法。

()10. 类具有封装性,但可以通过类的公共接⼝访问类中的数据。

()11. ⼦类能继承或覆盖(重写)⽗类的⽅法,但不能重载⽗类的⽅法。

()12. ⽤final修饰的⽅法不能被⼦类覆盖(重写)。

()13. abstract是抽象修饰符,可以⽤来修饰类、属性和⽅法。

()14. ⽗类的静态⽅法不能被⼦类覆盖为⾮静态的⽅法,反之亦然。

()15. ⼦类实例化时,⼦类的构造⽅法⼀定会先调⽤⽗类的构造⽅法。

()16. ⽤final修饰的⽅法不能被覆盖(重写),也不能有重载的⽅法。

()17. 接⼝也可以继承接⼝,且可以继承多个接⼝,体现了多重继承性。

()18. 假设类B继承类A,类C继承类B,则在类C中可⽤super访问类A的⽅法。

()19. 类和接⼝都可以继承另外⼀个类。

()20. 抽象类中不能包含final修饰的⽅法。

()⼆、选择题1. Java实现动态多态性是通过()实现的。

A. 重载B. 覆盖C. 接⼝D. 抽象类2. 下列哪⼀种描述是正确的?()A. 动态多态性只针对静态成员⽅法B. 动态多态性只针对⾮静态成员⽅法C. 动态多态性只针对静态成员域A. 重载⽅法的参数形式(类型、参数个数或参数顺序)必须不同B. 重载⽅法的参数名称必须不同C. 重载⽅法的返回值类型必须不同D. 重载⽅法的修饰词必须不同4. 接⼝的所有成员⽅法都具有()修饰的特性。

XX医学院本科各专业《Python》第四章习题与答案-2020年精品

XX医学院本科各专业《Python》第四章习题与答案-2020年精品

XX医学院本科各专业《Python》第四章习题与答案一、填空题1.表达式'ab' in 'acbed' 的值为的值为________。

(False)2.假设n为2,那么表达式n//1 == n%4 的值为的值为_____________。

(True)3.Python通过保留字for实现“遍历循环”,之所以称为“遍历循环”,是因为for语句的循环执行次数是根据遍历结构中_____________确定的。

(元素个数)4.表达式3<5<2 的值为_______________。

(False)5.表达式1<2<3 的值为_________。

(True)6.表达式24<=28 and 28<25 的值为________。

(False)7.表达式24<=28 or 28<25 的值为_________。

(True)8.Python通过_____、_____、_____等保留字提供单分支、二分支和多分支。

(if elif else)9.当bmi的值为20时,表达式bmi<28 的值为______________。

(True)10.Python中用于表示逻辑与、逻辑或、逻辑非运算的保留字分别是_________、___________、_________。

(and、or、not)11.Python 3.x语句for i in range(3):print(i+1,end=',') 的输出结果为_____________________。

(1,2,3,)12.对于带有else子句的for循环和while循环,当循环因循环条件不成立而自然结束时________(会?不会?)执行else中的代码。

(会)13.在循环语句中,__________语句的作用是提前结束本层循环。

(break)14.在循环语句中,_______语句的作用是提前进入下一次循环。

java题库第四章

java题库第四章

第四章4.3 习题解答1.问答题略.2.选择题4-1 Applet类是属于(B)包的。

A.java.awtB.java.appletC.java.iong4-2 下列关于Applet程序的描述中,错误的是(B)。

A.Applet程序的主类必须是Applet类的子类B.Applet程序的主类中应该有一个main()方法C.Applet不是完整的独立程序D.Acm的字节码文件必须嵌套在一个HTML文件中4-3 下列关于Applet程序的描述中,错误的是(D)。

A.将编辑好的Java源文件,使用javac命令生成字节码文件B.讲字节码文件嵌入HTML文件,并存放在一个WWW服务器中C.使用浏览器解释HTML文件中的标记D.使用编译器直接执行嵌套在HTML文件中的字节码文件4-4 在Applet类的主要方法中,用来实现初始化操作的是(A)。

A.init() B.stop() C.start() D.paint()4-5 下列关于HTML文件的描述,错误的是(C)。

A.HTML文件是使用一种超文本标记语言(HTML)书写的文件B.HTML文件中使用的标记通常是用一对尖括号括起来的,两个标记之间是正文内容C.HTML文件中没有单独出现的标记D.HTML中不区分大小写字母4-6 下列关于向Applet程序传递参数的描述中,错误的是(A)。

A.Applet程序可以通过命令获得外部参数B.Applet程序可以通过HTML文件获取外部参数C.使用Applet编辑的PARAM标记来实现D.Applet程序中使用getParameter()方法读取参数值4-7 下列关于字体的描述中,错误的是(C)。

A.Font类型提供了创建字体对象的方法B.字体风格(字型)使用了3个静态常量表示C.表示字型的字体风格只能单独使用,不可以组合D.字号表示字的大小,用点表示,一个点为1/72英寸4-8 下列用来获取当前颜色的方法是(B)。

C语言第四章练习题

C语言第四章练习题

C语⾔第四章练习题注意,本套题⽬中有些涉汲到函数的调⽤和指针的使⽤,⼤家⾃已先去看下,不懂就问,培养⾃⼰的⾃学能⼒。

⼀,选择题1.若有以下定义int x[10], *pt=x;则对x数组元素的正确引⽤是A) pt+3B) *&x[10]C) *(pt+10)D) *(x+3)2.有以下程序#includemain(){ int i, s=0, t[]={1,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2) s+=*(t+i);printf("%d\n",s);}程序执⾏后的输出结果是A) 20B) 25C) 45D) 363.#includemain(){ int c[6]={10,20,30,40,50,60}, *p,*s;p = c; s = &c[5];printf("%d\n", s-p );}程序运⾏后的输出结果是A) 5B) 50C) 6D) 60{ int a[3]={0}, i, j, k=2;for( i=0; ifor( j=0; jprintf("%d\n", a[1] );}程序运⾏后的输出结果是A) 0B) 2C) 15..有以下程序#includemain(){ int a[5]={2,4,6,8,10}, *p,**k;p = a; k = &pprintf("%d ", *( p++ ) );printf("%d\n", **k );}程序运⾏后的输出结果是A) 4 6B) 4 4C) 2 2D) 2 46.以下叙述中正确的是A) ⼀条语句只能定义⼀个数组B) 每个数组包含⼀组具有同⼀类型的变量,这些变量在内存中占有连续的存储单元C) 数组说明符的⼀对⽅括号中只能使⽤整型常量,⽽不能使⽤表达式D) 在引⽤数组元素时,下标表达式可以使⽤浮点数7.以下叙述中正确的是A) 数组下标的下限是1B) 数组下标的下限由数组中第⼀个⾮零元素的位置决定C) 数组下标的下限由数组中第⼀个被赋值元素的位置决定D) char c1, c2, *c3, c4[40];是合法的变量定义语句8.以下叙述中正确的是C) 语句 char a[2] = {"A", "B"}; 是合法的,定义了⼀个包含两个字符的数组D) 语句 char a[3]; a = "AB"; 是合法的,因为数组有三个字符空间的容量,可以保存两个字符9.有以下程序#includemain(){ int a[ ]={ 2,4,6,8,10 }, x, *p, y=1;p = &a[1];for( x=0; x<3; x++ ) y += *(p+x);printf( "%d\n",y );}程序的输出结果是A) 13B) 19C) 1110.有以下程序#includemain(){int a[ ] = { 2,4,6,8 }, *p=a, i;for( i=0; i<4; i++ )a[i]=*p++;printf( "%d\n" ,a[2] );}程序的输出结果是A) 2B) 8C) 4D) 611.以下叙述正确的是A) 不能在数组说明符的⼀对⽅括号中使⽤表达式B) char c1, *c2, **c3, c4[2]; 是C语⾔的合法语句C) 数组下标的最⼩值可以是负值D) 若有数组定义 int array[5]; 则语句printf("%d",array[1.23]);是合法的int b[] = {9};char c[3] = {"A", "B"};char d = "12";以下叙述正确的是A) a, b的定义合法,c, d的定义不合法B) a,b,c,d的定义都是合法的C) a,b,c的定义是合法的,d的定义不合法D) 只有a的定义是合法的12.对于函数声明void fun(float array[], int *ptr);下叙述正确的是A) 调⽤函数时,array数组的元素和ptr都是按值传送B) 函数声明有语法错误,参数 array 缺少数组⼤⼩定义C) 调⽤函数时,array数组中将存储从实参中复制来的元素值D) 函数参数 array, ptr 都是指针变量13.要求定义⼀个具有6个元素的int型⼀维数组,以下选项中错误的是A) int a[2*3] = {0};B) int N = 6, a[N];C) #define N 3int a[N+N];D) int a[] = {1,2,3,4,5,6};14.设有定义:int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a,i;,若0≤i≤9,则对a数组元素的引⽤错误的是A) *(&a[i])B) a[10]C) p[i]D) a[p-a]15.有以下程序#includeint fun(int x[],int n){static int sum=0, i;for(i=0;ireturn sum;{int a[]={1,2,3,4,5}, b[]={6,7,8,9}, s=0; s=fun(a,5)+fun(b,4);printf("%d\n",s);}程序执⾏后的输出结果是A) 55B) 50C) 45D) 60⼆,填空题1. #includevoid fun(int *s, int n1, int n2){int i, j, t;i=n1; j=n2;while( i{t=s[i]; s[i]=s[j]; s[j]=t; i++; j--;}}main(){int a[10]={1,2,3,4,5,6,7,8,9,0}, k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k<10;k++)printf("%d", a[k]);printf("\n");}则输出结果是。

C语言程序设计教程第四章练习题解析(1)

C语言程序设计教程第四章练习题解析(1)
A.3
B.4
C.5
D.6
答案:A
解析:(v1, v2),(v3,v4,v5)和v6一共三个实参
3、关于C语言中print()函数与scanf()函数,下列描述中正确的是()
A.printf()函数可以向任何地方输出数据
B.printf()只向控制台输出数据
C.scanf()只能输入英文字母和数字
D.scanf()函数可以识别输入的空格
s=2;
else
s=n-fun(n-1);
return s;
}
void main()
{
printf("%ld\n", fun(3));
}
A.1
B.2
C.3
D.4
答案:A
解析:fun()函数传入3时,返回3-fun(2);fun()函数传入2时,返回2。所以fun(3)返回3-2=1。
23、在C语言中,函数的隐含存储类别是()。
12、C语言程序的基本单位是()。
A.程序行
B.语句
C.函数
D.字符
答案:C
解析:函数是C语言程序的基本单位
13、C语言中决定函数返回值的类型的是()。
A.return语句中的表达式类型
B.调用函数的主调函数类型
C.调用函数时临时
D.定义函数时所指定的函数类型
答案:D
解析:函数的返回值取决于定义函数时指定的返回值类型
28、下列程序的输出结果是()。
int b=2;
int func(int *a)
{
b += *a;
return b;
}
void main()
{
int a=2, res=2;

JavaScript习题(带答案)

JavaScript习题(带答案)

JavaScript 基础练习题第四章习题一一、判断题1. 在JavaScript中可以用十六进制形式表示浮点数常量。

2. 空字符串( "" )也是字符串常量。

3. 使用单引号对( ' ')表示字符常量,而使用双引号对( " ")表示字符串常量。

4. 在定义JavaScript变量时,一定要指出变量名和值。

5. 用var 定义一个变量后,如果没有赋予任何值,那么它的值是空值,即null.6. JavaScript规定在使用任何变量之前必须先使用var 声明它。

7. 在使用var x=1声明变量x 之后,赋值语句x="今天天气真好"将出错。

8. 表达式的类型只取决于运算符,与操作数无关。

9. 两个整数进行除( / )运算,其结果也为整数。

10. 如果有定义var a=true,b;那么a ll b 的结果为true。

二、单选题1.以下哪个常量值最大B. 0X65 2.下面四个变量声明语句中,哪一个变量的命名是正确的A. var defaultB. var my_bouseC. var my dogD. var 2cats3.下面哪一个语句定义了一个名为pageNumber 的变量并将它的值赋为240A. var PageNumber=240B. pagenumber=240C. var pageNumber=240D. var int named pageNumber=2404.下面哪一个字符串变量定义语句是不正确的A. var mytext = "Here is some text!"B. var mytext = 'Here is some text!'C. var mytext = 'Here is some text!"D. var mytext = "Here is\nsome text!" 5.下面四个JavaScript 语句中,哪一个是合法的A. ("John said ,''Hi!"")B. ("John said ,''Hi!"')C. ("John said ,''Hi!")D. ("John said ,\''Hi!\"")6.下面哪一个不是JavaScript运算符A. =B. ==C. &&D. $# 7.表达式123%7 的计算结果是A. 2B. 3C. 4D. 5 8.表达式"123abe"-"123" 的计算结果是_。

微机原理第四章练习题及解答

微机原理第四章练习题及解答

微机原理第四章练习题及解一:单项选择题●汇编源程序文件的扩展名是( C )。

A:*.LST B:*.OBJ C:*.ASM D:*.EXE●源程序文件汇编后的目标文件的扩展名是( B )。

A:*.LST B:*.OBJ C:*.ASM D:*.EXE●目标文件连接后的可执行文件的扩展名是( D )。

A:*.LST B:*.OBJ C:*.ASM D:*.EXE●下列可作为标识符用的字符串是( C )。

A:MOV B:ZF C:FAH D:PTR●下列为寄存器名的字符串是( B )。

A:ZP B:BP C:AP D:CP●下列为状态标志的字符串是( A )。

A:ZP B:BF C:DF D:TF●下列为控标志的字符串是( D )。

A:ZP B:SF C:OF D:TF●下列为指令助记符的字符串是( C )。

A:ADCC B:AAAA C:SUB D:POOP●下列为运算符的字符串是( B )。

A:ADC B:PTR C:OAG D:LOOP●定义字类型的伪指令符是( B )。

A:DB B:DW C:DD D:DQ●说明字节类型的伪指令符是( C )。

A:WORD B:DWORD C:BYTE D:SHOR●返回变量段属性的伪指令符是( B )。

A:OFFSET B:SEG C:TYPE D:SIZE●定义过程结束的伪指令符是( C )。

A:END B:ENDS C:ENDP D:ENDM●下列为段定义的伪指令是( B )。

A:PROC B:SEGMENT C:ASSUME D:STRUC●下列为符号定义的伪指令是( B )。

A:ORG B:EQU C:STR D:RET二:填空题●将指令助记符翻译为指令机器码的过程称为(汇编)。

●汇编程序的功能是输入扩展名为ASM的(汇编源程序)文件,输出扩展名为OBJ的(目标代码)文件和扩展名为LST的(列表)文件。

●汇编源程序中的保留字类型有(寄存器名)、(标志名)、(指令助记符)、(伪指令符)和(运算符)。

C语言程序设计教程第四章练习题解析(1)

C语言程序设计教程第四章练习题解析(1)

单选题1、关于C语言中的函数,下列描述正确的是()A。

函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的嵌套均不可以嵌套D.函数的定义和函数的调用均不可以嵌套答案:B解析:函数的定义不可以嵌套,但函数的调用可以嵌套2、定义一个函数:exce((v1, v2), (v3,v4,v5),v6); 在该函数调用时,实参的个数为()个A.3B。

4C。

5D.6答案:A解析:(v1,v2),(v3,v4,v5)和v6一共三个实参3、关于C语言中print()函数与scanf()函数,下列描述中正确的是()A。

printf()函数可以向任何地方输出数据B。

printf()只向控制台输出数据C。

scanf()只能输入英文字母和数字D.scanf()函数可以识别输入的空格答案:B解析:printf()是向控制台输出的函数4、在C语言中,内部函数需要添加的关键字是()A.externB.staticC.thisD。

auto答案:B解析:在定义内部函数时,需要在函数的返回值类型前面添加static关键字(又称为静态函数)。

5、当调用时,会调用内部函数A。

当调用时,会调用内部函数B。

当调用时,会调用外部函数C。

当调用时,会调用两次,先调用内部函数再调用外部函数D。

都不调用,会报错答案:A解析:当内部函数与外部函数重名时,会优先调用内部函数6、在C语言中,声明外部函数需要添加的关键字是( )A。

externB。

staticC。

thisD.auto解析:声明外部函数的方式是在函数的返回值类型前面添加extern关键字7、关于C语言中的局部变量,下列描述中错误的是( )A.局部变量就是在函数内部声明的变量B.局部变量只在函数内部有效C.局部变量只有当它所在的函数被调用时才会被使用D。

局部变量一旦被调用,其生存周期持续到程序结束答案:D解析:当函数调用结束时局部变量就会失去作用8、关于C语言中的全局变量,下列描述中正确的是()A。

C语言题库第4章 函数

C语言题库第4章 函数

第四章函数一、单项选择1. 有以下程序,程序运行的输出结果( A )#include <stdio.h>int f(int x);int main(){ int n=1,m;m=f(f(f(n))); printf(“%d\n”,m);return 0 ;}int f(int x){ return x*2;}A.8 B.4 C.1 D.22. 有以下程序,程序执行后变量w中的值是( C )#include<stdio.h>int funl(double a){return a*=a;}int fun2(double x,double y){ double a=0,b=0;a=funl(x);b=funl(y);return (int)(a+b);}int main(){double w;w=fun2(1.1,2.0);……}3. 有以下程序,程序运行后的输出结果是( B )#include <stdio.h>void fun(int p){ int d=2; p=d++; printf(“%d”,p);}int main(){ int a=1;fun(a); printf(“%d\n”,a);return 0;}4. 有以下程序,程序运行后的输出结果是( B )#include<stdio.h>int fun(){ static int x=1;x*=2;return x;}int main(){ int i,s=1;for(i=1;i<=3;i++) s*=fun();printf("%d\n",s);}5. 有以下程序,程序运行后的输出结果是( B ) #include<stdio.h>int fun (int x,int y){ if (x!=y) return ((x+y)/2);else return (x);}int main(){ int a=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));return 0;}6. 有以下程序,程序运行后的输出结果是( D )#include<stdio.h>int f(int x,int y){return ((y-x)*x);}int main(){ int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf("%d\n",d);}7. 有以下程序:程序运行后的输出结果是( A ) #include <stdio.h>int f(){ static int x=1;x+=1; return x;}int main(){ int i,s=1;for(i=1;i<=5;i++) s+=fun();printf("%d\n",s);return 0;}8. 设函数中有整形变量n,为保证其在未赋初值的情况下初值为0,应该选择的存储类别是( D )9. 在函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则( C )10. 在C语言中,只有在使用时才占用内存单元的变量,其存储类型是( B )。

第4章 习题及参考答案

第4章 习题及参考答案
A.HyperLinkB.ImageC.ListBoxD.LinkButton
5.添加一个服务器CheckBox控件,单击该控件不能生成一个回发,如何做才能让CheckBox的事件导致页面被提交?(B)
A.设置IE浏览器可以运行脚本B.AutoPostBack属性设置为true
C.AutoPostBack属性设置为falseD.为CheckBox添加Click事件
A.RequiredFieldValidatorB.RangeValidatorC.CustomValidator D.CompareValidator
10.假设开发了一个用户注册界面,要求填写E-mail地址,并保证为必填项。下面为代码片段,如果填写不正确,提示“请输入正确的E-mail”紧随文本框后面出现,该如何做?(D)
15.下面对CustomValidator控件说法错误的是(D)。
A.控件允许用户根据程序设计需要自定义控件的验证方法
B.控件可以添加客户端验证方法和服务器端验证方法
C.ClientValidationFunction属性指定客户端验证方法
D.runat属性用来指定服务器端验证方法
16.使用ValidationSummary控件时需要以对话框的形式来显示错误信息,需要设置下面(B)属性。
<asp:Button ID="btnSubmit" runat="server" Text="提交" />
</div>
A.设置RegularExpressionValidator控件的Display属性为Dynamic
B.设置RegularExpressionValidator控件的Display属性为Static

第4章 习题及参考解答

第4章  习题及参考解答
(1)用比较、转移指令实现;
(2)用跳转表实现。
MOV BL,NUMB
MOV CHARS[BX],'$'
MOV DX,OFFSET CHARS
MOV AH,9
INT21H
MOV AH,4CH
INT21H
CODEENDS
ENDSTART
13.某软件共可接收10个键盘命令(分别为A,B,C,…,J),完成这10个命令的程序分别为过程P0,P1,…,P9。编一程序从键盘接收命令,并转到相应的过程去执行。要求用两种方法:
(5)MOV[BX],1000错。两操作数类型不匹配,[BX]只定义了一字节单元,而1000是16位数据。
11.8086汇编语言程序中段的类型有几种?各段如何定义?段定义语句中,定位类型、组合类型、类别各起什么作用?各有什么含义?
解8086汇编语言中,段的类型有三种,即代码段、堆栈段、数据段(附加数据段可归属于数据段)。各段可用段定义语句(SEGMENT与ENDS)和段名赋给段寄存器语句(ASSUME)来定义。段定义语句中,定位类型表示此段的起始边界要求,可允许4种段的起始边界,即PAGE、PARA、WORD或BYTE。它们分别表示段的起始值为以页、节、字、字节为边界,若此项省略,则默认值为PARA。组合类型用来告诉连接程序本段与其他段的关系,分别为NONE、PUBLIC、COMMON、AT表达式、STACK或MEMORY。每一种的含义请参看主教材。类别是连接程序(LINK)需要的。它可以是任何合法的名称,必须用单引号括起来,连接程序只使同类别的段发生关联。典型类别如‘CODE’、'STACK'。
DATASEGMENT
ORG 100H
BUF1DB 00H,01H.02H,…,0FEH,0FFH;共256个数据
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

三、编程题4.16 设计工程,已知圆的半径r,求圆面积S。

【解答】设圆半径为r,圆面积为S。

根据数学知识,已知圆半径r,求圆面积S的公式为:2rSπ=。

设计步骤如下。

(1)建立应用程序用户界面,如图4-1所示。

(2)设置对象属性:Label1的Caption属性为“已知圆半径r=”;Text1的Text属性为空;Command1的Caption属性为“圆面积为:”;Label2的Caption属性为空;Label2的BorderStyle属性为1-Fixed Single。

各控件的属性设置如图4-2所示。

图4-1 建立用户界面图4-2 设置各控件的属性(3)编写程序代码。

写出“圆面积为:”命令按钮Command1的Click事件代码为:Private Sub Command1_Click( )Const pi = 3.14Dim r As Single, S As Singler = V al(Text1.Text)S = pi * r ^ 2Label2.Caption = SEnd Sub运行程序时,在文本框输入圆半径的值,单击“圆面积为:”按钮后,输出结果如图4-3所示。

也可以不用文本框接收输入值,改用InputBox函数接收圆的半径r,求圆面积S,代码如下。

图4-3 程序运行结果Private Sub Form_Load( )ShowConst pi = 3.1415926Dim r As Single, S As Singler = V al(InputBox("输入半径:", "计算圆面积", "10")) FontSize = 18 S = pi * r ^ 2Print "圆面积:"; S End Sub程序运行时,首先显示如图4-4所示的对话框,在该对话框的文本框中输入数字,按Enter 键或单击“确定”按钮后,才能显示窗体。

图4-4 输入对话框用InputBox 函数输入文本虽然很方便,但是由于输入框弹出后将暂停程序的运行,直到用户响应,因此输入框不符合VB 自由环境的精神。

输入框适合于像要求用户输入口令等这样不常见的输入方式。

还可以用更好的用户输入方式,如文本框、选项按钮等。

4.17 已知平面坐标系中两点的坐标,求两点间的距离。

【解答】 由数学知识可知,已知两点坐标(x A , y A )、(x B , y B ),求两点间距离的计算公式为2A B 2A B )()(y y x x s -+-=建立用户界面如图4-5所示。

在该界面中用TextBox 控件输入数据,用Label 控件输出数据。

为了形象地表示两点之间的距离,可用Picture 控件插入一幅图,该图用画图软件绘制。

命令按钮Command1的Click 事件代码为:Private Sub Command1_Click( ) Dim xa As Single, xb As Single Dim ya As Single, yb As Single Dim s As Single xa = Val(Text1.Text) ya = V al(Text2.Text)xb = V al(Text3.Text) yb = V al(Text4.Text)s = Sqr((xb - xa) ^ 2 + (yb - ya) ^ 2) Label6.Caption = s End Sub程序运行结果如图4-6所示。

图4-5 设计用户界面图4-6 程序运行结果4.18 在文本框中输入三种商品的单价、购买数量,计算并输出所用的总金额。

【解答】假设第一种商品的单价和购买数量分别是a1和a2,第二种商品的单价和购买数量分别是b1和b2,第三种商品的单价和购买数量分别是c1和c2,所用总金额为x。

通过TextBox控件输入这三种商品的单价、购买数量,然后利用公式x = a1*a2+b1*b2+c1*c2进行计算,最后输出x的值。

设计步骤如下。

(1)建立应用程序用户界面,并设置对象属性,如图4-7所示。

图4-7 计算商品总金额(2)编写程序代码。

写出Command1_Click( )的事件代码为:Private Sub Command1_Click( )Dim a1 As Single, b1 As Single, c1 As SingleDim a2 As Integer, b2 As Integer, c2 As IntegerDim x As Singlea1 = V al(Text1.Text)a2 = V al(Text2.Text)b1 = V al(Text3.Text)b2 = V al(Text4.Text)c1 = V al(Text5.Text)c2 = V al(Text6.Text)x = a1 * a2 + b1 * b2 + c1 * c2Text7.Text = xEnd Sub4.19 设计工程,输出在指定范围内的三个随机数,范围在文本框中输入。

【解答】随机函数Rnd( )可以返回一个(0,1)区间中的随机小数,那么,Rnd * a语句可以返回(0,a)区间中的随机实数(带小数)。

若n, m均为整数,则表达式:Int((m + 1 – n) * Rnd) + n的值是闭区间[ n,m ]中的一个随机整数。

设计步骤如下。

(1)设计程序界面及设置控件属性。

新建一个工程,进入窗体设计器,在窗体中增加一个框架控件Frame1,一个命令按钮Command1和三个标签Label1~Label3。

选定Frame1,在其中增加两个文本框Text1和Text2以及一些标签。

修改对象属性参见表4-1。

设置属性后的窗体如图4-8所示。

表4-1 属性设置(2)编写程序代码。

Private Sub Command1_Click( )Randomizen = V al(Text1.Text)m = V al(Text2.Text)Label4.Caption = Int((m + 1 – n) * Rnd) + nLabel5.Caption = Int((m + 1 – n) * Rnd) + nLabel6.Caption = Int((m + 1 – n) * Rnd) + nEnd Sub运行程序,在文本框中输入范围值后,单击“生成随机数”按钮,可以不断生成指定范围之内的随机整数,如图4-9所示。

图4-8 设计用户界面图4-9 生成随机数4.20 使用大小写转换函数设计程序,实现在文本框中输入英文字母,按“转大写”按钮,文本变为大写;按“转小写”按钮,文本变为小写。

【解答】本题主要使用大小写转换函数UCase( )和LCase( ),另外还用到了KeyUp(键抬起)事件。

设计步骤如下。

(1)建立应用程序用户界面,并设置对象属性。

新建一个工程,进入窗体设计器,在窗体中增加一个标签Label1,一个文本框Text1和三个命令按钮Command1~Command3,参照图4-10设置各个对象的属性。

(a)(b)(c)图4-10 大小写转换(2)设计代码。

首先设计文本框的KeyUp事件代码,使得输入的字符存入文本框的Tag属性中:Private Sub T ext1_KeyUp(KeyCode As Integer, Shift As Integer)Text1.Tag = Text1.TextEnd Sub编写命令按钮Command1的Click事件代码:Private Sub Command1_Click( )Text1.Text = UCase(Text1.Tag)End Sub编写命令按钮Command2的Click事件代码:Private Sub Command2_Click( )Text1.Text = LCase(Text1.Tag)End Sub编写命令按钮Command3的Click事件代码:Private Sub Command3_Click( )Text1.Text = Text1.TagEnd Sub4.21 设某职工应发工资x元,试求各种票额钞票总张数最少的付款方案。

【解答】可以从最大的票额(100元)开始,算出所需的张数,然后在剩下的部分算出较小票额的张数,直到最小票额(1元)。

设计步骤如下。

(1)建立应用程序用户界面。

新建一个工程,进入窗体设计器,增加一个命令按钮Command1,14个标签Label1~Label14,七个文本框Text1~Text7。

用户界面如图4-11(a)所示。

(a)(b)图4-11 建立程序界面与程序运行结果(2)设置对象属性,参见表4-2。

其中标签的标题属性参见图4-11(a)。

表4-2 属性设置(3编写命令按钮Command1的Click事件代码:Private Sub Command1_Click( )x = V al(Text1.Text) ' x为实发工资数y = x \ 100 : Text2.Text = y ' 求100元票张数并显示x = x – 100 * y ' 求剩余款项y = x \ 50 : Text3.Text = y ' 求50元票张数并显示x = x – 50 * y ' 求剩余款项y = x \ 10 : Text4.Text = y ' 求10元票张数并显示x = x – 10 * y ' 求剩余款项y = x \ 5 : Text5.Text = y ' 求5元票张数并显示x = x – 5 * y ' 求剩余款项y = x \ 2 : Text6.Text = y ' 求2元票张数并显示x = x – 2 * y : Text7.Text = x ' 求1元票张数并显示End Sub编写文本框Text1的Change事件代码:Private Sub T ext1_Change( )' 当在Text1中输入新数时,清空其他文本框中的内容Text2.Text = ""Text3.Text = ""Text4.Text = ""Text5.Text = ""Text6.Text = ""Text7.Text = ""End Sub运行结果如图4-11(b)所示。

【说明】文本框的Change事件当文本框中的内容被改变时发生。

下面用信息对话框来输出各种票额钞票张数的付款方案,如图4-12所示。

图4-12 信息对话框只需将图4-11中多余的文本框和标签删去,并改写命令按钮的Click事件代码如下:Private Sub Command1_Click( )x = val(Text1.Text) ' x为实发工资数y1 = x \ 100 ' 求100元票张数x = x Mod 100 ' 求剩余款项y2 = x \ 50 ' 求50元票张数x = x Mod 50 ' 求剩余款项y3 = x \ 10 ' 求10元票张数x = x Mod 10 ' 求剩余款项y4 = x \ 5 ' 求5元票张数x = x Mod 5 ' 求剩余款项y5 = x \ 2 ' 求2元票张数x = x Mod 2 ' 求1元票张数Text1.SelStart = 0Text1.SelLength = Len(Text1.Text)Text1.SetFocusa = "===========================" & Chr(13)a = a & Format(Y1 & "张百元票,", "@@@@@@@@@@") & _Format(Y2 & "张50元票", "@@@@@@@@@@") & Chr(13)a = a & Format(Y3 & "张10元票,", "@@@@@@@@@@@") & _Format(Y4 & "张5元票", "@@@@@@@@@@") & Chr(13)a = a & Format(Y5 & "张2元票,", "@@@@@@@@@@@") & _Format(x & "张1元票", "@@@@@@@@@@") & Chr(13)a = a & "===========================" & Chr(13)a = a & "共计" & Text1.Text & "元"c = MsgBox(a, 0, "应发工资")End Sub【说明】文本框的SelStart属性用来设置(或返回)所选择的文本的起始点,如果没有文本被选中,则指出插入点的位置。

相关文档
最新文档