2018年9月C语言二级考试精选押题及解析

需积分: 15 0 下载量 18 浏览量 更新于2024-07-18 1 收藏 2.03MB PDF 举报
"这是2018年9月的C语言二级考试押题资源,涵盖了C语言的基础知识和顺序结构部分,适合准备计算机等级考试2级的考生复习使用。题目包括了选择题,主要考察C语言的基本概念、语法和运算规则。" 在C语言中,用户标识符是程序员自定义的变量名、函数名等,它们必须以字母或下划线开头,后续可跟字母、数字或下划线。合法的用户标识符包括 "_123",而"void"是预定义的关键字,"-abc"以减号开头非法,"2a"以数字开头也是非法的,因此第1题答案是A。 赋值语句是C语言中的基本构成部分,"++i;"是自增操作符,合法;"a=b=34"是复合赋值语句,也合法;"a=3,b=9"不是一个完整的语句;"k=int(a+b);"尝试将表达式的结果强制转换为整型,但缺少分号,因此第2题答案是A。 在C语言中,逗号运算符的优先级低于赋值运算符。在给定的程序段中,"sum=pad=5;pAd=sum++,pAd++,++pAd;"最后的"pad"值不会被修改,因此输出结果是5,第3题答案是A。 "sizeof(double)"是一个求数据类型大小的运算符,返回的结果是一个整型表达式,所以第4题答案是A。 在C语言的输出语句中,"printf"函数内的"%"是格式控制字符,如果直接输出会显示"%d"等文本,因此第5题的答案是A。 对于浮点数计算,"sqrt(y)*1.2/c+x"会先计算平方根,然后乘以1.2除以c,再加上x。在给定的程序中,结果会被四舍五入到默认的小数位数,因此第6题答案是A。 C语言中的算术运算遵循特定的顺序,"a+=a-=a*a"首先执行a*a,然后是a-=a*a,接着是a+=结果,这会导致a的值为-264,因此第7题答案是A。 模块化编程是通过函数实现的,每个函数负责特定的任务,使得代码更易于理解和维护,因此第8题答案是A。 在C语言的浮点数除法中,除法运算的优先级高于乘法,且在表达式中可以使用括号来改变运算顺序。第9题的选项A会导致未定义的行为,因为除以零是不允许的;B和C是正确的浮点数除法表达式;D将整数除法转换为浮点数除法,因此第9题答案是D。 在C语言中,八进制数的前缀是0,例如"010"表示十进制的8。在预处理和自增运算后,x的值变为9,而y--是在输出之后才减1,因此第10题的输出结果是9,10,答案是A。 这些题目涵盖了C语言的基础知识,如标识符、运算符、表达式、流程控制、类型转换以及函数的使用,对于备考C语言二级考试的考生来说是很好的练习材料。