CSharp复习讲解
第3章 C Sharp语法基础

5. 大括号
在C#中,括号“{”和“}”是一种范围标志,是组 织代码的一种方式,用于标识应用程序中逻辑上 有紧密联系的一段代码的开始与结束。 大括号可以嵌套,以表示应用程序中的不同层次。
章节目录
上一页
下一页
3.1.2 C#程序的格式
1. 缩进与空格
缩进用于表示代码的结构层次,这在程序中不是 必须的,但是缩进可以清晰地表示程序的结构层 次,在程序设计中应该使用统一的缩进格式书写 代码。
第3章 C#语法基础
3.1 C#程序结构
3.1.1 C#程序的组成要素
1. 关键字
在 C# 代码中常常使用关键字,关键字也叫保 留字,是对 C# 有特定意义的字符串。关键字在 Visual Studio .NET环境的代码视图中默认以蓝 色显示。例如,代码中的 using 、 namespace 、 class、static、void等,均为C#的关键字。
章节目录
上一页
下一页Biblioteka 3. 类和方法C#中,必须用类来组织程序的变量与方法。 C# 要求每个程序必须且只能有一个“ Main” 方法。 “Main”方法必须放在某一个类中。“Main”方法 是应用程序的入口。
4. 语句
语句就是C#应用程序中执行操作的指令。C#中的 语句必须用分号“ ;”结束。可以在一行中书写多 条语句,也可以将一条语句书写在多行上。
空格有两种作用,一种是语法要求,必须遵守, 一种是为使语句不至于太拥挤。例如: int ia = 3;
章节目录 上一页 下一页
2. 字母大小写
C#中的字母可以大小写混合,但是必须注意的是, C#把同一字母的大小写当作两个不同的字符对待, 如,大写“A”与小写“a”对C#来说,是两个不同 的字符。
第3章CSharp语言基础

3.2 变量和常量
3.2.2 变量声明
2.变量赋值
变量必须赋值后才能引用 为变量赋值需使用赋值号“=” 例如:
定义变量,直接赋值:int number1=32; 先定义变量,后进行赋值: int number1; number1 = 32; 使用变量为变量赋值:int number2; number2=number1;
3.3.1 数值类型
1. 整数类型
类型
解释
sbyte byte
有符号8位整数 无符号8位整数
short
有符号16位整数
ushort
无符号16位整数
int
有符号32位整数
uint
无符号32位整数
long
有符号64位整数
ulong
无符号64位整数
取值范围 -128 ~ 127 0 ~ 255 -32,768 ~ 32,767 0 ~ 65,535 -2,147,483,648 ~ 2,147,483,647 0 ~ 4,294,967,295
而对整型变量而言,类型说明符可以是int、long、unsigned等等。例如: int a,b,c; // a,b,c为整型变量 long x,y; // x,y为长整型变量 unsigned p,q; // p,q为无符号整型变量
定义一个变量,意味着在内存中给这个变量分配相应大小的存储空间,同 时确定这个变量值的存储方式和可以进行的操作。
标识符的命名规则:
标识符只能使用数字、字母、下划线; 标识符开头第一个字符必须是字母或下划线; 不能把C#关键字用作标识符; C#标识符区分大小写。
3.1.3 标识符与用法约定
2. 关键字 C#中有76 个关键字
csharp基本概念 -回复

