C 语言程序设计期末复习题

时间:2019-05-12 17:20:18下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C 语言程序设计期末复习题》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C 语言程序设计期末复习题》。

第一篇:C 语言程序设计期末复习题

C++语言程序设计期末复习题

一、单项选择题

1.C++源程序文件的默认扩展名为()。

A.cpp

B.exe

C.obj

D.lik

2.由C++源程序文件编译而成的目标文件的默认扩展名为()。

A.cpp

B.exe

C.obj

D.lik

3.由C++目标文件连接而成的可执行文件的默认扩展名为()。

A.cpp

B.exe

C.obj

D.lik

4.C++程序从上机到得到结果的几个操作步骤依次是()。

A.编译、编辑、连接、运行

B.编辑、编译、连接、运行

C.编译、运行、编辑、连接

D.编辑、运行、编辑、连接

5.以下标识符中不全是保留字的是()。

A.case

for

int

B.default then

while

C.bool

class

long

D.goto

return char

6.能作为C++程序的基本单位是()。

A.字符

B.语句

C.函数

D.源程序文件

7.程序中主函数的名字为()。

A.main

B.MAIN

C.Main

D.任意标识符

8.C++程序的基本模块为()。

A.表达式

B.标识符

C.语句

D.函数

9.可用作C++语言用户标识符的一组标识符是()。A.void

define

+WORD C.for

-abc

Case

B.a3_b3

_123

YN

D.2a

DO

sizeof

10.存储以下数据,占用存储字节最多的是()。

A.0

B.‘0’

C.“0”

D.0.0

11.程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用()符号作为分隔符。

A.空格或逗号

B.逗号或回车

C.逗号或分号

D.空格或回车

12.设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是()。A.12 B.144 C.156 D.288

13.假设在程序中 a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式的表达式是()。

A.1.0/a*b*c

B.1/(a*b*c)

C.1/a/b/(float)c

D.1.0/a/b/c

14.设”int a=15,b=26;”,则”cout<<(a,b);”的输出结果是()。

A.15

B.26,15

C.15,26

D.26

15.设x是一个bool型的逻辑量,y的值为10,则表达式 x && y的值为()。

A.1

B.0

C.与x值相同

D.与x值相反

16.x>0 && x<=10的相反表达式为()。

A.x<=0 || x>10

B.x<=0 && x>10

17.x>0 || y==5的相反表达式为()。

A.x<=0 || y!=5

B.x<=0 && y!=5

C.x>0 || y!=5

D.x>0 && y==5

18.设x和y均为bool量,则x && y为真的条件是()。

A.它们均为真

B.其中一个为真

C.它们均为假

D.其中一个为假

19.设x和y均为bool量,则x || y为假的条件是()。

C.x<=0 || x<=10

D.x>0 && x>10

A.它们均为真

B.其中一个为真

C.它们均为假

D.其中一个为假

20.字符串”a+b=12n”的长度为()。

A.6

B.7

C.8

D.9

21.假定下列x和y均为int型变量,则不正确的赋值为()。

A.x+=y++

B.x++=y++

C.x=++y

D.++x=++y

22.下列的符号常量定义中,错误的定义是()。

A.const M=10;

B.const int M=20;

C.const char ch;

D.const bool mark=true;

