当前位置:文档之家› c_程序设计课后习题与解答[1]

c_程序设计课后习题与解答[1]

c_程序设计课后习题与解答[1]
c_程序设计课后习题与解答[1]

习题与解答

习题一

一、单项选择题

1 在 Visual https://www.doczj.com/doc/b511787132.html,窗口中,在__________窗口中可以察看当前项目的类和类型的层次信息? (B)

A.解决方案资源管理器

B.类视图

C.资源视图

D.属性

2.能作为C#程序的基本单位是( B)。

A. 字符

B. 语句

C. 函数

D. 源程序文件

3.C#语言是微软.NET公共语言运行环境中内置的核心程序设计语言,是一种(B)。

(A)面向过程程序设计语言(B)面向对象程序设计语言

(C)跨平台程序设计语言(D)机器语言

4.C#语言支持面向对象程序设计概念,(C)。

(A)但不支持继承(B)而且支持多继承

(C)但仅支持单继承(D)支持单继承和多继承

5.C#应用程序由一个或者多个类组成,一个应用程序的所有程序代码(A)。

(A)必须封装在类中(B)不能封装在类中

(C)必须封装在一个类中(D)必须封装在多个个类中

6.C#应用程序中,导入其他系统预定义元素部分可以使用关键字(D)。

(A)use (B)namespace (C)import (D)using

7.命名空间是一种在程序中防止标识符命名冲突而引入的逻辑隔离机制,C#中使用关键字(D)表示。

(A)using (B)spacename (C)class (D)namespace

8.C#应用程序中,用主方法指明程序执行的开始点,主方法的名字规定为(C)。

(A)class (B)main (C)Main (D)MainWay

9. C#中的注释方法有三种,下列注释方法中错误的是(D)。

(A)单行注释“//”(B)多行注释“/*和*/”

(C)XML注释“///”(D)HTML注释“

10. 下列对控制台应用程序描述正确的是(C)。

(A)控制台(Console)应用程序就是对设备进行控制的应用程序

(B)控制台(Console)应用程序包含了大量Windows系统的组成元素

(C)控制台(Console)应用程序是C#语言能够开发的应用程序类型之一

(D)控制台(Console)应用程序是基于标准C语言的单片机技术

11. 在控制台应用程序中,如果在程序开头使用using System; 语句引入了System命名空间,则下列对Read()和ReadLine()方法调用错误的是(D)。

(A)System.Console.Read(); (B)Console.Read();

(C)Console.ReadLine(); (D)Read();

12. 在C#的Windows应用程序中,不论任何控件,共同具有的是(B)属性。

(A)Text (B)Name (C)ForeColor (D)Caption

13. 下列语句的输出是________?(B)

double MyDouble = 123456789;

Console.WriteLine("{0:E}",MyDouble);

A.$123,456,789.00

B.1.234568E+008

C.123,456,789.00

14. 下面对Read( )和ReadLine( )方法的描述,哪些是正确的_____?(A)(D)

A.Read( )方法一次只能从输入流中读取一个字符

B.使用Read()方法读取的字符不包含回车和换行符

C.ReadLine()方法读取的字符不包含回车和换行符

D.只有当用户按下回车键时,Read( )和ReadLine()方法才会返回

15. 下面对Write()和WriteLine()方法的描述,哪些是正确的____?(A) (B) (D)

A.WriteLine()方法在输出字符串的后面添加换行符

B.使用Write()输出字符串时,光标将会位于字符串的后面

C.使用Write()和WriteLine()方法输出数值变量时,必须要先把数值变量转换成字符串

D.使用不带参数的WriteLine()方法时,将不会产生任何输出

二、选择填空题

1.C#语言是一种B、全新的程序设计语言,是微软.NET公共语言运行环境中内置的核心程序设计语言。

2.C#程序设计语言的主要特点有:语法简洁、满足通用语言规范、面向对象、兼容性和灵活性、以及C等。

3.一个C#程序可以存放在一个源程序文件中,也可以存放在多个源程序文件中。一个源程序文件中可以有一个或者多个类,E将一个类拆散存放在不同的源程序文件中。

4.为源程序文件命名J,既可以与类的名字相同,也可以不同。

5.在定义C#语言的标识符构成时,G字母符的大小写形式。

备选项:

(A)面向过程的(B)面向对象的(C)完整的安全性(D)不需要区分(E)但不允许(F)而且允许(G)需要区分(H)有限安全性(I)必须与类名一致(J)不受类名限制

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

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

8.. C++程序从上机到得到结果的几个操作步骤依次是(编辑、编译、连接、运行 )。

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

10. 行尾使用注释的开始标记符为___//_______。

三、思考题

1.简述C#语言的语句书写规则。

答案:(1)语法简洁

(2)满足通用语言规范

(3)面向对象

(4)完整的安全性和错误处理

(5)兼容性和灵活性

(6)版本控制

(7)与Web的完美结合

2.简述在VS2008集成环境中创建C#控制台应用程序的主要步骤。

答案:

四个步骤:

(1)启动运行“Microsoft Visual Studio 2008”,进入VS2008集成开发环境;

(2)选择项目类型为控制台应用程序,并指定项目名称及其保存位置;

(3)在应用程序编辑环境中输入程序代码;

(4)调试运行程序。

3.简述在VS2008集成环境中创建C#Windows窗体应用程序的主要步骤。

答案:

四个步骤:

(1)设计用户界面

(2)设置对象属性

(3)编写对象事件过程代码

(4)保存并运行程序(生成可执行代码)

4.一个C#控制台应用程序主要由哪几个部分构成?

答案:

(1)导入其他系统预定义元素部分;

(2)命名空间;

(3)类;

(4)方法(主方法、事件响应处理过程)

5.C#程序中可以使用哪些书写注释的方法?它们分别适合用于什么场合?

答案:C#中的注释方法有三种:

(1)单行注释在一个语句行上,用双斜杠“//”作为引导符,其后的任何内容均为注释信息,编译时被忽略,通常用于注释字符串较短的场合。

(2)多行注释从“/*”开始,到“*/”结束,多行注释通常用于需要书写较大量注释的情况

(3)XML注释在一个代码行上,用“///”开始,其后的任何内容均为注释信息,编译时被提取出来,形成一个特殊格式的文本文件(XML),用于创建文档说明书。6.什么是托管方式?

答案:在.NET系统中,除了C#语言外,还包括C++、VB、Java等程序设计语言,这些语言都遵守通用语言规范。在通用语言规范中,任何语言编写的源程序都被编译成为相同的中间语言(MSIL)代码,然后由通用语言运行环境(Common Language Runtime ,CLR)负责执行,这种处理方式称为“托管方式”,因而这样的代码亦称为“托管代码”。

习题2

1. 要使窗体刚运行时,显示在屏幕的中央,应设置窗体的___(B)______属性?

A.WindowsState

B.StartPostion

C.CenterScreen

D.CenterParenr

2. 要使文本框控件能够显示多行而且能够自动换行,应设置它的___(B)______属性?

A.MaxLength和 Multline

B.Multlineh和 WordWrap

C.PassWordChar 和 Multline

D.MaxLength和 WordWrap

3.窗体中有一个年龄文本框 txtAge,下面(D)代码可以获得文本框中的年龄值。

A.int age = txtAge;

B. int age = txtAge.Text;

C. int age = Convert.ToInt32(txtAge);

D. int age = int.Parse(txtAge.Text); 4.下面(AC)代码能向组合框 cboYears 添加一项。

A.int year = 1997;

cboYears.Items.Add(year);

B. int year = 1997;

cboYears.Add(year);

C. int year = 1997;

cboYears.Items.Add(year.ToString());

D. int year = 1997;

cboYears.Add(year.ToString());

6.当 ListView 的视图为 Details 时,以下(A)属性可以设置显示的各个列。

A.Columns

B. Groups

C. Items

D.SubItems

2. 填空题

