C#习题集(2)

2018-12-10 22:47

8.在代码中明确表示将某种数据类型转换为另一种数据类型称为【 显式类型转换 】。 9.下面程序的运行结果是【 】。

class Program

{ public static void Main(string[] args)

{ string str1=\星期一\\\\星期二\\\\星期三\ string str2=@\星期一\\\\星期二\\\\星期三\ Console.WriteLine(\ Console.WriteLine(\ } }

str1=星期一\\星期二\\星期三 str2=星期一\\\\星期二\\\\星期三 10.C#中的字符串有两类:规则字符串和逐字字符串,定义逐字字符串时,应在其前面加上【 @ 】号。

11.下列程序的执行结果是【 False 】。 class Program { public static void Main(string[] args) { string str1,str2; str1=\ str2=\

Console.WriteLine(\

} }

12.已知str的值为”abcdefgh”,则表达式str.Substring(1,3)的值为【 bcd 】。

13.若要从字符串str的第3个字符开始取5个字符作为一个子串赋给sstr,可以使用语句

【 sstr=str.Substring(2,5) 】实现。 14.以下程序的执行结果是【 123 】。 public static void Main(string[] args) { string str=\ int i; for(i=0;i='0'&& str[i]<='9') Console.Write(str[i]); } 15.将一个值类型隐式或显示地转换成一个object类型称为【 装箱 】。所谓拆箱就是将一个【 object类型 】显式地转换成一个值类型。

16.下列程序段的输出结果是【 True 】。 int a=1,b=2,c=3; Console.WriteLine(a>b&&b==c||a

17.下列程序的执行结果是【my,your,5,15 】。 class Program { enum team{my,your=4,his,her=his+10};

public static void Main(string[] args)

{ Console.WriteLine(\

(int)team.his, (int)team.her);

} }

18.以下程序的输出结果是【 6 】。

- 5 -

class Program { public static void Main(string[] args) { int a=5,b=4,c=6,d; Console.WriteLine(“{0}”,d=a>b?(a>c?a:c):b); } }

19.以下程序的输出结果是【 】。

class Program

{ public static void Main(string[] args) { int[] a = new int[3] { 1, 2, 3 };

for (int i = 0; i < 3; i++) Console.Write(\ Console.WriteLine(); int[] b = a;

for (int i = 0; i < 3; i++) b[i] = 2 * b[i];

for (int i = 0; i < 3; i++) Console.Write(\ Console.WriteLine(); Console.Read(); } } 1 2 3 2 4 6 20.以下程序的输出结果是【 】。

class Program

{ public static void Main(string[] args) { int a=4,b=5,m,n;

m=(a++)+(b++); n=a+b; Console.WriteLine(\ n={1}\ m=(++a)+(++b); n=a+b;

Console.WriteLine(\ n={1}\ } }

m=9 n=11 m=13 n=13 三.问答题

1.什么是字符类型和字符串类型?两者有何区别和联系?

2.是否可以定义这样的数组:它即包含int类型数据,也包含float类型数据?为什么? 3.变量与常量有何区别?

4.什么是数据类型转换?有哪几种方法?

5.数据类型的隐式转换和显式转换分别在什么场合使用?它们可以相互替换吗? 6.除(/)运算对整型数据和浮点型数据有何不同? 7.简述C#中有哪些数据类型。

8.说明C#值类型与引用类型数据的区别。 9.简述C#中结构类型和枚举类型的声明方法。

10.简述C#中常用类的静态方法和非静态方法的差异。

- 6 -

第4章 C#控制语句

一.选择题

1.在C#语言中,if语句后面的表达式应该是【 】。

A) 逻辑表达式 B) 条件表达式 C) 关系表达式 D) 布尔类型的表达式 2.在C#语言中,if语句后面的表达式,不能是【 】。

A) 逻辑表达式 B) 算数表达式 C) 关系表达式 D) 布尔类型的表达式 3.在C#语言中,switch语句用【 】来处理不匹配case语句的值。

A) default B) anyelse C) break D) goto 4.下列程序的输出结果是【 】。 public static void Main(string[] args) { 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); }

A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 5.以下叙述正确的是【 】。

A) do……while语句构成的循环不能用其他语句构成的循环来代替 B) do……while语句构成的循环只能用break语句结束循环

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

D) 用do……while语句构成的循环,在while后的表达式应为关系表达式或逻辑表达式 6.以下关于for循环的说法不正确的是【 】。

