为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

「c程序设计课后习题与解答[1]」

2021-10-28 5页 doc 804KB 36阅读

用户头像 个人认证

国民老公

暂无简介

举报
「c程序设计课后习题与解答[1]」习题与解答习题一单项选择题1在VisualStudio.NET窗口中,在__________窗口中可以察看当前项目的类和类型的层次信息。 (B)A.解决方案资源管理器B.类视图 C.资源视图D.属性2.能作为C#程序的基本单位是(  B )。A.字符 B.语句 C.函数D.源程序文件3.C#语言是微软.NET公共语言运行环境中内置的核心程序设计语言,是一种(B)。ﻩ(A)面向过程程序设计语言ﻩ(B)面向对象程序设计语言ﻩ(C)跨平台程序设计语言ﻩﻩ(D)机器语言4.C#语言支持面向对象程序设计概念,( C)。(A)但不支持继承...
「c程序设计课后习题与解答[1]」
习题与解答习题一单项选择题1在VisualStudio.NET窗口中,在__________窗口中可以察看当前项目的类和类型的层次信息。 (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)using7.命名空间是一种在程序中防止标识符命名冲突而引入的逻辑隔离机制,C#中使用关键字(D)表示。(A)using(B)spacenameﻩ(C)classﻩ(D)namespace8.C#应用程序中,用主方法指明程序执行的开始点,主方法的名字规定为( C)。(A)classﻩﻩ(B)mainﻩ(C)Mainﻩ(D)MainWay9.C#中的注释方法有三种,下列注释方法中错误的是(D )。(A)单行注释“//”ﻩﻩﻩﻩ(B)多行注释“/*和*/”ﻩ(C)XML注释“///”ﻩﻩﻩﻩ(D)HTML注释“”10.下列对控制台应用程序描述正确的是(C)。(A)控制台(Console)应用程序就是对设备进行控制的应用程序ﻩﻩ(B)控制台(Console)应用程序包含了大量Windows系统的组成元素(C)控制台(Console)应用程序是C#语言能够开发的应用程序类型之一(D)控制台(Console)应用程序是基于C语言的单片机技术11.在控制台应用程序中,如果在程序开头使用usingSystem; 语句引入了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)Caption13. 下列语句的输出是________。(B)doubleMyDouble=123456789;Console.WriteLine("{0:E}",MyDouble);A.$123,456,789.00B.1.234568E+008C.123,456,789.0014.下面对 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()方法时,将不会产生任何输出选择填空题C#语言是一种B、全新的程序设计语言,是微软.NET公共语言运行环境中内置的核心程序设计语言。C#程序设计语言的主要特点有:语法简洁、满足通用语言、面向对象、兼容性和灵活性、以及C 等。一个C#程序可以存放在一个源程序文件中,也可以存放在多个源程序文件中。一个源程序文件中可以有一个或者多个类,E 将一个类拆散存放在不同的源程序文件中。为源程序文件命名 J,既可以与类的名字相同,也可以不同。在定义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)启动运行“MicrosoftVisualStudio 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 LanguageRuntime,CLR)负责执行,这种处理方式称为“托管方式”,因而这样的代码亦称为“托管代码”。习题21.要使窗体刚运行时,显示在屏幕的中央,应设置窗体的___(B)______属性。A.WindowsState B.StartPostionC.CenterScreen D.CenterParenr2. 要使文本框控件能够显示多行而且能够自动换行,应设置它的___(B)______属性。A.MaxLength和MultlineB.Multlineh和 WordWrapC.PassWordChar和MultlineD.MaxLength和WordWrap3.窗体中有一个年龄文本框 txtAge,下面(D)代码可以获得文本框中的年龄值。A.intage=txtAge;B.intage =txtAge.Text;C. intage=Convert.ToInt32(txtAge);D.intage=int.Parse(txtAge.Text);4.下面(AC)代码能向组合框 cboYears添加一项。A.intyear= 1997; cboYears.Items.Add(year);B.intyear =1997; cboYears.Add(year);C.intyear=1997;  cboYears.Items.Add(year.ToString());D.intyear=1997; cboYears.Add(year.ToString());当ListView 的视图为 Details时,以下(A)属性可以设置显示的各个列。A.Columns B.GroupsC. ItemsD.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=TrueButton控件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.typeofC.6bD.x5#2.以下类型中,不属于值类型的是____。(D)A.整数类型B.布尔类型C.字符类型D.类类型3.在C#中,表示一个字符串的变量应使用以下哪条语句定义?A.CString str;B. String str; C. DimstrasstringD. 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)87.C#语言中,双精度实型数据类型(double)所占用的存储空间为(D)个字节。ﻩ(A)1ﻩﻩ(B)2ﻩ(C)4ﻩﻩﻩ(D)88.C#语言中,字符数据使用Unicode字符集,其占用的存储空间为(B)个字节。(A)1ﻩﻩ(B)2ﻩ(C)4ﻩﻩ(D)89.下面的运算符中,优先级别最低的是(D)。(A)new(B)!=(C)?:ﻩﻩﻩ(D)=10.设有整型变量x,则表达式x=5/8运算后,变量x的值为(A)。ﻩ(A)0ﻩ(B)0.625(C)0.6(D)0.6311.C#语言中,字符串常量@"123\n456"的长度(有效字符个数)是(C)。(A)6ﻩ(B)7ﻩﻩ(C)8ﻩﻩ(D)912.为了将字符串 str=“123,456”转换成整数 123456,应该使用以下哪条语句?(A)A.intNum=int.Parse(str);B.int Num=str.Parse(int);C.intNum=(int)str;D.intNum= int.Parse(str,Globalization.NumberStyles.AllowThousands);13.C#语言中,与赋值运算符“=”实现相同操作的字符串处理方法是(C)。(A)Compare(B)Concatﻩ(C)Copy(D)Substring14.C#应用程序中,标识符用于给程序处理的数据对象命名。组成标识符的字符为字母、数字和下划线,标识符的第一个字符(B)。(A)必须是字母ﻩ(B)必须是字母或者是下划线(C)必须是下划线ﻩﻩﻩﻩ(D)可以是字母或者是下划线15.在程序中如果要使用系统保留字(关键字)作为自定义标识符,必须使用字符(A)作为引导符。(A)@ﻩ(B)$ﻩ(C)#(D)~16.下面所列的C#标识符中,错误的是(B)。     (A)myId(B)intﻩ(C)@ifﻩ(D)_int17.下面所列的C#自定义标识符中,正确的是(A)。    (A)@double(B)$double(C)#double(D)~double18. 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.3abC.a_3b D.a-bc21.在C#语言中,下面的运算符中,优先级最高的是__(A)__。A.% B.++C./= D.>>22.能正确表示逻辑关系“a>=10或a<=0”的 C#语言表达式是__(D)__。A.a>=10 ora<=0B.a>=10|a<=0C.a>=10&&a<=0D.a>=10||a<=023.在 C#中可用作程序变量名的一组标识符是(B)A.a3_b3  _123YourNameB.voidnamespace +wordC.for-abc CaseD.2a  goodref二、选择填空题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. 已知将华氏温度转换为摄氏温度的为:,创建图2-8所示的Windows窗体应用程序,实现将文本框内输入的华氏温度转换为摄氏温度的功能,计算结果在标签控件中输出。3. 创建控制台应用程序,在控制台端键盘输入一个半径值,就能计算输出圆的面积。4.根据如下的枚举定义,fruit.peach和fruit.strawberry的值分别是多少?     enumfruit:int {    apple=5,apricot,banana, peach,pineapple=12,strawberry  }答案:fruit.peach的值为8,fruit.strawberry的值为135.专家认为,成人血压的正常范围是: 收缩压90~140 mmHg(12.0~18.7kPa)——1 kPa =7.5 mmHg舒张压60~90mmHg(8.0~12.0kPa)写出判断血压是否正常的逻辑表达式(以mmHg为计量单位)。答案:double xueya;//血压值ﻩ(xueya>=90 &&xueya<=140)&&(xueya>=60&& xueya<=90)习题3.23.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<=1002.下面的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#语句:inta=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#语句序列:inti;for(i= 0;i++<4; );后,变量i的值是(A)。ﻩ(A)5ﻩ(B)4ﻩ(C)1ﻩ(D)06. 以下程序的输出结果是__(C)__。 Using system;Class Example1{Public Staticvoidmain(){inta=5,b=4,c=6,d;Console.writeline("{0}",d=a>b?(a>c?a:c):b);}}A.5 B.4C.6D.不确定7.以下程序的输出结果是_C___。usingsystem;classExample1{public static voidMain(){  inta=5,b=4,c=6,d;d=a>b?(a>c?a:c):b; Console.Writeline(d);}}A.5B.4 C.6  D.不确定8.写出以下程序的运行结果。usingSystem;classTest{ publicstatic voidMain(){ intx=5;   inty= x++; Console.WriteLine(y); y=++x; Console.WriteLine(y); }}答案:579.if语句后面的表达式应该是__(A)__。A.逻辑表达式B.条件表达式C.算术表达式 D.任意表达式10.有如下程序Using system; Class Example1 {PublicStaticvoidmain() {intx=1,a=0,b=0;switch(x){ case0: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=1B.a=1,b=1C.a=1,b=0D.a=2,b=211..有如下程序Usingsystem;ClassExample1{PublicStaticvoidmain(){intx=0,a=0,b=0; switch(x) {    case0:b++;break;  case1:a++;  case2:a++;b++;break;} Console.writeline("a={0},b={1}",a,b);}}的输出结果是AA.a=0,b=1B.a=1,b=1   C.a=1,b=0  D.a=2,b=212 已知a,b,c的值分别是4,5,6,执行下面的程序段后,判断变量n的值为____。(C)if(c=0;i--)for(j=0;j<=I;j++)Console.WriteLine(“i*j={0}”,i*j);}}}A.i*j=0i*j=0i*j=0B.i*j=1i*j=0i*j=1C.i*j=1i*j=1i*j=0D.i*j=0i*j=1i*j=016.下面对i 值的输出结果说法正确的是_____.(A) namespaceAnswer{classProgram {staticvoidMain(string[]args){ intido{i++;}while(i<5)Console.WriteLine(“i 值的为:{0}”,i)}}}A.i的值为: 5B.i 的值为:6C.i的值为: 7D.i的值为:817)以下程序段的输出结果是AA 1 B  30 C 1-2D死循环intx=3;do{Console.WriteLine("{0}",x-=2);}while(!(--x>=0));18)以下程序段的输出结果是DA9B1C 11 D 10intk,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)以下程序段的输出结果是 CA12  B15 C20  D 25inti, 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)以下程序段的输出结果是BA10  B  9C10 D99  8  9 88 7  8   76intn=10;while (n>7){ n--; Console.WriteLine("m={0}",n);}Console.ReadLine();选择填空题程序设计中,一般用“逻辑与运算”表示某个数据对象的值是否在给定范围之内,而用“逻辑或运算”表示某个数据对象的值 I 。C#语言中规定:在包含了if语句嵌套结构的程序中,else子句与在它前面距它最近的且 B if配对。C#应用程序中,在一个循环结构的循环体内又包含另外一个 A ,称为循环的嵌套。break语句是一条限定转移语句,只能在D使用。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<c___.B)_x<-4||x<4___.Aa=b或a<cB |x|>4三写出运行结果题1.运行以下程序段,结果是(150)doublek,t;t=0;for(int n=1;n<=10;n++){for(k=1;k<=5;k++)t=t+k;}Console.WriteLine(t);2.运行以下程序段,结果是(25 )usingSystem;classSumw {   staticvoidMain( ){     inti=1,sum=0; while(i<=10)     {    sum+=i; i+=2;     }  Textbox1.text=“总和为:”+sum.ToString();   }}3.以下程序运行后,变量a的值为(  )   inta=100;    for(intj=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.ToString()+” “;}5.给出下列程序的运行结果:(5050  )using SystemClass Dome{Staticvoid Main(){ intn=1,sum=0;while(n<101){sum+=n; n++;}Console.WriteLine(“1+2+3+…+100=”+sum);}} Console.ReadLine();6.下面代码的输出结果是(57)。intx =5;int y=x++;Console.WriteLine(y);y =++x;Console.WriteLine(y);7.当month等于6时,下面代码的输出结果是(30)。intdays =0;switch(month){ case2:   days=28;break;case4: case6: case9: 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的值是()。ints=0; for (int i= 1;i<100;i++){  if (s>10)  {     break;   }  if (i%2==0) {    s+=i;  }}10.若打印如下图案,画线处应填入()。*  ** * ** ***  ******for (inti=1; i<= 5;i++){ for(intj =____;j<= 5;j++)   { Console.Write("*"); }程序设计题创建图3-20所示Windows窗体应用程序,程序运行时,在“年份”文本框中输入一个正整数,单击“判断”按钮,就能在标签控件中显示判断结果;单击“退出”按钮则结束程序运行。(闰年的计算规则请自行上网查阅)图3-20判断闰年        图3-21输出星号组成的图案2.创建控制台应用程序,输入一个正整数之后,输出图3-21所示图案。最顶部一行的星号个数为输入的数。3.创建控制台应用程序,利用下面多项式公式计算出π值,要求最后一项的值小于10-6。4.创建控制台应用程序,利用下面的公式计算e的近似值,要求最后一项的值小于10-6。5.已知两个3位数abc和cba之和为1333(即abc+cba=1333),编写控制台应用程序,求出3个数字a、b和c。6.创建控制台应用程序,求解猴子吃桃问题:猴子第一天摘下桃子若干,当即吃了一半后又多吃了一个;第二天又将剩下的桃子吃掉一半后再多吃一个;以后每天都吃掉前一天剩下的一半零一个。到第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=newint[10];ﻩ(B)inta[10];(C)int[]a= int[10];ﻩﻩ(D)int[]a =int(10);2.下面所列选项中,不能正确定义并初始化一维数组b的是(D )。(A)double[]b=newdouble[5]{1,2,3,4,5};(B)double[]b=newdouble[]{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=newint[];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 =newint [2][3];(B)int[,]a = newint[2,3];(C)int [2][3];ﻩﻩ(D)int [,]a= int [2,3];5.下面所列选项中,不能正确定义并初始化二维数组a的是( C)。(A)int[,]a =newint [2,3]{{1,2,3},{4,5,6}};(B)int[,] a= new int[,]{{1,2,3},{4,5,6}};(C)int[,]a= newint [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+16.设有C#数组定义语句序列:double[] myArr;myArr =new double[10]; 数组元素myArr[5]的值为(A )(A)0ﻩﻩ(B)'0'ﻩﻩ(C)null(D)随机值7.有定义语句:int[,]a=newint[5,6];则下列正确的数组元素的引用是____。(C)A.a(3,4)B.a(3)(4)C.a[3][4]  D.a[3,4]8.设有C#数组定义语句:float[,] a= newfloat[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)Length10.在C#语言中,数组Array实现一维数组由小到大排序的静态方法是(A)。(A)Array.Sortﻩ(B)Array.Reverseﻩ(C)Array.Long(D)Array.Order12.在C#语言中,Array实现数组逆排序的静态方法Array.Reverse的意思是(D )。(A)实现一维数组由小到大排序ﻩﻩ(B)实现一维数组由大到小排序(C)实现二维数组反向排序ﻩﻩ(D)实现一维数组反向排序13.在C#中,下列哪条语句能创建一个具有 3个初始值为""的元素的字符串数组?(C)A.stringStrList[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.6B.20 C.40 D.8015.以下程序的输出结果是:(C)ClassExample1{PublicStaticvoidmain() {inti; int[]a=newint[10]; for(i=9;i>=0;i--)a[i]=10-i;Console.Writeline("{0},{1},{2}",a[2],a[5],a[8]); }}A.2,5,8   B.7,4,1C.8,5,2D.3,6,916.下列的数组定义语句,正确的是____。(D)A.inta[]=newint[5]{1,2,3,4,5}B.int[,]a=newint a[3][4]C.int[][]a=newint [3][];D.int[]a={1,2,3,4};17.以下所列的个方法头部中,正确的是___。_(C)A.voidplay(var a:Integer,varb:integer)B.voidplay(inta,b)C.void play(inta,intb)D.Subplay(a asinteger,basinteger)18.函数调用不可以( D )。  A.出现在一个表达式中   B. 出现在执行语句中    C.作为一个函数的实参    D.作为一个函数的形参 19.以下正确的描述是(B)。 A.函数的定义可以嵌套,函数的调用不可以嵌套 B.函数的定义不可以嵌套,函数的调用可以嵌套 C.函数的定义和函数的调用均可以嵌套    D. 函数的定义和函数的调用均不可以嵌套20.若用数组名作为函数调用的实参,传递给形参的是(A)。 A. 数组的首地址 B.数组中第一个元素的值    C.数组全部元素的值D.数组元素的个数21. 以下错误的描述是( D)。 A.被调用函数中可以不用return语句  B.被调用函数中可以用多个return语句  C.被调用函数中,如果有返回值,就一定要有return语句    D.被调用函数中,一个return语句可返回多个值给调用函数22. 下列程序的结果是:(B)Usingsystem;Class Example1 { Staticlongfib(intn){ If(n>2)return(fib(n-1)+fib(n-2)); Elsererurn(2);}PublicStaticvoidmain(){ Console.Writeline(“{0}”,fib(3));} }A.2B.4C.6  D.823.下面是几条定义初始化一维数组的语句,指出其中正确的是____。(D)A.int arr1[]={6,5,1,2,3};B.int []arr1=newint[];C.int[ ]arr1=newint[ ]{6,5,1,2,3};D.int[]arr1;arr1={6,5,1,2,3};24.下面是几条定义并初始化而维数组的语句,指出其中正确的是____。(D)A.int arr3[ ][]=newint[4,5];B.int[][]arr3=newint[4,5];C.intarr3[,]=newint[4,5]D.int[,]arr3=newint[4,5];25.在下列程序空格处填入正确的选项_____(A),能够实现调用函数show().classClass1{      static void show(refint i)    { i*=15;  Console.WriteLine("i={0}",i);  }     static void Main(string[]args)    {   int test=10;    Console.WriteLine("调用函数show前,test={0}",test);    show(______);     Console.WriteLine("调用函数show后,test={0}",test);   Console.ReadLine(); } }A.testB.outtestC.reftestD.paramstest26.下面代码的运行结果是(35和55)。staticvoidMain(string[ ]args){ intnum1=34;  intnum2 =55;   Increase(refnum1,num2);  Console.WriteLine("{0}和{1}",num1, num2); Console.ReadLine();}privatestaticvoidIncrease(refintnum1,intnum2){  num1++;   num2++;}选择填空题C#语言中,数组属于引用数据类型,即数组内容所占用的存储单元是 C ,数组变量的值是这组存储单元的起始地址。无论是一维数组、多维数组、还是不规则数组,在C#语言中对数组的定义都分为两个步骤:定义数组变量;  H 。数组在定义时可以进行初始化,即在定义数组时为其指定初始值。C#语言中规定,初始化值序列中的数据个数F。数组元素在程序中使用下标变量的形式表示。作为变量个体而言,下标变量与它同类型的普通变量(简单变量)是等价的,即数组的下标变量和普通变量的 A。数组的Rank属性表示规则数组的  E  。对于交错数组而言,其Rank属性值都是1。备选项:(A)用法相同ﻩﻩﻩﻩﻩ(B)行数(C)一组连续的内存区域ﻩﻩﻩﻩ(D)用法不相同(E)维数ﻩﻩﻩﻩﻩﻩ(F)必须与数组的长度完全一致(G)可以是任意多个ﻩﻩﻩﻩ(H)数组变量初始化(I)一组可以不连续的内存区域ﻩﻩ(J)数组变量实例化三.阅读程序,写结果题:1给出下列程序的运行结果:(123 )     456StaticvoidMain(){int[,]twoarray=newint[2,3]{{1,2,3},{4,5,6}};    Console.WriteLine("***矩阵***");for(inti=0;i
/
本文档为【「c程序设计课后习题与解答[1]」】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索