1) 使控件是否可以对用户交互作出响应的属性是 _____ Enabled _____ 。

2) 控制控件是否显示的属性是 _______ Visible ___ 。

3) 若要在文本框中输入密码,常指定 ______ PasswordChar ____ 属性。

4) 若某复选框某时刻CheckState属性的值为Indeterminate,则其属性Checked 的值为 Unchecked 。

5) 使用 ___ Panel _____ 或 _ GroupBox __控件可以将多个RadioButton控件分为两个单选组。

6) 若不希望用户在ComboBox控件中编辑文本,则应将属性 DropDownStyle 的属性值设置为___ DropDownList ____。

7) 用于设置MenuStrip控件中某菜单项快捷键的属性是____ ShortcutKeys ___ 。

8) 用于控制ListView控件中的各项显示方式的属性是__ View ____ 。

3. 判断题

1) 控件就是属性、方法和事件的集合封装体。 ( 对 )

2) TextBox控件只能用于单行文本的输入。 ( 错 )

3) 通过RichTextBox控件只能够与RTF文件进行交互操作。 ( 错 )

4) CheckBox控件的Checked属性与CheckState属性的值始终是相同的。 ( 错 )

5) ToolTip组件用于显示某指定控件的自定义提示信息的。 ( 对 )

4. 问答题

1. 区别TextBox控件、MaskedTextBox控件、RichTextBox控件的使用场合。

【解答】

TextBox控件一般用于单段文本的编辑,可以设置为单行或多行的输入模式,也可以用作密码的输入;MaskedTextBox控件主要用于特定格式的单段文本编辑,在输入文本不符合格式要求的将会触发其MaskInputRejected事件;RichTextBox控件除了具有TextBox的一般文本编辑功能外,还可以进行多段文本的高级编辑功能,如改变文本、段落的显示格式、在文本中查找特定字符和字符串以及与Rtf文件的交互等。

2. 简要说明CheckBox控件和RadioButton控件的区别。

【解答】

CheckBox控件可为用户提供选择功能,常用的是二选一的选择,如“真/假”或“是/否”;但该控件也可以通过属性的设置作三选一的选择。每一个CheckBox所代表的选择都是独立的,若有多个CheckBox控件构成一组选项时,则可以多个同时被选中,相互之间不影响,即复选。RadioButton控件,它与CheckBox控件功能类似,也是用于接收用户的选择,但它是以单项选择的形式出现,即一组RadioButton按钮中只能有一个处于选中状态。一旦某一项被选中,则同组中其他RadioButton按钮的选中状态自动清除。

5. 编程题

1. 设计一个Windows应用程序,窗体上有一个TextBox控件、一个Button控件。要求,每当用户单击按钮时,文本框都会增加一行文字来反映单击的次数,例如“第3次单击按钮”。

【解答】

1) 窗体界面如图Ex5-5-1所示;

2) 窗体中主要控件属性设置如表Ex5-5-1;

表Ex5-5-1 窗体中的主要控件属性控件Name属性功能其它属性

TextBox 控件textBox1 显示信

ScrollBars=Vertical;

Multiline=True

Button 控件Button1 触发添

加信息

事件Button2 触发结

束添加

事件

3) 主要事件代码。

int i = 1;

bool Add = true;

……private void button1_Click(object sender, EventArgs e)

{

if(Add) textBox1.Text += "第" + i + "次单击按钮\r\n";

i++;

}

private void button2_Click(object sender, EventArgs e)

{

Add = false;

}

6. 编写一段程序,向ListBox控件listBox1中,自动添加10个数,每个数占一项。

【解答】

主要代码如下:

以下是引用片段:

public partial class Form1 : Form

{

int m = 1;

……

private void button1_Click(object sender, EventArgs e)

{

for (int i = m ; i < m+10; i++)

{

listBox1.Items.Add(i);

}

m = m + 10;

}

}

习题3.1

一、单项选择题

1. 以下标识符中,正确的是____?(A)

A._nName

B.typeof

C.6b

D.x5#

2. 以下类型中,不属于值类型的是____?(D)

A.整数类型

B.布尔类型

C.字符类型

D.类类型

3. 在C#中,表示一个字符串的变量应使用以下哪条语句定义?

A. CString str;

B. String str;

C. Dim str as string

D. char * str;

4.C#程序中用到的数据分为两个大类,它们是(A)。

(A)值类型和引用类型(B)整型和实型

(C)数值类型和字符类型(D)简单类型和复杂类型

5.C#语言中,值类型数据对象占用的存储空间大小(B)。

(A)不固定(B)相对固定(C)可以任意指定(D)都是相同的3.C#语言中,引用类数据对象占用的存储空间大小(D)。

(A)不得而知(B)相对固定(C)都是相同的(D)随实际需要而定6.C#语言中,基本整型数据类型(int)所占用的存储空间为(C)个字节。

(A)1 (B)2 (C)4 (D)8

7.C#语言中,双精度实型数据类型(double)所占用的存储空间为(D )个字节。

(A)1 (B)2 (C)4 (D)8

8.C#语言中,字符数据使用Unicode字符集,其占用的存储空间为(B)个字节。

(A)1 (B)2 (C)4 (D)8

9.下面的运算符中,优先级别最低的是(D)。

(A)new (B)!= (C)?:(D)=

10.设有整型变量x,则表达式x=5/8运算后,变量x的值为(A)。

(A)0 (B)0.625 (C)0.6 (D)0.63

11.C#语言中,字符串常量@"123\n456"的长度(有效字符个数)是(C)。

(A)6 (B)7 (C)8 (D)9

12. 为了将字符串str=“123,456”转换成整数 123456,应该使用以下哪条语句? (A)

A.int Num = int.Parse(str);

B.int Num = str.Parse(int);

C.int Num = (int)str;

D.int Num = int.Parse(str,Globalization.NumberStyles.AllowThousands);

13.C#语言中,与赋值运算符“=”实现相同操作的字符串处理方法是(C)。

(A)Compare (B)Concat (C)Copy (D)Substring

14.C#应用程序中,标识符用于给程序处理的数据对象命名。组成标识符的字符为字母、数字和下划线,标识符的第一个字符(B)。

(A)必须是字母(B)必须是字母或者是下划线

(C)必须是下划线(D)可以是字母或者是下划线

15.在程序中如果要使用系统保留字(关键字)作为自定义标识符,必须使用字符(A)作为引导符。

(A)@ (B)$ (C)# (D)~

16.下面所列的C#标识符中,错误的是(B)。

(A)myId (B)int (C)@if (D)_int

17.下面所列的C#自定义标识符中,正确的是(A)。

(A)@double (B)$double (C)#double (D)~double

18. C#中所有字符都是使用(A)

(A)Unicode编码表示(B)UTF-8编码表示

(C)UTF-16编码(D)GBK编码

19. 关于 C#程序的书写,下列不正确的说法是____?(D)

A.区分大小写

B.一行可以写多条语句

C.一条语句可写成多行

D.一个类中只能有一个 Main()方法,因此多个类中可以有多个 Main()方法

20. 在 C#语言中,下列能够作为变量名的是____?(C)

A.if

B.3ab

C.a_3b

D.a-bc

21. 在 C#语言中,下面的运算符中,优先级最高的是__(A)__?

A.%

B.++

C./=

D.>>

22. 能正确表示逻辑关系“a>=10 或a<=0”的 C#语言表达式是__(D)__?

A.a>=10 or a<=0

B.a>=10|a<=0

C.a>=10&&a<=0

D.a>=10||a<=0

23.在C# 中可用作程序变量名的一组标识符是(B)

A.a3_b3 _123 YourName

B.void namespace +word

C.for -abc Case

D .2a good ref

二、选择填空题

1.在C#语言中,值类型数据对象占用的存储空间大小相对固定,在其所占存储空间中直接存放 F 。

