C#期末复习题

复杂循环语句

1.[单选题]
在C#中,关于continue和break,以下说法正确的是( B )
A break是中断本次循环
B continue是中断本次循环,进入一下次的循环
C break是中断本次循环,进入一下次的循环
D continue是中断整个循环
2.[单选题]
要定义一个3行4列的单精度型二维数组f,使用的定义语句为( C )
A float[ ] f=new float[3,4];
B float f[,]=new float[3,4];
C float[,] f=new float[3,4];
D float[,] f=new float[,];
3.[多选题]
以下选项中哪些描述是正确的?【多选题】(C D )
A循环语句必须要有中止条件否则不能编译
Bbreak关键字用于跳出当前循环
Ccontinue关键字用于终止本次循环,执行下一次循环
D switch条件语句中可以使用break
4.[填空题]
通常情况下使用__break____语句来跳出当前循环。
第1空:
5.[判断题]
continue 语句只用于循环语句中,它的作用是跳出循环。
A对
B错
答案:错
1.[单选题]
以下哪一组属于C#合法标识符?
A.void define +WORD
B.a3_b3 _123 YN
C.for -abc Case
D.2a DO sizeof
我的答案:B
2.[单选题]
下面哪项是C#程序的入口方法
A.main( )
B.Mani( )
C.Main( )
D.mani( )
我的答案:C
3.[单选题]
Visual Studio 2013中启动调试程序的快捷键是?

A.F5
B.F6
C.F10
D.F11
我的答案:A
4.[填空题]
C#中的类使用______关键字来定义。
我的答案:
(1) class
5.[判断题]
C#中的标识符不区分大小写。
我的答案 :错

1.[单选题]
引用类型主要有4种:类类型、数组类型、接口类型和( )
A.对象类型
B.字符串类型
C.字符类型
D.整数类型
我的答案:B
2.[单选题]
字符串连接运算符是( )
A.+
B.-
C.*
D./
我的答案:A
3.[单选题]
C#中占位符使用的符号是:
A.( )
B.【 】
C.“ ”
D.{ }
我的答案:D
4.[填空题]
在C#中,byte类型数据占______个字节,int类型数据占______个字节。
我的答案:
(1) 1
(2) 4
5.[判断题]
C#中定义的变量的值在使用过程中允许变化
我的答案 :对


1.[单选题]
数据类型转换的类是( )
A.Mod
B.Convert
C.Const
D.Single
我的答案:B
2.[单选题]
下面哪种写法可以实现访问数组arr的第1个元素?
A.arr[0]
B.arr(0)
C.arr[1]
D.arr(1)
我的答案:A
3.[单选题]
将变量从字符串类型转换为数值类型可以使用的类型转换方法是( )
A.Str( )
B.Cchar( )
C.CStr( )
D.int.Parse( )
我的答案:D
4.[多选题]
下面对数组描述正确的是?【多选题】
A.数组的长度用Lengh属性表示
B.数组不能先声明长度而不赋值
C.数组只能存储相同数据类型的元素
D.数组没有初始值
我的答案:AC
5.[判断题]
数组是指一组相同类型数据的集合,数组中的每个数据被称作元素。
我的答案 :对


1.[单选题]
下面代码的输出结果是( )。
int x = 5;
int y = x++;
Console.Write(y+" ");
y = ++x;
Console.Write(y);

A.5 6
B.6 7
C.5 5
D.5 7
我的答案:D
2.[单选题]
请问经过表达式a = 3 + 1 >5 ? 0 : 1的运算,变量a的最终值是什么?( )
A.4
B.0
C.1
D.3
我的答案:C
3.[单选题]
假设int x = 2,三元表达式 x>0?x+1:5 的运行结果是以下哪一个?
A.0
B.2
C.3
D.5
我的答案:C
4.[填空题]
设x=10; 则表达式 x<10?x=0:x++ 的值为( )。
我的答案:
(1) 10
5.[填空题]
表达式“4*10>=65”的值为( )。
我的答案:
(1) false


1.[单选题]
两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。
  int x;
  x=int.Parse(Console.ReadLine());
  if(x++>5)
Console.WriteLine(x);
  else
Console.WriteLine(x - -);
A. 7和5
B.6和3
C.7和4
D.6和4
我的答案:D
2.[单选题]
下列语句在控制台上的输出是什么?

if(true)
System.Console.WriteLine(“FirstMessage”);
System.Console.WriteLine(“SecondMessage”);

