第一章C#快速入门习题
1、 CLR是一种 B
A 程序设计语言 B 运行环境 C 开发环境 D API编程接口 2、C#语言源代码文件后缀名为 D
A .C# B .CC C .CSP D .CS 3、构建桌面应用程序需要.NET提供的类库是: D A ADO.NET B Windows.Form C XML D ASP.NET 4、与C++等语言相比,C#中增加的一个类成员访问修饰符是 D A private B public C protected D internal 5、C#中导入某一命名空间的关键字是 A A using B use C import D include 6、C#中程序入口方法名是 A
A Main B main C Begin D using
第二章 C#编程基础习题
1、 C#中值类型包括三种,它们是 C
A 整型,浮点型,基本类型 B 数值类型,字符类型,字符串类型 C 简单类型,枚举类型,结构类型 D数值类型,字符类型,枚举类型
2、枚举类型是一组命名的常量集合,所有整型都可以作为枚举类型的基本类型,如果类型省略,则约定为 int
3、C#的引用类型包括类,接口,数组,object和string。其中object D 根类 A 只是引用类型 B 只是值类型
C 只是string类型 D是所有值类型和所有引用类型的 4、浮点常量有三种格式,下面 A 组的浮点常量都属于都变了常量 A 0.618034, 0.618034D, 6.18034E-1 B 0.918034, 0.618034F, 0.0618034e1 C 0.618034, 0.618034f, 0.618034M D 0.618034F, 0.618034D, 0.618034M 5、下面字符常量表示有错的一组是 D
A ‘\\\\’ , ‘\'’ , ‘\\x0027’ B ‘\\n’ , ‘\\t’ , ’\\037 C’a ’, ‘\a’ , (char)90 D ‘\\x0030’ , ’\\0’ , ’0’ 6、下列标示符命名正确的是 A A _int,Int,@int B using, _using, @using C NO1,NO_1,NO.1 DA3,_A3,@A3
7当表达式中混合了几种不同数据类型时,C#会基于运算的顺序将他们自动转换为同一类型。但下面 float与double 和decimal混和在一个表达式中,不能自动转化为decimal
8、设有说明语句 int x=8;则下列表达式中,值为2的是 B A x+=x-=8; B x%=x-2; C x>8>x=0:x++; D x/=x+x;
9、C#数组主要有三种形式,它们是一维数组,多维数组,不规则数组
10、设有说明语句 double[,,]tab=new double[2,3,4];那么下面叙述正确的是 A A tab是一个三维数组,它的无素一共有24个
B tab是一个有三个元素的一维数组,它的元素初始值为2,3,4 C tab是一个维数不确定的数组,使用时可以任意调整 D tab是一个不规则数组,数组元素的个数可以变化。 11、说明下列标识符的合法性。
X.25 4foots exam-1 using main Who_am_I Large&Small _Years val(7) 2xy
12、下列常量是否合法?若不合法,指出原因;若合法,指出数据类型。
32767 35u 1.25e3.4 3L 0.0086e-32 ‘\\87’ True “a” ‘a’ ‘\\96\\45’ .5 5UL
13、指出下列那些表示字符?那些表示字符串?那些既不是字符又不是字符串? ‘0x66’ china “中国” “8.42” ‘\\0x33’ 56.34 “\\n\\t0x34 ” ‘\\t’ ‘\\\\’ ‘8.34’ “0x34“ ‘\\0’ “computer system!\\n” “\\\\\\\\doc\\\\share\\\\my1.doc” @\\\\doc\\share\\my1.doc
14、填空
1、C#中可以把任何类型的值赋给object类型变量,当值类型赋给object类型变量是,系统
要进行 装箱 操作;而将object类型变量赋给一个值变量,系统要进行 拆箱 操作,并且必须加上 显示地强制类型转换 类型变换。
2、C#特有的不规则数组是数组的数组,也就是说它的数组元素是 数组 ,并且它的内部每个数组的长度 不一样 。
3、数组创建时可根据需要进行初始化,需要注意的是,初始化时,不论数组的维数是多少都必须显示地初始化数组的 所有元素 元素。
4.程序运行结果 using System; Public class Exe1 {
Public static void Main () {
Int x,y,z; bool s; x=y=z=0;
S=x++!=0 || ++y!=0 && ++y!=0 ;
Console.WriteLine(“x=,0-,y=,1-,z=,2-,s=,3-”, x,y,z,s); Console.Read(); } }
5.程序运行结果 using System; public class Exe2 {
Public static void Main () {
Int a,b; a=b=1; b+=a/b++;
Console.Write(“a=,0-,b=,1-,”,a,b); b+=--a+++b;
Console.WriteLine(“a=,0-,b=,1-”,a,b); Console.Read(); } }
6.程序运行结果 using System; public class Exe3 {
Public static void Main () {
Int Hb,Lb,x; X=0x1af034;
Hb=(x>>16)&0xFFFF; Lb=x&0x00ff;
Console.Write(“Hb is ,0-\\t”,Hb); Console.WriteLine(“Lb is ,0-”,Lb);
Console.Read(); } }
7. 程序运行结果 using System; public class Exe4 {
Public static void Main () {
Int a,b,c; a=2;b=7;c=5; switch(a>0) {
Case true: Switch (b<10) {
case true:Console.Write(“^”);break; case false:Console.Write(“!”);break; }
Break; case false:
switch(c==5) {
case false:Console.Write(“*”);break; case true:Console.Write(“#”);break; }
Break; }
Console.WriteLine(); Console.Read(); } }
8. 程序运行结果 using System; public class Exe5 {
Public static void Main () {
Int [] x;
x=new int[10];
int []y={1,2,3,4,5,6,7,8,9,10}; const int SIZE=10; int [] z;
z=new int [SIZE];
for(int i=0;i Z[i]=i*2+1; Console.Write(“,0,4-”,z*i+); } Console.Read(); } } 9.下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。 Using System; public class Exe6 { Public static void Main() { Int I,j; for(i=0; (1)i<10 ;i++) { j=i*10+6; If ( (2)j<100 ) Continue; Console.WriteLine(“,0-”,j); } } } 10.用插入法对数组a进行降序排列,请填空。 Using System; public class Exe7 { Public static void Main() { Int[]a={4,7,1,2,5,8,9,10,3,6}; Int I,j,m; for(i=1;i<10;i++) { m=a[i]; j= (1)i+1 ; while(j>=0 && m>a[j]) { (2) ; j--; } (3) =m; } For (i=0;i<10;i++) ,console.writeLine(“,0-”,a*i+);- Console.writeLine(); } } 第三章 面向对象编程基础习题 1、C#语言的核心是面向对象编程(OOP),所有OOP语言都应至少具有三个特性: A A、封装、继承和多态 B、类、对象和方法 C、封装、继承和派生 D、封装、继承和接口 2、C#的构造函数分为实例构造函数和静态构造函数,实例构造函数可以对静态成员和非静态成员进行初始化,静态构造函数只能对静态成员进行初始化。 3、C#实现了完全意义上的面向对象,所以它没有全局变量、全局常数和全局方法,任何数据域和方法都必须封装在类体中。