2.在C#语言中,引用类数据对象占用的存储空间大小随需要而定,该类数据对象并不真正表示自己所具有的内容,而是表示 A 。

3.在C#程序设计中,定义值类型变量的同时可以对其进行初始化,初始化时提供的初始化数据 C 。

4.在C#的整型常量表示中,可以使用十进制数据和十六进制数据两种形式,其中十六进制数据 J 。

5.布尔数据类型占用一个字节的存储区域,其变量只有两种取值: H 。 备选项: (A )自己内容所在存储区域的引用 (B )Yes 或No

(C )必须在对应变量的取值范围之内 (D )0h 或者0H

(E )可以在对应变量的取值范围之外 (F )该类数据对象所具有的值 (G )“真”或“假” (H )true 或false (I )数据对象的名字 (J )使用0x 或者0X 开头 6. 一个完整程序中必须有一个名为__Main______的函数。 7 一个函数的函数体就是一条____复合_____语句。

8.在C#程序中,程序的执行总是从____Main______方法开始的。

9、在C#中,bool 类型只有两种值,分别是___true_______和___false_______。 10、在C#中,使用____const______关键字声明符号常量。

三、程序设计与分析题

1. 创建图2-7所示Windows 窗体应用程序,在两个文本框中分别输入整数值,然后单击“计算”按钮,就能在标签控件中输出两个整数值相加之和。

图2-7 计算两个整数相加之和 图2-8 华氏温度转换为摄氏温度

2. 已知将华氏温度转换为摄氏温度的公式为:)32(9

5-=F C ,创建图2-8所示的Windows

窗体应用程序,实现将文本框内输入的华氏温度转换为摄氏温度的功能,计算结果在标签控件中输出。

3. 创建控制台应用程序,在控制台端键盘输入一个半径值,就能计算输出圆的面积。4.根据如下的枚举定义,fruit.peach和fruit.strawberry的值分别是多少?

enum fruit : int

{

apple = 5, apricot, banana, peach, pineapple = 12, strawberry

}

答案:fruit.peach的值为8,fruit.strawberry的值为13

5.专家认为,成人血压的正常范围是:

收缩压90~140 mmHg(12.0~18.7 kPa)—— 1 kPa = 7.5 mmHg

舒张压60~90 mmHg(8.0~12.0 kPa)

写出判断血压是否正常的逻辑表达式(以mmHg为计量单位)。

答案:double xueya; //血压值

(xueya>=90 && xueya<=140) && (xueya>=60 && xueya<=90)

习题3.2 3.3

一、单项选择题

1.当变量x的值在[1,100]范围内时,下面的C#表达式返回值为“真”的是(D)。

(A)1<=x<=100 (B)x>=1 || x<=100

(C)x>1 && x<100 (D)x>=1 && x<=100

2. 下面的C#表达式中,描述了数学关系x≥y≥z的是(B )。

(A)(x>=y) AND (y>=z) (B)(x>=y) && (y>=z)

(C)(x>=y>=z) (D)(x>=y) & (y>=z)

3.当变量x的值在[1,10]或[200,210]范围内时,下列C#表达式返回值为“真”的是(C)。

(A)(x>=1) && (x<=10) && (x> = 200) && (x<=210)

(B)(x>=1) || (x<=10) || (x>=200) || (x<=210)

(C)(x>=1) && (x<=10) || (x>= 200) && (x<=210)

(D)(x>=1) || (x< =10) && (x> = 200) || (x<=210)

4. 设有C#语句:int a=5,b=4;,则下列表示条件的表达式中值为“假”的是(C)。

(A)(a>b)&&(b>0&&a>0) (B)(b>=0)&&(a<=b ? a+b:a-b)>0

(C)a>0 && !(b>0) (D)(a<=0)||(a%b>0)

5. 执行C#语句序列:int i; for (i = 0; i++ < 4; ) ;后,变量i的值是(A)。

(A)5 (B)4 (C)1 (D)0

6. 以下程序的输出结果是__(C)__?

Using system;

Class Example1

{

Public Static void main() {

int a=5,b=4,c=6,d;

Console.writeline(" {0}",d=a>b?(a>c?a:c):b);

}

}

A.5

B.4

C.6

D.不确定

7. 以下程序的输出结果是_C___。

using system;

class Example1

{

public static void Main()

{

int a=5,b=4,c=6,d;

d=a>b?(a>c?a:c):b;

Console.Writeline(d);

}

}

A.5

B.4

C.6

D.不确定

8.写出以下程序的运行结果。

using System;

class Test

{

public static void Main()

{

int x = 5;

int y = x++;

Console.WriteLine(y);

y=++x;

Console.WriteLine(y);

}

}

答案: 5

7

9. if语句后面的表达式应该是__(A)__?

A.逻辑表达式

B.条件表达式

C.算术表达式

D.任意表达式

10.有如下程序 Using system;

Class Example1

{

Public Static void main()

{

int x=1,a=0,b=0;

switch(x)

{

case 0:b++,break;

case 1:a++,break;

case 2:a++,b++,break;

} Console.Writeline(" a={0},b={1}",a,b);

} }的输出结果是(C)// 代码有误,break前面“,”都改为“;”

A.a=2,b=1

B.a=1,b=1

C.a=1,b=0

D.a=2,b=2

11. .有如下程序

Using system;

Class Example1

{

Public Static void main()

{

int x=0,a=0,b=0;

switch(x)

{

case 0:b++;break;

case 1:a++;

case 2:a++;b++;break;

}

Console.writeline(" a={0},b={1}",a,b);

}

}的输出结果是A

A. a=0,b=1

B. a=1,b=1

C. a=1,b=0

D. a=2,b=2

12 已知 a,b,c的值分别是 4,5,6,执行下面的程序段后,判断变量 n的值为____?(C) if(c

else if(a+b

else N=a+b;

A.3

B.-3

C.9

D.15

13. 以下叙述正确的是__(C)__?

A.do….while语句构成的循环不能用其他语句构成的循环来代替

B.do….while语句构成的循环只能用 break语句退出

C.用do….while语句构成的循环,在 while后的表达式为 true时结束循环

D.用do….while语句构成的循环,在 while后的表达式应为关系表达式或逻辑表达式

14. 以下关于 for 循环的说法不正确的是__(A)__?

A.for 循环只能用于循环次数已经确定的情况

B.for 循环是先判定表达式,后执行循环体语句

C.for 循环中,可以用 break语句跳出循环体

D.for 循环体语句中,可以包含多条语句,但要用花括号括起来?

15.下列代码输出正确的是___ (D)namespace Answer

{

class Program

{

static void Main(string[] args)

{

int I,j;

for(i=1;i>=0;i--)

for(j=0;j<=I;j++)

Console.WriteLine(“i*j={0}”,i*j);

} } }

A.i*j=0 i*j=0 i*j=0

B.i*j=1 i*j=0 i*j=1

C.i*j=1 i*j=1 i*j=0

D.i*j=0 i*j=1 i*j=0

16.下面对 i 值的输出结果说法正确的是_____.(A) namespace Answer

{

class Program

{

static void Main(string[] args)

{

int i do{ i++;

} while(i<5)

Console.WriteLine(“i 值的为:{0}”,i) } } } A.i 的值为: 5 B.i 的值为: 6

C.i 的值为: 7

D.i 的值为: 8

17) 以下程序段的输出结果是A

A 1

B 3 0

C 1 -2 D死循环

int x=3;

do

{ Console.WriteLine(" {0}", x-= 2); }

while(!(--x>=0));

18) 以下程序段的输出结果是D

A 9

B 1

C 11

D 10

int k,j=0,s=0;

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

{ s=1 ;

for (j=k; j<6; j++) s+=j; }

Console.WriteLine("s={0}",s );

Console.ReadLine();

19)以下程序段的输出结果是 C

A 12

B 15

C 20

D 25

int i, j, m = 0;

for (i = 1; i <= 15; i += 4)

