C程序设计习题集资料.docx

上传人:b****5 文档编号:28918731 上传时间:2023-07-20 格式:DOCX 页数:56 大小:82.77KB
下载 相关 举报
C程序设计习题集资料.docx_第1页
第1页 / 共56页
C程序设计习题集资料.docx_第2页
第2页 / 共56页
C程序设计习题集资料.docx_第3页
第3页 / 共56页
C程序设计习题集资料.docx_第4页
第4页 / 共56页
C程序设计习题集资料.docx_第5页
第5页 / 共56页
点击查看更多>>
下载资源
资源描述

C程序设计习题集资料.docx

《C程序设计习题集资料.docx》由会员分享,可在线阅读,更多相关《C程序设计习题集资料.docx(56页珍藏版)》请在冰豆网上搜索。

C程序设计习题集资料.docx

C程序设计习题集资料

 

C#程序设计习题集

 

大理学院软件教研室编

第一章C#概述

一、选择题

1.以下关于.NET描述不正确的是():

A.使应用程序对任何设备都能够进行访问 

B.改善系统和应用程序之间的交互性

C.简化应用程序开发和部署 

D..NET开发的应用程序不能够实现跨平台

2.管理和执行.NET程序代码的是():

A.CLRB.MSILC.CLSD.JIT

3.C#中导入某一命名空间的关键字是()。

A.useB.usingC.includeD.import

4.在C#中,引用命名空间System的正确语句是():

A.usingSystem;

B.#import;

C.usesSystem;

D.#include;

二.判断题

1.VB.NET编写的代码在C#.NET下不能够调用。

()

2..NET中一种语言具有的功能其他语言也都具有。

()

3.JIT编译器的主要工作是将普通MSIL代码转换为可以直接由CPU执行的计算机代码。

()

4.垃圾收集器使用户内存管理自动化。

()

三.填空题

1..NET中回收无用内存单元通过实现。

2..NET中,源程序编译成可执行代码分两步:

第一步是语言编译器把源代码编译为MSIL;第二步是把MSIL编译为机器可执行代码。

四.简答题

1.C#语言有哪些特点?

第二章C#程序设计入门

一、选择题

1.以下对引入命名空间的原因叙述正确的是():

A.命名空间可以解决程序逻辑错误问题

B.不同的人写的程序可能有重名现象

C.命名空间可以解决程序语法错误问题

D.命名空间使得.NET开发的应用程序非常容易跨平台

2.以下程序的输出结果是():

stringstr="b856ef10";

stringresult="";

for(inti=0;str[i]>='a'&&str[i]<='z';i+=3)

{

result=str[i]+result;

Console.WriteLine(result);

}

A.10fe658bB.febC.10658D.b

3.在C#中,引用命名空间System的正确语句是():

A.usingSystemB.#importC.UsingSystemD.import

4.在以下C#类中,()是控制台类,利用它我们可以方便的进行控制台的输入输出。

A.ControlB.ConsoleC.CancelD.Write():

二.判断题

1.namespace即“命名空间”,也称“名称空间”,VS.NET中的各种语言使用的一种代码组织的形式,通过名称空间来分类,区别不同的代码功能、同时也是VS.NET中所有类的完全名称的一部分。

()

2.一个C#程序中不允许出现两个或两个以上Main()方法,而且在C#中Main()方法必须包含在一个类中。

()

三.填空题

1.在C#中使用关键字来定义一个类。

2.C#规定,名字为的静态方法就是程序的入口。

3.C#中控制台输入主要通过Console类的方法和方法来实现。

4.C#中控制台输出主要通过Console类的方法和方法来实现。

5.在C#程序中,程序的执行总是从方法开始的。

6.在C#程序中,程序的执行总是从方法开始的。

7.数据类型说明符用来说明方法返回值的类型,如果没有返回值,则其类型说明符应为。

8.C#语言源代码文件的后缀名是。

9.Console.WriteLine(“RP”);和Console.Write(“RP”);的区别是

四.简答题

1.C#程序结构包括哪些组成部分?

2.简要说明WriteLine()、Write()、ReadLine()、Read()方法的功能?

3.举例说明冒泡排序算法思想。

第3章 C#程序设计基础

一、选择题

1.以下类型属于值类型的是():

A.intB.int[]C.interfaceD.delegate

2.以下类型属于引用类型的是():

A.intB.classMyClass{...}C.floatD.bool

3.以下类型属于引用类型的是():

A.enumB.struct{...}C.objectD.char

4.下列不合法的标识符是():

A.SumB.averageC._totalD.-total