23.循环语句“for(int i=0;i

B.n-1

C.n

D.n+24.在下面循环语句中循环体执行的次数为()。

for(int i=0;i

if(i>n/2)break;

A.n/2

B.n/2+1

C.n/2-1

D.n-1

25.在下面循环语句中内层循环体S语句的执行总次数为()。

for(int i=0;i

for(int j=i;j

A.n

2B.(n+1)/2

C.n(n-1)/2

D.n(n+1)/2

26.在下面循环语句中循环体执行的次数为()。

int i=0,s=0;while(s<20){i++;s+=i;}

A.4

B.5

C.6

D.7

27.在下面循环语句中循环体执行的次数为()。)。

int i=0;do i++;while(i*i<10);

A.4

B.3

C.5

D.2

28.当处理特定问题时的循环次数已知时,通常采用()来解决。

A.for循环

B.while循环

C.do循环

D.switch语句

29.循环体至少被执行一次的语句为()。

A.for循环

B.while循环

C.do循环

D.任一种循环

30.switch语句能够改写为()语句。

A.for

B.if

C.do

D.while

31.do语句能够改写为()语句。

A.复合B.if

C.switch

D.while

32.在下面的一维数组定义中,哪一个有语法错误。()

A.int a[]={1,2,3};

B.int a[10]={0};

C.int a[];

D.int a[5];

33.在下面的字符数组定义中,哪一个有语法错误。()。

A.char a[20]=”abcdefg”;

B.char a[]=”x+y=55.”;

C.char a[15];

D.char a[10]=’5’;

34.在下面的二维数组定义中,正确的是()。

A.int a[5][];

B.int a[][5];

C.int a[][3]={{1,3,5},{2}};

D.int a[](10);

35.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为()。

A.2

B.4

C.6

D.8

36.假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。

A.0

B.4

C.8

D.6

37.若定义了函数 double *function(), 则函数function的返回值为()。

A.实数型

B.实数的地址

C.指向函数的指针

D.函数的地址

38.以下说法中正确的是()。

A.C++程序总是从第一个定义的函数开始执行

B.C++程序总是从main函数开始执行

C.C++函数必须有返回值,否则不能使用函数

D.C++程序中有调用关系的所有函数必须放在同一个程序文件中

39.以下叙述中不正确的是()。

A.在一个函数中,可以有多条return语句

B.函数的定义不能嵌套,但函数的调用可以嵌套

C.函数必须有返回值

D.不同的函数中可以使用相同名字的变量

40.函数重载是指()。

A.两个或两个以上的函数取相同的函数名,但形参的个数或类型不同

B.两个以上的函数取相同的名字和具有相同的参数个数,但形参的类型可以不同

C.两个以上的函数名字不同,但形参的个数或类型相同

D.两个以上的函数取相同的函数名,并且函数的返回类型相同

41.以下关于函数模板叙述正确的是()。

A.函数模板也是一个具体类型的函数

B.函数模板的类型参数与函数的参数是同一个概念

C.通过使用不同的类型参数,函数模板可以生成不同类型的函数

D.用函数模板定义的函数没有类型

42.下列()的调用方式是引用调用。

A.形参和实参都是变量

B.形参是指针,实参是地址值

C.形参是引用,实参是变量

D.形参是变量,实参是地址值

43.为了提高程序的运行速度,可将不太复杂的功能用函数实现,此函数应选择()。

A.内联函数

B.重载函数

C.递归函数

D.函数模板

44.函数原型语句正确的是()。

A.int Function(void a);

B.void Function(int);

C.int Function(a);

D.void int(double a);

45.C++中函数返回值的类型是由()决定的。

A.return语句中表达式的类型

B.该函数定义时的类型

C.调用函数时的调用语句

D.系统根据结果

46.以下函数的返回结果是()。

int function(char *x){

char *p=x;while(*p++);return(p-x-1);

}

A.求字符串的长度

B.将字符串x连接到字符串p后面

C.将字符串x复制到字符串p中

D.将字符串x反向存放

47.函数调用func((exp1,exp2),(exp3,exp4,exp5))中所含实参的个数为()个。

A.1

B.2

C.4

D.48.设有如下函数定义

int f(char *s){

char *p=s;

while(*p!=’’)p++;

return(p-s);

}

在主函数中用cout<

A.3

B.4

C.5

D.6

49.以下正确的函数原型语句是()。

A.double fun(int x,int y)

C.double fun(int,int);

B.double fun(int x;int y)

D.double fun(int x,y);

50.以下正确的说法是()。

A.用户调用标准库函数前,必须重新定义

B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义

C.系统不允许用户重新定义标准库函数

D.用户调用标准库函数前,不必使用预编译命令将该函数所在文件包括到用户源文件中

二、填空题

1.C++语言是在_________语言的基础上发展起来的。

2.C++语言的编译单位是扩展名为__________的__________文件。

3.行尾使用注释的开始标记符为__________。

4.多行注释的开始标记符和结束标记符分别为__________和__________。

5.用于输出表达式值的标准输出流对象是_________。

6.用于从键盘上为变量输入值的标准输入流对象是________。

7.一个完整程序中必须有一个名为________的函数。

8.一个函数的函数体就是一条_________语句。

9.当执行cin语句时,从键盘上输入每个数据后必须接着输入一个________符,然后才能继续输入下一个数据。

10.在C++程序中包含一个头文件或程序文件的预编译命令为__________。

11.程序中的预处理命令是指以______字符开头的命令。

12.一条表达式语句必须以______作为结束符。

13.在#include命令中所包含的头文件,可以是系统定义的头文件,也可以是________定义的头文件。

14.使用#include命令可以包含一个头文件,也可以包含一个______文件。

15.一个函数定义由________和________两部分组成。

16.若一个函数的定义处于调用它的函数之前,则在程序开始可以省去该函数的______语句。

17.C++头文件和源程序文件的扩展名分别为______和______。

18.程序文件的编译错误分为________和________两类。

19.当使用_______保留字作为函数类型时,该函数不返回任何值。

20.当函数参数表用______保留字表示时,则表示该参数表为空。

21.从一条函数原型语句“int fun1(void);”可知,该函数的返回类型为______,该函数带有______个参数。

22.当执行cout语句输出endl数据项时,将使C++显示输出屏幕上的光标从当前位置移动到________的开始位置。

23.假定x=5,y=6,则表达式x++*++y的值为__________。

24.假定x=5,y=6,则表达式x--*--y的值为__________。

25.假定x=5,y=6,则执行表达式y*=x++计算后,x和y的值分别为__________和__________。

26.假定x=5,y=6,则执行表达式y+=x--计算后,x和y的值分别为__________和__________。

27.C++常数0x145对应的十进制值为__________。

28.C++常数0345对应的十进制值为__________。

29.十进制常数245对应的十六进制的C++表示为__________。

30.十进制常数245对应的八进制的C++表示为__________。

31.signed char类型的值域范围是________至__________之间的整数。

32.int和float类型的数据分别占用_________和__________个字节。

33.float和double类型的数据分别占用_________和________个字节。

34.bool和char类型的数据分别占用_________和________个字节。

35.unsigned short int和int类型的长度分别为_________和________。

36.字符串”This’s a book.n”的长度为__________。

37.字符串”nThis’s a pennn”的长度为__________。

38.在C++中存储字符串”abcdef”至少需要________个字节。

39.在C++中存储字符串”a+b=c”至少需要________个字节。

40.假定x和y为整型,其值分别为16和5,则x%y和x/y的值分别为__________和__________。

41.假定x和y为整型,其值分别为16和5,则x/y和double(x)/y的值分别为__________和__________。

42.假定x是一个逻辑量,则x && true的值为__________。

43.假定x是一个逻辑量,则x || true的值为__________。

44.假定x是一个逻辑量,则x && false的值为__________。

45.假定x是一个逻辑量,则x || false的值为__________。

46.假定x是一个逻辑量,则!x || false的值为__________。

47.假定x是一个逻辑量,则x &&!x的值为__________。48.假定x是一个逻辑量,则x ||!x的值为__________。49.数学算式的C++表达式为________________。

50.数学算式的C++表达式为________________。

51.数学算式的C++表达式为________________。

52.设enum Printstatus{ready,busy,error};则 cout<

53.设enum Printstatus{ready=2,busy,error};则cout<

54.常数-4.205和6.7E-9分别具有__________和__________位有效数字。

55.枚举类型中的每个枚举值都是一个__________,它的值为一个__________。

56.常数100和3.62的数据类型分别为__________和__________。

57.若x=5, y=10, 则计算y*=++x表达式后,x和y的值分别为______和______。

58.假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为______和______。

59.假定x=10,则表达式x<=10?20:30的值为______。

60.表达式sqrt(81)和pow(6,3)的值分别为______和______。

三、程序填充题,对程序、函数或类中划有横线的位置,根据题意按标号把合适的内容填写到程序下面相应标号的后面。

1.斐波那契数列的第1和第2个数分别为0和1,从第三个数开始,每个数等于其前两个数之和。求斐波那契数列中的前20个数,要求每行输出5个数。

#include void main(){

int f,f1,f2,i;

cout<<” 斐波那契数列:n”;

f1=0;f2=1;

cout<

for(i=3;i<=20;i++){

f=______(1)______;

cout<

if(_____(2)______)cout<

f2=____(3)_______;

}

cout<

}

(1)

(2)

(3)

2.计算的值。

#include

void main()

{

double x,p1=1,p2=1,s=0;

int i,j=1;

cout<<“输入x的值:”;

cin>>x;

for(i=1;i<=10;i++){

p1*=___(1)_____;

p2*=____(2)____;

s+=j*p1/p2;//j的值为(-1)i+j=____(3)____;

}

cout<

}

(1)

(2)

(3)

3.打印出2至99之间的所有素数(即不能被任何数整除的数)。

#include

#include

void main()

{

int i,n;

for(n=2;___(1)___;n++){

int temp=int(sqrt(n));//求出n的平方根并取整

for(i=2;___(2)___;i++)

if(n%i==0)___(3)___;

if(i>temp)cout<

}

cout<<'n';

}

(1)

(2)

(3)

4.采用辗转相除法求出两个整数的最大公约数。

#include

void main()

{

int a,b;

cout<<“请输入两个正整数:”;

cin>>a>>b;

while(a<=0 || __(1)___){cout<<“重新输入:”;cin>>a>>b;}

while(b){

int r;

r=a%b;

___(2)___;___(3)___;//分别修改a和b的值

}

cout<

}

(1)

(2)

(3)

5.把从键盘上输入的一个大于等于3的整数分解为质因子的乘积。如输入24时得到的输出结果为“2 2 2 3”,输入50时得到的输出结果为“2 5 5”,输入37时得到的输出结果为“37”。

#include

void main()

{

}

(1)

int x;

cout<<“请输入一个整数,若小于3则重输:”;do cin>>x;while(___(1)___);int i=2;do{

while(___(2)___){

cout<

x/=i;

}

___(3)___;

}while(i

(2)

(3)

6.下面函数是求两个整型参数a和b的最小公倍数。

int f2(int a, int b)

{

int i=2, p=1;

do {

while(a%i==0 && ___(1)___){

p*=i;a/=i;b/=i;

}

___(2)___;

}while(a>=i && ___(3)___);

return p*a*b;

}

(1)

(2)

(3)

7.在输出屏幕上打印出一个由字符’*’组成的等腰三角形,该三角形的高为5行,从上到下每行的字符数依次为1,3,5,7,9。

#include

void main()

{

int i,j;

for(i=1;___(1)___;i++){

for(j=1;j<=9;j++)

if(j<=5-i || ___(2)___)cout<<’ ’;

else ___(3)___;

cout<

}

}

(1)

(2)

(3)

8.统计字符串中英文字母个数的程序。

#include

int count(char str[]);

void main(){

char s1[80];

cout <<”Enter a line:”;

cin >>s1;

cout <<”count=”<

}

int count(char str[]){

int num=0;//给统计变量赋初值

for(int i=0;str[i];i++)

if(str[i]>=’a’ && str[i]<=’z’ ||___(1)___)

___(2)___;

___(3)___;

}

(1)

(2)

(3)

9.主函数调用一个fun函数将字符串逆序。

#include

#include

___(1)___;

void main(){

char s[80];

cin>>s;

___(2)___;

cout<<”逆序后的字符串:”<

}

void fun(char ss[]){

int n=strlen(ss);

for(int i=0;___(3)____;i++){

char c=ss[i];

ss[i]=ss[n–1–i];

ss[n–1–i]=c;

}

}

(1)

(2)

(3)

10.从一个字符串中删除所有同一个给定字符后得到一个新字符串并输出。

#include

const int len=20;

void delstr(char a[],char b[],char c);

void main(){

char str1[len],str2[len];

char ch;

cout<<“输入一个字符串:”;

cin>>str1;

cout<<“输入一个待删除的字符:”;

cin>>ch;

delstr(str1,str2,ch);

cout<

}

void delstr(char a[],char b[],char c)

{

int j=0;

for(int i=0;___(1)___;i++)

if(___(2)___)b[j++]=a[i];

b[j]=___(2)___;

}

(1)

(2)

(3)

四、写出程序运行结果

1.#include

#include

void main()

{

int a[8]={25,48,32,85,64,18,48,29};

int max,min;

max=min=a[0];

for(int i=0;i<8;i++){

if(max>a[i])max=a[i];

if(min

}

cout<<“max:”<

cout<<“min:”<

}

2.#include

void main()

{

int a,b;

for(a=1,b=2;b<50;){

cout<

a=a+b;

b=a+b;

}

cout<

cout<

}

3.#include

const int M=3, N=4;

void main()

{

int i,j,s=0;

for(i=1;i<=M;i++)

for(j=1;j<=N;j++)

s+=i*j;

cout<<”s=”<

}

4.#include

void main()

{

int a=2,b=5,c=0;

if(a+b>10)c=a*b;else c=3*a+b;

if(c<=20)cout<

cout<

a=a+b;b=a+b;c+=a+b;

cout<<“a,b,c=”<

}

5.#include

void main()

{

int x=5;

switch(2*x-3){

case 4: cout<

case 7: cout<<2*x+1<<’ ’;

case 10: cout<<3*x-1<<’ ’;break;

default: cout<<“default”<

}

cout<<“switch end.”<

}

6.#include

#include

int a[4]={36,-5,73,8};

void main()

{

int i,y;

for(i=0;i<4;i++){

if(a[i]<0)y=1;

else if(a[i]<10)y= a[i]* a[i]+3;

else if(a[i]<60)y=4*a[i]-5;

else y=int(sqrt(a[i]));// sqrt(x)为取x的平方根函数

cout<

}

}

7.#include

int a[8]={36,25,20,43,12,70,66,35};

void main()

{

int s0,s1,s2;

s0=s1=s2=0;

for(int i=0;i<8;i++){

switch(a[i]%3){

case 0: s0+=a[i];break;

case 1: s1+=a[i];break;

case 2: s2+=a[i];break;

}

}

cout<

}

8.#include

const int N=5;

void main()

{

int i,p=1,s=0;

for(i=1;i

p=p*i;

s=s+p;

cout<cout<

}

}

9.#include

const int M=20;

void main()

{

int c2,c3,c5;

c2=c3=c5=0;

for(int i=1;i<=M;i++){

if(i%2==0)c2++;

if(i%3==0)c3++;

if(i%5==0)c5++;

}

cout<

}

10.#include

void main()

{

int i,j;

for(i=0;i<5;i++){

for(j=i;j<5;j++)cout<<’*’;

cout<

}

}

11.#include

void main()

{

for(int i=1,s=0;i<20;i++){

if(i%2==0 || i%3==0)continue;

cout<

s+=i;

}

cout<

}

五、指出程序或函数的功能

1.#include

void main()

{

int i,s=0;

for(i=2;i<=30;i+=2)s+=i*i;

cout<<“s=”<

}

2.#include

#include

#include

void main()

{

int i=10,a;

while(i>0){

a=rand()%90+10;

int j, k=int(sqrt(a)+1e-5);//sqrt(x)为求x的平方根函数

for(j=2;j<=k;j++)

if(a%j==0)break;

if(j>k){cout<

}

}

3.void trans(int x)

{

char a[10];

int i=0,rem;

do {

rem=x%16;

x=x/16;

if(rem<10)a[i]=48+rem;

else a[i]=65+rem;

i++;

}while(x!=0);

while(i>0)cout<

cout<

} 4.#include

double f1(int n){

double sign=1,s=1;

for(int i=2;i<=n;i++){

s+=sign/(i*i);

sign*=-1;

}

return s;

}

//’0’字符的ASCII码为48 //’A’字符的ASCII码为6void main()

{

int a;

cin>>a;

cout<

}

5.double f1(double a, double b, char op){

switch(op){

case ’+’: return a+b;

case ’-’: return a-b;

case ’*’: return a*b;

case ’/’: if(b==0){

cout<<“divided by 0!”<

exit(1);

}

else return a/b;

default: cout<<“operator error!”<

exit(1);

}

}

6.#include

#include

void main()

{

int x,y;

cin>>x;

y=int(sqrt(x));//sqrt(x)为求x的算术平方根

for(int i=1;i<=y;i++)

if(x%i==0)cout<<”x=”<

}

7.#include

void main()

{

int i,p=1,s=0;

int N;

cout<<“输入一个正整数:”;

cin>>N;

for(i=1;i<=N;i++){

p*=i;

s+=p;

}

cout<

}

8.#include

#include

#include

const N=10;

int ff(int x, int y){

int z;

cout<

cin>>z;

if(x+y==z)return 1;else return 0;

}

void main()

{

int a,b,c=0;

srand(time(0));//初始化随机数序列

for(int i=0;i

a=rand()%20+1;

//rand()函数产生0-32767之间的一个随机数

b=rand()%20+1;

c+=ff(a,b);

}

cout<<“得分:”<

}

9.int s1(int n)

{

int x;

if(n==1)x=1;

else x=s1(n-1)+n*n;

return x;

}

10.void fun5(char* a, const char* b)

{

while(*b)*a++=*b++;

*a=0;

}

11.template

bool fun8(T a[], int n, T key)

{

for(int i=0;i

if(a[i]==key)return true;

return false;

}

六、编程题

1.编一程序求出满足不等式1+1/2+1/3+...+1/n≥5的最小n值。

2.计算1+3+32+...+310的值并输出,假定分别用i,p,s作为循环变量、累乘变量和累加变量的标识符。

3.求满足不等式22+42+...+n2<1000的最大n值,假定分别用i和s作为取偶数值和累加值的变量,并限定使用do循环编程。

1111

5、编程求数列1,2,3,4,5,……的所有大于等于0.000001的数据项之和并输出结果

第二篇:《vb程序设计》期末复习题及答案范文

《vb程序设计》期末复习题及答案

一、填空题

1.创建一个VB应用程序三个主要的步骤是_(创建应用程序界面)、_(设置属性_)和_(_编写代码__)__。

2.当程序运行时,要求窗体中的文本框呈现空白,则在设计时,应当在此文本框的__属性________窗口中,把此文本框的____text_________属性设置成空白。

3.Label和TextBox控件用来显示和输入文本,如果仅需要让应用程序在窗体中显示文本信息,可使用___label________控件;若允许用户输入文本,则应使用__textbox___________控件。4.窗体的常用方法有_load方法 Show方法 Hide方法_ Unload方法_。

5.要想在代码中给名为txtshow的文本框赋予文本:GOOD WORK,应当编写的语句是_(txtshow.text=“GOOD WORK”_)。

6.若命令按钮的名称为Cmdopen,程序要求单击该命令按钮时,打开一个窗口frm1,请对以下事件过程填空。Private Sub Cmdopen_ _click()__________ _frm1.show_ End Sub 7.Visual Basic 6种类型的表达式是_(算术表达式_)(字符串表达式)(关系表达式)(布尔表达式)(日期表达式)(对象表达式)。Visual Basic根据表达式的_.1 _运算符__来确定表达式的类型。

8.表达式93 7 Mod 2 ^ 2 的值是___________。

9.已知a=3,b=4,c=5,表达式a>b and Not c>a Or c>b And ca And Not b

10.日期表达式 #2/24/02#y ^ 2)/(2 * x)___。

12.设某个程序中要用到一个二维数组,要求数组名为A,类型为字符串类型,第一维下标从1到5,第二维下标从-2到6,则相应的数组声明语句为_(Dim A(1 To 5,-2 To 6)As String)_。13.事件就是在对象上所发生的事情,Visual Basic中的事件如__单击_________、_双击__________、_装载_____________等。一个对象响应的事件可以有_多____个,用户不能建立新的事件。事件过程是指_(响应某个事件后所执行的程序代码)_。假设某一事件过程如下:

Private Sub cmd1_Click()Form1.Caption=“VB示例” End Sub 则响应该过程的对象名是_cmd1_____________,事件名是_____click________。

14.对象的方法用于(_完成某种特定的功能__)。当方法不需要任何参数并且也没有返回值时,调用对象的方法的格式为_(对象名.方法名)_,例如,对窗体Form1使用Show方法,应写成__form1.show_______________。

15.PictureBox控件可通过设置其(autosize)__属性为True使之可自动调整大小;而Image控件可通过设置其_(stretch_)__属性为True,使其加载的图片能自动调整大小以适应Image。

16.在Visual Basic程序中实现复制文件“c:command.com”到d:盘根目录下的语句为FileCopy “c:command.com”,“d:command.com”_。

二、单项选择题

1.下列控件中没有Caption属性的是(B)

A、标签 B、文本框 C、框架 D、命令按纽 2.除框架外,能对单选按纽分组的控件是(C)。A、窗体 B、标签 C、图片框 D、图像 3.下列符号不能作为VB中变量名的是(C)。

A、ABCDEFG B、P00000 C、89YWDDF D、xyz 4. 下列不属于Visual Basic数据文件的是(D)。A、顺序文件 B、随机文件 C、二进制文件 D、数据库文件

5.若要求从文本框中输入密码时在文本框中只显示*号,则应用在此文本框的属性窗口中设置(D)。

A、Text属性值为* B、Caption属性值为* C、Password属性值为空 D、PasswordChar属性值为* 6.表达式2*3^2+2*8/4+3^2的值为(B)。A、64 B、31 C、49 D、42 7.表达式mid(“abcdefg”,3,2)的值是(B)A、abc B、cd C、bcd D、abcde 8.数学表达式Sin25°写成VB表达式是(D)。A、Sin25 B、Sin(25)C、Sin(25°)D、Sin(25*3.14/180)

9.Sub过程与 Function过程最根本的区别是(D)。A、Sub过程可以使用Call语句或直接使用过程名调用,而Function过程不可以。

B、Function过程可以有参数,Sub过程不可以。C、两种过程参数的传递方式不同。

D、Sub过程的过程名不能返回值,而Function过程能够通过过程名返回值。

10.选拔身高T超过1.7米且体重W小于62.5公斤的人,表示该条件的布尔表达式为(C)

A、T>=1.7 And W<=62.5 B、T<=1.7 Or W>=62.5 C、T>1.7 And W<62.5 D、T>=1.7 Or W<62.5 11.下列对象不能响应 Click事件的是(D)A、列表框 B、图片框 C、窗体 D、计时器

12.在Visual Basic中,按文件的访问方式不同,可以将文件分为(A)

A、顺序文件、随机文件和二进制文件 B、文本文件和数据文件

C、数据文件和可执行文件 D、ASCⅡ文件和二进制文件

13.将通用对话框CommonDialog的类型设置成“颜色”对话框,可调用该对话框的(C)方法。

A、ShowOpen B、ShowSave C、ShowColor D、ShowFont

三、指出下列句中的错误,修改或者说明原因。1.sum和int.sum都可以作为VB的变量名。(X)2.变量名的长度最长可达1024个字符。(255)3.下列程序运行结果:3,3 Option Explicit Private Sub Command1_Click()Dim a,b As Integer Dim a as integer ,b as integer a = 3.6 b = 3.6 Text1.Text = a Text2.Text = b End Sub 4.程序可以改变定长字符串的内容和长度。

5.Variant是一种特殊的数据类型,可以包含任何种类型的数据。.不完全正确。Variant是一种特殊的数据类型,除了定长字符串数据及用户定义类型外,可以包含任何种类型的数据,这是VB规定。

6.下列程序运行结果为True Private Sub Command1_Click()a = 1 b = 2 c = 3 Text1.Text = c > a + b Or b1 And c + a > a Xor b < c#12/20/1999#的运算结果是#12/11/1999# 8.可以在窗体的通用部分声明静态变量。

不正确。静态变量为局部变量,只能在过程中声明。

9.使用声明语句建立一个变量后,Visual Basic会自动对数值类型的变量赋初值0,变长的字符串被初始化为一个零长度的字符串“",定长字符串用空格填充,Variant变量被初始化为 Empty,布尔型的变量被初始化为False。

10.事件过程通常由事件驱动执行,而Sub过程通过过程调用执行。

11.将焦点主动设置到指定的控件或窗体上应采用SetFocus方法。12.当图像控件(Image)的Stretch属性为True时,Image控件能自动调整自己的尺寸与显示的图片匹配。

不正确。该属性设为Ture时,Image控件不能自动调整自己的尺寸与显示的图片匹配,而可以使图片自动扩展以适应控件的尺寸。

四、读程序题,写出程序运行结果。1.Private Sub Form_Click()For I = 1 To 9 For j = 1 To 301 To 1 Step-1 Print k;Next k Print Next I End Sub 2.

Option Explicit Private Sub Command1_Click()Static S As Integer Dim i As Integer S = 1 For i = 1 To 5 S = S * i Next i Print S End Sub 3.

For X = 5 To 1 Step-1 For Y = 1 To 6y ^ 2)/(2 * x)12.Dim A(1 To 5,-2 To 6)As String 13.单击 双击 装载 多 响应某个事件后所执行的程序代码 cmd1 Click 14.完成某种特定的功能 对象名.方法名 Form1.Show 15.AutoSize Stretch 16.FileCopy ”c:command.com“,”d:command.com“

二、单项选择题

1.B 2.C 3.C 4.D 5.D 6.B 7.B 8.D 9.D 10.C 11.D 12.A 13.C

三、指出下列句中的错误,修改或者说明原因。1.int.sum 不正确。变量名中不能包括小数点。2.变量名的长度最长可达255个字符。3. 3.6,4 因为a 不是整型变量。

4.不正确。程序不可以改变字符的长度,这是VB规定。5.不完全正确。Variant是一种特殊的数据类型,除了定长字符串数据及用户定义类型外,可以包含任何种类型的数据,这是VB规定。

6.False。逻辑表达式计算结果。

7.不正确。两个日期型数据相减,其结果是一个数值型数据。8.不正确。静态变量为局部变量,只能在过程中声明。9.正确。10.正确。11.正确。

12.不正确。该属性设为Ture时,Image控件不能自动调整自己的尺寸与显示的图片匹配,而可以使图片自动扩展以适应控件的尺寸。

四、读程序题,写出程序运行结果。1.程序运行后,单击窗体,输出结果为: 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 5 6 5 4 3 2 1 1 2 3 4 5 6 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 7 6 5 4 3 2 1 1 2 3 4 5 6 7 8 9 8 7 6 5 4 3 2 1

2.程序运行后,单击按钮Command1,输出结果为: 3.* ** *** **** ***** 4.aabb-30 False aabb-30 False

30+60 90 30+60 90 5.11 13 9

五、编程题 1.

。120 Private Sub Command1_Click()Text1.Text = ”“ Text2.Text = ”“ Text3.Text = ”“ Text4.Text = ”“ End Sub

Private Sub Command2_Click()a = Trim(Text1.Text)b = Trim(Text2.Text)c = Trim(Text3.Text)If a = ”“ Or b = ”“ Or c = ”“ Then MsgBox ”成绩填写不完全!“, vbCritical Else Text4.Text =(Val(a)+ Val(b)+ Val(c))/ 3 End If End Sub

Private Sub Command3_Click()Unload Me End Sub 2.

Private Sub Command1_Click()x = Val(Text1.Text)If x Mod 3 = 2 And x Mod 5 = 3 And x Mod 7 = 4 Then Print x Else Text1.SetFocus Text1.SelStart = 0 Text1.SelLength = Len(Text1.Text)End If End Sub 3.

Private Sub Check1_Click()If Check1.Value = 1 Then Label1.Font.Bold = True Else Label1.Font.Bold = False End If End Sub

Private Sub Check2_Click()If Check2.Value = 1 Then Label1.Font.Italic = True Else Label1.Font.Italic = False End If End Sub

Private Sub Command1_Click()Unload Me End Sub 4.

a = Val(InputBox(”输入第一个数:“))b = Val(InputBox(”输入第二个数:“))c = Val(InputBox(”输入第三个数:“))If a < b Then t = a: a = b: b = t If a < c Then t = a: a = c: c = t If b < c Then t = b: b = c: c = t MsgBox(”求大小排第二的数是:" & b)

原文网址: http://hi.baidu.com/%CC%EC%D0%AB%C4%A7%BE%FD/blog/item/d446b034a6b3373f5bb5f5fd.html

由弘一网童保存,尚未注册。注册

第三篇:C#程序设计教程期末复习题及答案

习题 1

一、选择题

1.在C#中 B 都是对象。

A 任何类型 B 任何事物 C 任何代码 D 任何技术 2.对象包含数据和 A 的方法。

A 在该数据上工作 B 调用 C 函数调用 D 传递参数 3.一个类是 D 的蓝本。

A 数据集合 B 函数集合 C 方法集合 D 给定功能集合 4..NET构架包含公用语言运行时期和 B。5..NET的核心是 A。

A CLR B Windows2000 C DNA D 分解平台 6.C#程序以 B 扩展名保存编写的程序。A.CS B.PS C.CSS D.SC 7.System是 B 的命名空间。

A 存储系统类 B 控制台类 C I/O操作 D 新项目 8.namespace用于声明 B。

A 新项目 B 一个命名空间 C 类与方法 D 指令 9.每个C#程序必须有一个 D 方法。A 类方法 B 构造方法 C Main D 重载方法

二、问答题

1.面向对象编程的三大原则是什么? 答:封装、继承和多态性。2.封装是什么?

答:封装是用于隐藏对象实际的制作细节。3.继承是什么?

答:继承是在建立新的特定对象时,可以使用现有对象的功能性。4.多态性是什么?

答:多态性是程序代码能够依据实际对象所需而进行不同的行为。5..NET的核心构件包括哪些? 答:(1).NET构造块服务或有计划的访问某些服务。

(2)将在新的Internet设备上运行的.NET设备软件。(3).NET用户经验。6.CLR的作用是什么?

答:CLR是.NET的核心,它是一个运行时期环境,在该环境中,以不同语言编写的应用程序均能始终运行。

三、编程题

使用.NET代码编辑器编写一个C#应用程序,以在屏幕打印出:

C# is the Component-oriented language in C and C++ family of language.要求:

(1)使用using System命名空间,即定位System命名空间的Console类。(2)不使用using System命名空间,即System命名空间的Console类。(3)使用using指令的别名,即使用using创建using的别名。答案:(1)

//Example1.cs Using System;Class Example1 { Public static void Main(){ Console.Write(“C# is the Component-oriented language ”);Console.WriteLine(“in C and C++ family of language.”);} }(2)

//Example2.cs Class Example1 { Public static void Main(){ System.Console.Write(“C# is component-oriented language”);System.Console.WriteLine(“in C and C++ family language.”);

} }(3)Example3.cs Using output=System.Console;Class Example1

Public static void Main(){ Output.Write(“C# is component-oriented language”);}

习题2

一、选择题

1.C#的数据类型有 A 和 C 两种。

A 值类型 B 调用类型 C 引用类型 D 关系类型 2.C#的值类型包括 A、B 和 D 三种。A 枚举 B 基本类型 C 整形 D 结构 E浮点型 F 字符型

3.C#的引用类型包括 A、B、C、F、G 和 H 六种。

A string B object C 类 D float E char F 数组G 代表 H 4.装箱是把值类型转换到 B 类型。

A 数组 B 引用 C char D string 5.拆箱是引用类型返回到 C 类型。

A string B char C 值 D 数组 6. A 类型是所有类型的根。

接口 A System.Object B object C string D System.Int32 7.从派生类到基类对象的转换是 B 类型转换。A 显示 B 隐式 C 自动 D 专向 8.从基类到派生类对象的转换是 D 类型转换。A 隐式 B 自动 C专向 D 显示 9.强制转换对象可以使用 B 关键字实现。A is B as C this D object 10.命名空间用于定义 A 的作用域。

A 应用程序 B 有关类型 C 多重源代码 D 层次结构 11.using关键字用于 B 命名空间中的Console对象。A Console B System C Object D Int32

二、填空题

1.下列程序的运行结果是 99.44。//Exam1.cs using System;class Using { public static void Main(){ int i=918;float f=10.25f;short sh=10;double d=11.19;Console.WriteLine(i+f+sh+d);} } 2.下列程序的运行结果是 25.5。//Exam2.cs using System;class Using { public static void Main(){ int i=5;float f=5.1f;Console.WriteLine(i*f);} }

二、编程题

1. 已知a=1,b=2,c=3,x=2,计算y=ax+bx+c之值。2. 已知圆的半径Radius=2.5,计算圆的面积。(PI=3.14159)要求:

(1)使用基本方法;(2)使用装箱与拆箱;

(3)输出以double,float,int,decimal,short表示;(4)使用object类与类型转换;(5)使用派生类与as。答案: 1. 方案一: //YValue.cs using System;class Using { public static void Main(){ int a=1,b=2,c=3,x=2,y;y=(a*x+b)*x+c;Console.WriteLine(“y={0}”,y);} } 方案二:

//YValue1.cs using System;class Using { public static void Main(){ int a=1,b=2,c=3,x=2;Console.WriteLine(“y={0}”,(a*x+b)*x+c);} } 2.

(1)使用基本方法 方案一:

//CircleAreaApp.cs using System;class CircleAreaApp { public static void Main(){ double Radius=2.5,Area;Area=3.14159*Radius*Radius;Console.WriteLine(“Area={0}”,Area);} } 方案二:

//CircleAreaApp1.cs using System;class CircleAreaApp { public static void Main(){ double Radius=2.5;Console.WriteLine(“Area={0}”,3.14159*Radius*Radius);} }(2)使用装箱与拆箱 //CircleAreaApp2.cs using System;class CircleAreaApp { public static void Main(){ double Radius=2.5;double Area=3.14159*Radius*Radius;Console.WriteLine(“Area={0}”,Area);object obj=Area;Console.WriteLine(“Area={0}”,(double)obj);} }(3)输出以double,float,int,decimal,short表示 //CircleAreaApp3.cs using System;class CircleAreaApp { public static void Main(){ double Radius=2.5;double Area=3.14159*Radius*Radius;Console.WriteLine(“Area={0}”,Area);Console.WriteLine(“Area={0}”,(float)Area);Console.WriteLine(“Area={0}”,(int)Area);Console.WriteLine(“Area={0}”,(decimal)Area);Console.WriteLine(“Area={0}”,(short)Area);} }(4)使用object类与类型转换 //CircleAreaApp4.cs using System;class Circle { public double Radius=2.5;} class CircleAreaAPP { public static void Main(){ Circle cir=new Circle();double Area=3.14159*cir.Radius*cir.Radius;Console.WriteLine(“Area={0}”,Area);Console.WriteLine(“Area={0}”,(float)Area);object obj=(float)Area;Console.WriteLine(“Area={0}”,(float)obj);} }(5)使用派生类与as //CircleAreaApp5.cs using System;class Circle {} class CircleAreaAPP:Circle { public static void Main(){ double Radius=2.5;double Area=3.14159*Radius*Radius;Console.WriteLine(“Area={0}”,Area);Console.WriteLine(“Area={0}”,(float)Area);object obj=(float)Area;Console.WriteLine(“Area={0}”,(float)obj);Circle cir=new Circle();Console.WriteLine(“cir={0}”,cir==null?“null”:cir.ToString());CircleAreaAPP cirA=new CircleAreaAPP();cirA=cir as CircleAreaAPP;Console.WriteLine(“cirA={0}”,cirA==null?“null”:cirA.ToString());} }

习题3

一、选择题

1.字符串的输入使用 B 方法。

A)Cosole.Read()B)Cosole.ReadLine()C)Cosole.Write()D)Cosole.In.read()2.用于格式化输出十进制数的符号是 C。

A)C B)E C)D D)G E)N F)X 3.用于格式化输出浮点数的符号是 D。A)C B)D C)G D)F E)N F)X 4.用于格式完整日期/时间模式(长时间)的符号是 A。A)D B)F C)G D)M E)R F)S 5.用于格式完整日期/时间模式(短时间)的符号是 C。A)D B)f C)g D)d E)F F)G