for (j = 3; j <= 19; j += 4) m++;

Console.WriteLine("m={0}",m );

Console.ReadLine();

20)以下程序段的输出结果是B

A 10

B 9

C 10

D 9

9 8 9 8

8 7 8 7

6

int n=10;

while (n>7)

{ n--; Console.WriteLine("m={0}",n );

}

二、 Console.ReadLine();选择填空题

1.程序设计中,一般用“逻辑与运算”表示某个数据对象的值是否在给定范围之内,而用“逻辑或运算”表示某个数据对象的值I。

2.C#语言中规定:在包含了if语句嵌套结构的程序中,else子句与在它前面距它最近的且B if配对。

3.C#应用程序中,在一个循环结构的循环体内又包含另外一个A,称为循环的嵌套。

4.break语句是一条限定转移语句,只能在D使用。

5.continue语句是一条限定转移语句,只能在J使用。

备选项:

(A)完整的循环结构(B)尚未匹配的

(C)是否在给定范围之内(D)switch语句结构和循环结构中

(E)完整的分支结构(F)if结构或者while结构中

(G)已经配对的(H)while结构中

(I)是否在给定范围之外(J)循环结构的循环体中

6、设x为int型变量,请写出描述“-10<=x<=10”的C#语言表达式_-10<=x && x<=10__。

7.若k为int整型变量且赋值15.请写出k++后表达式的值A)__15______和变量值

B)___16___.

8。"10=10&&X<=30________。

9.C#语言中的关系运算符按优先级分别是____< <= > >=_____,____!= ==_____________ .

10.将下列数学式改写成C#语言的关系表达式或逻辑表达式A) _a==b||a

A a=b 或a

B |x|>4

三写出运行结果题

1.运行以下程序段,结果是(150 )

double k,t;

t=0;

for(int n=1;n<=10;n++)

{

for(k=1;k<=5;k++)

t=t+k;

}

Console.WriteLine(t);

2. 运行以下程序段,结果是( 25 )

using System;

class Sumw

{

static void Main( )

{

int i=1, sum=0;

while (i<=10)

{

sum+=i;

i+=2;

}

Textbox1.text=“总和为:”+sum.ToString();

}

}

3. 以下程序运行后,变量a的值为( )

int a=100;

for(int j=10;j>0;j-=2)

a-=j*3;

4. 以下程序运行后,控件textBox1 显示内容为( 10 ) int i;

for(i=10;i<=20;i++)

{

if(i%5==0)

{

continue;

}

textBox1.text+=i.ToS tring()+” “;

}

5.给出下列程序的运行结果:( 5050 )

using System

Class Dome

{

Static void Main()

{ int n=1,sum=0;

while (n<101)

{

sum+=n;

n++;

}

Console.WriteLine(“1+2+3+…+100=”+sum);

}

}

Console.ReadLine();

6.下面代码的输出结果是(5 7)。

int x = 5;

int y = x++;

Console.WriteLine(y);

y = ++x;

Console.WriteLine(y);

7.当month 等于6时,下面代码的输出结果是(30)。

int days = 0;

switch (month)

{

case 2:

days = 28;

break;

case 4:

case 6:

case 9:

case 11:

days = 30;

break;

default:

days = 31;

break;

}

Console.WriteLine(days);

8如果 x=35, y=80,下面代码的输出结果是(报警)

if (x < -10 || x > 30)

{

if (y >= 100)

{

Console.WriteLine("危险!");

}

else

{

Console.WriteLine("报警!");

}

}

else

{

Console.WriteLine("安全");

}

9.下面代码运行后,s 的值是()。

int s = 0;

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

{

if (s > 10)

{

break;

}

if (i % 2 == 0)

{

s += i;

} }

10.若打印如下图案,画线处应填入()。 * * * * * * * * * * * * * * *

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

for (int j =____; j <= 5; j++) {

Console.Write("*"); }

三、程序设计题

1. 创建图3-20所示Windows 窗体应用程序,程序运行时,在“年份”文本框中输入一

个正整数,单击“判断”按钮,就能在标签控件中显示判断结果;单击“退出”按钮则结束程序运行。(闰年的计算规则请自行上网查阅

)

图3-20 判断闰年 图3-21 输出星号组成的图案

2.创建控制台应用程序,输入一个正整数之后,输出图3-21所示图案。最顶部一行的星号个数为输入的数。

3.创建控制台应用程序,利用下面多项式公式计算出π值,要求最后一项的值小于10-6

1

41341...71513114--

-++-+-=n n π

4.创建控制台应用程序,利用下面的公式计算e 的近似值,要求最后一项的值小于10-6

5.已知两个3位数abc 和cba 之和为1333(即abc+cba=1333),编写控制台应用程序,求出3个数字a 、b 和c 。

6.创建控制台应用程序,求解猴子吃桃问题:猴子第一天摘下桃子若干,当即吃了一半后又多吃了一个;第二天又将剩下的桃子吃掉一半后再多吃一个;以后每天都吃掉前

==k

n n e 0!1

一天剩下的一半零一个。到第10天想再吃时,只剩下一个桃子。求猴子第一天共摘下多少个桃子。

7.马克思曾经做过这样一道趣味数学题:有30个人在一家小饭馆用餐,其中每个男人花了3先令,每个女人花了2先令,每个孩子花了1先令,总共花了50先令。问男人、女人和孩子各有多少人?本题有多个解,编写控制台应用程序求出所有的解。

8.体操比赛的评分规则是:由7位裁判为每个运动员打分,去掉一个最高分,去掉一个最低分,求出的平均分即为运动员的得分。编写控制台应用程序,计算运动员得分。9.所谓“水仙花数”,指的就是这样一个三位数:其各位数的立方和等于该数。例如:153=13+53+33。编写控制台应用程序,计算输出所有的水仙花数。

10.所谓“完备数”,指的就是这样一个数:该数的值恰好等于它的因子之和。例如,6的因子为1、2、3,而6=1+2+3,因而6就是完备数。编写控制台应用程序,找出1~1000之间的所有完备数。

11.编写程序,求解以下问题:

(1)在窗体上输出100~500之间的所有奇数,并计算它们的和。

(2)在窗体上输出100~200之间不能被3整数的所有数。

(3)统计1~1000之内既能被5整除,也能被7整除的数的个数,并输出在窗体上。

(4)从300开始,找出连续100个既能被3整数又能被5整除的数。

(5)计算s = 1! + 2! + 3! + …+ n! (其中n是用户输入的正整数)。

(6)计算出不大于1000 的10个最大的素数。

习题3.4 3.5

一、单项选择题

1.下面所列选项中,能够正确定义具有10个数据元素一维整型数组a的是( A)。

(A)int [] a = new int[10]; (B)int a[10];

(C)int [] a = int[10]; (D)int [] a = int(10);

2.下面所列选项中,不能正确定义并初始化一维数组b的是(D )。

(A)double [] b=new double[5]{1,2,3,4,5};

(B)double [] b=new double[]{1,2,3,4,5};

(C)double [] b= {1,2,3,4,5};

(D)double [] b=new {1,2,3,4,5};

3.始化一维数组的语句,指出其中正确的是____?(D)

A.int arr1 [ ]={6,5,1,2,3};

B.int [ ] arr1=new int[ ];

C.int[ ] arr1=new int[ ]{6,5,1,2,3};

D.int[ ] arr1;arr1={6,5,1,2,3};

4.下面所列选项中,能够正确定义2行3列二维整型数组a的是( B )。

(A)int [][] a = new int [2][3]; (B)int [ ,] a = new int [2,3];

(C)int [2][3]; (D) int [ ,] a = int [2,3];

5.下面所列选项中,不能正确定义并初始化二维数组a的是( C)。

(A)int [ ,] a = new int [2,3]{{1,2,3},{4,5,6}};

(B)int [ ,] a = new int [,]{{1,2,3},{4,5,6}};