csharp基本概念-回复C#基本概念C#是一种通用的、面向对象的编程语言,由微软公司开发。
它的设计目标是为了使开发人员能够构建出高效可靠的应用程序。
C#基于.NET平台,因此可以在Windows、Linux和macOS等多个操作系统上运行。
本文将围绕C#的基本概念展开,探讨其语法、数据类型、流程控制以及面向对象编程等主题,以帮助读者更好地理解和运用C#。
一、基本语法1. 命名空间(namespace)在C#中,命名空间是用来组织和管理代码的一种方式。
命名空间用来防止命名冲突,也可以让代码更有结构性。
可以使用using关键字导入其他命名空间。
2. 类(class)类是C#中最基本的构建块之一。
类定义了对象的属性和方法。
通过创建类的实例,可以实现对这个类进行操作和访问。
3. 方法(method)方法是指一系列的语句,它们一起完成某个特定的功能。
在C#中,方法必须定义在类中。
4. 变量和数据类型C#支持多种数据类型,可根据需求选择合适的类型来存储数据。
常见的数据类型有整型(int)、浮点型(float)、布尔型(bool)等。
变量是用来存储数据的容器,可以通过给变量赋值来存储相应的数据。
二、数据类型1. 值类型和引用类型在C#中,数据类型可分为值类型和引用类型。
值类型变量直接包含数据的实际值,而引用类型变量存储了对象的引用。
值类型在栈上分配内存,而引用类型在堆上分配内存。
2. 数组(array)数组是一种存储固定大小元素的集合,可以通过索引访问数组中的元素。
在C#中,数组可以是值类型或引用类型。
3. 字符串(string)字符串是C#中的常用数据类型,用于存储多个字符。
C#中的字符串是不可变的,即无法直接修改字符串中的字符。
可以通过使用字符串类的方法和属性来操作字符串。
三、流程控制1. 条件语句C#中的条件语句用于根据特定的条件来执行不同的代码块。
常见的条件语句有if语句、if-else语句和switch语句。
CSharp学习资料

CSharp学习资料第一章.NET体系结构简介体系主要由以下两部分组成Framework类库.NETFramework类库是一个内容丰富的类集合,它可以完成以前要通过WindowAPI来完成的绝大多数任务。
CLR是.NETFramework的核心执行环境,也称.NET运行库。
1.2CLR概述CLR主要负责“托管代码”的编译和运行。
在.NET中代码的编译分为两个阶段,如图1.1所示:1、把源代码编译为Microoft中间语音(MSIL);2、CLR把MSIL编译为平台专用的代码。
某.cC#源代码编译器CLR激活JIT目标机器MSIL微软(Window中间语音、Linu某等)图中C#语音的执行过程1.21托管代码(ManagedCode)托管代码是由CLR运行环境(不是直接由操作系统)执行的代码。
托管代码的优点:平台无关性提高性能语音的互操作性1.22非托管代码(UnmanagedCode)非托管代码是由操作系统直接执行的代码。
非托管代码必须提供自己的垃圾回收、类型检查、安全支持等服务;它与托管代码不同,后者从公共语言运行库中获得这些服务。
非托管代码有汇编语音、C语音等。
托管代码和非托管代码区别:前者运行效率稍低,代码编写容易,开发效率高;后者运行效率高,代码编写较难,开发效率低。
第二章面向对象语言C#基础2.1C#简介2.11第一个C#程序(控制台应用程序)uingSytem;//引用命名空间namepaceBitPC.CSharp.Baic//定义命名空间{claMyFirtCSharpCla//引用类类型{publictaticvoidMain()//方法{Conole.WriteLine(“ThiimyfirtC#program!”);//输出无参字符串//输出带参数的字符串Conole.WriteLine(“{0},你好,你的性别是{1}的!”,”唐健”,”男”);Conole.ReadLine();return;}}}2.2变量2.21变量的定义及初始化在C#中声明变量使用的语法:数据类型变量;例如:inti;变量只能先定义后使用;定义变量后必须初始化才能使用;变量要占用一定字节数的内存单元,以上声明会在堆栈中给i分配4个字节。
CSharp数组学习知识讲解