二、编程题

1.从键盘输入一个小写字母,然后输出所输入的小写字母后其对应单代码值。2.从键盘输入两个浮点数,然后输出这两个数相加的结果(要求小数后取4位)。3.从键盘输入年、月、日的数值,然后用完整的日期事件格式化输出。答案: 1.

//CharValue.cs using System;public class CharValue { public static void Main(){ Console.Write(“Enter an char:”);char ch = char.Parse(Console.ReadLine());//or char ch=(char)Console.Readline();Console.WriteLine(ch);Console.WriteLine((int)ch);} }

2.//TwoFloatAddition.cs using System;public class TwoFloatAddition { public static void Main(){ Console.Write(“Enter a float:”);float f1= float.Parse(Console.ReadLine());Console.Write(“Enter a float:”);float f2 = float.Parse(Console.ReadLine());Console.WriteLine(“Result of addition for two float is: {0:F4}”,f1+f2);} }

3.//DateTimeFormat.cs using System;using System.Globalization;public class DateTimeFormat { public static void Main(String[] args){ Console.Write(“Enter year month day: ”);string s = Console.ReadLine();DateTime s1 = DateTime.Parse(s);Console.WriteLine(“d {0:d}”,s1);Console.WriteLine(“D {0:D}”, s1);Console.WriteLine(“f {0:f}”, s1);Console.WriteLine(“F {0:F}”, s1);Console.WriteLine(“g {0:g}”, s1);Console.WriteLine(“G {0:G}”, s1);Console.WriteLine(“m {0:m}”, s1);Console.WriteLine(“M {0:M}”, s1);Console.WriteLine(“r {0:r}”, s1);Console.WriteLine(“R {0:R}”, s1);Console.WriteLine(“s {0:s}”, s1);} }