(C)int [ ,] a = new int [2,3]{1,2,3,4,5,6};

(D)int [ ,] a = {{1,2,3},{4,5,6}};

6.设有C#数组定义语句:int [] a = new int[5]; 对数组a元素的正确引用是(B)(A)a[5] (B)a[100-100] (C)a(0) (D)a+1

6.设有C#数组定义语句序列:double [] myArr; myArr = new double[10]; 数组元素myArr[5]的值为(A)

(A)0 (B)'0' (C)null (D)随机值

7. 有定义语句:int [,]a=new int[5,6]; 则下列正确的数组元素的引用是____?(C)

A.a(3,4)

B.a(3)(4)

C.a[3][4]

D.a[3,4]

8.设有C#数组定义语句:float [ ,] a = new float [5,5]; 对数组a元素的正确引用是(D)。

(A)a[3][2] (B)a[4,5] (C)a[5,0] (D)a[0,0]

9.在C#语言中,表示数组长度属性的关键字是(D)。

(A)Len (B)Size (C)Long (D)Length

10.在C#语言中,数组Array实现一维数组由小到大排序的静态方法是(A)。

(A)Array.Sort (B)Array.Reverse (C)Array.Long (D)Array.Order 12.在C#语言中,Array实现数组逆排序的静态方法Array.Reverse的意思是(D)。

(A)实现一维数组由小到大排序(B)实现一维数组由大到小排序

(C)实现二维数组反向排序(D)实现一维数组反向排序

13. 在 C#中,下列哪条语句能创建一个具有 3 个初始值为""的元素的字符串数组? (C)

A.string StrList[3]("");

B.string[3] StrList = {"","",""};

C.string[] StrList = {"","",""};

D.string[] StrList = new string[3];

14. 假定int 类型变量占用两个字节,若有定义:int [] x=new int[10]{0,2,4,4,5,6,7,8,9,10};

则数组 x 在内存中所占字节数是___(B)?

A.6

B.20

C.40

D.80

15. 以下程序的输出结果是: (C)Class Example1

