21号测试

18 阅读3分钟

21号测试

简答题

1:C#中共表示分支语句有哪些?


if else if else

switch case

2:单分支的语法?

if(bool){
  // 代码
}

3:多分支的语法?

if(boo){

}
else if(bool){

}
else[]

4:双分支的语法?

if(bool){

}else {

}

5:循环语句的特点是什么?

1: 将代码片段重复执行多次
2:有规律的重复执行的一段代码
3:for中声明的变量只能在for的内部使用,外部无法访问
4:多次循环执行结束后;for不会冲头再来

6:while的语法?

while(bool){
  // 循环体
}

7:for的语法是什么?

for(初始表达式; 条件表达式 ; 自增/自减){

}

8:什么语句可以阻止下面语句执行?

Console.ReadLine();
Conosole.ReadKey();

9:什么情况可以阻止下面语句执行

1: 出bug
2:打断点
3:Console.ReadLine();
   Conosole.ReadKey();

10:c#中值类型有哪些

整型   (u)byte  (u)short int long
浮点型  float double decimal
字符    char
布尔    bool

11:你认为C#中数类型的作用是什么

1: 将存储的大量数据进行分类管理。

写代码角度:
2:约束变量赋什么值?

补全代码

? 为需要填充的代码

int num = 123;
double a = 1.2;
char b = 'a';
string c= "aaa";
random d = new Random();
Person p = new Person();
float c = 0.1f;
Person d = new Person;
if(true)
{
  // 执行
}
if(flase){

}else {
  这里执行
}
if(flase){}
else if(flase){}
else if(flase){}
// 都不执行
while(true){
  死循环
}
while(flase){
  // 一次不执行
}
int i = 5;
while(i>0){
  // 这里执行 无数次 次
  i++;
}
for(int i = 0;i<5;i++){
  // 这里执行5次
}

编程题

1:求10—100 的随机整数

  Random random = new Random();  
        int randomNumber = random.Next(10, 101); // 生成10到100之间的随机整数(包括10和100)  
        Console.WriteLine("随机整数是: " + randomNumber);

2:求0-1的随机小数

 Random random = new Random();
     double randomNumber = random.NextDouble();
     Console.WriteLine($"随机整数是{randomNumber}");

3:求 1-10的随机小数 保留一位小数

            Random random = new Random();
            // 生成一个1到10之间的随机整数  
            int randomInt = random.Next(1,10);
            // 生成一个0到1之间的随机数
            double randomDouble = random.NextDouble();
            //我他么加起来成一个随机数
            double randomAnd = (double)randomInt + randomDouble;
            //{0:F1} 是一个格式说明符,将randomAnd格式化为一个带有一位小数的浮点数。
            Console.WriteLine("随机小数是: {0:F1}", randomAnd);
    			Random r = new Random();
                double num = r.NextDouble();
                num = num * 10;
                num = Math.Round(num, 1);
                if (num < 1)
                {
                    num = num + 1;
                }
                string numStr = num.ToString();
                if (numStr.Length==1)
                {
                    numStr = numStr + ".0";
                }
                Console.WriteLine(numStr);
                Console.ReadKey();

4⼀个球从某⼀⾼度落下来,每次落地后反跳回原来⾼度的⼀半,再落下。

编程计算球第10次反弹多⾼?在第10次落地时,共经过多少⽶?

输⼊球的初始⾼度,输出反弹多⾼,和经过了多少⽶

 static void Main(string[] args)
 {
     Console.Write("请输入球的初始高度(米): ");
     double initialHeight = double.Parse(Console.ReadLine());

     // 计算第10次反弹的高度  
     double reboundHeight = CalculateReboundHeight(initialHeight, 10);
     Console.WriteLine("第10次反弹的高度是: {0}米", reboundHeight);

     // 计算在第10次落地时,球共经过的距离  
     double totalDistance = CalculateTotalDistance(initialHeight, 10);
     Console.WriteLine("在第10次落地时,球共经过了: {0}米", totalDistance);

     Console.ReadKey();
 }
 // 计算第n次反弹的高度  
 static double CalculateReboundHeight(double initialHeight, int n)
 {
     return initialHeight * Math.Pow(0.5, n - 1);
 }
 // 计算在第n次落地时,球共经过的距离  
 static double CalculateTotalDistance(double initialHeight, int n)
 {
     double totalDistance = 0;
     double currentHeight = initialHeight;

     // 注意:球每反弹一次,实际上会经过两次该高度的距离(上升和下降)  
     for (int i = 1; i <= n; i++)
     {
         totalDistance += 2 * currentHeight; // 加上上升和下降的距离  
         currentHeight *= 0.5; // 更新反弹高度  
     }

     return totalDistance;
 }

5 输⼊⼀个整数a,和⼀个正整数n,计算乘⽅ a的n次⽅。

           Console.Write("请输入整数a: ");
           int a = Convert.ToInt32(Console.ReadLine());

           Console.Write("请输入正整数n: ");
           int n = Convert.ToInt32(Console.ReadLine());

           // 验证n是否确实是正整数  
           if (n <= 0)
           {
               Console.WriteLine("n必须是一个正整数!");
               Console.ReadKey();
               return;
           }

           // 计算a的n次方  
           double result = Math.Pow(a, n);

           // 输出结果  
           Console.WriteLine("a的n次方结果是: {0}", result);

           Console.ReadKey();