C#题库2.docx
- 文档编号:7672380
- 上传时间:2023-01-25
- 格式:DOCX
- 页数:17
- 大小:20.87KB
C#题库2.docx
《C#题库2.docx》由会员分享,可在线阅读,更多相关《C#题库2.docx(17页珍藏版)》请在冰豆网上搜索。
C#题库2
一、判断题:
1while循环是先执行后判断,而do…while则是先判断后执行
2顺序结构程序是按程序语句的编写顺序依次执行。
3for循环中括号内的分号可以省略
4for循环中括号内的三个表达式都可以省略
5while语句的语法格式是while(表达式);{循环体}
6do…while语句的语法格式是do{循环体}while(表达式);
7break在循环语句中的作用是提前跳出整个循环结构
8for(表达式1;表达式2;表达式3){循环体;}循环的执行流程是:
先执行表达式1,在判断表达式2,如果为真则执行表达式3,再执行循环体,然后再判断再循环,如果为假则直接跳出循环结构
9continue在循环语句中的作用是提前跳出整个循环结构
10while循环和do…while循环在任何情况下都完全等价
11嵌套循环的循环次数等于外层循环的次数乘以内层循环的循环次数
12数组属于引用类型
13一维数组中的元素必须是相同类型的数据
14数组初始化时,布尔类型一般被初始化为true
15循环语句包括if、switch、goto
16使用foreach语句只能输出二维数组的一行,不能输出全部。
17可以使用数组的length属性得到数组的元素个数
18goto语句可以单独使用
19定义一个数组时,必须明确的给定数组的大小
20定义并初始化数组时必须使用new关键字
21数组的索引可以是整数,也可以是字符。
22二维数组的元素可以是不同类型的数据。
23使用foreach语句输出二维数组的数据比用for语句执行速度快。
24Inti=100;
if(i>=99)
语句1:
Console.WriteLine(""{0}>=99"",i);
else
语句2:
Console.WriteLine(""{0}<99"",i);
语句2永远都不会执行到。
"
25if…else选择语句中只能嵌套if…else选择语句,不能嵌套其他结构的语句
26if…else选择语句中只能嵌套选择语句,不能嵌套循环结构的语句
27当同时存在多个if,else时,else与其前面的、最近的、未配对的if进行配对
28选择语句嵌套最多只能嵌套三层
29在选择结构中else关键字的个数不能多于if,但是if的个数可以多于else
30选择语句if()括号中的表达式的值必须是bool类型,要么为true,要么为false
31在选择语句中,else的数目必须与if相等
32在switch语句中,default必须存在
33在switch语句中,case分支的顺序可以调换
34选择语句if()括号中的表达式只能是关系表达式
二:
单选
1.以下程序段:
Inti,sum=0;
i=Convert.ToInt32(Console.ReadLine());
while(i<=10)
{sum+=i;
i++;
}
Console.WriteLine(sum);
当输入数值11时输出的结果为:
1155100
2.以下程序段:
Inti,sum=0;
i=Convert.ToInt32(Console.ReadLine());
do
{sum+=i;
i++;
}while(i<=10);
Console.WriteLine(sum);
当输入数值11时输出的结果为:
1155100
3.代码填空:
程序要求(求1-100之间的奇数之和。
)intsum=0;
for(inti=1;i<100;i++)
{
_______
}
Console.WriteLine(sum);
sum+=i;sum+=i;i++;sum=sum+i;sum=sum+i;i=i+2;
4.以下程序段:
Inti;
for(i=1;i<10;i++)
{
if(i%2==0)
break;
}
Console.WriteLine(i);
该程序的执行结果为:
01210
5.以下程序段:
Inti,sum=0;
for(i=1;i<10;i++)
{
if(i%2==0)
continue;
sum+=i;
}
Console.WriteLine(sum);
程序运行的结果为:
0202555
6.以下程序段:
]
Inti,sum=0;
for(i=1;i<10;i++)
{
sum+=i;
i++;
}
代码中循环执行的次数为:
45610
7.以下关键字不用于循环结构的关键字是:
forwhiledo…whileswitch
8.以下程序段:
inti=1,sum=0;
while(i<10)
{
sum+=i;
i++;
}
代码中循环结束后i的值为:
191011
9.以下程序段:
Inti,sum=0;
for(i=1;i<10;i++)
{
sum+=i;
i++;
}
代码中循环结束后i的值为:
191011
10.代码填空:
程序要求(求100以内能被3整除但不能别5整除的所有整数。
)
for(inti=1;i<100;i++)
{
if(____)
Console.WriteLine(i);
}
括号中应该填入的内容是:
i%3=0&&i%5!
=0
i%3==0&&i%5!
=0
i%3==0||i%5!
=0
i%3=0||i%5!
=0
11.以下程序段有错误,请问是第几行代码出错了?
(1)intsum=0;i=2;
(2)do{
(3)sum+=i;i++;
(4)}while(i<=100)
1234
12.以下哪个关键字是用来跳出循环结构的?
ifforbreakswitch
13.代码填空:
程序要求(求1-100之间的所有数的倒数之和。
)
floatsum=0;
for(inti=1;i<=100;i++)
{
____
}
Consoe.WriteLine(sum);
sum+=i;sum=sum+i;sum+=1/i;sum+=1.0/i;
14.代码填空:
程序要求(求100以内能被3整除的最大的整数。
)
for(inti=100;i<1;i--)
{
if(____)break;
}
Console.WriteLine(i);
i%3=0i%3!
=0i%3i%3==0
15.代码填空:
程序要求(求100以内能被3整除的所有整数。
)
for(inti=1;i<100;i++)
{
if(____)continue;
Console.WriteLine(i);
}
i%3=0i%3!
=0i%3i%3==0
16.以下程序段:
inti,j;
for(i=1;i<=9;++i,++i)
{
for(j=1;j<=9;j++,j++)
{
Console.Write(""{0}\t"",i*j);
}
}
这段代码中内层for循环执行的次数为:
9182781
17.以下程序段:
inta,b;
for(a=1,b=1;a<=10;++a)
{
if(b>=10)break;
if(b%3==1)
{
b+=3;continue;
}
}
Console.WriteLine(a);
这段代码执行得到的结果是:
2468
18.以下程序段:
inti=0,j=0,sum=0;
while(i>=j&&sum!
=5)
{
sum=i+j;
i++;
j++;
}
程序执行的结果为:
546死循环
19.以下程序段:
inti,j,x=0;
for(i=0;i<2;i++)
{
x++;
for(j=0;j<=3;j++)
{
if(j%2!
=0)continue;
x++;
}
x++;
}
Console.WriteLine(x);
程序执行的结果为:
481216
20.以下程序段:
for(inti=1;i<=9;i++)
{
for(intj=1;j<=i;j++)
{
Console.Write(""{0}*{1}={2}\t"",i,j,i*j);
}
Console.WriteLine();
}
此外层for循环执行的次数为:
9455081
21.数组的索引一般从()开始
01-1任意值
22.下列定义数组的语句正确的是:
intarr[5];
int[]arr=newint[5];
intarr=new[5];
int[]arr=new[5]
23.当添加一个值类型到数组初始化时,字符类型被初始化为:
0
-1
“”
null
24.一维数组arr的最大长度是:
100
arr.Length
arr.Length-1
arr.Length+1
25.下列关于二维数组的定义正确的是:
int[1][2]arr=newint[][];
int[][5]arr=newint[,];
int[,]arr=newint[][2];
int[,]arr=newint[2,5]
26.如果要存放5个学生的学生成绩,下列语句正确的是:
double[]score;
double[5]score;
double[]score;
double[]score=newint[5];
27.若定义了以下数组:
char[,]str=newchar[3,2];下列判断正确的是:
该数组有3行2列
该数组有2行3列
该数组中的元素为:
3*2-1个
该数组可以存储整型数据
28.判断下列语句的循环次数:
for(inti=1;i arr.Lengtharr.Length-1arr.Length-2arr.Length+1 29.下列使用for语句遍历整个数组正确的是: for(inti;i for(inti=0;i for(inti=0;i for(inti=0;i 30.关于数组: int[]arr={1,2,3,4,5};下列说法正确的是: arr[1]=1; arr[5]=5; arr.Length=5; arr.Length-1; 31.下列使用foreach语句遍历整个数组正确的是: foreach(intiinarr){Console.WriteLine(i);} foreach(intiinarr){Console.WriteLine(arr[i]);} foreach(intarr[i]inarr){Console.WriteLine(arr[i]);} foreach(intarr[i]inarr){Console.WriteLine(i);} 32.已知一个包含5个数据的一维数组,若要查找其中的一个数,最多需要比较几次。 3456 33.如果要存放10个学生的姓名,下列语句正确的是: intname[10]; 10 stringname[10]; string[]name=newstring[10]; 34.当添加一个布尔类型到数组初始化时,布尔类型被初始化为: 0空TRUEFALSE 35.若有数组: char[]name=newchar[5];下列关于数组元素的赋值语句正确的是: name[0]="h"; name[1]="hello"; name[3]='a'; name[5]='b'; 36.如果需要输出一个3行2列的数组里的所有元素,用for循环需要执行多少次才能完成2356 37.若有一个包含10个数据的排好序的一维数组,需要找出最大值,最少需要比较多少次01105 38.一个二维数组的第一个下标表示: 行列全部数据的第n个数据第n个数据的值 39.若要同时存放5个学生的5门功课的成绩,下列哪种数据结构最合理 定义一个数组,存放25个数据 定义25个变量 定义5个变量 定义一个5行5列的二维数组 40.下列初始化数组正确的是: int[]arr=newint[5]{1,2,4,6,8,3}; int[]arr={1,2,36}; int[]arr=newint[5]{1,2}; int[]arr=new[]{1,2,5,7} 41.下面哪个关键字不是用于选择语句的 ifelseforswitch 42.下面对if的说法正确的是() 系统提供的关键字 不是标识符 主要用于循环结构 非法关键字 43.多路分支选择结构用的关键字是() switchwhilecontinuefor 44.switch结构中所用到的关键字是() whileforcaseelse 45.请选择应该填入小括号的内容 inta=3,b=4; if(____) Console.WriteLine("a和b的值相等"); else Console.WriteLine("a和b的值不相等"); a=ba==ba 46.思考下面程序片段 inta; a=Convert.ToInt32(Console.ReadLine()); if(a>10&&a<100) Console.WriteLine(a); else Console.WriteLine("不属于该范围"); 假如程序运行后输入的值为: 200,则输出结果是? 200不属于该范围10100 47.思考下面程序片段的输出结果 chara='a',b='c'; if(a>b) Console.WriteLine(a); acb无结果 48.思考下面程序片段的输出结果 49.chara='c'; switch(a) { case'a': Console.WriteLine("a");break; case'b': Console.WriteLine("b");break; case'c': Console.WriteLine("c");break; } abc没有结果 50.下面语句说法正确的是 if()后面可以有分号 没有if的情况下else可以单独存在 switch结构中可以没有case关键字 if()后面不能有分号 51.思考下面程序片段 charc; c=Convert.ToChar(Console.ReadLine()); if(c=='h')Console.WriteLine(c); 假如在键盘中输入a,则输出的结果是? ahahha 52.现定义两个变量a,b接收任意两个整数,要求交换这两个变量的值并输出。 请完成下面的程序片段 inta,b,c; a=Convert.ToInt32(Console.ReadLine()); b=Convert.ToInt32(Console.ReadLine()); ___________Console.WriteLine("两个数交换后,a={0},b={1}",a,b); c=a;a=b;b=c; a=b;b=c;c=a; b=c;c=a;a=b; c=a,a=b,b=c; 53.以下不正确的if语句形式是() if(x>y&&x! =y); if(x==y)x+=y; if(x! =y)Console.WriteLine("x! =y"); elseConsole.WriteLine("x==y"); if(x 54.已知intx=10,y=20,z=30;当语句if(x>y)z=x;x=y;y=z;执行后x,y,z的值是() x=10,y=20,z=30 x=20,y=20,z=30 x=20,y=30,z=10 x=20,y=30,z=20 55.以下程序片段的运行结果是 intm=5; if(++m>5) Console.WriteLine(++m); else Console.WriteLine(m++); 5678 56.为了避免在嵌套的条件语句if--else中产生歧义,C#语言规定: else子句总是与()配对 缩进排位置相同的if 其之前的最近的未配对的if 其之后的if 同一行上的if 57.与语句sum=a>b? a: b;等价的语句是 if(a>b)sum=a;sum=b; if(a if(a>b)sum=b;elsesum=a; if(a>b)sum=a;elsesum=b; 58.现有下列程序片段 charx=Convert.ToChar(Console.ReadLine()); if(x>=97&&x<=122) {x=Convert.ToChar(x-32);Console.WriteLine(x);} elseConsole.WriteLine("输入不符合要求"); 假设从键盘中输入b,则输出结果为? bB? 输入不符合要求 59.判断char型量ch是否为大写字母的正确表达式是 ‘A’<=ch<=‘Z’ ch>=‘A’||ch<=‘Z’ (ch>=‘A’)&&(ch<=‘Z’) a'<=ch<='z' 60.要求输入任意一个浮点数,并输出其绝对值。 请问下面程序中满足要求的是 (1)inta;a=Console.ReadLine();if(a>0)Console.WriteLine(a);elseConsole.WriteLine(-a); (2)doublea;a=Console.ReadLine();if(a>0)Console.WriteLine(a);elseConsole.WriteLine(-a) (3)inta;a=Convert.ToInt32(Console.ReadLine());if(a>0)Console.WriteLine(a);Console.WriteLine(-a); (4)doublea;a=Convert.ToDouble(Console.ReadLine());if(a>0)Console.WriteLine(a); elseConsole.WriteLine(-a); 三、多选: 1.以下关键字是用于循环结构的关键字有: forwhiledo…whileswitch 2.以下关键字是用于循环结构中跳出循环的关键字有: ifbreakcontinueswitch 3.break关键字是跳转的意思,可以用于跳出如下哪些语句? switchifdo…whilefor 4.结构化程序设计有哪几种结构? 选择循环顺序跳转 5.以下哪些代码实现的是1+2+…+100的和? (A)intsum=0,i=1; while(i<=100) { sum+=i; i++; } Console.WriteLine(sum); (B)intsum=0,i=1; do { sum+=i; i++; }while(i<=100); Console.WriteLine(sum); (C)intsum=0; for(inti=1;i<=100;i++) { sum+=i; i++; } Console.WriteLine(sum); (D)intsum=0,i=1; for(;;) { if(i>100)break; i++ } Console.WriteLine(sum); 6.下列初始化数组,语句正确的是: int[]arr=newint[3];arr[0]=1; intarr=newint{1,2,3}; int[]arr=newint[3]{1,2,3} int[]arr={1,2,3} 7.若定义了包含5个元素的整型数组arr,则下列赋值正确的是: arr[0]="1"; arr[1]=3; arr[2+2]=3; arr[5]=6; 8.下列对二维数组进行初始化的语句正确的是: int[,]arr=newint[,]{{1,2},{3,4}}; int[,]arr=newint[2,2]{{2,1},{3,4}}; int[,]arr={{1,2},{1,2}}; intarr={{1,2},{3,4}}; 9.使用循环语句输出二维字符数组arr的元素,正确的是 foreach(intiinarr){Console.WriteLine(i);} foreach(chariintarr){Console.WriteLine(i);} for(inti=0;i foreach(chariinarr){Console.WriteLine(arr[i]);} 10.已知一维整型数组score,存储5个学生的成绩,下列输出语句正确的是: for(inti=0;i<5;i++){Console.WriteLine(score[i]);} for(intiinscore){Console.WriteLine(i);} foreach(intiinscore){Console.WriteLine(i);} foreach(inti=0;i<5;i++){Console.WriteLine(score[i]);} 11.选择语句if()后面的小括号中可以填写的表达式有 a 12.用于表达选择结构的关键字有 ifelsecaseswitch 13.下面程序段中正确的是 if(a if(a>b&&b>c)max=a;elsemax=b;elsemax=c; if(a>b&&a>c)max=a; if(a 14.有一函数关系如下: -1(x<0) y={0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C# 题库