任务五 同步训练
知识点
同步训练(选择题)
1.下面( )是合法的变量名。
A. accp5.0 B. CSharp C. 99$ D. Main
答案:B(CSharp符合标识符命名规则。A含小数点,B含$符号,C以数字开头,D是关键字)
2.有一个浮点型变量 double money = 66.6,下面的( )语句可以将它转换为一个整型变量。(选两项)
A. int pay = money;
B. int pay = int money;
C. int pay = int.Parse(money);
D. int pay = Convert.ToInt32(money);
答案:CD(A隐式转换不允许从double到int,B语法错误,C和D都可以正确转换)
3.若要使用SubString()方法从字符串Superman中截取man这个子字符串,那么SubString()方法的两个参数应该分别为( )。
A. 5, 3 B. 5, 7 C. 6, 3 D. 6, 8
答案:A(SubString(5,3)表示从索引5开始截取3个字符,"Superman"中索引5是'm',截取3个字符得到"man")
4.在C#中,定义一个字符串变量应使用( )语句。
A. CString str;
B. string str;
C. Dim str as string;
D. char * str;
答案:B
5.以下数据类型中,不可以使用算术运算的是( )。
A. bool B. char C. decimal D. sbyte
答案:A(bool类型不能参与算术运算)
6.设x为int型变量,则描述"x是奇数"的C#表达式是( )。
A. x / 2 == 0
B. x / 2 != 0
C. x % 2 == 0
D. x % 2 != 0
答案:D(x是奇数的条件是x除以2余数不为0)
7.若有定义语句 int a = 3;,在其后执行语句 int b = ++a;,则b的值为( )。
A. 4 B. 3 C. 0 D. 不确定
答案:A(前置自增:先使a增1变为4,再赋值给b,所以b=4)
8.为了把字符串"A"和"B"连接到一个新变量中,需要的语句为( )。
A. s = "A" * "B"
B. s = "A" + "B"
C. s = "A" . "B"
D. 字符串不能被连接
答案:B(
+是字符串连接运算符)
9.C#中的值类型包括三种,它们是( )。
A. 整型、浮点型、基本类型 B. 数值类型、字符类型、字符串类型 C. 简单类型、枚举类型、结构类型 D. 数值类型、字符类型、枚举类型
答案:C(值类型分为简单类型和复杂类型,复杂类型又分为结构类型和枚举类型)
10.浮点常量有三种格式,下面( )组的浮点常量都属于double类型。
A. 0.71828, 0.71828D, 7.1828E-1
B. 0.71828, 0.71828F, 0.071828e1
C. 0.71828, 0.71828f, 0.71828M
D. 0.71828F, 0.71828D, 0.71828M
答案:A(不带后缀默认为double,D后缀也是double,科学记数法默认为double)
11.下面字符常量表示有错的一组是( )。
A. '\\\\', '\\u0027', '\\x0027'
B. '\\n', '\\t', '\\037'
C. 'a', '\\u0061', (char)97
D. "\\x0030", '\\0', '0'
答案:D(
"\\x0030"用了双引号,是字符串常量而非字符常量)
12.下列标识符命名全部正确的是( )。
A. _int, Int, @int
B. using, using, @using
C. NO1, NO_1, NO.1
D. A3, _A3, @A3
答案:D(A中_int正确但@int不太规范,B中前两个using是关键字,C中NO.1含小数点)
13.当表达式中混合了几种不同的数据类型时,C#会基于运算的顺序将它们自动转换成同一类型。但下面( )类型和decimal类型混合在一个表达式中,不能自动提升为decimal。
A. float B. int C. uint D. byte
答案:A(float和decimal混合时不能自动提升为decimal,需要显式转换)