A.无输出
B.FirstMessage SecondMessage
C.SecondMessage
D.FirstMessage
我的答案:B
3.[单选题]
下列结构图对应于哪种语句(A是程序段,P是条件)?
2019-03-11_212103.png
A.if
B.if…else
C.if嵌套
D.else if
我的答案:B
4.[多选题]
C#的语句结构有以下几种?【多项选择】
A.顺序结构
B.分支结构或选择结构
C.循环结构
D.倒置结构
我的答案:ABC
5.[判断题]
else总是与离他最近的一个if语句相匹配
我的答案 :错
6.如果 x=35, y=80,下面代码的输出结果是( )。
if (x < -10 || x > 30)
{
if (y >= 100)
{
Console.WriteLine("危险 ");
}
else
{
Console.WriteLine("报警 ");
}
}
else
{
Console.WriteLine("安全 ");
}

A.危险
B.报警
C.报警 安全
D.危险 安全
我的答案:B


1.[单选题]
在c#的选择语句的switch case结构中,( )子句用于指定在找不到匹配项时执行的动作
A.continue
B.goto
C.else
D.default
我的答案:D
2.[单选题]
switch的语法结构不正确的是( )
A.switch条件判断接收int,char,string三种类型
B.switch的case块,必须要加上break;
C.switch的case块,可以没有break
D.switch的default块,在条件都不满足的情况下执行
我的答案:B
3.[填空题]
阅读下面程序,请写出运行结果
void main()
{
char grade=‘C’;
switch(grade)
{
case ‘A’:
Console.WriteLine(">=85.");
break;
case ‘B’:
Console.WriteLine(">=70.");
break;
case ‘C’:
Console.WriteLine(">=60.");
break;
case ‘D’:
Console.WriteLine("<60.");
break;
default:
Console.WriteLine(“error.”);
break;
}
}
我的答案:
(1) >=60.
4.[判断题]
当程序中有两个以上的选项时,可以采用switch语句。
我的答案 :对
5.[判断题]
在C#程序中switch语句可以代替if…else语句
我的答案 :错


章节测验
简单循环语句
已完成
本次得分: 80 最高得分: 80
重做 (剩余1次)
1.[单选题]
以下关于 for 循环的说法不正确的是( )。
A.for 循环只能用于循环次数已经确定的情况
B.for 循环是先判定表达式,后执行循环体语句
C.for 循环中,可以用 break语句跳出循环体
D.for 循环体语句中,可以包含多条语句,但要用花括号括起来
我的答案:A
2.[单选题]
关于如下程序结构的描述中,哪一项是正确的?( )
for ( ; ; )
{
循环体;
}

A.不执行循环体
B.一直执行循环体,即死循环
C.执行循环体一次
D.程序不符合语法要求
我的答案:B
3.[单选题]
在C#语言的循环结构中,首先执行一次,然后再判断条件的循环结构是( )
A.while循环
B.do…while循环
C.for循环
D.foreach循环
我的答案:B
4.[多选题]
下列关于do…while语句描述正确的是?【多选题】( B D)
A.do…while循环语句和while循环语句功能相同
B.do…while循环语句将循环条件放在了循环体的后面
C.do…while循环语句中可以省略do语句
D.do…while循环中无论循环条件是否成立循环体都会被执行一次
我的答案:
5.[填空题]
在C#中,下列for循环的运行结果是( )。
for(int i=0;i<5;i++)
{
Console.Write(++i);
}

我的答案:
(1) 135
6.[填空题]
循环语句

for(int i=30;i>=10;i=i-3)
{

}

循环次数为( )次。
我的答案:
(1) 7


1.[单选题]
在C#中,关于continue和break,以下说法正确的是( )
A.break是中断本次循环
B.continue是中断本次循环,进入一下次的循环
C.break是中断本次循环,进入一下次的循环
D.continue是中断整个循环
我的答案:B
2.[单选题]
要定义一个3行4列的单精度型二维数组f,使用的定义语句为( )
A.float[ ] f=new float[3,4];
B.float f[,]=new float[3,4];
C.float[,] f=new float[3,4];
D.float[,] f=new float[,];
我的答案:B
3.[多选题]
以下选项中哪些描述是正确的?【多选题】
A.循环语句必须要有中止条件否则不能编译
B.break关键字用于跳出当前循环
C.continue关键字用于终止本次循环,执行下一次循环
D.switch条件语句中可以使用break
我的答案:CD
4.[填空题]
通常情况下使用______语句来跳出当前循环。
我的答案:
(1) break
5.[判断题]
continue 语句只用于循环语句中,它的作用是跳出循环。
我的答案 :错