C S h a r p数组学习C#数组学习数组概述C# 数组从零开始建立索引,即数组索引从零开始。
C# 中数组的工作方式与在大多数其他流行语言中的工作方式类似。
但还有一些差异应引起注意。
声明数组时,方括号 ([]) 必须跟在类型后面,而不是标识符后面。
在 C# 中,将方括号放在标识符后是不合法的语法。
int[] table; // not int table[];另一细节是,数组的大小不是其类型的一部分,而在 C 语言中它却是数组类型的一部分。
这使您可以声明一个数组并向它分配 int 对象的任意数组,而不管数组长度如何。
int[] numbers; // declare numbers as an int array of any sizenumbers = new int[10]; // numbers is a 10-element arraynumbers = new int[20]; // now it's a 20-element array声明数组C# 支持一维数组、多维数组(矩形数组)和数组的数组(交错的数组)。
下面的示例展示如何声明不同类型的数组:一维数组:int[] numbers;多维数组:string[,] names;数组的数组(交错的):byte[][] scores;声明数组(如上所示)并不实际创建它们。
在 C# 中,数组是对象(本教程稍后讨论),必须进行实例化。
下面的示例展示如何创建数组:一维数组:int[] numbers = new int[5];多维数组:string[,] names = new string[5,4];//5行4列数组:5个这样的{1,2,3,4}数组的数组(交错的):byte[][] scores = new byte[5][];for (int x = 0; x < scores.Length; x++){scores[x] = new byte[4];}还可以有更大的数组。
Csharp基础笔记知识点整理

