内容正文:
编写说明:河北省普通高等学校对口招生考试计算机类《算法与程序设计考点双析卷》,依据《河北省普通高等学校对口招生计算机类专业考试考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第13、第14卷精准对标河北省考纲,知识模块(二)C#的语言基础:
1. 掌握C#的基本语法;
2. 掌握程序代码的书写规则;
3. 掌握C#语言的数据类型:值类型;
4. 了解C#语言的引用类型:
5. 掌握常量和变量的表示方法;
6. 掌握变量命名,变量的类型转换,变量的作用域;
7. 掌握运算符:算术运算符、赋值运算符、关系运算符、逻辑运算符;各种运算符的优先级;
8. 掌握表达式组成规则及各类表达式;
9. 掌握C#语言的流程控制语句:
10. 掌握数组的定义、初始化、引用、数组中数据对象的赋值与输出,数组排序;
11. 掌握遍历数组元素的方法。
河北省对口招生考试 计算机类
《算法与程序设计》考点双析卷 第14卷
C#的语言基础(4) 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共10小题,每题3分,共30分)
1.在C#中,将一个double类型的变量转换为int类型时,会发生什么?( )
A.变量值四舍五入到最接近的整数 B.变量值截断为整数部分
C.变量值保持不变 D.引发编译时错误
【答案】B
【详解】在C#中,当你将一个double类型的变量转换为int类型时,小数部分会被直接截断,不会进行四舍五入。例如,double类型的值5.9转换为int类型后会变成5。
2.下列类型转换中正确的是( )
A.int i=’A’; B.long L=1.1f;
C.int i=float.1.1; D.int i=1.1;
【答案】A
【详解】选项A:正确。是隐式类型转换,i的值为65。
选项B:错误。应该使用显示类型转换,语句改为:long l=(long)1.1;
选项C和D:错误。应该使用显示类型转换,语句改为:int i=(int)1.1;
3.下列代码输出结果正确的是( )
static void Main(string[] args){
int i, j;
for(i=1;i>=0; i--) {
for(j=0;j<=i;j++){
Console.WriteLine(“i*j={0}”,i*j); }
}
}
A.i*j=0
i*j=0
i*j=0
B.i*j=1
i*j=0
i*j=1
C.i*j=1
i*j=1
i*j=0
D.i*j=0
i*j=1
i*j=0
【答案】D
【详解】阅读程序,本题考察for循环的嵌套使用,当i的值为1时,j=0,j<=1符合题意,输出i*j=0;j自增变为1,j<=1符合题意,输出i*j=1;但此时再次自增的j值已不符合要求,结束第二层for循环,i的值自减变为0,再次进入内层循环,j=0, j<=0符合题意输出i*j=0;j自增变为1,i的值变为-1已不符合题意,结束循环,答案为D。
4.以下程序的运行结果是( )
public static void Main(){
int i;
int [] a=new int[10];
for(i=10;i>=0;i--){
a[i]=12-i;
Console.Writeline(“{0}{1}{2}”,a[1],a[4],a[7]);
}
}
A.1195 B.1089 C.1185 D.1099
【答案】C
【详解】本题将for循环语句与数组结合使用,已知数组内有10个元素,观察for循环内发现i的值递减,我们选择输出的数据为a[1],a[4],a[7],a[7]=12-7=5;a[4]=12-4=8;a[1]=12-1=11;因此输出结果为1185,选C。
5.Math.Sign(-7.5)+Math.Abs(-8)+Math. Log(8,2)的输出结果是( )
A.3.5 B.-5 C.10 D.12
【答案】C
【详解】选项A:Math.Sign函数返回一个整数值,表示指定数字的符号。对于正数,返回1;对于负数,返回-1;对于零,返回0。由于-7.5是负数,所以Math.Sign(-7.5)的结果是-1。
选项B:Math.Abs函数返回指定数的绝对值。对于-8,它的绝对值是8。
选项C:Math.Log函数用于计算指定底数的对数。Math.Log(8,2)的结果是3,因为2^3=8。将上述结果替换回原始表达式中,得到最终结果:Math.Sign(-7.5)+Math.Abs(-8)+Math.Log(8,2)=-1+8+3=10
6.下列数据类型中不可以使用算术运算运算的是( )
A.char B.bool C.decimal D.sbyte
【答案】B
7.C#中的struct属于 类型。( )
A.引用类型 B.值类型 C.指针类型 D.动态类型
【答案】B
8.在C#中,以下 类型不是值类型。( )
A.bool B.double C.char D.string
【答案】D
9.要提升某个运算符的优先级,可使用( )
A.花括号{} B.方括号[] C.圆括号() D.引号""
【答案】C
【详解】和数学运算一样,C#中用圆括号()提升运算符优先级,括号内运算优先执行;A、B、D无此功能,所以选C。
价于a = a % b;B是+=功能;C是&&=功能;D是=等功能,所以选A。
10.int a = 0, b = 5;
bool flag = (a++ > 0) || (b++ > 3); a、b 的最终值是( )
A.a=0,b=5 B.a=1,b=5 C.a=1,b=6 D.a=0,b=6
【答案】C
【详解】(1)优先级:单目运算符(++)> 关系运算符(>)> 逻辑或(||);逻辑或有短路特性。
(2)执行步骤:
a++ > 0:a 先取 0 参与运算(0 > 0 为 false),随后 a 自增为 1;
因逻辑或左侧为 false,执行右侧 b++ > 3:b 取 5(5 > 3 为 true),随后 b 自增为 6;故 a=1,b=6,选 C。
二、判断题(本大题共10小题,每题2分,共20分)
11.C#的值类型包括简单类型、结构类型和枚举类型。( )
【答案】正确
【详解】C#的值类型包括简单类型、结构类型和枚举类型。
12.在C#中,所有类型都直接或间接地从Object类中继承而来。( )
【答案】正确
13.C# 中标识符内的大小写字母没有区别。( )
【答案】错误
【详解】C# 语言是区分大小写的,比如ReadLine与readline不是一回事 。
14.变量在使用前必须先声明和赋值。( )
【答案】正确
15.C# 中常量的值编译时确定,代码中不能修改。( )
【答案】正确
【详解】const 常量声明时必须赋值,且值在编译期固定,运行中无法修改,保障数据常量性 。
16.Pascal 命名法要求名称首字母大写,后续每个单词首字母大写,其余小写。( )
【答案】正确
【详解】Pascal 命名规范常用于类名、方法名等,如 StudentInfo CalculateSum ,增强代码可读性 。
17.在C#中,++是使操作数的值增1,--是使操作数的值减1。( )
【答案】正确
18.在C#中,++和--都只针对变量进行操作,并且都是单目运算符。( )
【答案】正确
19.在C#中,+、-、*、/、%、++、--均属于二元运算符。( )
【答案】错误
【详解】++(自增)和--(自减)属于一元运算符。
20.在C#中,10/3和10.0/3的结果相同。( )
【答案】错误
三、填空题(本大题共10小题,每题5分,共50分)
21.字符串运算符只有一个,是__________,可用于字符串连接。
【答案】加号(+ )
【详解】在 C# 里,+ 运算符除了做算术加法,还能拼接字符串,把多个字符串连接成一个新字符串,例如 "Hello" + "World" 结果是 "HelloWorld" 。
22.前置形式的自增运算 ++x 是先使变量 x 的值__________,然后再以变化后变量的值参与其他运算。
【答案】增 1(或减 1 ,对应自减 )
【详解】前置自增(自减 )的执行逻辑是先改变变量的值(增 1 或减 1 ),再用改变后的值进行后续运算,比如 int x = 5; int y = ++x; ,x 先变成 6 ,再把 6 赋给 y 。
23.自增(++ )与自减( )运算符是__________运算符,只针对变量操作。
【答案】单目
【详解】单目运算符是指只需要一个操作数的运算符,自增、自减运算符只对一个变量进行操作,所以是单目运算符,像 ++x 、y 等形式 。
24.C# 中,两个整数相除,结果还是整数,小数部分将会被__________。
【答案】舍弃(取下整 )
【详解】这是 C# 中整数除法的规则,例如 7 / 3 结果是 2 ,直接把小数部分去掉,执行取下整操作 。
25.在C#中,使用 ______ 关键字声明一个不可修改的常量。
【答案】const
【详解】const用于声明符号常量。
26.C#语句序列:
int i;
for (i = 0; i++ < 4; )
{ 循环体 }
以上执行完后,变量i的值是_______
【答案】5
【详解】i++先用后加,循环语句执行完后,i的值为5
27.在C#中,+=运算符用于 _________。
【答案】加法赋值
28.在C#中,左移运算符是 _________ 。
【答案】<<=
29.在C#中的数据类型中,枚举类型使用______关键字声明。
【答案】enum
【详解】enum用于声明枚举类型。
30.声明一个变量 age ,数据类型为 int ,不进行初始化,代码为:int ______;
【答案】age
【详解】int age;声明一个int类型的age变量,没有进行初始化。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:河北省普通高等学校对口招生考试计算机类《算法与程序设计考点双析卷》,依据《河北省普通高等学校对口招生计算机类专业考试考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第13、第14卷精准对标河北省考纲,知识模块(二)C#的语言基础:
1. 掌握C#的基本语法;
2. 掌握程序代码的书写规则;
3. 掌握C#语言的数据类型:值类型;
4. 了解C#语言的引用类型:
5. 掌握常量和变量的表示方法;
6. 掌握变量命名,变量的类型转换,变量的作用域;
7. 掌握运算符:算术运算符、赋值运算符、关系运算符、逻辑运算符;各种运算符的优先级;
8. 掌握表达式组成规则及各类表达式;
9. 掌握C#语言的流程控制语句:
10. 掌握数组的定义、初始化、引用、数组中数据对象的赋值与输出,数组排序;
11. 掌握遍历数组元素的方法。
河北省对口招生考试 计算机类
《算法与程序设计》考点双析卷 第14卷
C#的语言基础(4) 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共10小题,每题3分,共30分)
1.在C#中,将一个double类型的变量转换为int类型时,会发生什么?( )
A.变量值四舍五入到最接近的整数 B.变量值截断为整数部分
C.变量值保持不变 D.引发编译时错误
2.下列类型转换中正确的是( )
A.int i=’A’; B.long L=1.1f;
C.int i=float.1.1; D.int i=1.1;
3.下列代码输出结果正确的是( )
static void Main(string[] args){
int i, j;
for(i=1;i>=0; i--) {
for(j=0;j<=i;j++){
Console.WriteLine(“i*j={0}”,i*j); }
}
}
A.i*j=0
i*j=0
i*j=0
B.i*j=1
i*j=0
i*j=1
C.i*j=1
i*j=1
i*j=0
D.i*j=0
i*j=1
i*j=0
4.以下程序的运行结果是( )
public static void Main(){
int i;
int [] a=new int[10];
for(i=10;i>=0;i--){
a[i]=12-i;
Console.Writeline(“{0}{1}{2}”,a[1],a[4],a[7]);
}
}
A.1195 B.1089 C.1185 D.1099
5.Math.Sign(-7.5)+Math.Abs(-8)+Math. Log(8,2)的输出结果是( )
A.3.5 B.-5 C.10 D.12
6.下列数据类型中不可以使用算术运算运算的是( )
A.char B.bool C.decimal D.sbyte
7.C#中的struct属于 类型。( )
A.引用类型 B.值类型 C.指针类型 D.动态类型
8.在C#中,以下 类型不是值类型。( )
A.bool B.double C.char D.string
9.要提升某个运算符的优先级,可使用( )
A.花括号{} B.方括号[] C.圆括号() D.引号""
10.int a = 0, b = 5;
bool flag = (a++ > 0) || (b++ > 3); a、b 的最终值是( )
A.a=0,b=5 B.a=1,b=5 C.a=1,b=6 D.a=0,b=6
二、判断题(本大题共10小题,每题2分,共20分)
11.C#的值类型包括简单类型、结构类型和枚举类型。( )
12.在C#中,所有类型都直接或间接地从Object类中继承而来。( )
13.C# 中标识符内的大小写字母没有区别。( )
14.变量在使用前必须先声明和赋值。( )
15.C# 中常量的值编译时确定,代码中不能修改。( )
16.Pascal 命名法要求名称首字母大写,后续每个单词首字母大写,其余小写。( )
17.在C#中,++是使操作数的值增1,--是使操作数的值减1。( )
18.在C#中,++和--都只针对变量进行操作,并且都是单目运算符。( )
19.在C#中,+、-、*、/、%、++、--均属于二元运算符。( )
20.在C#中,10/3和10.0/3的结果相同。( )
三、填空题(本大题共10小题,每题5分,共50分)
21.字符串运算符只有一个,是__________,可用于字符串连接。
22.前置形式的自增运算 ++x 是先使变量 x 的值__________,然后再以变化后变量的值参与其他运算。
23.自增(++ )与自减( )运算符是__________运算符,只针对变量操作。
24.C# 中,两个整数相除,结果还是整数,小数部分将会被__________。
25.在C#中,使用 ______ 关键字声明一个不可修改的常量。
26.C#语句序列:
int i;
for (i = 0; i++ < 4; )
{ 循环体 }
以上执行完后,变量i的值是_______
27.在C#中,+=运算符用于 _________。
28.在C#中,左移运算符是 _________ 。
29.在C#中的数据类型中,枚举类型使用______关键字声明。
30.声明一个变量 age ,数据类型为 int ,不进行初始化,代码为:int ______;
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$