6.[填空题]
using System;
class Program
{
static void Main(string[] args)
{
int m, n, i, j, max = 0;
Console.WriteLine(“请输入m,n的值”);
m = Convert.ToInt32(Console.ReadLine ());
n = int.Parse(Console.ReadLine());
if (m < n)
i = m;
else
i = n;
for (j = i; j > 0; j–)
if (m % j == 0 && n % j == 0)
{
max = j;
break;
}
Console.WriteLine(“max={0}”, max);
Console.ReadLine();
}
}
若分别从键盘输入8和6,则程序的运行结果是( )
我的答案:
(1) max=2


1.[单选题]
分析下列for循环执行代码:
int m;
for ( m = 1; m <= 10; m++)
if (m % 6 == 0)
break;
变量m的最终值是什么? ( )

A.0
B.7
C.6
D.10
我的答案:C
2.[单选题]
能正确表示逻辑关系“c>=20 或c<=10”的C#语言表达式是( )。
A.c>=20 or c<=10
B. c>=20|c<=10
C.c>=20&&c<=10
D.c>=20||c<=10
我的答案:D
3.[单选题]
已知a,b,c的值分别是4,5,6,执行下面的程序段后,判断变量n的值为(  )。
if(c>b+2)
n=a+b;
else if(a+b<c)
n=c-a-b;
else
n=a+b;

A.3
B.-3
C.9
D.15
我的答案:C
4.[填空题]
写出以下程序的运行结果。
class Program
{
static void Main(string[] args)
{
int[ ] a = new int[4] { 1, 2, 3, 4 };
Console.WriteLine(a[1] + a[3]);
}
}
运行结果:( )

我的答案:
(1) 6
5.[判断题]
for语句括号中的三个表达式,可以省略其中的某一个或多个,但不能三个同时省略。
我的答案 :错


1.[单选题]
C#中MyClass 为一自定义类,其中有以下方法定义public void Hello(){⋯⋯}
使用以下语句创建了该类的对象:MyClass obj = new MyClass();
那么,如何访问类MyClass 的Hello 方法?( )。

A.obj.Hello();
B.obj::Hello();
C.MyClass.Hello();
D.MyClass::Hello();
我的答案:D
2.[单选题]
int Sum(int x,int y)
{

}
请从以下选项中选出对Sum方法描述正确的是( )
A.Sum方法是:有参数无返回值的方法
B.Sum方法是:有参数有返回值的方法
C.Sum方法是:无参数无返回值的方法
D.Sum方法是:无参数有返回值的方法
我的答案:B
3.[多选题]
方法定义过程中不能省略的是?【多选题】
A.访问修饰符
B.返回值类型
C.方法的参数
D.包含方法体的一对花括号
我的答案:BD
4.[填空题]
类的方法声明中,若没有显式指定方法的访问修饰符,则默认为( )。
我的答案:
(1) private
5.[判断题]
在类的定义中,类的方法描述了该类的对象的行为特征。
我的答案 :错


1.[单选题]
在C#语言中,方法重载的判定条件,下列选项中哪项不是的( )。
A.参数类型不同
B.返回类型不同
C.方法名相同
D.参数个数不同
我的答案:B
2.[单选题]
在C#程序中,定义如下方法,下面选项中哪项( )错误的实现对该方法的重载。

public string Do(int value,string s){…}

A.public int Do(int value,string s){…}
B.public string Do(string s,int value){…}
C.public void Do(string s,int value) {…}
D.public void Do(){…}
我的答案:A
3.[填空题] (答案可能有误)
//猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第二天早上又将剩下的桃子吃掉一半又多吃了一个,以后每天早上都吃了前一天剩下的一半零一个。到第10天早上再想吃时,就剩下一个桃子了。求第一天共摘多少个桃子?
class Program
{
int Sum(int x)
{
if (x == 10)
{
return 1;
}
else
{
return ( ) * 2;
}
}
static void Main(string[] args)
{
Program p = new Program();
Console.Write(“猴子第一天偷的桃子数是:”+p.Sum(1));
Console.ReadKey();
}
}
请阅读以上程序,并补充横线上括号中的代码
我的答案:
(1) sum(x+1)+1
4.[填空题]
实现方法重载的两个基本条件方法名相同和方法参数( )或个数不同。
我的答案:
(1) 类型
5.[填空题]
递归必须要有______,否则就会陷入无限递归的状态,无法结束调用。
我的答案:
(1) 结束条件

