全国计算机等级考试二级C语言真题题库2+2016年3月
全国计算机等级考试二级C语言真题题库2
2016年3月
(总分100, 做题时间120分钟)
一、选择题(每小题1分,共40分)
1. 设有以下程序段:struct book{ float price;char language;char
title[20];} rec,*ptr;ptr = &rec;要求输入字符串给结构体变量rec的title成员,错误的输入语句是( )。
A seanf(”%s”Ptrtitle); B scanf(”%s”,rec.title); C scanf(’’%s”,(*pu).title); D scanf(”%s”,ptr->title); 答案:A
符号“_>”是指针特用的,符号“.”用于指定元素的成员。ptr是指针,只能用符号“一>”,因此选项A错误。+P是指定元素(Fee)可以使用“.”运算,因此选项D正确。选项B,Fee.title代表数组title,同理选项C正确。答案为A选项。
2. 有以下程序:
aBeDefG##<回车>,则输出结果是( )。
执行时输入:
A AbCdEFg B ABCDEFG C BCDEFGH D bedefgh 答案:C
循环的作用是将输入的字符串转化为大写,9etchar()每次读入一个字符,putchar()每次输出一个字符,当遇到#字符结束。putchar(++C),表示将字符变量C加1后输出。因此,输入aBcDefG##,得到的结果是BCDEFGH。故答案为c选项。
3. 以下与存储类别有关的四组说明符中,全部属于静态类的一组是( )。
A extem和static B auto和static
C register和static D register和excerl 答案:A
auto用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字通常会被省,因为所有的变量默认就是aut0的。
register定义的变量告诉编译器尽可能的将变量存在CPU内部寄存器中而不是通过内存寻址访问以提高效率。
static变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。变量用static告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。当static用来修饰全局变量时,它就改变了全局变量的作用域。extern限制在了当前文件里,