c#期中考试程序设计复习

一、选择题 1.以下不属于C#值类型的是( )。 A.内置值类型 B.数组 C.结构 D.枚举 2.C#语言程序从(     )开始执行。
  1. A) 程序中第一条可执行语句
  2. B) 程序中第一个函数
  3. C) 程序中的main函数         
  4. D) 包含文件中的第一个函数
3、以下说法中正确的是( )。 A、C#语言程序总是从第一个定义的函数开始执行 B、在C#语言程序中,要调用的函数必须在main( )函数中定义 C 、C#语言程序总是从main( )函数开始执行 D、C#语言程序中的main( )函数必须放在程序的开始部分 4.下列正确的标识符是( )。 A.-a1             B.a[i]          C.a2_i          D.int t 5.小数类型(decimal)和浮点类型都可以表示小数,正确说法:(    )
  1. 两者没有任何区别
  2. 小数类型比浮点类型取值范围大
C.小数类型比浮点类型精度高
  1. 小数类型比浮点类型精度低
6.可用作C#程序用户标识符的一组标识符是(    )。
  1. void define +WORD      B. a3_b3    _123     YN
  2. for -abc Case          D. 2a      DO      sizeof
7.引用类型主要有4种:类类型、数组类型、接口类型和(     )。 A.对象类型 B.字符串类型 C.委托类型 D.整数类型 8.将变量从字符串类型转换为数值类型可以使用的类型转换方法是(   )。 A.Str()   B.Cchar   C.CStr()   D.int.Parse();
  1. C#是一种面向( )的语言。
  2. 机器 B.过程C.对象  D.事物
10.假定一个10行20列的二维整型数组,下列哪个定义语句是正确的(    )。
  1. int[]arr = new int[10,20]
  2. int[]arr = int new[10,20]
  3. int[,]arr = new int[10,20]
  4. int[,]arr = new int[20;10]
11.属于C#语言的关键字(    )。
  1. abstract B. camel
  2. Salary D. Employ
12.以下不属于.NET编程语言的是(  )。 A .Java                B.C#           C.VC.NET         D.VB.NET 13.C#语言经编译后得到的是(  )。 A.汇编指令           B.机器指令 C.本机指令       D .Microsoft中间语言指令
  1. C#的引用类型包括类、接口、数组、委托、object和string。其中object( )的根类。
A.只是引用类型        B.只是string类型 C.只是值类型            D .是所有值类型和引用类型 15.以下不属于C#简单值类型的是(  )。 A.int类型                    B.char类型 C.枚举类型        D.bool类型 16..浮点常量有三种格式,下面(  )组的浮点常量都属于double类型。 A.3.1415,3.1415D,0.31415E+1 B.3.1415,3.1415d,3.1415m C.3.1415,3.1415F,3.1415D D.3.1415,31415E-4,3.1415M 17.当表达式中混合了几种不同的数据类型时,C#会基于运算的顺序将它们自动转换成同一类型。但下面(  )类型和decimal类型混合在一个表达式中,不能自动提升为decimal。 A.int     B.uint   C.byte  D .float 18.以下赋值语句中,正确的有(  )。 A.ushort n1=60000         B.short n2=60000 C.long n=666;int m=n; D.decimal d1=60;double d2=d1; 19.在C#编制的财务程序中,需要创建一个存储流动资金金额的临时变量,则应使用语句(  )。 A.int money;                    B.string money; C.decimal money;                   D.dim money as double; 20.在C#中,新建一字符串变量str,并将字符串“Tom’s living room”保存到str中,则应使用语句(  )。  A .string str=” Tom\’s living room”; B.string str=” Tom’s living room”; C.string str(” Tom’s living room”); D.string str(” Tom’’s living room”); 21.以下数组声明中,不正确的有(  )。 A.int[] a ;              B.int[] a=new int[2]; C.int [] a={1,3}        D .int [] a=int []{1,3} 22.以下可以为二维数组进行赋值的是(  )。 A.int[,] a=new int[,]{1,2,3,4,5,6,7,8}; B.int[,] a=new int[2,3]{{1,2},{3,4}}; C.int[,] a=new int[2,3]{{1,2,3},{1,2}}; D.int[,] a=new int[,]{{1,2,3},{4,5,6}}; 23.设有数组声明语句int[, ,] arr=new int[2,3,4];则下面说法正确的是(  )。 A.arr是一个有三个元素的一维数组,元素初始值分别是2,3,4。 B.arr是一个三维数组,它的元素一共有24个。 C.arr是一个维数不确定的数组,使用时可以任意调整。 D.arr是一个不规则数组,数组元素的个数可以变化。 24.设double型变量d1和d2的取值分别为12.5和5.0,那么表达式d1/d2+(int)( d1/d2)-(int) d1/d2的值为(  )。 A.2.9       B.2.5          C .2.1       D.2 25.设bool型变量b1和b2的取值分别为true和false,那么表达式b1&&(b1||!b2)和b1|(b1&!b2)的值分别为(  )。 A .true   true            B.true  false C.false    false           D.false     true 26.设int a=9, b=6; double c;执行语句c=a/b+0. 8;后c的值是(  )。
  1. 1             B. 1. 8 C. 2             D. 2. 3