6.方法的递归是指在一个方法的内部调用方法 _____的过程。
我的答案:
(1) 自身
7.斐波纳契数列:前两个数都为1,从第三个数起每一个数为前两个数之和。要求输出此数列的前20个数。

class Program
{
int count(int x)
{
if(x1||x2)
{
return 1;
}
return ;
}
static void Main(string[] args)
{
Console.Write(“斐波纳契数列的前20的数是:”);
Program p=new Program();
int[] a = new int[20];
for(int i=0;i<20;i++)
{
a[i] = p.count(i + 1);
Console.Write(a[i] + " ");
}
Console.ReadKey();
}
}
请阅读以上程序,并补充横线上的代码
我的答案:
(1) count(x-1)+count(x-2);count(x-2)+count(x-1)


在下列程序空格处横线上填入正确的选项__ ___,能够实现调用函数 show()。
class Class1
{
static void show(ref int 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.ReadKey();
}
}

A.test
B.out test
C.ref test
D.params test
我的答案:C
2.[单选题]
下面代码的运行结果是( )
static void Main(string[ ] args)
{
int num1 = 34;
int num2 = 55;
Increase(ref num1, num2);
Console.WriteLine("{0}和{1}", num1, num2);
Console.ReadLine();
}
private static void Increase (ref int num1, int num2)
{
num1++;
num2++;
}

A.35和56
B.34和55
C.34和56
D.35和55
我的答案:D
3.[填空题]
方法中使用_____关键字修饰的参数只能放在参数列表的最后。
我的答案:
(1) params
4.[填空题]
在下列程序空格处横线上填入正确的代码
using System;
class Program
{
private static void Test( string[] strArray)
{
for (int i = 0; i < strArray.Length; i++)
{
Console.Write(strArray[i] + " ");
}
Console.WriteLine();
}
static void Main(string[] args)
{
Test(“One”, “Two”, “Three”);
Test(“Monday”,“Tuesday”,“Wednesday”,“Thursday”,“Friday”);
}
}

我的答案:
(1) params
5.[判断题]
用ref修饰符声明的形参是引用形参;用out修饰符声明的形参是输出形参。
我的答案 :对


1.[单选题]
类的定义必须包含在以下哪种符号之前?
A.方括号[]
B.花括号{}
C.双引号“”
D.圆括号()
我的答案:B
2.[单选题]
下面关于类的声明,正确的是?
A. public void HH{…}
B. public void HH(){…}
C.public class void number{}
D. public class Car{…}
我的答案:D
3.[填空题]
面向对象程序设计的重点是______的设计。
我的答案:
(1) 类
4.[填空题]
定义在类中的变量称为全局变量,定义在方法中的变量称为______。
我的答案:
(1) 局部变量
5.[填空题]
C#中的类使用______关键字来定义
我的答案:
(1) class