{

Public Static void main()

{

int i;

int []a=new int[10];

计算机基础第2章实验(raptor实验)实验报告撰写要求

计算机基础实验报告 实验名称基于流程图的可视化程序设计 指导教师张冬慧 实验日期 专业电子信息科学与技术 学生姓名王雨琪 班级/学号电技1302 2013012649 成绩

实验一可视化程序设计环境入门 一.实验目的 (1)掌握可视化环境RAPTOR的安装和使用。 (2)熟悉RAPTOR中的基本概念。 (3)掌握RAPTOR的图形符号的使用方法。 (4)掌握使用RAPTOR绘制算法流程图的设计方法。 (5)掌握RAPTOR环境下一般算法的设计方法。 (6)通过RAPTOR的“帮助”菜单了解RAPTOR的运算符和内置常量等。二.实验内容 1. 实验题目:输入半径值,计算相应的圆周长和圆面积。 RAPTOR流程图:

程序运行结果(截图): 三.实验体会 实验二RAPTOR中选择结构算法设计 一.实验目的 掌握RAPTOR中包含分支结构的算法的设计。 二.实验内容 1. 实验题目:在RAPTOR编程环境中,编写并运行求解如下分段函数的算法。 RAPTOR流程图(截图):

程序运行结果(截图): 2. 实验题目:参照上述分段函数的算法设计,在RAPTOR编程环境中,编写并运行求解如下分段函数的算法。 RAPTOR流程图(截图): 程序运行结果(截图):

3. 实验题目:参照上述分段函数的算法设计,在RAPTOR编程环境中,编写并运行求解如下分段函数的算法:计算运费。 运费=重量(吨数)*路程(千米数)*折扣(按路程优惠) 其中,700km以上按90%计算,1000km以上按85%计算。 RAPTOR流程图(截图): 程序运行结果(截图):

高中信息技术《算法与程序设计》试题

高中信息技术《算法与程序设计》试题 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE 10、在循环语句 For x=1 to 100 step 2 …… Next x 中,x能达到的最大值是() A、100 B、99 C、98 D、97 11、在下列选项中,不属于VB的对象的是() A、窗体的背景颜色 B、命令按钮 C、文本框 D、标签 12、在调试程序的时候,经常要设置断点,设置断点的快捷键是()

50道经典的编程题

【程序1】 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 1.程序分析:兔子的规律为数列1,1,2,3,5,8,13,21.... 【程序2】 题目:判断101-200之间有多少个素数,并输出所有素数。 1.程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。 【程序3】 题目:打印出1000以内所有的"水仙花

数",所谓"水仙花数"是指一个三位数,其各位数字立方和等于该数本身。例如: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】

《程序设计基础》试卷B及答案

黄淮学院计算机科学系2007-2008学年度第一学期 期末考试《程序设计基础》B 卷 注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。 1.__ ____函数是程序启动时惟一的入口。 2.算法的复杂性包含两方面: 和 。 3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。 4.数值0x34对应的十进制为 。 5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。 6.面向对象程序开发步骤为: 、 和面向对象实现。 1.下列程序设计语言中( )是面向对象语言。 A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。 A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。 A. 自底向上,逐步求精 B. 自顶向下,逐步求精 C. 自底向上,同步扩展 D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。 int a=4, &z=a, k=3; a=k; z+=2; k++; A. 0 B. 4 C. 1 D. 5 5.以下程序执行后,屏幕输出为( )。 #include “iostream.h ” void fun(int d) {d++;} void main() { int d=3; fun(d); d++; cout<=’a ’)&&(d<=’z ’) B. ‘a ’<=d<=’z ’ C. (d>=’a ’)||(d<=’z ’) D. ‘A ’<=d<=’Z ’ 8.已知:int k=7, x=12; 则执行语句( )后x 的值为0。 A. x+=k-x%5; B. x+=(x-k%5); C. x%=(k-=5); D. (x-=k)-(k+=5); 9.运行下列程序,其输出结果为( )。 #include “iostream.h ” void main() { int x(5),y(5),z(5); y--&&++x&&z--||y++; cout<

历年算法与程序设计学业水平考试真题(带答案)

一、选择题 1、流程图是描述()的常用方式。 A、程序 B、算法 C、数据结构 D、计算规则 2、下面不属于算法描述方式的是()。 A、自然语言 B、伪代码 C、流程图 D、机器语言 3、以下运算符中运算优先级最高的是()。 A、+ B、^ C、>= D、* 4、某程序中三个连续语句如下: a=1 b=2 c=b+a 它属于() A、顺序结构 B、选择结构 C、循环结构 D、以上三种都不是 5、穷举法的适用范围是() A、一切问题 B、解的个数极多的问题 C、解的个数有限且可一一列举 D、不适合设计算法 6、在现实生活中,人工解题的过程一般分为() A、理解分析问题→寻找解题方法→用工具计算→验证结果 B、寻找解题方法→理解分析问题→用工具计算→验证结果 C、用工具计算→验证结果→寻找解题方法→理解分析问题 D、用工具计算→验证结果→理解分析问题→寻找解题方法 7、下列关于算法的特征描述不正确的是() A、有穷性:算法必须在有限步之内结束 B、确定性:算法的每一步必须确切的定义 C、输入:算法必须至少有一个输入 D、输出:算法必须至少有一个输出 8、下列哪一个不是用于程序设计的软件() A、BASIC B、C语言 C、Word D、Pascal 9、下列可以作为合作变量名的是() A、a7 B、7a C、a-3 D、8 10、编程求1+2+3+........+1000的和,该题设计最适合使用的控制结构为()。 A、顺序结构 B、分支结构 C、循环结构 D、选择结构 11、下列步骤不属于软件开发过程的是() A、任务分析与系统设计 B、软件的销售 C、代码编写与测试 D、软件测试与维护12.以下程序段运行时,语句k=k+1 执行的次数为()次。 k=-10 do k=k+1 loop while(until)k=0 A. 9 B. 10 C. 11 D. 12 13.已知x=6, y=5, 则以下运算结果为True 的是() A.Not(x>y) B. (x<5)or(y>6) C. (x>=6)And(y>=5) D. Not(x>4) 14.模块化程序设计方法反映了结构化程序设计的()基本思想。 A、自顶向下,逐步求精 B、面向对象 C、自定义函数、过程 D、可视化编程 15、一位同学想编程解决“韩信点兵”的问题,他制定的如下工作过程中,最恰当的是() A、设计算法,编写程序,提出问题,运行程序,得到答案

程序设计典型例题

我先给你一些VF的例题看看吧! Vfp--程序设计典型例题 Vfp题库:程序设计基础典型例题 [例1] 在()窗口中可以控制列表框内显示的变量种类。 A.跟踪窗口 B.监视窗口 C.局部窗口 D.调动堆栈窗口 分析:局部窗口用于显示模板程序中的内存变量,并显示它们的名称.当前取值的类型。它可以控制在列表内显示的变量类型。 答案c 例2下面选项中关于ACCEPT命令说法错误的是() A.ACCEPT命令格式是:ACCEPT[<字符表达式>] TO<内存变量> B.该命令只接收字符串,但是用户在输入字符串时,必须要加上定界符 C如果不输入任何内容直接按回车键,系统就会把空串赋给指定的内存变量 D如果选用<字符表达式>,那么系统就会首先显该表达式的值,作为提示信息 分析:该命令只接收字符串,但用户在输入时不需要加定界符;否则,系统会把定界符当作字符串的一部分输出. 答案:B 例3下列关于过程的说法中不正确的是 A.过程文件可以放在任何程序文件代码的后面,也可以保存在称为过程文件的单独文件里 B.过程文件只包含过程,这些过程只能被过程文件调用 C.如果需要打开多个过程文件,可以在调用过程语句中加ADDITVE,那么在打开过程文件时, 并不关闭原先已打开的过程文件 D.关闭个别过程文件的命令格式是:RELESE PROCEDURE<过程文件> 分析:过程文件只包含过程,这些过程可以被任何其它程序调用.命令格式SETPOCEDURE TO[<过程文件>][ADDITIVE]就可以打开多个过程文件.当使用不带任何文件名的SET PROCEDURE TO命令时,将会关闭所有的过程文件,使用命令RELEASE PROCEDURE<过程文件>时,将关闭指定的过程文件. 答案:B 例4 在一个程序定义了的一些变量,选出局部变量( ) 1.PRG PUBLIC aI LOCAL a2,a3 SCORE'B'TO a4 LOCATE a5 A.a1 B.a2,a3 C.a4 D.a5 分析:A是公共变量,C是私有变量,D的命令和LOCA TE相似,但不存在这样定义变量的命令.只有B才是定义了两个局部变量. 答案:B 例5 不需要先建立就可以使用的变量是( ) A.局部变量 B.公共变量 C.私有变量 D.数组 分析:私有变量是指在程序中直接使用,由系统自动隐含建立的变量.即没有通过PUBLIC 或

程序设计基础试题和答案解析二

《程序设计基础》考试试卷二 1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________ A.if、while和for; B. switch、do-while和for; C.while、do-while和for; D.顺序结构、分支结构和循环结构。 2.算法的特征不包括:______。 A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。 3.C语言源程序的基本组成单位是______。 A.函数 B. 语句 C. 声明和语句 D. 文件 4.下列标识符中,只有______是合法的。 A.if B. 3ab C. Int D. A-4 5.下列常量中,只有______是合法的。 A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’ 6.下列说法中正确的是:______。 A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。 B.宏替换比函数调用的执行速度慢。 C.实质上,C语言中的指针就是一个变量的地址。 D.C语言中的任何函数都可以由程序员命名。 7.C语言中,运算对象必须是整型的运算符是_______。 A./ B. % C. + D. - 8.以下叙述中错误的是_______。 A.C语句必须以分号结束 B.复合语句在语法上被看作一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 9.以下叙述中正确的是_______。 A.调用printf函数时,必须要有输出项 B.使用putchar函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。 A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C.每个函数都可以单独运行 D.在一个函数内部可以定义另一个函数 11.有以下程序段typedef struct NODE{ int num; struct NODE *next;

算法与程序设计会考复习题

《算法与程序设计》模块会考复习题 一.单选题 1. java方法重载时参数不可能出现的情况是____D______。P67 A.参数的个数不同 B.参数的个数相同而参数的类型不同 C.参数不完全对应相同D.参数完全对应相同 2. 运行Java程序需要的工具软件所在的目录是___A_______。P16 A.JDK的bin目录B.JDK的demo目录 C.JDK的lib目录D.JDK的jre目录 3. J_HelloWorld.java 的文件内容如下: class J_HelloWorld { public static void Main(String args[]) M不应大写 { System.out.println(" Hello World "); } } 下面说法正确的是____B______。 A.J_HelloWorld.java无法通过编译,因为main方法的声明方式不对 B.J_HelloWorld.java可以通过编译,但程序运行时出现“程序中没main方法”的异常C.J_HelloWorld.java可以通过编译,但无法运行,因为该文件没有public类 D.J_HelloWorld.java可以通过编译并正常运行,结果输出字符串“Hello World” 4. 逻辑表达式!(3/2==1.5)&& 9<3|| 9>3的运算结果为_____A_______。 P9 A.true B.false C.表达式有错D.条件不足 5. 下列可以将变量x和y的值互换的语句是___B______。P35 A.x=y;y=x; B.z=x;x=y;y=z; C.x=z;z=y;y=x; D. x=(x+y)/2;y=(x-y)/2; 6. 执行完下面程序片段之后,下面结论正确的是___B_____。 P43 int a,b,c; a=1;b=2; c=(a+b)>3 ? a++:b++; A.a的值是2,b的值是3 B.a的值是1,b的值是3 C.a的值是1,b的值是2 D.c的值是false。 7. 下面程序片段输出的是___C_______。应使用关系运算符== int a=3,b=1; if(a=b)

程序设计典型例题解析(2)

程序设计典型例题解析(2)

典型例题解析(2) 一、填空题 1.以顺序输入模式打开“c:\source1.txt”文件的命令是(1);以输出方式打开“c:\source2.txt”文件的命令是(2)。 分析:Print # 语句用于将把数据写入文件中。Print语句格式为: Open 文件名 [For模式] As [#] 文件号 “For 模式”为指定打开文件的模式是数据的输入模式还是输出模式。 结论:答案应为:(1)Open "c:\source1.txt" For Input As #1 (2)Open "c:\source2.txt" For Output As #2 2.在Visual Basic中,文件系统控件包括(1)、(2)和文件列表框(FileListBox)。三者协同操作可以访问任意位置的目录和文件,可以进行文件系统的人机交互管理。 分析:在Visual Basic中,文件系统控件包括驱动器列表框(DriveListBox)、目录列表

框(DirListBox)和文件列表框(FileListBox)。驱动器列表框可以选择或设置一个驱动器,目录列表框可以查找或设置指定驱动器中的目录,文件列表框可以查找指定驱动器指定目录中文件信息,三者协同操作可以访问任意位置的目录和文件,可以进行文件系统的人机交互管理。 结论:答案应为:(1)驱动器列表框(DriveListBox)(2)目录列表框(DirListBox) 3.每次重新设置驱动器列表框的Drive属性时,都将引发(1)事件。可在该事件过程中编写代码修改目录列表框的路径,使目录列表框内容随之发生改变。 分析:在Visual Basic中,每次重新设置驱动器列表框的Drive属性时,都将引发Change事件。可在Change事件过程中编写代码修改目录列表框的路径,使目录列表框内容随之发生改变。驱动器列表框的默认名称为Drive1,其Change事件过程的开头为Drive1_Change()。 结论:答案应为:(1)Change 4.目录列表框用来显示当前驱动器下目录

程序设计基础试题_03_答案.doc

学院领导 审批并签名 A / B卷 广州大学 学年第学期考试卷 课程高级语言程序设计考试形式(开/闭卷,考试/查)学院系专业班级学号姓名 分数 评分 一:选择题(每题3分,共60分) (1)若有以下定义: char a; int b; float c; double d; 则表达式a*b+d-c值的类型为(A)

A) double B) float C) int D) char (2)设a=1,b=2,c=3,d=4,则表达式:a=10 or a<=0 B)a>=10│a<=0 C)a>=10││a<=0 D)a>=10 ││ a<=0 (7)下列可 作为C语言赋值语句的是(C) A) x=3,y=5 B) a=b=6 C) i--; D) y=int(x); (8)设i是int型变量,f是float型变量,用下面的语句给这两个变量输 入值: scanf(i=%d,f=%f,&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为(A) A) 100765.12 B) i=100,f=765.12 C) 100765.12 D) x=100y=765.12 (9)给出以下定义: char x[ ]=abcdefg;