习题4 1.以下运算符的运算符优先级,D 最高,E 最低。A)+ B)<< C)| D)()E)|| F)++ 2.以下运算符中,A 是三目运算符。

A)?: B)--C)= D)<= 3.在堆栈上创建对象和调用构造函数时,通常使用 B 关键字。A)typeof B)new C)as D)is 4. A 用于获取系统的System.Type类型。

A)typeof B)new C)sizeof D)is

二、写出下列程序执行结果。1.运行结果。//Increment1.cs using System;public class Increment1 { public static void Main(){ int i1=1993,i2=11,i3=19;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);i1=i3;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);i3+=i2;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);i1=i2+i3;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);i1++;++i2;i3=i1++ + ++i2;Console.WriteLine(“i1={0},i2={1},i2={2}”,i1,i2,i3);} }

2.运行结果:。//Increment2.cs using System;public class Increment2 { public static void Main(){ int a,b;a = b = 1;b = a / ++b;Console.WriteLine(“a={0} b={1}”,a,b);b = a++-i1);Console.WriteLine(---i1);Console.WriteLine(i2---i3);Console.WriteLine(i4---i5);Console.WriteLine(-i6---i7);Console.WriteLine(i8++/ ++i9*--i10);Console.WriteLine(++i11/i12++ *--i13);Console.Read();} }