在下列C# 代码中,( )是类Teacher 的属性。
public class Teacher{
int age=13;
public string Name{
get{return name;}
set{name=value;}
}
public void SaySomething(){//…}
}

A.Name
B.name
C.age
D.SaySomething
我的答案:A
2.[单选题]
在C#中,下列关于属性的使用正确的是( )。
A. private int num;public string Num{get{return num;}set{num=value;} }
B.private int num;public int Num{get{return num;}set{num=value;} }
C.private int num;public int Num{get{ num=value;}set{ return num;} }
D.private int num;private int Num{get{return num;}set{num=value;} }
我的答案:B
3.[填空题]
分析如下C#代码,运行后的输出结果是( )
public class Person
{
private int age=0;
public int Age
{
get{return age;}
set
{
if(value>=18)
Console.WriteLine(“成年人");
else
Console.WriteLine(“未成年人");
}
}
}
class Test
{
static void Main (string[]args)
{
Person p=new Person();
p.Age=17
Console.ReadKey();
}
}
我的答案:
(1) 未成年人
4.[填空题]
class Program
{
static void Main(string[] args)
{
Person p = new Person();
p.N = “ttt”;
Console.WriteLine(p.N );
Console.ReadLine();
}
}
public class Person
{
private string p_name=“abc”;
public string N
{
get { return p_name; }
set { p_name = value; }
}
}
程序最终的输出结果是( )
我的答案:
(1) ttt
5.[填空题]
属性是对字段的封装,此时在类中定义的字段用______关键字修饰。
我的答案:
(1) private
在下列C# 代码中,( )是类Teacher 的属性。
public class Teacher{
int age=13;
public string Name{
get{return name;}
set{name=value;}
}
public void SaySomething(){//…}
}

A.Name
B.name
C.age
D.SaySomething
我的答案:A
2.[单选题]
分析一下C#片段中的属性,该属性是( )属性。

private string name;
Public string Name{
get{return name;}
}

A.可读可写
B.只写
C.只读
D.静态
我的答案:C
3.[填空题]
数组中有一个( )属性,通过它可以获取数组的长度。
我的答案:
(1) length
4.[填空题]
分析如下C#代码,运行后的输出结果是( )
public class Person
{
private int age=0;
public int Age
{
get{return age;}
set
{
if(value>=18)
Console.WriteLine(“成年人");
else
Console.WriteLine(“未成年人");
}
}
}
class Test
{
static void Main (string[]args)
{
Person p=new Person();
p.Age=17
Console.ReadKey();
}
}
我的答案:
(1) 未成年人
5.[判断题]
如果一个属性里既有set访问器又有get访问器,那么该属性为读写属性。
我的答案 :对


下面选项中,哪些可以被static关键字修饰?
A.字段
B.局部变量
C.成员方法
D.成员嵌套类
我的答案:ACD
2.[填空题]
被static关键字修饰的方法被称为______,它只能用“类名.方法名”的形式被调用。
我的答案:
(1) 静态方法
3.[判断题]
被static关键字修饰的字段或方法,可以通过对象来访问。
我的答案 :错
4.[判断题]
声明构造方法时,不能使用private关键字修饰。
我的答案 :错
5.[判断题]
如果类的成员被private所修饰,该成员不能在类的外部被直接访问。
我的答案 :对

  • 11
    点赞
  • 166
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
以下是 C# 期末考试可能涉及到的知识点和复习资料: 1. C#基础知识:数据类型、运算符、流程控制、循环语句、数组、字符串、函数、类、面向对象等。 - C#基础教程:https://www.runoob.com/csharp/csharp-tutorial.html - C#基础语法:https://docs.microsoft.com/zh-cn/dotnet/csharp/language-reference/ - C#面向对象编程教程:https://www.w3cschool.cn/csharp/csharp-object-oriented-programming.html 2. Windows Forms应用程序开发:控件、事件、窗体、布局、菜单、对话框、多线程等。 - C# Windows Forms教程:https://www.runoob.com/w3cnote/c-sharp-windows-forms-tutorial.html - C# Windows Form应用程序开发:https://docs.microsoft.com/zh-cn/dotnet/desktop/winforms/?view=netdesktop-5.0 - C#多线程编程:https://www.cnblogs.com/chenyangyao/p/5708275.html 3. 数据库编程:ADO.NET、连接池、事务处理、LINQ等。 - ADO.NET教程:https://www.runoob.com/adonet/ado-net-tutorial.html - ADO.NET连接池:https://www.cnblogs.com/xiaoxiangfeizi/p/10612594.html - ADO.NET事务处理:https://www.cnblogs.com/linjiqin/p/5279794.html - C# LINQ教程:https://www.runoob.com/linq/linq-tutorial.html 4. 网络编程:Socket编程、TCP/IP、UDP等。 - C# Socket编程:https://www.cnblogs.com/zhaozhan/archive/2013/01/22/2876587.html - C# TCP/IP编程:https://www.cnblogs.com/sunxuchu/p/6117254.html - C# UDP编程:https://www.cnblogs.com/zhengyun_ustc/p/udp_socket_programing.html 5. WPF应用程序开发:控件、布局、动画、样式、数据绑定等。 - C# WPF教程:https://www.runoob.com/wpf/wpf-tutorial.html - C# WPF应用程序开发:https://docs.microsoft.com/zh-cn/dotnet/desktop/wpf/?view=netdesktop-5.0 - C# WPF数据绑定:https://www.cnblogs.com/gaochundong/p/wpf_binding.html 以上是一些可能涉及到的知识点和复习资料,希望能够对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

无心er

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值