算法与程序设计填空题10套

第一套 1.有如下程序段: x=5 y=6 p=Not(x+y=11) 该程序段运行后,P的值是(1)False或0。 2.有如下程序段: x=5 y=10 z=12 if x+y<=z Or y+z<=x Or x+z<=y then a="False"else a="True" 该程序段运行后,a的值为(1)True。 3.有如下程序段: s=0 for i=1to5 s=s+i*i next i 该程序段运行后,s的值为(1)55。 4.程序填空 随机产生10个0~100之间的整数,按从小到大的次序排序并输出。为了实现这一目标,完善下面 的VB程序,在划线处填入合适的语句或表达式,完成程序设计(流程图参见图12-3)。

图12-3 sub command1_click() const n=10 dim i,j,t as integer dim a(1to10)as integer for i=1to10 ______(1)__a(i)=int(Rnd*101)________ next i For i=1To n-1 For j=i+1To n If______(2)_a(i)>a(j)_____Then k=a(i):a(i)=a(j):a(j)=k End If Next j Next i

For i=1To n List1.AddItem Str(a(i)) Next i 第二套 1.有如下程序段: x=5 y=6 t=x x=y y=t 该程序段运行后,y的值为(1)5。 2.有如下程序段: x=5 y=-20 if not x>0then x=y-3else y=x+3 该程序段运行后,x的值为(1)5。 3.有如下程序段: e=0:f=1 for i=1to3 e=e+f f=f+e next i 该程序段运行后,f的值为(1)13。 4.程序填空 有30个人,其中有男人、女人和小孩。他们在一家饭馆里花去500元。已知,每个男人花30元,每个女人花20元,每个小孩花10元。问男人、女人、小孩各为多少人? 为了实现这一目标,完善下面的VB程序,在划线处填入合适的语句或表达式,完成程序设计。 sub command1_click() dim man,woman,child,s as integer for man=1to15 for woman=1to23 child=_______(1)_30-woman-man_ s=30*man+20*woman+10*child if___(2)s=500and child>0then list1.additem str(man)+""+str(woman)+""+ str(child) end if

C语言程序设计入门经典例题

1、加法练习程序:由用户通过键盘输入加数和被加数,程序显示加法式子,用户通过键盘作答后,程序给出正确与错误提示信息。要求:利用C的选择语句if条件语句或switch 开关语句,键盘输入数据前,程序会出被输入数据的信息提示。 #include void main(){ int a,b,c; printf("please put an addend:\n");scanf("%d",&a); printf("please put an augend:\n");scanf("%d",&b); printf("please answer the question:a+b=?");scanf("%d",&c); if(a+b==c) printf("very good!"); else printf("wrong! "); } 个人感觉这个程序最不好的地方是,不管回答正确还是回答错误,程都会立即结束,所以我用了do…while实现一个回答错误之后获得再次回答机会的循环,则程序修改如下: #include void main(){ int a,b,c; printf("请输入一个加数:\n");scanf("%d",&a); printf("请输入一个被加数:\n");scanf("%d",&b); do { printf("请回答:a+b=");scanf("%d",&c); if(a+b!=c) printf("请再想一想\n"); } while(a+b==c) printf("回答正确!"); } 2、判闰年程序:判断某一年是否闰年? 要求:程序首先提示用户从键盘输入4位数年份,程序能显示“XXXX年是闰年”或“XXXX年不闰年”的输出信息。 算法:year 是闰年,即year能被4整除但不能被100整除,或 year 能被 400 整除。其对应的C逻辑表达式为:(year % 4 = = 0 && year % 100 != 0) || (year % 400 = = 0) 或: (!(year % 4) && year % 100) || !(year % 400 ) 程序中可设置1个变量leap来代表是否闰年的信息,闰年:leap=1; 不闰年:leap=0。 #include void main() int year; printf("请输入4位数年份:");scanf("%d",&year); if(year%4==0&&year%100!=0||year%400==0)//闰年就是能被4整除但不能被100整除及能被400整除的

《算法与程序设计》试题带答案

《算法与程序设计》试题 学校:_____________ 班级:____________ 学号:____________ 姓名:____________ 一、单选题(每小题3分,20小题,共60分) 1、用计算机解决问题时,首先应该确定程序“做什么?”,然后再确定程序“如何做?”请问“如何做?”是属于用计算机解决问题的哪一个步骤?() A、分析问题 B、设计算法 C、编写程序 D、调试程序 2、在调试程序过程中,下列哪一种错误是计算机检查不出来的?() A、编译错误 B、执行错误 C、逻辑错误 D、任何错误计算机都能检查出来 3、下列关于算法的叙述中,错误的是() A、一个算法至少有一个输入和一个输出 B、算法的每一个步骤必须确切地定义 C、一个算法在执行有穷步之后必须结束 D、算法中有待执行的运算和操作必须是相当基本的。 4、流程图中表示判断的是()。 A、矩形框B、菱形框C、圆形框D、椭圆形框 5、任何复杂的算法都可以用三种基本结构组成,下列不属于基本结构的是() A、顺序结构 B、选择结构 C、层次结构 D、循环结构 6、能够被计算机直接识别的语言是() A、伪代码 B、高级语言 C、机器语言 D、汇编语言 7、在VB语言中,下列数据中合法的长整型常量是() A、08A B、2380836E C、88.12345 D、1.2345E6 8、求Mid(“ABCDEFG”,3,2)的结果是() A、“ABC” B、“CD” C、“ABCDEF” D、“BCD” 9、表达式 A+B+C=3 OR NOT C<0 OR D>0 当A=3,B=4,C=-5,D=6时的运算结果是() A、0 B、1 C、TRUE D、FALSE

大学经典C语言编程试题

大学经典C语言编程试 题

1.输入两个正整数,m和n,求其最大公约数和最小公倍数。 #include<> void main() { int hcf(int,int); /*函数声明*/ int lcd(int,int,int); /*函数声明*/ int u,v,h,l; printf("Please input two numbers:\n"); scanf("%d,%d",&u,&v); h=hcf(u,v); l=lcd(u,v,h); } int hcf(int u,int v) { int t,r; if(v>u) {t=u;u=v;v=t;} while((r=u%v)!=0) {u=v;v=r;} return(v); } int lcd(int u,int v,int h) { return(u*v/h); } 2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。 #include<> int letter,digit,space,others; void main() { void count(char[]); char text[80]; printf("Please input string:\n"); gets(text); printf("string:\n"); puts(text); letter=0; digit=0; space=0; others=0; count(text); printf("letter:%d,digit:%d,space:%d,others:%d\n",letter,digit,space,others); } void count(char str[]) {

西交大《程序设计基础》试题及答案