三、编程题

1.输入两个整数,输出它们(实数除)的商,并输出商的第2位小数位(例如:5/18.0=1.875, 1.875的第二位小数是7)。

2.输入圆球的半径,计算圆球的表面积(4πr)和体积(4πr/3),其中π=3.14159。3.输入秒数,把它转换为用小时、分、秒表示。例如,输入7278秒,则输出2小时1分18秒。4.计算x=ab+5ln(1+c)要求:

(1)输出结果以科学表示法、定点表示法(小数点后保留两位)和普通表示法表示。(2)输出结果以整数表示并指明当前工作的日期和时间。

5.计算答案: 1.

//RealDivide.cs using System;public class RealDivide

3223 { public static void Main(){ Console.WriteLine(“Enter two integers:”);string[] s = Console.ReadLine().Split();;int a = int.Parse(s[0]);int b = int.Parse(s[1]);float f = 1.0f * a / b;int c=(int)(f*100)%10;Console.WriteLine(“Result of real divide is : {0}”,f);Console.WriteLine(“Second place of decimals is : {0}”,c);} }

2.//SphereA.cs using System;public class Sphere { public static void Main(){ Console.Write(“Enter the radius of sphere: ”);string s = Console.ReadLine();double radius = double.Parse(s);double surfaceArea = 4 * Math.PI * radius * radius;double Volume = 4 * Math.PI * radius * radius * radius / 3;Console.WriteLine(“SurfaceArea={0}”,surfaceArea);Console.WriteLine(“Volume={0}”,Volume);} }