5.下列合法的标识符是():

A.3abcB.AbcabcC.classD.Lotus_1_2_3

6.下列合法的标识符是():

A.@whileB.whileC.234aD.-Lotus_1_2_3

7.单精度浮点类型的数据用()关键字表示:

A.decimalB.floatC.doubleD.int[,]

8.以下类型属于小数类型的是():

A.3.15B.3.15mC.0.23D.23.00

9.以下数值哪一个是double类型():

A.137.22B.137.22fC.137.22mD.137u

10.以下表示字符串123的是():

A.“123”B.’123’C.”123”D.”123”

11.定义如下变量:

stringstr1="Hello,";stringstr2="China!

“;stringstr3=str1+str2;

那么这里的“+”号表示():

A.相加B.连接C.不是一个重载符D.String的Concat得到的值不一样

12.语句:

Console.WriteLine("Firstline\nSecondline");的输出结果是():

A.Firstline\nSecondline

B.FirstlineSecondline

C.Firstline

Secondline

D."Firstline\nSecondline"

13.语句:

Console.WriteLine(@"Firstline\nSecondline");的输出结果是():

A.@"Firstline\nSecondline"

B."Firstline\nSecondline"

C.Firstline

Secondline

D.Firstline\nSecondline

14.定义:

stringst="123";inti=30;intj;stringstr;以下赋值语句正确的是():

A.st=j;str=st;

B.j=i;j=Convert.ToInt32(123);

C.str=j;j=Convert.ToInt32(123);

D.st=i;str=i.ToString();

15.定义:

inti=225;objectobj;则,obj=i;完成()操作。

A.装箱B.拆箱C.重载D.继承

16.定义inta=20;constintb=30;以下操作正确的是():

A.constintc=b+25;

B.constintk=a+45;

C.c=150;

D.constj=a+b;

17.C#中,关系表达式'a'>'b'的结果为():

A.0B.1C.trueD.false

18.C#中,表示逻辑或的符号是():

A.||B.&&C.!

D.=

19.条件表达式5>7?

19:

9的结果是():

A.5B.7C.19D.9

20.装箱是把值类型转换到()类型。

A.stringB.charC.引用D.数组

21.下列标识符命名正确的是()。

A.C.23B.4boysC.int(8)D._mypanada()

22.下列类型中,哪个不属于引用类型?

(b)。

A.StringB.doubleC.ClassD.Delegate

23.在C#中,表示一个字符串的变量应使用以下哪条语句定义?

()。

A.CStringstr;

B.stringstr;

C.Dimstrasstring

D.char*str;

24.下列标识符命名正确的是(a)。

A.C_23B.4catsC.&YearsD.val(8)

25.下列标识符命名正确的是()。

A.exam-1B.MainC._monthsD.X.25

26.下面属于合法变量名的是()。

A.P_qrB.123mnpC.charD.x-y

27.可用作C#程序用户标识符的一组标识符是()。

A.voiddefine+WORD

B.a3_b3_123YN

C.for-abcCase

D.2aDOsizeof

28.字符串连接运算符是()。

A.+B.-C.*D./

29.在C#中,下列代码的运行结果是()。

usingSystem;

classTest

{

staticvoidMain(string[]args)

{

string[]strings={"a","b","c"};

foreach(stringinfoinstrings)

{

Console.Write(info);

}

}

}

A.abcB.aC.bD.C

30.在C#中,下列代码的运行结果是()。

int[]age=newint[]{16,18,20,14,22};

foreach(intiinage){

if(i>18)

continue;

Console.Write(i.ToString()+””);

}

A.16,18,20,14,22B.16,18,14,22C.16,18,14D.16,18

31.C#语言与Java语言一样,也是一种面向对象的语言,C#语言中声明类的关键字是()。

A.usingB.classC.namespaceD.Main()

32.在C#语言中,运算符"="和"=="的功能分别是(  )。

A.关系运算和赋值运算B.赋值运算和关系运算

C.都是关系运算D.都是赋值运算

二.判断题

1.C#的标识符使用字母或下划线作为开头,由字母、数字、下划线(“_”)和美元符号(“$”)组成,可以包括空格、标点符号和运算符。

()

2.C#的标识符不区别大小写。

()

3.C#关键字不能作为标识符使用。

()

4.数据类型是用来定义现实生活中各种数据形式的标识符及其存储形式。

()

5.整数类型的数据值只能是整数。

C#的整数取值可以从负无穷大到正无穷大。

()

6.C#的小数常量默认为double类型。

()