西交大《程序设计基础》试题及答案 一、单项选择题(本大题共20小题,每小题2分,共40分) 1.int a[10];合法的数组元素的最小下标值为()。A:10 B:9 C:1 D:0 答案:D 2.以下运算符中优先级最低的是()。A:&& B:& C:|| D:| 答案:C 3.若使用一维数组名作函数实参,则以下正确的说法是()。A:必须在主调函数中说明此数组的大小B:实参数组类型与形参数组类型可以不匹配C:在被调用函数中,不需要考虑形参数组的大小D:实参数组名与形参数组名必须一致答案:A 4.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer 代表的是()。 A:一个整数,代表要读入的数据项总数B:一个文件指针,指向要读的文件C:一个指针,指向要读入数据的存放地址D:一个存储区,存放要读的数据项答案:C 5.对以下说明语句int a[10]={6,7,8,9,10}; 的正确理解是()。A:将5个初值依次赋给a[1]至a[5] B:将5个初值依次赋给a[0]至a[4] C:将5个初值依次赋给a[6]至a[10] D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B 6.下列程序的输出结果是()。main() { int x=1,y=0,a=0,b=0; switch(x) { case 1:switch(y) { case case } case 2:a++;b++;break; case 3:a++;b++;break; } printf(\} A:a=1,b=0 B:a=2,b=1 C:a=1,b=1 D:a=2,b=2 答案:B 7.下列程序的输出结果为()。main() {int m=7,n=4; float a=38.4,b=6.4,x; x=m/2+n*a/b+1/2; printf(\ 0:a++;break; 1:b++;break; } A:27.000000 B:27.500000 C:28.000000 D:28.500000 答案:A 8.若k为int型变量,则以下程序段的执行结果是()。k=-8567; printf(\A:格式描述符不合

算法与程序设计习题

《算法与程序设计》模块练习题 一、单选题 1、模块化程序设计方法主要通过()来实现。 A.递归算法和递归程序 B.过程和函数的定义和调用 C.程序的循环结构 D.对象答案:B 2、text1.text的含义正确的是()。 A.text1是控件名称,text是控件属性 B.text1是窗体名称,text 是控件 C.text1是控件名称,text是方法 D.text1是控件属性,text是控 件答案:A 3、以下程序段运行后S的值是()。 s = 0 For i = 1 To 14 x = 2 * i - 1 If x Mod 3 = 0 Then s = s + 1 Next i A.0 B.4 C.5 D.14 答案:C 4、数列1,4,7,10,13,……的递推公式为()。 A.f(1)=1;f(n)=n+3 B.f(1)=1;f(n)=n*2-1 C.f(1)=1;f(n)=n*2+1

D.f(1)=1;f(n)=f(n-1)+3 答案:D 5、对于对象及其特征的错误理解是()。 A.对象都具有一个标识自己以区别其他对象的名字。 B.对象都具有自身的属性及其属性值。 C.对象一般只用数据表示属性,但不用代码表示行为。 D.对象都具有自身的行为(操作)。 答案:C 6、VB函数Left ()从字串左端取部分字串,那么Left("Visual Basic 6.0", 8)的值为()。 A.Visual B B.Visual C.Visual Ba D.asic 6.0 答案:A 7、程序段如下: c ="1234" For i = 1 To 4 Print _____, Next 如果要让程序运行后得到如下结果: 1 1 2 12 3 1234 则在下划线处应填入的内容为()。 A.Right(c,i) B.Left(c,i) C.Mid(c,i,1) D.Mid(c,i,i) 答案:B 8、若X = True,执行If X Then X = 0 Else X = 1后X的结果为()。

经典练习C语言编程的题目及答案整理

1.逆序输出正三位数 #include int main() { int input,output= 0; scanf("%d",&input); while(input != 0) { output = output*10 + input%10; input /= 10; } printf("%d\n",output); return 0; } 2.百元找零函数 #include int main() { int amount=100; int price=0; printf("请输入金额(元)"); scanf("%d",&price); printf("请输入票面"); scanf("%d",&amount); int change=amount-price; printf("找您%d元。\n",change); return 0; } 3.求平均数 #include int main() { int a,b; scanf("%d %d",&a,&b);

double c=(a+b)/2.0; /* scanf("%d",&amount); 这是注释,我随便放的,没意义 int change=amount-price;*/ printf("%d和%d的平均值是%f\n",a,b,c); return 0; } 4.写出程序的输出: int i=1; switch ( i/3 ) { case 0: printf("zero"); case 1: printf("one"); case 2: printf("two"); } 正确答案是:zeroonetwo。 5.水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例如:153 = 13 + 53+33。本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3<=N<=7)。 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。 输入样例: 3 输出样例: 153 370 371 407

计算机程序设计基础习题册(含答案)

《计算机程序设计基础》 习 题 册

班级学号姓名成绩一、单选题 1.C++源程序文件的默认扩展名为A。 A) cpp B) exe C) obj D) lik 2.由C++源程序文件编译而成的目标文件的默认扩展名为C。 A) cpp B) exe C) obj D) lik 3.由C++目标文件连接而成的可执行文件的默认扩展名为B。 A) cpp B) exe C) obj D) lik 4.编写C++程序一般需经过的几个步骤依次是B。 A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接 5.程序中主函数的名字为 A 。 A) main B) MAIN C) Main D) 任意标识符 6.下面四个选项中,均是不合法的用户标识符的选项的是C。 A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 7.下列变量名中合法的是C。 A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 8.存储以下数据,占用存储字节最多的是 D 。 A) 0 B) ‘0’ C) “0” D) 0.0 9.在C++语言中,字符型数据在内存中的存储形式是D。 A) 补码 B) 反码 C) 原码 D) ASCII码 10.若有说明语句:char c =’\072’;则变量c A。 A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令

经典练习C语言编程的题目及标准答案整理

1.逆序输出正三位数 #include intmain() { intinput,output=0; scanf("%d",&input); while(input != 0) { output = output*10 + input%10;input/= 10; } printf("%d\n",output); return 0; } 2.百元找零函数 #include int main() { intamount=100; int price=0; printf("请输入金额(元)"); scanf("%d",&price); ?printf("请输入票面"); scanf("%d",&amount); int change=amount-price; printf("找您%d元。\n",change); ? return0; } 3.求平均数 #include int main() { int a,b; scanf("%d%d",&a,&b);

double c=(a+b)/2.0; /*scanf("%d",&amount); 这是注释,我随便放的,没意义 int change=amount-price;*/ printf("%d和%d的平均值是%f\n",a,b,c); return0; } 4.写出程序的输出: int i=1; switch(i/3){ case0:printf("zero"); case1:printf("one"); case2:printf("two"); } 正确答案是:zeroonetwo。 5.水仙花数是指一个N位正整数(N>=3),它的每个位上的数字的N次幂之和等于它本身。例如:153 = 13 + 53+33。本题要求编写程序,计算所有N位水仙花数。 输入格式: 输入在一行中给出一个正整数N(3<=N<=7)。 输出格式: 按递增顺序输出所有N位水仙花数,每个数字占一行。 输入样例: 3 输出样例: 153 370 371 407

程序设计基础练习题(全答案版)

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.doczj.com/doc/b511787132.html,的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。A.互联网 B. Windows C. C# D. 网络操作系统 2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。 A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”) C. System.Console.WriteLine(“x={0}”,x) D. System.Console.WriteLine(“x={x}”) 3.要退出应用程序的执行,应执行下列的_A___语句。 A. Application.Exit(); B. Application.Exit; C. Application.Close(); D. Application.Close; 4.关于C#程序的书写,下列不正确的说法是__D________。 A.区分大小写 B.一行可以写多条语句 C.一条语句可以写成多行 D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法 5. 在C#语言中,下列能够作为变量名的是__C__。 A.if B. 3ab C. b_3a D. a-bc 7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。 A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=0 8. 以下程序的输出结果是___C_____。 A. 5 B. 4 C. 6 D. 不确定 9. If语句后面的表达式应该是__A___。 A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:

相关主题
文本预览
相关文档 最新文档