全国计算机等级考试二级C语言真题题库2+3月
资料仅供参考
全国计算机等级考试二级C语言真题题库2 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限制在了当
资料仅供参考
前文件里,可是没有改变其存放位置,还是在全局静态储存区。extem外部声明,该变量在其它地方有被定义过。因此,答案为A选项。
4. 设有定义:int x,Y,z;,且各变量已赋正整数值,则以下能正确表示代数式
的C语言表示式是( )。
A …1.…0/x。/y,/z B 1/x * Y * z C 1/(x * Y * z) D 1/x/y/(double)z 答案:A
代数表示式1/(X?Y?z)是小数,转为cf语言的表示式必须是小数。A选项由于l.0为浮点数,计算结1果自动转换为浮点数,故A选项正确。选项B,C,D的表示式均为0。答案为A选项。
5. 若有定义:double x;,则表示式IX=0,x+10,x+十的值是( )。
A 11.0 B 10.0