7.小数类型数据的后面必须跟m或者M后缀来表示它是decimal类型,否则就会被视为标准的浮点类型数据,导致数据类型不匹配。

()

8.在C#中,可以通过给数值常数加后缀的方法来指定数值常数的类型。

()

9.C#中的字符类型数据采用Unicode字符集。

字符类型的类型标识符是String。

()

10.凡是在单引号中的一个字符,就构成一个字符常数,而且单引号必须在中文输入法状态下输入。

()

11.布尔类型数据用于表示逻辑真和逻辑假,布尔类型的类型标识符是bool。

()

12.对引用类型而言,同一个数据只能有一个引用。

()

13.在C#中,object类是系统提供的基类型,是所有类型的基类,所有的类型都直接或间接派生于对象类型。

()

14.在逐字字符串中,以“\”开始的字符被当作正常的字符处理,而不是转义符。

()

15.规则字符串要对字符串的转义序列进行解释,而逐字字符串除了对双引号进行解释之外,对其它字符,无需解释,用户定义成什么样,显示结果就是什么样。

()

16.常量是指那些基于可读格式的固定数值,在程序的运行过程中其值是不可改变的。

通过关键字const来声明常量。

()

17.程序中,常量可以赋予初始值。

并且常量的值在程序的运行过程中允许改变,即可以对一个常量再次赋值。

()

18.变量是程序运行过程中用于存放数据的存储单元。

变量的值在程序的运行过程中是可以改变的。

()

19.在对变量进行赋值时,表达式的值的类型必须同变量的类型相同。

()

三.填空题

1.C#中的数据类型分为两个基本类别:

和。

2.布尔类型常数只有两种值:

(代表“真”)和(代表“假”)。

3.,其含义是该类型的变量不直接存储所包含的值,而是存储当前引用值的地址,因此引用类型数据的值会随所指向的值的不同而变化,同一个数据也可以有多个引用。

4.一个字符串是被一对所包含的一系列字符。

5.C#支持两种形式的字符串常数和。

6.把一个值类型,就是创建一个object类型的引用,并把该值类型的值复制给该object。

7.定义:

inti=225;objectobj=i;那么,intj=(int)obj;;完成操作。

8.定义双精度类型常量3.14的语句是:

9.表达式由、和组成。

10.常量通过关键字进行声明。

11.在C#中,进行注释有两种方法:

使用//和使用“/**/”符号对,其中

只能进行单行注释。

12.布尔型的变量可以赋值为关键字或。

13.C#通过和机制,可以实现值类型和引用类型之间的转换。

14.当整数a赋值给一个obiect对象时,整数a将会被。

四.简答题

1.什么是类?

2.什么是值类型?

什么是引用类型?

编程说明它们的区别。

第4章 结构化程序设计

一、选择题

1.定义语句:

if(X>0)gotoLarge;X=-X;Large:

returnX;这里的Large():

A.变量B.标签C.条件判断D.返回值

2.执行下列程序语句:

intOddNum=0,EvenNum=0;

int[]arrNum=newint[]{12,15,23,56,90};

foreach(intkinarrNum)

{

if(k%2==0)

EvenNum++;

else

OddNum++;

}

Console.WriteLine(EvenNum);

输出结果是:

A.3B.2C.12D.90

3.以下关于C#代码的说法正确的是()。

for(inti=0;i<=3;i++)

{

switch(i)

{

case0:

Console.Write(i.ToString());break;

case1:

Console.Write(i.ToString());break;

case2:

Console.Write((i*2).ToString());break;

case3:

Console.Write((i*3).ToString());break;

}

}

A.正确运行,但没有输出

B.输出0149

C.输山0123

D.有编译错误,提示case标签不能贯穿到另一个标签,不能运行

4.在c#的条件判断语句switchcase结构中,()子句用于指定在找不到匹配项时执行的动作。

A.continueB.gotoC.elseD.default

5.关于C#中的switchcase语句,以下说法正确的是()。

A.switch判断的表达式可以是整型或者字符型,但不能是字符串型

B.在该语句中最多不能超过5个case子句

C.在该语句中只能有一个default子句

D.在该句中只能有一个break语句

6.在下列C#代码中,程序的命名空间是()。

usingSystem;

namespaceTest{

classProgram{

staticvoidMain(string[]args){

Console.Write(“HelloWorld!

”);

}

}

}

A.TestB.MainC.namespaceD.Program

7.在.NET中,程序员在代码中漏写了一个大括号,这属于(C)。

A.逻辑错误B.运行时错误C.语法错误D.自定义错误

8.在C#中,关于continue和break,以下说法正确的是()。

