《C#程序设计》模拟试题
一 单项选择题(每小题2分,共20分)
1. C#源程序文件的默认扩展名为( )。
A. cpp
B. exe
C. cs
D. lik
2. C#程序从上机到得到结果的几个操作步骤依次是( )。
A. 输入、编辑、运行
B. 编译、连接、运行
C. 输入、运行、编辑
D. 编辑、编辑、连接
3. 以下标识符中不全是关键字的是( )。
A. case for int
B. default then while
C. bool class long
D. goto unit char
4. 能作为C#程序的基本单位是( )。
A. 字符
B. 语句
C. 函数
D. 源程序文件
5. 一个C#程序的程序入口点是( )。
A. main
B. MAIN
C. Main
D. 任意标识符
6. 可用作C#程序用户标识符的一组标识符是( )。
A. void define +WORD
B. a3_b3 _123 YN
C. for -abc Case
D. 2a DO sizeof
7. 设”int a=12;”,则执行完语句”a+=a*a;”后,a 的值是( )。
A. 12
B. 144
C. 156
D. 288
8. 假设在程序中 a 、b 、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式
abc
1的表达式是( )。
A. 1.0/a*b*c B. 1/(a*b*c) C. 1/a/b/(float)c D. 1.0/a/b/c
9. 设x 是一个bool 型的逻辑量,y 的值为10,则表达式 x && y 的值为( )。
A. 1
B. 0
C. 与x 值相同
D. 与x 值相反
10. x>0 && x<=10的相反表达式为( )。
A. x<=0 || x>10
B. x<=0 && x>10
C. x<=0 || x<=10
D. x>0 && x>10
二 填空题(每空2分,共20分)
1. 含随机函数的表达式rand()%20的值在 至19区间内。
2. 在switch 语句中,每个语句标号所含关键字case 后面的表达式必须是整型 。
3. 在if 语句中,每个else 关键字与它前面同层次并且最接近的 关键字相配套。
4. 作为语句标号使用的C++保留字case和default只能用于语句的定义体中。
5. 若while循环的“头”为“while(i++<=10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行次后正常结束。
6. 若do循环的“尾”为“while(++i<10)”,并且i的初值为0,同时在循环体中不会修改i的值,则循环体将被重复执行次后正常结束。
7. 当在程序中执行到语句时,将结束本层循环类语句或switch语句的执行。
8. 当在程序中执行到________语句时,将结束所在循环语句中循环体的一次执行。
9. 元素类型为int的10个元素的数组共占用________字节的存储空间。
10. 元素类型为double的4行6列的二维数组共占用________字节的存储空间。
三程序阅读题(每小题5分,共50分)
1.写出以下程序运行结果。
using System;
class Test
{
public static void Main ()
{
int[] a ={2,4,6,8,10,12,14,16,18};
for (int i=0; i<9; i++) {
Console.write(“ ”+a[i]);
if ((i+1)%3==0) Console.writeLine();
}
}
}
2.写出以下程序运行结果。
using System;
class Test
{
public static void Main ()
{
char[] a = "abcdabcabfgacd";
int i1=0,i2=0,i=0;
while (a[i]) {
if (a[i] == ’a’) i1++;
if (a[i]== ’b’) i2++;
i++;
}
Console.writeLine(i1+ ““ + i2);
}
}
三、程序阅读题(每小题6分,共24分)
1.写出以下程序运行结果。
using System;
class Test
{
public static void Main ()
{
int[] a ={2,4,6,8,10,12,14,16,18};
for (int i=0; i<9; i++) {
Console.write(“ ”+a[i]);
if ((i+1)%3==0) Console.writeLine();
}
}
}
2.写出以下程序运行结果。
using System;
class Test
{
public static void Main ()
{
char[] a = "abcdabcabfgacd";
int i1=0,i2=0,i=0;
while (a[i]) {
if (a[i] == ’a’) i1++;
if (a[i]== ’b’) i2++;
i++;
}
Console.writeLine(i1+ ““ + i2);
}
}
3.写出以下程序运行结果。
using System;
class Test
{
public static void Main ()
{
int s=0;
for (int i=1; ; i++) {
if (s>50) break;
if (i%2==0) s+=i;
}
Console.writeLine ("i,s=" + i + "," + s);
}
}
4.写出以下程序运行结果。
using System;
class Test
{
public static void Main ()
{
int i,j;
for(i=0; i<3; i++) {
for(j=0; j<=i; j++) Console.write(“*”);
Console.writeLine();
}
}
}
5.写出以下程序运行结果。
using System;
class Test
{
static void LE(ref int a, ref int b) {
int x = a;
a = b;
b = x;
Console.writeLine (a + ““ +b);
}
public static void Main ()
{
int x=10, y=25;
LE(ref x, ref y);
Console.writeLine (a + ““ +b);
}
}
6.写出以下程序运行结果。
using System;
class Test
{
static int LB(ref int[] a,int n) {
int s=1;
for (int i=0; i<n; i++)
s*=a[i];
return s;
}
public static void Main () {
int[] a = {1,2,3,4,5,6,7,8};
int b = LB(ref a,5) + LB(ref a,3);
Console.writeLine ( “b = “ +b);
}
四编程题(10分)
打印出2至99之间的所有素数(即不能被任何数整除的数)。