Csharp基础笔记知识点整理/** @version: V.1.0.0.1* @Author: fenggang* @Date: 2019-06-16 21:26:59* @LastEditors: fenggang* @LastEditTime: 2019-06-18 01:31:12* @Descripttion: csharp 基础笔记*/基础知识介绍: using 关键字 1、⽤来引⽤.NET 框架类库中的资源 2、通常在程序⽂件的开头使⽤ 3、如果程序中需要多种资,可以使⽤多次using System 命名空间 1、system 命名空间提供了构建应⽤程序所需的系统功能访问 class 类 1、在C#或其他⾯向对象语⾔中,需要编写类 2、使⽤关键字 class 定义⼀个类,类的内容放在⼀对{}中 ⽰例: class HelloWord { // 类内容 } Main ⽅法 1、Main ⽅法是应⽤程序的⼊⼝点,编译器将由该处开始执⾏程序 2、⽅法体也放在⼀对{}中 3、每个 C# 的应⽤程序都必须包含 Main ⽅法 4、static 表⽰ Main ⽅法是⼀个全局⽅法 5、void 表⽰ Main ⽅法没有任何返回值,即返回时空 6、参数放在⼩括号中定义,⼩括号中没有内容证明没有任何参数 语句 1、语句之间⽤(";")分号分割,编译器通过分号来区分多个语句 2、使⽤⼤括号{}标识莫格代码块的开始和结束,从⽽可以对语句进⾏组合,⼤括号必须承兑匹配 3、数据语句:Console.WriteLine("Hello Word"); 4、Hello Word 在屏幕上显⽰的内容 5、Console 代表标准输出设备到屏幕,它属于System命名空间 6、WriteLine ⽅法是Console类⽅法,访问类或对象的⽅法使⽤点取符来完成 7、字符串⽤双引号"" 8、字符串 "Hello Word" 是WiteLine⽅法参数,表⽰屏幕输出的内容 代码规范格式 1、良好、清晰的组织代码 2、提⾼代码可读性,易于代码维护 3、缩进 4、区分⼤⼩写 5、忽略空⽩区 6、注释 注释 1、单⾏注释 // 2、多⾏注释 /** */ 和 /* */ csharp 数据类型 类型 .NET Framework 类型 1、bool System.Boolean 2、byte System.Byte 3、sbyte System.SByte 4、char System.Char 5、decimal System.Decimal 6、double System.Double 7、float System.Single 8、int System.Int32 9、uint System.Uint 10、long System.Int64 11、ulong System.Uint64 12、object System.Object 13、short System.Int16 14、ushort System.Uint16 15、string System.string C# 的内置数据类型⼤致划分 逻辑型: bool ⽂本型: char, string 整型: byte, sbyte, short, ushort, int, uint, long, ulong 浮点型: float, double, decimal 声明变量 作⽤:通过声明变量,可以在内存中为该变量申请存储空间 语法:类型变量名; 初始化变量 作⽤:给变量分配初始值 语法:变量名 = 初始值; 初始值注意事项: bool 只有两个值: true 或 false char 表⽰单个 Unicode 字符,⽤''[单引号]表⽰ 特殊字符和转义字符 有些特殊字符⽆法直接放在引号中,此时要表⽰这些字符,必须使⽤转义符 字符名称 转义符 反斜线 \\ 退格 \b 回车 \r 双引号 \" ⽔平制表符 \t 垂直制表符 \v 换⾏ \n 单引号 \' 声明并初始化字符串 1、字符串表⽰任意长度的 Unicode 字符序列 2、字符串使⽤""表⽰ 3、可以使⽤转义字符或 verbatim 字符 常量创建以及使⽤ 1、常量⼀旦被初始化,其数值保持不变的变量 2、常量通常表⽰有意义固定数值,如圆周率 3、声明常量是必须对其赋值 语法: const 类型常量名 = 数值 枚举 1、枚举类型是⼀组被命名额数字常量(枚举是⼀组有限的值), 即:⼀个枚举类型中包含了多个相关的数字常量,且每个常量都被赋予了⼀个容易记忆的 2、枚举关键字 enum 类型转换 1、相同的数据类型可以混合运算,运算中,不同的数据类型先被⾃动转为相同的数据类型, 然后在进⾏运算,转换时低容量的数据类型像⾼容量数据类型转换 2、由低到⾼排列数据类型 byte-->short-->int-->long-->float-->double 3、将⼩容量数据类型转换成⼤容量数据类型时,系统⾃动完成,成为隐式转换 4、将⼤容量数据类型转换成⼩容量数据类型时,必须使⽤强制类型转换 表达式 1、运算符号 常见的运算符号 ⽰例 增/减 ++ -- 算术 * / % + - 关系 < > <= >= 相等 == != 条件 && || ?: 赋值 = *= /= %= += -= <<= >>= &= ^= |= 2、运算符的优先级,个⽇常⽣活中计算⽅式⼀样(先乘除再加减) 3、做结合和有结合 所有⼆元运算符都是做结合的 a=b=c 赋值运算符和条件运算符都是有结合的 a:b?a:c>d?c:d; 条件语句 1、条件语句可以根据布尔表达式值,有选择性的执⾏程序的某⼀部分 2、在 C# 中的条件语句有 if 和 switch 两种 3、if 适合两个分⽀判断 if( 布尔表达式 ) { 语句块1; }else{ 语句块2; } 4、else 部分可选 5、if...else 可以嵌套 6、运算符 (?:) 是 if...else 的缩略形式 7、switch 适合多个分⽀判断 switch (待检测表达式) { case value1: 语句; break; case value2: 语句; break; ... default: break; } switch 语句的使⽤⽅法 1、表达式中求值的类型可以是整型、字符型、字符串、枚举类型 2、计算表达式的值并进⾏等值匹配,若表达式的值与某个 case 标记中的值相等,则执权转到该 case 标记后的语句 3、break 跳出整个 switch 每个 case 中必须使⽤ break, C# 不允许从⼀个 case 进⼊下⼀个 case, 称为不可贯穿性 4、若没有任何⼀个 case 标记的⾄于表达式匹配,则转到 default 语句中,若没有定义 default, 则结束 switch 判断 5、default 是可选的,但通常需要定义,以捕获没有被任何 case 处理的值, 其作⽤相当于 else 循环语句 1、借助循环机制,编译器可以重复执⾏⼀块代码,直⾄满⾜某个条件为⽌,从⽽避免重复输⼊相同的代码⾏ 2、C# 提供的循环机制有: for 循环 while 循环 do 循环 for 循环 1、for 循环⽤于将代码块执⾏固定的次数 for ( 初始化表达式; 循环条件; 迭代表达式 ) { 循环语句: } 2、先执⾏初始化表达式,此部分只执⾏⼀次 3、判断条件表达式,若满⾜条件则执⾏循环体,否则跳出 for 循环 4、每次循环语句执⾏完后要执⾏⼀次迭代,并重新判断条件 while 循环 1、与 for 循环类似,也是预测试循环,即⾸先判断循环条件,若满⾜则执⾏循环;否则不执⾏循环 while ( 循环条件 ) { 循环语句; } 2、当不知道煦暖执⾏的次数时,可以使⽤ while 循环 do while 循环 1、先执⾏循环语句,在进⾏循环条件测试,所以循环语句⾄少执⾏⼀次,成为测试循环 2、do while 循环先循环后判断,⽐ while 循环多执⾏⼀次 do { 循环语句; } while ( 循环条件 ); 特殊的循环控制 1、continue 关键字终⽌当次循环,开始下⼀次迭代和循环(并不终⽌整个循环) 2、break 关键字跳出和中⽌整个循环。
你必须知道的Csharp的25个基础概念

}//5-1-a-s-p-x
}
复制代码
客户端代码:
using System;
using System.Collections.Generic;
using System;
using System.Collections.Generic;
using System.Text;
namespace Example02Lib
{
public class Class1
{
public const String strConst = &quot;Const&quot;;
static int Main()
{
string myString;
Console.Write(&quot;Enter your message: &quot;);
myString = Console.ReadLine();
return MessageBox(0, myString, &quot;My Message Box&quot;, 0);
}
}
}
复制代码
结果:
4.abstract是什么意思?答:abstract修饰符可以用于类、方法、属性、事件和索引指示器(indexer),表示其为抽象成员abstract不可以和static、virtual、override一起使用声明为abstract成员可以不包括实现代码,但只有类中还有未实现的抽象成员,该类就不可以被实例化,通常用于强制继承类必须实现某一成员示例:
VisualCSharp基础(数据类型)