3.//HourMinuteSecond.cs using System;public class HourMinuteSecond { public static void Main(){ int hour, minute, second;Console.Write(“Enter numbers of second:”);string s = Console.ReadLine();second = int.Parse(s);hour = second / 3600;second %= 3600;minute = second / 60;second = second % 60;Console.WriteLine(“{0} hour {1} minute {2} second”,hour,minute,second);} }

4. //ValueX.cs using System;using System.Globalization;public class ValueX { public static void Main(){ double a, b, c, x;Console.Write(“Enter three numbers: ”);string[] s = Console.ReadLine().Split();a = double.Parse(s[0]);b = double.Parse(s[1]);c = double.Parse(s[2]);x = a * Math.Pow(b, 3)+ 5 * Math.Log(1 + c * c);Console.WriteLine(“x={0:E}ttx={1:F2}ttx={2:G}”, x, x, x);Console.WriteLine(“x={0:D}”,(int)x);DateTime NowTime = DateTime.Now;Console.WriteLine(“{0:D}”, NowTime);} }

5.//MathTestA.cs using System;public class MathTestA { public static void Main(){ double alpha, beta, y;Console.Write(“Enter value of alpha: ”);string s = Console.ReadLine();alpha = double.Parse(s);Console.Write(“Enter value of beta: ”);s = Console.ReadLine();beta = double.Parse(s);y = Math.Pow(Math.Abs(Math.Log(Math.Sqrt(1 + alpha * alpha))a)*(sc)));Console.WriteLine(“Area of triangle is :{0:F2}n”, Area);} else { Console.WriteLine(“can't construct triangle!n”);} Console.ReadLine();}

} 运行结果:

