黑龙江省高校非计算机专业学生计算机等级考试预测试卷之二答案
来源:优易学  2010-1-14 10:33:24   【优易学:中国教育考试门户网】   资料下载   IT书店

 

三、C语言(共70分,本科必答,专科只答指定的45分)
(一)单选题(每小题1分,共9分,本科、专科必答。)
1、 答案:C 
2、 答案:B  解析:在选项A中,定义的初值个数大雨数组的长度,选项C中,数组名后少了中括号,选项D中,整型数组不能赋予字符串。
3、 答案:A  解析:选项B中,以0开头表示是一个八进制数,而八进制数的取值范围是0~7,所以-080是不合法的;选项C和D中,e后面的指数必须是整数,所以不合法。
4、 答案:A  解析:该题目的关键是要搞清楚该程序执行了哪几条语句。由于x的值等于1,所以switch结构中,程序从case1后面的语句开始执行,又因为case1后面的语句没有以break结束,所以程序要继续往下执行case2后面的语句。所以,该程序共执行了这三条语句:a++;a++;b++;因此,变量a和b最后的值应该为2和1。
5、 答案:D
6、 答案:B  解析:do-while语句的一般格式为:do循环体语句while(表达式);先执行循环体语句一次,再判断表达式的值,若为真则继续执行循环,否则终止循环。本题中,先执行printf(“%d\n”,x-=2)后,值为x=x-2,即为1。判断表达式的值,!(--x)为真,x=0,继续循环。再次执行循环体语句后,x=-2,此时表达式!(--x)的值为0,结束循环。
7、 答案:D  解析:sizeof是求字节运算符,在字符数组a中,‘\n’也作为字节保存,是a数组的一个成员,所以sizeof(a)的值为9,strlen 是测试字符串长度的函数,函数的值为字符串中的实际长度,不包括‘\n’在内,所以strlen(a)的值为8。
8、 答案:B  解析:C语言规定的运算优先级由高到低分别是逻辑非、算术运算符、逻辑或。所以先计算!x,值为0,然后再计算y--,由于是后缀运算符,所以y在本次运算中的值仍然是1,最后计算0||1,值为1。
9、 答案:B  解析:本题中,typedef声明新的了性名PER来代替已有的类型名,PER代表上面指定的一个结构体类型,此时,也可以用PER来定义变量。
(二)写出程序运行结果(每小题4分,共20分,本科、专科必答。)
1、答案:x=0 解析:本题考查的是三目运算符的用法(表达式1)?(表达式2):(表达式3)。当表达式1的值为真时,求表达式2的值为整个表达式的值;如果表达式1的值为假,则求表达式3的值为整个表达式的值。题中,表达式x>12的结果为假,所以执行的语句是x-12,最终y的值应该是0。
2、答案:x=8  解析:该题是一个for循环嵌套语句。第一层for循环循环2次,第二层循环3次,但j等于0和1时,将执行continue语句,不执行x++运算,所以每次执行完内循环后,x的增量为1,最后一个x++运算将每次累加起来就是x的值。
3、答案:s=110
解析:因为For循环开始时,NextChar=MaxSize,执行Seek #1,NextChar,文件指针指向文件尾,EOF(1)为真,循环结束后文件指针指向文件的开始处
4、答案:a=2,b=8  解析:本题考查两个知识点:自加自减运算符和do…while循环语句。题中b-=a等价于b=b-a;a++的含义是使用a之后,使a的值加1;b—的含义是在使用b之后,使b的值减1。
5、答案:-1  解析:函数调用相当于f(2,3),程序运算应得结果为“-1”。
(三)程序填空(每空2分,共18分,专科只答第1、第2小题,本科全答。)
(1)’\0’   (2)s   (3)*p++
(4)q<p+n   (5) *q>max  (6)  *q<min
(7)i++  (8)s[j]=s[i]   (9)delnum(item)
(四)阅读程序回答问题
(每小题6分,共18分,专科只答第1小题,本科全答。)
答 1:y=17
答2:求10以内的素数之和
答 3:(插入法)从小到大排序
答4: 1  2  3  4  5  5  6  7  8  9
答5:abcdef
答6:删除一个字符串中的所有数字字符

 (五)程序改错
(共5分,不准更改程序结构,不准增删语句行,专科不答,本科必答。)
 错误1处应改为:if(*p>=*q)
错误2处应改为:k++;

上一页  [1] [2] 

责任编辑:cyth

文章搜索:
 相关文章
热点资讯
资讯快报
热门课程培训