结构使用
01
02
03
04
结构通常用于封装一组 相关的数据,以便可以 作为一个整体进行处理。
结构可以作为类的替代 品,特别是在需要一个 不可变的数据类型时。
结构可以用于创建小型、 简单的数据结构,例如 点、矩形或颜色等。
结构可以用于实现集合 类,例如数组和列表等。
04
浮点型
double myDouble = 2.71828; // 声明一个double类型的变量并赋值为 2.71828
decimal myDecimal = 9999999.99m; // 声明一个decimal类型的变量 并赋值为9999999.99
```
字符型
总结词
字符型数据类型用于存储单个字符。
访问
通过多个索引访问多维数组中的元素,索引从0开始。例 如myArray[0, 0]访问第一个元素。
动态数组
定义
语法
初始化
访问
动态数组是可以在运行时改变 大小的数组类型。
在C#中,动态数组使用泛型 List<>来定义,例如List<int> myList。
可以通过new关键字创建一个 空的动态数组,然后使用 Add()方法添加元素。例如 myList = new List<int>(); myList.Add(1); myList.Add(2); myList.Add(3)。
详细描述
在C#中,字符型数据类型使用 `char` 关键字进行声明。 每个 `char` 类型的变量可以存储一个Unicode字符。字符 型常量和变量必须用单引号括起来。
字符型的特点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C#程序设计测试题(一般从中随机选取10道选择题、5道问答题和2道程序设计题)一、选择题1.C#程序的执行过程是 D 。
A. 从程序的第一个方法开始,到最后一个方法结束B. 从程序的Main方法开始,到最后一个方法结束C. 从程序的第一个方法开始,到Main方法结束D. 从程序的Main方法开始,到Main方法结束2.CLR是指C 。
A. 公共类型系统B. 公共语言规范C. 公共语言运行时D. 动态语言运行时3.byte类型的取值范围是 C 。
A. -127~128B. -128~127C. 0~255D.1~2564.sbyte类型的取值范围是 B 。
A. -127~128B. -128~127C. 0~255D.1~2565.short类型的变量在内存中占据的位数是B 。
A. 8B. 16C. 32D.646.设整数x的值为5,那么执行表达式“x += (x++) + (++x)”后x的值为。
A. 17B. 18C. 25D. 267.设int型变量x、y、z的值分别为2、3、6,那么执行完语句(z −= y −= x −= z)后它们的值为-4、7 、-1 。
A. 3, 1, -4B. -4, 7, -1C. -1, 7, -4D. -4, 7, 18.要在一个类型中定义两个同名的方法,不能通过下面中的哪一项可加以区分C 。
A. 参数个数B. 参数类型C. 返回类型D. 以上都可以9.令object x = 100,那么下列表达式会引发异常的是 B 。
A. int i = x;B. string s = (string)x;C. bool b = x is string;D. object o = x as string;10.令object x = 0.5,那么下列表达式会引发异常的是。
A. int i = (int)x;B. byte b = x as byte; //语法错误C. string s = (string)x //异常;D. float f = (float)x;11.设double型变量x表示一个弧度,那么将其转换为角度的表达式为 A 。
A. x * 180 / Math.PIB. x * 360 / Math.PIC. x * Math.PI / 180D. x * Math.PI / 36012.设double型变量x表示一个角度,那么将其转换为弧度的表达式为。
A. x * 180 / Math.PIB. x * 360 / Math.PIC. x * Math.PI / 180D. x * Math.PI / 36013.对于int[4, 5]型的数组a,数组元素a [2, 3]存储在数组第 C 个位置上A. 11B. 12C. 14D. 1514.String类型提供的成员方法中,返回一个字符串数组的是 D 。
A. CompareToB. ReplaceC. SubStringD. Split15.以下说法中不正确的 CA. 构造函数和析构函数都不能有返回值B. 构造函数可以是静态的C. 一个类只能有一个构造函数D. 一个类只能有一个析构函数16.类的成员中,不能定义为静态的有 A C 。
A. 析构函数B. 属性C. 索引函数D. 事件17.下面说法中正确的有。
A. 接口方法和虚拟方法不提供方法的实现代码B. 接口方法和抽象方法不提供方法的实现代码C. 包含抽象方法的类必须是抽象类D. 包含密封方法的类必须是密封类18.关于接口和抽象类,下列说法中正确的是。
A. 接口不能创建对象,而抽象类可以B. 接口不能包含字段,而抽象类可以C. 抽象类中的方法必须是抽象方法D. 接口中的方法也可以有实现代码19.下面有关事件的说法,不正确的有。
A. 一个事件可以关联多个事件处理方法B. 多个事件可以使用一个事件处理方法C. 事件处理方法属于事件的发布者D. 所有事件都是System.Delegate的派生类型20.以下既可用于类型又可用于类型成员的修饰符有。
A. protectedB. partialC. internalD. static21. 在类作用域中能够通过直接使用该类的()成员名进行访问。
A. 私有B. 公用C. 保护D. 任何答案:D22. 小数类型(decimal)和浮点类型都可以表示小数,正确说法:( )A. 两者没有任何区别B. 小数类型比浮点类型取值范围大C.小数类型比浮点类型精度高D. 小数类型比浮点类型精度低答案:C23. 能作为C#程序的基本单位是( )。
A. 字符B. 语句C. 函数D. 源程序文件答案:B24. 可用作C#程序用户标识符的一组标识符是( )。
A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof答案:B25. 引用类型主要有4种:类类型、数组类型、接口类型和()。
A.对象类型B.字符串类型C.委托类型D.整数类型答案:C26. 加载窗体时触发的事件是( )。
A. ClickB.LoadC.GotFoucsD.DoubleClick答案:B27. 改变窗体的标题,需修改的窗体属性是( )。
A. TextB. NameC.TitleD. Index答案:A28. 在C#中定义接口时,使用的关键字是( )。
A.interfaceB.:C.classD.overrides答案:A29. 在类的成员中,用于存储属性值的是( )。
A. 属性B. 方法C. 事件D.成员变量答案:成员变量30. 在C#中,定义派生类时,指定其基类应使用的语句是( )。
A.InheritsB.:C.ClassD.Overrides答案:B31. 类的以下特性中,可以用于方便地重用已有的代码和数据的是( ).A.多态B.封装C.继承D.抽象答案:C32. 在Array类中,可以对一维数组中的元素进行排序的方法是( )。
A.Sort()B.Clear()C.Copy()D.Reverse()答案:A33.将变量从字符串类型转换为数值类型可以使用的类型转换方法是( )。
A.Str()harC.CStr()D.int.Parse();答案:D34..数据类型转换的类是( )。
A.ModB.ConvertC. ConstD. Single答案:B35.15.字符串连接运算符包括&和()。
A. +B. -C. *D. /答案A36.先判断条件的当循环语句是( )。
A. do...whileB. whileC. while...doD. do ...loop答案:B37.C#是一种面向( )的语言。
A. 机器B.过程C.对象D.事物答案:C38. 假定一个10行20列的二维整型数组,下列哪个定义语句是正确的()。
A. int[]arr = new int[10,20]B. int[]arr = int new[10,20]C. int[,]arr = new int[10,20]D. int[,]arr = new int[20;10]答案:C39. 以下正确的描述是()。
A. 函数的定义可以嵌套,函数的调用不可以嵌套B. 函数的定义不可以嵌套,函数的调用可以嵌套C. 函数的定义和函数的调用均可以嵌套D. 函数的定义和函数的调用均不可以嵌套答案:B40. 小数类型和浮点类型都可以表示小数,正确说法:( )A. 两者没有任何区别B. 小数类型比浮点类型取值范围大C.小数类型比浮点类型精度高D. 小数类型比浮点类型精度低答案:C41. 在C#中,可以标识不同的对象的属性是( )。
A.TextC.TitleD.Index答案:B42. 在VC#.Net中,可以标识不同的对象的属性是( )。
A.TextC.TitleD.Index答案:Bi. 23.在C#中定义接口时,使用的关键字是( )。
A.interfaceB.:C.classD.overrides答案:A43. 属于C#语言的关键字( )。
A. abstractB. camelC. SalaryD. Employ答案:A44. C#语言中,值类型包括:基本值类型、结构类型和()。
A.小数类型B.整数类型C.类类型D.枚举类型答案:D45. 假定一个10行20列的二维整型数组,下列哪个定义语句是正确的()。
A. int[]arr = new int[10,20]B. int[]arr = int new[10,20]C. int[,]arr = new int[10,20]D. int[,]arr = new int[20;10]答案:C46. 以下正确的描述是()。
A. 函数的定义可以嵌套,函数的调用不可以嵌套B. 函数的定义不可以嵌套,函数的调用可以嵌套C. 函数的定义和函数的调用均可以嵌套D. 函数的定义和函数的调用均不可以嵌套答案:B47. 以下说法正确的是()。
A. 接口可以实例化B. 类只能实现一个接口C. 接口的成员都必须是未实现的D. 接口的成员前面可以加访问修饰符答案:C48. 下列关于抽象类的说法错误的是()。
A. 抽象类可以实例化B. 抽象类可以包含抽象方法C. 抽象类可以包含抽象属性D. 抽象类可以引用派生类的实例答案:A49. 下列关于重载的说法,错误的是()。
A. 方法可以通过指定不同的参数个数重载B. 方法可以通过指定不同的参数类型重载C. 方法可以通过指定不同的参数传递方式重载D. 方法可以通过指定不同的返回值类型重载答案:D50. 关于虚方法实现多态,下列说法错误的是()。
A. 定义虚方法使用关键字virtualB. 关键字virtual可以与override一起使用C. 虚方法是实现多态的一种应用形式D. 派生类是实现多态的一种应用形式答案:B51. 以下关于继承的说法错误的是()。
A. .NET框架类库中,object类是所有类的基类B. 派生类不能直接访问基类的私有成员C. protected修饰符既有公有成员的特点,又有私有成员的特点D. 基类对象不能引用派生类对象答案:D52. 继承具有(),即当基类本身也是某一类的派生类时,派生类会自动继承间接基类的成员。
A. 规律性B. 传递性C. 重复性D. 多样性答案:B53. 下列说法中,正确的是()。
A. 派生类对象可以强制转换为基类对象B. 在任何情况下,基类对象都不能转换为派生类对象C. 接口不可以实例化,也不可以引用实现该接口的类的对象D. 基类对象可以访问派生类的成员答案:A二、简答题1.值类型和引用类型有什么区别?你在自定义一个复合类型时,怎样确定是将其作为struct还是class?* 值类型与引用类型的区别1)结构是值类型:值类型在堆栈上分配地址,所有的基类型都是结构类型,例如:int 对应System.int32 结构,string 对应system.string 结构,通过使用结构可以创建更多的值类型。