2.//Prime.cs

class Prime { public static void Main(){ int a, n, m = 0, i, j;bool flag;for(i = 2;i <= 50;i++){ flag = true;j = 2;a =(int)Math.Sqrt((double)i);while(flag && j <= a){ if(i % j == 0)flag = false;j++;} if(flag){ Console.Write(“{0:D2} ”, i);m++;if(m % 4 == 0)Console.WriteLine();} } Console.WriteLine();Console.ReadKey();} } 运行结果:

3.//CountDigit.cs class CountDigit { public static void Main(){ int num = 0;char ch;Console.Write(“Enter chars:”);while(true){ if((ch =(char)Console.Read())== 'b')if((ch =(char)Console.Read())== 'y')if((ch =(char)Console.Read())== 'e')break;if(ch >= '0' && ch <= '9')num++;} Console.WriteLine(“Numbers of digit is:{0}n”, num);Console.Read();Console.ReadKey();} } 运行结果:

4.//ForSinCosTan.cs class ForSinCosTan { public static void Main(){ float sinx, cosx, tanx;double x;Console.WriteLine(“xtsinxtcosxttanx”);for(int i = 2;i <= 10;i += 2){ x = i * Math.PI / 180;sinx =(float)Math.Sin(x);cosx =(float)Math.Cos(x);tanx =(float)Math.Tan(x);Console.WriteLine(“{0}tt{1:F6}tt{2:F6}tt{3:F6}”, i, sinx, cosx, tanx);} Console.Read();Console.ReadKey();} } 运行结果:

5.//Factorial.cs

class Factorial { static int n, Fact;public static void Main(){ n = 0;Fact = 1;Console.WriteLine(“Use while loop:”);while(++n <= 5){ Fact *= n;Console.WriteLine(“ {0}!= {1}”, n, Fact);} Console.WriteLine(“Use do-while loop:”);n = 1;Fact = 1;do { Fact *= n;Console.WriteLine(“ {0}!= {1}”, n, Fact);} while(++n <= 5);Console.WriteLine(“Use for loop: ”);Fact = 1;for(n = 1;n <= 5;n++){ Fact *= n;Console.WriteLine(“ {0}!= {1}”, n, Fact);} Console.ReadKey();} } 运行界面:

习题6

一、填空题

1.C#类的成员包括 域、方法、属性、常量、索引、事件与运算符

2.用于指定类的成员是否可访问的修饰符有public、protected、private及internal。3.类最常用的方法是Main 4.构造方法实例化对象的形式是 类名 对象=new 类名(构造方法参数)5.从另一个类,继承一个类的语法是 class 派生类:基类 6.sealed类用于 确保一个类永不作为基类

二、编程题

1输入一个数值作为正方形的边长,计算正方形的面积,并输出到屏幕上。要求:

(1)定义一个类,在类中定义无参的构造方法和主方法。(2)定义一个类,在类中定义带参的构造方法和主方法。

2、重复输入数据,计算分段函数

|x|r0y=

22|x|rrx要求:

(1)定义两个类,在一个类中定义无参的构造方法,在另一个类中定义主方法。(1)定义两个类,在一个类中定义带参的构造方法,在另一个类中定义主方法。

3.从键盘读入边数(side),然后按输入的边数画出一组由排列紧凑的星号组成的正方形。例如,side为4则画出: * * * * * * * * * * * * 要求:

(1)定义一个类,在类中定义无参的构造方法。

(2)定义有两个类,在一个类中定义带参的构造方法,在另一个类中定义主方法。4.打印一个ASCⅡ码表。

要求定义两个类,在一个类中定义无参的构造方法,在另一个类中定义主方法。5.重复输入数据计算正方形、长方形与任意三角形面积(要求使用单一继承)。

答案 1.(1)答案

namespace ConsoleApplication1 { class Square { Square(){ Console.Write(“Enter length of side for square:”);double len = double.Parse(Console.ReadLine());Console.WriteLine(“Area={0}”, len * len);} public static void Main(){ for(;;){ Square obj = new Square();Console.Write(“Do you want to continue?(y/n)”);string s = Console.ReadLine();if(s.Equals(“n”))break;}

} } }