A.break是中断本次循环

B.continue是中断本次循环,进入一下次的循环

C.break是中断本次循环,进入一下次的循环

D.continue是中断整个循环

9.数组pins的定义如下:

int[]pins=newint[4]{9,2,3,1};则pins[1]=()

A.1B.2C.3D.9

10.在数组中对于for和foreach语句,下列选项中说法不正确的是()。

A.foreach语句能使你不用索引就可以遍历整个数组

B.foreach语句总是从索引1遍历到索引Length

C.foreach总是遍历整个数组

D.如果需要修改数组元素就必须使用for语句

11.当month等于6时,下面代码的输出结果是()。

intdays=0;

switch(month)

{

case2:

days=28;

break;

case4:

case6:

case9:

case11:

days=30;

break;

default:

days=31;

break;

}

A.0B.28C.30D.31

二.判断题

1.foreach每执行一次循环体,循环变量就依次将集合中的一个元素带入其中,直到把集合中的元素处理完毕。

()

三.填空题

1.在C#语言中,实现循环的主要语句有while,do-while,for和语句。

2.在异常处理结构中,抛出的异常要用语句捕捉。

3.在do-while循环结构中,循环体至少要执行次。

4.在C#中,可以通过语句无条件抛出异常。

5.在循环结构中,continue语句的作用是。

6.在循环执行过程中,希望当某个条件满足时退出循环,使用语句。

7.在switch语句中,语句是可选的,且若存在,只能有一个。

8.结构化的程序设计的3种基本结构是,和。

9.在C#中,下列for循环的运行结果是。

for(inti=0;i<5;i++)

{

Console.Write(++i);

}

10.在C#中,下列代码的运行结果是。

for(inti=6;i>0;i--)

{

Console.Write(i--);

}

11.在C#中,下列代码的运行结果是。

int[]price=newint[]{1,2,3,4,5,6};

foreach(intpinprice)

{

if(p%2==0)

Console.Write(p);

}

12.下面循环语句的执行次数为次。

for(inti=0;i<=10;i+=2){}

13.System.Array有一个属性,通过它可以获取数组的长度。

四.程序设计

1.创建一个控制台应用程序,设计一个学生类,包括对学生基本信息的描述。

在该类中有一个方法用于对基本信息进行初始化,基本信息从键盘输入。

定义一个集合,用于存储学生对象集。

使用foreach语句输出每个学生的信息。

 

第5章 面向对象程序设计基础

一、选择题

1.定义“class水果类{Public颜色;}class香蕉类:

水果类{}”,那么水果类和香蕉类之间的关系是():

A.继承B.封装C.多态D.重载

2.定义一个学生类Student,则初始化一个学生对象的语句是():

A.Students;

B.Students=newStudent();

C.Students=newstudent();

D.Students=s.student();

3.在C#中,用符号()来实现类的继承。

A.?

B.:

C.%D.@

4.在C#中,()是当类实例化时首先执行的函数。

A.构造函数B.析构函数C.静态函数D.公有函数

4.在类Motorcycle中,定义一个StartEngine方法的语句是():

A.publicvoidStartEngine()

B.publicvoidStartEngine{}

C.publicStartEngine(){}

D.publicvoidStartEngine(){}

5.一般来说,导致方法返回的情况是():

A.执行到方法的结束花括号或者执行到return语句

B.执行到方法的结束花括号或者执行到break语句

C.执行到方法的结束圆括号或者执行到return语句

D.执行到方法的结束圆括号或者执行到break语句

6.调用方法时,传给方法的值称为():

A.引用参数B.形参C.实参D.参数数组

7.运行下列程序

classMyClass

{

publicvoidSwap(intx,inty)

{

intk;

k=x;

x=y;

y=k;

}

}

classTest

{

staticvoidMain()

{

inta=8,b=10;

Console.WriteLine("a={0},b={1}",a,b);

MyClassmycls=newMyClass();

mycls.Swap(a,b);

Console.WriteLine("a={0},b={1}",a,b);

}

}

程序的输出结果是():

A.a=8,b=10

a=10,b=8

B.a=10,b=8

a=8,b=10

C.a=8,b=10

a=8,b=10

D.a=10,b=10

a=8,b=8

8.运行下列程序

classMyClass

{

publicvoidSwap(refintx,refinty)

{

intk;

k=x;

x=y;

y=k;

}

}

classTest

{

staticvoidMain()

{

inta=8,b=10;

Console.WriteLine("a={0},b={1}",a,b);

MyClassmycls=newMyClass();

mycls.Swap(refa,refb);

Console.Wr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1