27.设int a=0, b=25, c=10, d;  则执行语句d=c<1?a+10:b;后d的值是(  )。 A.0             B.1       C.10            D .25 28.设int型变量x的值为4,那么表达式x << (x >> 2)的值是(  )。 A.2             B.4       C .8           D.10 29.下列语句执行后y的值为(  )。 int x=0, y=0; while(x<10) {y+=(x+=2);} A.10          B.20          C .30       D.55 30.要使用变量age来存储人的年龄,则将其声明为(     )类型最为适合。 A.sbyte       B byte    C.int      D.float 31.若多维数组a有4行3列,那么数组中第10个元素的写法为(     )。 A.a[10]      B.a[2,1]      C a[3,0]    D.a[4,1] 32.拆箱转换是指将一个(     )的数据显式地转换成一个(     )数据。 A.对象类型、对象类型   B. 对象类型、值类型 C.值类型、对象类型      D.值类型、值类型
  1. .NET框架类库的根命名空间是(),它包含所有基类型对象,所有其他类型都从基类型继承而来。
A.System        B. Object       C.Exception      D.Console   34.枚举元素的默认基础类型为(  )。默认情况下,第一个枚举数的值为(  )。
  1. enum 1 B. enum  0     C. int  0     D. int  1
  2. C#中( )是所有异常类的基类,异常处理中将可能发生异常情况的程序代码放到( )语句块中。
A.System   try               B. Exception  try
  1. Exception catch D. Error  try
36.为了简洁代码,C#语言中使用(   )语句来导入名命空间。 A.Console   B.System   C. using   D.namespace   二、程序阅读
  1. 写出以下程序的运行结果。
