全国计算机等级考试二级 C 语言真题题库 2 2025 年 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 AbCdEFgB ABCDEFGC BCDEFGHD bedefgh答案:C循环的作用是将输入的字符串转化为大写,9etchar()每次读入一个字符,putchar()每次输出一个字符,当碰到#字符结束。putchar(++C),表达将字符变量 C 加 1 后输出。因此,输入 aBcDefG##,得到的结果是 BCDEFGH。故答案为 c 选项。3. 以下与存储类别有关的四组说明符中,所有属于静态类的一组是( )。A extem 和 staticB auto 和 staticC register 和 staticD register 和 excerl答案:Aauto 用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键字通常会被省,由于所有的变量默认就是 aut0 的。 register 定义的变量告诉编译器尽也许的将变量存在 CPU 内部寄存器中而不是通过内存寻址访问以提高效率。 static 变量会被放在程序的全局存储区中,这样可以在下一次调用的时候还可以保持原来的赋值。这一点是它与堆栈变量和堆变量的区别。变量用 static 告知编译器,自己仅仅在变量的作用范围内可见。这一点是它与全局变量的区别。当 static 用来修饰全局变量时,它就改变了全局变量的作用域。extern 限制在了当前文献里,但是没有改变其存放位置,还是在全局静态储存区。extem 外部声明,该变量在其他地方有被定义过。因此,答案为 A 选项。4. 设有定义:int x,Y,z;,且各变量已赋正整数值,则以下能对的表达代数式的 C 语言表达式是( )。A …1.…0/x。/y,/...