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();