using System; class Test { public static void Main() { int x = 5; int y = x++; Console.WriteLine(y); y=++x; Console.WriteLine(y); } }   5 7   2.写出下列函数的功能。 static int SA(int a,int b) { if (a>b) return 1; else if (a==b) return 0; else return -1; }   比较两个整数a和b的大小,若a>b则返回1,若a= =b则返回0,若a     3.写出下列函数的功能。 static float FH() { float y=0,n=0; int x = Convert.ToInt32(Console.ReadLine()); //从键盘读入整型数据赋给x while (x!=-1) { n++; y+=x; x = Convert.ToInt32(Console.ReadLine()); } if (n==0) return y; else return y/n; }   求出从键盘上输入的一批常数的平均值,以-1作为结束输入的标志。  
  1. using System;
class Test { static int[] a = { 1, 2, 3, 4, 5, 6, 7, 8 }; public static void Main() { int s0, s1, s2; s0 = s1 = s2 = 0; for (int i = 0; i < 8; i++) { switch (a[i] % 3) { case 0: s0 += Test.a[i]; break; case 1: s1 += Test.a[i]; break; case 2: s2 += Test.a[i]; break; } } Console.WriteLine(s0 + " " + s1 + " " + s2); } }   9 12 15   5.写出以下程序运行结果。 using System; class Test { const int N=5; public static void Main (){ int a = 0; for(int i=1; i5   8   11   14   6.写出以下程序的运行结果。 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   4   6 8  10  12 14  16  18   7.写出以下程序运行结果。 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); }  }   i,s = 15, 56  
  1. static void Main(string [ ] args)
{ string[] words = new string[ ] { “a”,”b”,”c”}; foreach ( string word in words) { Console.WriteLine(word); } }   a b c     三、程序设计   1 .打印出所有的 " 水仙花数 " ,所谓 " 水仙花数 " 是指一个三位数,其各位数字立方和等于该数本身。   using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;   namespace _4_1 { class Program { static void Main(string[] args) { int a, b, c; for (int i=100; i<1000;i++) { a = (int)(i / 100); b = (int)((i / 10)%10); c = i % 10;   if (a * a * a + b * b * b + c * c * c == i) { System.Console.WriteLine(i); }     } System.Console.ReadLine(); } } }     2 .输入两个正整数 m n ,求其最大公约数和最小公倍数。(辗转相除法)   using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;   namespace _4_2 { class Program { static void Main(string[] args) { int m, n, a, b, tmp; System.Console.Write("请输入第一个数:"); m = int.Parse(System.Console.ReadLine()); System.Console.Write("请输入第二个数:"); n = int.Parse(System.Console.ReadLine()); a = m; b = n; if (m < n) { tmp = m; m = n; n = tmp; }   while (m % n!=0) { tmp = m % n; m = n; n = tmp; } System.Console.WriteLine("最大公约数是:{0}", n); System.Console.WriteLine("最小公倍数数是:{0}", a*b/n);   System.Console.ReadLine(); } } }   3. 用数组来求 Fibonacci 数列问题。 Fibonacci 数列是 1 1 2 3 5 8 13 21 34 ……要求程序每行输出 5 Fibonacci 数。   using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks;   namespace P2_14 { class Program { static void Main(string[] args) { int i; int[] f = new int[20]; f[0] = 1;f[1] = 1; for (i = 2; i < 20; i++) f[i] = f[i - 2] + f[i - 1]; for (i=0;i<20;i++) { if (i % 5 == 0 && i != 0) Console.WriteLine(); Console.Write("{0,-8}", f[i]); } Console.ReadLine(); } } }   4 .输入一个学生若干门课的成绩,然后输出其总成绩、平均成绩、最好成绩、最差成绩,分析并给出评语。(平均成绩高于 90 (包括 90 )为 A 等;平均成绩低于 90 并高于 80 (包括 80 )为 B 等;平均成绩低于 80 并高于 60 (包括 60 )为 C 等;平均成绩低于 60 D 等;) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace _4_4 { class Program { static void Main(string[] args) { int i,tmp,num=0,avg,max,min; string grade; System.Console.Write("请输入科目数:"); i=int.Parse(System.Console.ReadLine()); int[] fenshu = new int[i]; for (int j = 0; j < i; j++) { System.Console.Write("请输入第{0}科成绩:",j+1); fenshu[j] = int.Parse(System.Console.ReadLine()); } max = fenshu[0]; min = fenshu[0]; for (int j = 0; j < i; j++) { num = num + fenshu[j]; if (fenshu[j] > max) max = fenshu[j]; if (fenshu[j] < min) min = fenshu[j]; } avg = num / i; switch (avg / 10) { case 10: case 9: grade = "A等"; break; case 8: grade = "B等"; break; case 7: case 6: grade = "C等"; break; default: grade = "D等"; break; } System.Console.WriteLine("总成绩为:{0}",num); System.Console.WriteLine("平均成绩为:{0}",avg); System.Console.WriteLine("最好成绩为:{0}",max); System.Console.WriteLine("最差成绩为:{0}",min); System.Console.WriteLine("评语为:{0}", grade); System.Console.ReadLine(); } } }

转载于:https://my.oschina.net/u/2523939/blog/531711

你可能感兴趣的:(c#,java)