A) for循环只能用于循环次数已经确定的情况 B) for循环是先判定表达式,后执行循环体 C) 在for循环中,可以用break语句跳出循环体

D) for循环体语句中,可以包含多条语句,但要用花括号括起来 7.以下关于if语句和switch语句的说法,正确的【 】。

A) 如果在if语句和switch语句中嵌入break语句,则在程序执行过程中,一旦执行到break语句,就会结束相应的执行,转向执行其后面的语句

B) 凡是能够使用if语句的地方就可以使用switch语句,反之亦然 C) if语句有3种基本形式:if…、if…else…和if…else if…else… D) if语句是实现“单判断二分支”的选择结构,switch语句是实现“单判断多分支”的选择结构。 8.以下关于for循环的说法,不正确的是【 】。

A) for语句中的3个表达式都可以省略

B) for语句中的3个表达式中,若第2个表达式的值为true,则执行循环体中的语句,直到第3个表达式的返回值为false C) for语句中的3个表达式中,第2个表达式必须是布尔类型的表达式,其他两个可以是任意类型的表达式。

D) for语句中的3个表达式中,第1个表达式执行且仅执行一次;每当循环体语句被执行后,第3个表达式都跟着被执行一次。

- 7 -

9. C#提供的4种跳转语句中,不推荐使用的是【 】。

A) return B) break C) continue 二.填空题

D) goto 1.在switch语句中,在每个分支的最后应有一条【 break 】语句。

2.在C#中,实现循环的语句主要有【while】、do……while和【 for】语句。

3.在循环执行过程中,希望当某个条件满足时强行退出循环,应使用【break 】语句。

4.下列程序完成的功能是求出所有的水仙花数。(所谓水仙花数是指这样的数:该数是三位数,其

各位数字的立方和等于该数。例如:153=13+53+33,所以153是一个水仙花数。)请填空。 class Program { public static void Main(string[] args) { int a, b, c, t; for(i=100; i<=【 999 】; i++)

{ t=i;

a=t; t=t/10; b=t; c=t/10;

if(【 i==a*a*a+b*b*b+c*c*c 】) Console.WriteLine(\ \

} } }

5.下列程序的功能是:输出100以内能被3整除且个位数为6的所有整数。请填空。 class Program { public static void Main(string[] args) { int i, j; for(i=0;【 i<10 】; i++)

{ j=i*10+6;

if(【 j%3==0 】) Console.Write (\ \

} } }

6.下列程序的功能是:产生100个两位随机正整数,求这些数中所有能被3整除的数的和,以及所

有不能被3整除的数的各位数字和。请填空。

static void Main(string[] args)

{ float sum1=0,sum2=0; int i,num;

Random randObj1=new Random(); for(i=1;i<=100;i++)

{ num=【randObj1.Next(10,100) 】;

if(num%3==0)

{ sum1=sum1+num; 【 continue; 】 } sum2=sum2+num;

sum2=sum2+num/10; }

Console.WriteLine(\能被3整除的数的和为:{0}\

Console.WriteLine(\不能被3整除的所有数的各位数字和为:{0}\ Console.Read (); }

- 8 -

三.读程序题

1.有以下程序代码,若执行时从键盘上输入9,则输出结果是【 10 】。 class Program { public static void Main(string[] args) { int n;

n=int.Parse (Console.ReadLine());

if (n++<10) Console.WriteLine(\ else Console.WriteLine(\ Console.Read(); } }

2.下列程序的运行结果是【i=11, s=0 】。 class Program { public static void Main(string[] args) { int i=0,s=1; do { s/=s+1;

i++; }while(i<=10);

Console.WriteLine(\ } }

3.下列程序的运行结果是【 m=51,n=50 】。 class Program { public static void Main(string[] args) { int i=0,m=0,n=0; while(i<=100) { if(i%2==0) m+=1; else n=n+1; i++;

}

Console.WriteLine(\ } }

4.下列程序的运行结果是【 m=3 】。

static void Main(string[] args) { int a=15,b=21,m=0; switch (a%2)

{ case 0: m++; break; case 1: m++;

switch (b%2)

{ case 0: m++; break; default: m=m+2; break; } break;

}

- 9 -


C#习题集(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:《职业生涯规划》教案第三单元第3课:制定措施落实职业生涯规划

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: