内容正文:
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础——C语言》(高教版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《编程语言基础——C语言》(高教版)一课一练的第2章的第7练,内容涵盖第2章 基本数据类型与简单程序设计的2.3 赋值语句。
《编程语言基础——C语言》(高教版)第7练
第2章 基本数据类型与简单程序设计
2.3 赋值语句(解析版)
一、单项选择题(本题共5小题)
1、在C语言中,赋值语句是由( )加上分号构成的。
A. 赋值运算符 B. 赋值表达式 C. 变量 D. 常量
【答案】B
【解析】 C语言规定,任何表达式在其末尾加上分号就成为语句。因此,赋值表达式加上分号就构成了赋值语句。
2、下列选项中,正确的赋值语句是( )
A. 5 = a B. a = b + c C. a + b = c D. x - 1 = 2
【答案】B
【解析】赋值语句的一般形式为"变量=表达式",赋值号左边只能是变量,不能是常量或表达式。
3、执行语句a = b = c = 5;后,变量a、b、c的值分别是( )
A. a=5, b=0, c=5 B. a=5, b=5, c=5
C. a=0, b=5, c=5 D. a=5, b=5, c=0
【答案】B
【解析】赋值运算符具有右结合性。a=b=c=5;的执行过程是:先将5赋给c,然后将c的值赋给b,最后将b的值赋给a。因此三个变量都得到值5。
4、若有定义int a=5;,则执行语句a += a *= 2;后,a的值是( )
A. 10 B. 15 C. 20 D. 25
【答案】C
【解析】 复合赋值运算符从右向左结合。第一步:a *= 2相当于a = a * 2,a变为10;第二步:a += 10(此时a=10)相当于a = 10 + 10,a最终变为20。
5、下列选项中,属于复合赋值运算符的是( )
A. == B. ++ C. += D. ->
【答案】C
【解析】 复合赋值运算符是在赋值号"="之前加上其他双目运算符构成的,如+=、-=、*=、/=、%=等。==是关系运算符(等于),++是自增运算符,->是指向结构体成员的运算符。
二、判断题(本题共5小题)
1、在C语言中,赋值运算符"="的优先级高于算术运算符"+"。( )
【答案】×
【解析】 赋值运算符的优先级为14,算术运算符的优先级为4。
2、赋值语句y=3=x/5;是合法的C语言语句。( )
【答案】×
【解析】赋值表达式的一般格式变量=表达式。赋值号的左边只能是变量,不能是常量、表达式。
3、在变量定义时赋初值int a=5;属于赋值语句。( )
【答案】×
【解析】在量说明中给变量赋初值属于变量定义的一部分,不是赋值语句。
4、赋值表达式可以出现在任何允许表达式出现的地方,而赋值语句不能。( )
【答案】√
【解析】赋值表达式是表达式的一种,可以出现在其他表达式内部,如if((x=y+5)>0)是合法的。而赋值语句是独立的语句,不能出现在表达式内部。
5、复合赋值运算符x *= y + z等价于x = x * y + z。( )
【答案】×
【解析】x *= y + z等价于x = x * (y + z),复合赋值运算符右边的表达式作为一个整体参与运算。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$
编写说明:考虑到中职学生普遍基础知识相对薄弱的情况,我们依据支架式教学理念,精心编制了《编程语言基础——C语言》(高教版)一课一练。专辑里的每一份练习,都与课堂所授知识点紧密相关,题目围绕课堂所学知识点呈现。目的在于激发学生的学习兴趣,培养他们的学习自觉性,帮助学生扎实掌握课程的基本概念与基本方法,为他们后续的进一步提升奠定坚实基础。
本卷是《编程语言基础——C语言》(高教版)一课一练的第2章的第7练,内容涵盖第2章 基本数据类型与简单程序设计的2.3 赋值语句。
《编程语言基础——C语言》(高教版)第7练
第2章 基本数据类型与简单程序设计
2.3 赋值语句(原卷版)
一、单项选择题(本题共5小题)
1、在C语言中,赋值语句是由( )加上分号构成的。
A. 赋值运算符 B. 赋值表达式 C. 变量 D. 常量
2. 下列选项中,正确的赋值语句是( )
A. 5 = a B. a = b + c C. a + b = c D. x - 1 = 2
3. 执行语句a = b = c = 5;后,变量a、b、c的值分别是( )
A. a=5, b=0, c=5 B. a=5, b=5, c=5
C. a=0, b=5, c=5 D. a=5, b=5, c=0
4. 若有定义int a=5;,则执行语句a += a *= 2;后,a的值是( )
A. 10 B. 15 C. 20 D. 25
5. 下列选项中,属于复合赋值运算符的是( )
A. == B. ++ C. += D. ->
二、判断题(本题共5小题)
1. 在C语言中,赋值运算符"="的优先级高于算术运算符"+"。( )
2. 赋值语句y=3=x/5;是合法的C语言语句。( )
3. 在变量定义时赋初值int a=5;属于赋值语句。( )
4. 赋值表达式可以出现在任何允许表达式出现的地方,而赋值语句不能。( )
5. 复合赋值运算符x *= y + z等价于x = x * y + z。( )
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$