内容正文:
编写说明:河北省普通高等学校对口招生考试计算机类《算法与程序设计考点双析卷》,依据《河北省普通高等学校对口招生计算机类专业考试考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第11、第12卷精准对标河北省考纲,知识模块(二)C#的语言基础:
1. 掌握C#的基本语法;
2. 掌握程序代码的书写规则;
3. 掌握C#语言的数据类型:值类型;
4. 了解C#语言的引用类型:
5. 掌握常量和变量的表示方法;
6. 掌握变量命名,变量的类型转换,变量的作用域;
7. 掌握运算符:算术运算符、赋值运算符、关系运算符、逻辑运算符;各种运算符的优先级;
8. 掌握表达式组成规则及各类表达式;
9. 掌握C#语言的流程控制语句:
10. 掌握数组的定义、初始化、引用、数组中数据对象的赋值与输出,数组排序;
11. 掌握遍历数组元素的方法。
河北省对口招生考试 计算机类
《算法与程序设计》考点双析卷 第12卷
C#的语言基础(3) 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共10小题,每题3分,共30分)
1.在C#中,以下哪个关于值类型的描述是正确的( )
A.值类型在堆上分配内存。
B.值类型的变量存储的是实际的值。
C.值类型的变量是引用类型的别名。
D.值类型可以被继承。
2.在C#中,以下哪个是值类型( )
A.类 (Class) B.结构体 (Struct)
C.接口 (Interface) D.委托 (Delegate)
3.已定义下列变量:
int n;
float f;
double df;
df=10;
n=2;
下列语句正确的是( )
A.f=12.3; B.n=df; C.df=n=100; D.f=df;
4.浮点数类型float有多少位有效数字( )
A.7位 B.15位 C.24位 D.32位
5.以下关于符号常量的命名,建议的是( )
A.和变量命名一样,无特殊要求
B.尽量使用小写字母,方便区分
C.尽量使用大写字母,和变量区分
D.必须使用特定关键字作为前缀
6.局部变量的特点是( )
A.定义在类的方法体中,作用域跨类
B.局部变量的生命周期和类的生命周期一致
C.局部变量在当前定义的方法内,甚至当前代码块内有效
D.局部变量能用于类的其他方法
7.关于变量的定义,说法正确的是( )
A.C# 中变量可以不声明直接使用
B.变量定义格式为 [访问修饰符]数据类型 变量名[=初始值]
C.同一作用域内可以定义同名变量
D.变量类型一旦定义,不能存储对应类型范围外的数据,但存储任意范围内数据
8.以下属于 long 类型整型常量的是( )
A.16 B.16L C.127U D.127UL
9.关于 C# 中常量的说法,错误的是( )
A.常量在程序运行过程中值不会改变
B.直接常量包括整型常量、浮点常量等
C.符号常量定义后,在程序中还可以再次赋值
D.定义符号常量使用 const 关键字
10.以下表达式中,类型转换会导致编译错误的是( )
A.int x = (int)5.5; B.double y = 5;
C.string s = (string)123; D.object o = "hello";
二、判断题(本大题共10小题,每题2分,共20分)
11.string 类型是值类型。( )
12.值类型变量存储在栈中,引用类型变量存储在堆中。( )
13.const 修饰的常量值在程序运行期间可以修改。( )
14.枚举类型的取值只能是整数。( )
15.C#中,所有数据类型转换都可以通过隐式转换完成。( )
16.装箱是将值类型转换为引用类型,拆箱是将引用类型转换为值类型,两者都会影响性能。( )
17.变量作用域遵循“就近原则”:若局部变量与成员变量同名,在局部范围内访问的是局部变量。( )
18.C#是一种强类型语言,变量在使用前必须声明其类型。( )
19.C# 中int和double属于引用类型。( )
20.C#在定义符号常量时,表达式中可以出现常量、常数和变量。( )
三、填空题(本大题共10小题,每题5分,共50分)
21.字符类型的表示符为__________;字符串类型的表示符为______。
22.当操作数两侧运算符优先级相同时,由__________规定运算顺序。
23.条件运算符中,表达式1的结果应是______类型
24.C#中,单目运算符、赋值运算符、条件运算符具有__________结合性(填“左”或“右” )。
25.在表达式 2 + 3 * 4 > 5 && 6 < 7 中,先计算的是 ____ 运算符。
26.用条件运算符判断 a 和 b 的大小,将较大值赋给 max 的代码是:int max = ____;
27.若有 bool x = true; bool y = false; bool z = x || y;,z 的值是 ____。
28.若要判断 num 是否在 1 到 10 之间(包含 1 和 10),逻辑表达式可以写成:num >= 1 ____ num <= 10。
29.在 C# 中,变量名不能是 C# 的 ____,但可以包含字母、数字和下划线。
30.声明一个常量 PI 并赋值为 3.14159 的代码是:const ____ PI = 3.14159;
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:河北省普通高等学校对口招生考试计算机类《算法与程序设计考点双析卷》,依据《河北省普通高等学校对口招生计算机类专业考试考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷。助力师生构建 “讲练结合” 的学习闭环,适用于高考复习教学。
本专辑第11、第12卷精准对标河北省考纲,知识模块(二)C#的语言基础:
1. 掌握C#的基本语法;
2. 掌握程序代码的书写规则;
3. 掌握C#语言的数据类型:值类型;
4. 了解C#语言的引用类型:
5. 掌握常量和变量的表示方法;
6. 掌握变量命名,变量的类型转换,变量的作用域;
7. 掌握运算符:算术运算符、赋值运算符、关系运算符、逻辑运算符;各种运算符的优先级;
8. 掌握表达式组成规则及各类表达式;
9. 掌握C#语言的流程控制语句:
10. 掌握数组的定义、初始化、引用、数组中数据对象的赋值与输出,数组排序;
11. 掌握遍历数组元素的方法。
河北省对口招生考试 计算机类
《算法与程序设计》考点双析卷 第12卷
C#的语言基础(3) 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共10小题,每题3分,共30分)
1.在C#中,以下哪个关于值类型的描述是正确的( )
A.值类型在堆上分配内存。
B.值类型的变量存储的是实际的值。
C.值类型的变量是引用类型的别名。
D.值类型可以被继承。
【答案】B
【详解】值类型的变量存储的是实际的值,而不是引用。值类型在栈上分配内存,而不是在堆上。值类型不能被继承,因为它们不是基于类的。因此,正确答案是B,即值类型的变量存储的是实际的值。
2.在C#中,以下哪个是值类型( )
A.类 (Class) B.结构体 (Struct)
C.接口 (Interface) D.委托 (Delegate)
【答案】B
【详解】在C#中,值类型包括结构体(Struct)、枚举(Enum)、整型(int, long, byte等)、浮点型(float, double等)、布尔型(bool)和字符型(char)。而类(Class)、接口(Interface)和委托(Delegate)都是引用类型。因此,正确答案是B,即结构体是值类型。
3.已定义下列变量:
int n;
float f;
double df;
df=10;
n=2;
下列语句正确的是( )
A.f=12.3; B.n=df; C.df=n=100; D.f=df;
【答案】C
【详解】选项A:错误。因为f是float类型的变量,可以存储单精度浮点数。一个小数如果没有指定类型,默认类型为double。此语句可以改为:f=12.3f;
选项B:错误。因为df是double类型,n是int类型,double类型不能直接赋值给int类型而需要进行强制类型转换。此语句可以改为:Convert.ToInt32(df);
选项C:正确。变量n的值为100,赋值给df时自动进行隐式类型转换,因为double类型可以容纳int类型的值。
选项D:错误。因为double类型不能直接赋值给float类型,应该显式进行类型转换。此语句可以改为: f = (float)df;
4.浮点数类型float有多少位有效数字( )
A.7位 B.15位 C.24位 D.32位
【答案】A
5.以下关于符号常量的命名,建议的是( )
A.和变量命名一样,无特殊要求
B.尽量使用小写字母,方便区分
C.尽量使用大写字母,和变量区分
D.必须使用特定关键字作为前缀
【答案】C
【详解】A 选项,符号常量命名建议和变量区分开;B 选项,建议用大写字母区分变量;C 选项,为和变量区分,符号常量名尽量用大写字母,正确;D 选项,不需要特定关键字前缀,遵循标识符命名规则即可,所以选 C。
6.局部变量的特点是( )
A.定义在类的方法体中,作用域跨类
B.局部变量的生命周期和类的生命周期一致
C.局部变量在当前定义的方法内,甚至当前代码块内有效
D.局部变量能用于类的其他方法
【答案】C
【详解】A 选项,局部变量定义在方法体或代码块中,作用域仅限于当前方法或代码块,不能跨类;B 选项,局部变量生命周期取决于方法,方法调用时分配内存,调用结束释放,和类生命周期不同;C 选项,符合局部变量的作用域特点,正确;D 选项,局部变量不能用于类的其他方法,所以选 C。
7.关于变量的定义,说法正确的是( )
A.C# 中变量可以不声明直接使用
B.变量定义格式为 [访问修饰符]数据类型 变量名[=初始值]
C.同一作用域内可以定义同名变量
D.变量类型一旦定义,不能存储对应类型范围外的数据,但存储任意范围内数据
【答案】B
【详解】A 选项,C# 规定变量必须先声明才能使用,否则无法编译;B 选项,符合变量定义的格式,正确;C 选项,同一作用域内不能定义同名变量,否则编译报错;D 选项,变量类型决定了存储数据的范围,超出范围无法存储,不是能存任意范围,所以选 B。
8.以下属于 long 类型整型常量的是( )
A.16 B.16L C.127U D.127UL
【答案】B
【详解】A 选项,16 是 int 类型(默认最小能存的整型类型 );B 选项,在常量后加 L(不区分大小写 )表示长整型 long ,所以 16L 是 long 类型;C 选项,加 U 表示 uint 类型(无符号整型 );D 选项,127UL 是 ulong 类型(无符号长整型 ),所以选 B。
9.关于 C# 中常量的说法,错误的是( )
A.常量在程序运行过程中值不会改变
B.直接常量包括整型常量、浮点常量等
C.符号常量定义后,在程序中还可以再次赋值
D.定义符号常量使用 const 关键字
【答案】C
【详解】A 选项,符合常量的定义,常量值运行时不变;B 选项,直接常量分类包含整型、浮点等,正确;C 选项,符号常量一经定义,程序中不能再次赋值,该选项错误;D 选项,C# 中用 const 定义符号常量,正确,所以选 C。
10.以下表达式中,类型转换会导致编译错误的是( )
A.int x = (int)5.5; B.double y = 5;
C.string s = (string)123; D.object o = "hello";
【答案】C
【详解】不能直接将整数123强制转换为string类型,应该使用123.ToString()。
二、判断题(本大题共10小题,每题2分,共20分)
11.string 类型是值类型。( )
【答案】错误
【详解】string 是引用类型,虽有不可变性等特点,但本质属于引用类型,存储在堆,所以错误。
12.值类型变量存储在栈中,引用类型变量存储在堆中。( )
【答案】正确
【详解】C#中值类型(如 int、struct )实例通常存储在栈;引用类型(如 class、string )对象存储在堆,变量存储引用(在栈 ),所以正确。
13.const 修饰的常量值在程序运行期间可以修改。( )
【答案】错误
【详解】const 是编译时常量,声明时必须赋值,运行期间不可修改;readonly 可在运行时(构造函数 )赋值,所以错误。
14.枚举类型的取值只能是整数。( )
【答案】正确
【详解】枚举底层存储的是整数类型(可自定义整数值 ),所以枚举值本质是整数,正确。
15.C#中,所有数据类型转换都可以通过隐式转换完成。( )
【答案】错误
【详解】隐式转换仅适用于兼容且不会丢失数据的情况(如 int 转 double ),很多转换(如 double 转 int、string 转 int )需显式转换,所以错误。
16.装箱是将值类型转换为引用类型,拆箱是将引用类型转换为值类型,两者都会影响性能。( )
【答案】正确
【详解】装箱指将值类型转换为object类型或该值类型实现的接口类型,拆箱指将装箱后的引用类型转换回原始值类型,两者都会影响性能。
17.变量作用域遵循“就近原则”:若局部变量与成员变量同名,在局部范围内访问的是局部变量。( )
【答案】正确
【详解】当作用域嵌套且变量同名时,内层作用域的变量会 “隐藏” 外层变量。
18.C#是一种强类型语言,变量在使用前必须声明其类型。( )
【答案】正确
【详解】C#要求变量必须先声明类型才能使用,属于强类型语言特性。
19.C# 中int和double属于引用类型。( )
【答案】错误
20.C#在定义符号常量时,表达式中可以出现常量、常数和变量。( )
【答案】错误
三、填空题(本大题共10小题,每题5分,共50分)
21.字符类型的表示符为__________;字符串类型的表示符为______。
【答案】 单引号’’ 双引号“”
22.当操作数两侧运算符优先级相同时,由__________规定运算顺序。
【答案】结合性
【详解】结合性分左结合和右结合,优先级相同时,左结合就从左到右运算,右结合就从右到左运算,以此确定操作数与哪个操作数先运算 。
23.条件运算符中,表达式1的结果应是______类型
【答案】布尔(bool )
【详解】条件运算符要求表达式1的结果为布尔值(true或false ),以此决定最终取表达式2还是表达式3的结果。
24.C#中,单目运算符、赋值运算符、条件运算符具有__________结合性(填“左”或“右” )。
【答案】右
【详解】C#里单目运算符、赋值运算符、条件运算符等是右结合性,其他多数运算符(如算术、关系等 )是左结合性 。
25.在表达式 2 + 3 * 4 > 5 && 6 < 7 中,先计算的是 ____ 运算符。
【答案】*
26.用条件运算符判断 a 和 b 的大小,将较大值赋给 max 的代码是:int max = ____;
【答案】a > b? a : b
27.若有 bool x = true; bool y = false; bool z = x || y;,z 的值是 ____。
【答案】true
28.若要判断 num 是否在 1 到 10 之间(包含 1 和 10),逻辑表达式可以写成:num >= 1 ____ num <= 10。
【答案】&&
29.在 C# 中,变量名不能是 C# 的 ____,但可以包含字母、数字和下划线。
【答案】关键字
30.声明一个常量 PI 并赋值为 3.14159 的代码是:const ____ PI = 3.14159;
【答案】double
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$