运行结果:

(2)答案 namespace ConsoleApplication1 { class Square { public static readonly int N = 3;public Square(double len){ Console.WriteLine(“Area={0}”, len * len);} public static void Main(){ for(int i=1;i<=N;i++){ Console.Write(“Enter length of side for square: ”);string s=Console.ReadLine();double length=double.Parse(s);Square obj=new Square(length);} Console.ReadKey();} } } 运行结果:

2.题(1)答案

namespace ConsoleApplication3 { class Function { public Function(){ Console.Write(“Enter value of x and r;”);string[] s = Console.ReadLine().Split();double x = double.Parse(s[0]);double r = double.Parse(s[1]);double y = Math.Abs(x)>= r ? 0 : Math.Sqrt(r * ry;} } static void Main(string[] args){ int x = 30, y = 50, a, b;fun(x, y out a ,out b)Console.WriteLine(“a=”+a +“b=”+b);} } A)50,30 B)30,50 C)80,—20 D)80,20

二、填空题

下面程序的执行结果是()//FunApp2.cs Using System;class FunApp2 { int x = 888, y = 777, z = 666;public FunApp2(){ x++;y++;z++;} public FunApp2(int a, int b, int c){ x = a;y = b;z = c;} } public class FunApp { static void Main();FunApp2 obj1=new FunApp2();Console.Write Line(obj1.x);Console.Write Line(obj1.y);Console.Write Line(obj1.z);FunApp2 obj2=new FunApp2();Console.Write Line(obj2.x);Console.Write Line(obj2.y);Console.Write Line(obj2.z);} }

二、编程题

1,重复输入任意数据,计算y=

0



r2x2

|x|r

|x|r要求:

(1)使用值参数方法:(2)使用ref参数方法;(3)使用out参数方法;(4)使用ref与out参数方法;(5)使用重载方法;(6)使用重载构造方法;(7)使用可变参数方法;(8)使用静态方法。

(1)答案: using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication1 { //YestA

class YTest { public void yMethod(double x, double r){ Console.WriteLine(“y={0}”, Math.Abs(x)> r ? 0 : Math.Sqrt(r * rx * x);} } class YTest {

第四篇:web程序设计复习题

一、判断题

1.网页是文本文件。()

2.在网页文件index.htm中,可用代码显示出服务器的日期和时间。()

3.有时我们看到的网页代码实际上不是真正的源代码。()

4.变量也有名字。()

5.变量的值可以被替换。()

6.在HTML代码中,定义表格。()

7.VB和VBScript都是脚本语言。()

8.常量是一种不会改变的数,VBScript定义常量要使用“Dim常量名称”。()

9.session对象无法记录数组,对象等复杂的数据类型。()

10.session和cookies一样,都是存储在客户端的。()

11.Session对象的OnEnd事件处理程序只能使用Application和Server两个ASP内置对象。()

12.ASP中的Session的功能是将数据存储在服务器的内存中。()

13.ASP页可调用ActiveX组件来来执行任务。()

14.ASP文件必须使用专门程序来编辑。()

15.response对象的数据集合用于设置客户端的cookies停息。()

16.request对象的数据集合用于取得客户端的cookies停息。()

17.微软推出的服务器是IIS和WPS。()

18.在表单(Form)传值使用Post方法时,接收页面可用Request.Querysting(“表单对象名称”)进行

取值。()

19.使用request.querystring可以接受表单中输入的数据。()

20.在表单(Form)传值使用Get方法时,接收页面可用Request.Form(“表单对象名称”)进行取值。()

21.在VB中当场编写一个组件,并生成一个.dll文件,该组件即使本机使用,也必须注册后方能使用。

()

22.打开浏览器后,IIS会自动创建Session.SessionID属性,其属性值随着浏览器刷新而改变。()

23.使用Application对象创建一个属性,其属性值随着浏览器的关闭而消失。()

24.ASP网页,运行时在客户端可以查看到真实的ASP源代码。()

25.HTML不具有文件存取操作的功能,是一种描述性的标记语言。()

二、选择题

1.Asp页面中用以包含其它页面的命令是()。

A)return

2.Internet使用()。

A)G3协议B)CDMA协议C)TCP/IP协议D)TCP协议和IP协议

3.设置网页背景图案应该使用()。

A)background属性 B)bgcolor属性C)link属性D)color属性

4.以下说法错误的是()。

A)网页文件其实是文本文件

C)网页也是文档B)word 2000也可以制作网页 D)网页可以用HTTP编写 B)include C)include file D)global

5.相对JSP和PHP,是ASP优点的是()。

A)全面支持面向对象程序设计 B)执行效率高 C)简单容易 D)多平台支持

6.下面哪门语言不是被浏览器执行的()。A)HTML A)ASP

B)JavaScript B)CGI

C)VBScript C)JSP B)标识网页特征 D)标识最大号字体

D)ASP D)JavaScript

7.7、相对比较早出现的服务器端技术是:()8.标记的作用是()。A)标识IE窗口标题栏的内容C)进行网页内容索引

A)在web页面中产生一个多行文本框 B)在web页面中产生一个单行文本框 C)在web页面中产生一个复选框 D)在web页面中产生一个口令文本框 10.是一个()。A)文本框 B)重新填写的按钮 C)下拉菜单

D)提高给服务器的按钮

11.在超级链接中,如果指定()框架名称,连接目标将在链接文本所在的框架页内出现,当前页

面被刷新。A)Blank A)标记

B)Self B)
标记

C)Parent C)

标记

D)Top D)标记

12.以下标记中,()可用于在网页插入图像。13.下面关于标记的说法不正确的是()。A)标记要填写在一对尖括号(<>)内

B)书写标记的时候,英文字母的大、小写或混合使用大小写都是允许的。C)标记内可以包含一些属性,属性名称出现在标记的后面,并且以分号进行分隔。D)HTML对属性名称的排列顺序没有特别的要求。14.发展DHTML的作用不在于:()A)减轻服务器处理压力 B)加快客户端页面处理速度 C)减轻网络压力 D)加快数据搜索速度 15.以下说法不正确的是()。A)VBScript 是VB的一个子集C)VBScript是脚本语言

16.Textarea属性之Rows用于设置 :()A)多行文本框名称

B)VB 是VBScript的一个子集 D)VBScript 弱于VB

9.下面的HTML标记的作用是()。

B)设置最多可以输入的行数 C)设置每行可以输入的字符数 D)设置每列可以输入的字符数

17.下列Response对象的属性中哪个可以用于设定页输出是否被缓冲?()A)TotalBytes

B)ContentType

C)status

D)Buffer

18.<%Response.Write “您来访的时间是:” & Year(date())& “年” & Month(date())& “月” & Day(date())&

“日” %>如果浏览者打开这个ASP页面的日期是2006年5月20日,以上代码运行后,转化成标准HTML代码为:()

A)您来访的时间是:2006年5月20日 B)Response.Write

C)<%您来访的时间是:2006年5月20日%> D)您来访的时间是:

19.ASP网页的Web服务器最好采用()。A)Apache C)Windows98 A)./* */ C)

B)IIS(Internet Information Server)D)WindowsNT B).