2012年3月计算机等级考试二级C语言笔试真题及答案
江苏计算机等级考试二级C语言真题2012年3月

江苏计算机等级考试二级C语言真题2012年3月(总分:60.00,做题时间:120分钟)一、说明: (总题数:1,分数:0.00)二、第一部分计算机基础知识(总题数:20,分数:20.00)1.下列有关信息产业、信息化、信息社会等相关的叙述中,错误的是________。
(分数:1.00)A.信息产业是指生产制造信息设备的制造业,不包含信息服务行业√B.信息化是一个推动人类社会从工业社会向信息社会转变的过程C.在信息社会中,信息将借助材料和能源的力量产生重要价值而成为社会进步的基本要素D.目前我国还处于工业化的中期阶段,需要大力推进信息化与工业化的融合式发展解析:2.下列有关数字技术与微电子技术的叙述中,错误的是________。
(分数:1.00)A.数字技术的处理对象是"比特",它只有两种状态(取值)B.在计算机中,经常使用称为"触发器"的双稳态电路来存储比特,一个触发器可以存储1个比特C.微电子技术以集成电路为核心,现代集成电路所使用的半导体材料主要是硅D.所有的IC卡均只能存储数据,不能处理和收发数据√解析:3.下列有关计算机发展与分类的叙述中,错误的是________(分数:1.00)A.人们通常根据计算机采用的主要电子元器件的不同,将计算机的发展划分为四代B.由于20世纪90年代计算机网络的发展,计算机应用进入了"网络计算模式"C.目前所有的服务器产品均为小型计算机、大型计算机或巨型计算机,PC机不能作为网络服务器使用√D.美国的HP、DELL和我国的联想、方正、同方等均是知名的PC机品牌解析:4.下列有关PC机CPU的叙述中,错误的是________。
(分数:1.00)A.长期以来,多数PC机采用Intel公司生产的CPU芯片B.Intel Core i7是高端的CPU产品,其中i7表示它采用7个内核的结构√C.目前部分PC机使用AMD公司的CPU芯片,它们与Intel公司的CPU芯片指令系统基本一致,因此这些PC机相互兼容D.目前我国也能设计、生产PC机的CPU芯片解析:5.下列有关PC机主板上CMOS和BIOS的叙述中.错误的是________。
2012年3月全国计算机等级考试二级C语言上机题库完全版

第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。
/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。
int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。
函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。
第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。
/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n 返回这些数的个数。
2012计算机二级C语言题库及参考答案

for(i = 1 ; i < 6 ; i++)
for(j = i + 1 ; j < 6 ; j++)
{
if(*(s + i) < *(s + j))
{
ch = *(s + j) ;
*(s + j) = *(s +i) ;
{
if(*(s + i)<*(s + j))
{
ch = *(s + j) ;
*(s + j) = *(s +i) ;
*(s + i) = ch ;
} }
答题方法:
1填空题例如程序中__1__,对应答案1,把__1__删除填入 ss[i] ,三个空都填完(一般2-3个空)然后编译保存程序即可。
1 if(*p==' ')
2 *(p-1)=toupper(*(p-1));
3请编写函数fun对长度为7个字符的字符串,除首、尾字符外,将其余5个字符ASCII码降序排列。
char ch ;
int i, j ;
for(i=1; i<6;i++)
for(j=i+1;j<6;j++)
char *p=a;
int j=0,len=0;
while(*p){p++;len++;}
while(j<len-h-e){
a[j]=a[h+j];
j++;
}
a[j]=0;
2012计算机二级C笔试真题及答案

全国计算机等级考试二级C语言2012年3月试题及答案一、填空题1、C语言中基本的数据类型有:__________、__________、__________。
2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。
3、整数-35在机内的补码表示为__________。
4、执行下列语句int a=8;a+=a-=a*a;后,a的值是__________。
5、有如下语句:char A[]={”I am a student”};该字符串的长度是__________,A[3]=__________。
6、符号”a”和’a’的区别是__________。
7、所谓“指针”就是__________。
“&”运算符的作用是__________。
“*”运算符的作用是__________。
8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。
二、选择题1、设整型变量a为5,使b不为2的表达式是()。
A.b=a/2B.b=6-(--a)C.b=a%2D.b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。
A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是()。
int x=10,y=10;printf(“%d%d\n”,x--,--y);A.1010B.99C.910D.1094、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为()。
A.P+i*2B.P+(i-1)*2C.P+(i-1)D.P+i5、选出下列标识符中不是合法的标识符的是()。
2012年3月计算机二级C语言上机题库及答案(破译版)

2012年3月计算机二级c语言上机题库内部资料,切勿外传!.第1套填空题请补充FUN函数,FUN函数的功能是求10的阶乘。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
试题程序:#include <stdio.h>long fun(int n){if (___1___)return (n*fun(___2___));return ___3___;}main(){p rintf("10!=%ld\n", fun(10));}第1处填空:n>1或1<n第2处填空:n-1第3处填空:1或11或1L改错题下列给定程序的功能是:读入一个整数K(2〈=K〈=10000),打印它的所有因子(即所有为素数的因子)。
例如,若输入整数2310,则应输出:2、3、5、7、11。
请改正程序中的错误,使程序能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!试题程序:#include <conio.h>#include <stdio.h>/********found********/IsPrime(int n);{int i, m;m = 1;/********found********/for (i=2; i<n; i++)if !(n%i){m = 0;break;}return(m);}main(){int j, k;printf("\nplease enter an integer number between 2 and 10000:");scanf("%d", &k);printf("\n\nThe prime factor(s) of %d is(are):", k);for (j=2; j<k; j++)if ((!(k%j)) && (IsPrime(j)))printf(" %4d,", j);printf("\n");}第1处:Isprime(int n);应改为Isprime(int n)第2处:if !(n%i)应该为if(!(n%i))编程题M个人的成绩存放在score数组中,请编写函数fun,它的功能是:返回低于平均分的认输,并将低于平均分的分数放在below所指的数组中。
2012年3月全国计算机二级C语言真题解答(只有c2)--dayin

《软件开发基础》摸底考试答案及分析一、选择题(11)【答案】A)【解析】简单程序设计的步骤是首先要确定算法和数据结构,然后编码、调试,最后整理相关文档。
(12)【答案】A)【解析】实型数据在内存中存储的二进制位数是有限的,例如float型数据在内存中有24位二进制尾数。
而一个十进制实数转化为二进制实数时,其有效数字位数有可能会超过尾数的存储长度,从而导致有效数字丢失而产生误差。
(13)【答案】B)【解析】一个正确的算法可以有零个或者多个输入,必须有一个或者多个输出。
(14)【答案】C)【解析】一个C程序有且只有一个主函数main()。
一个C 程序可以包含多个不同名字的子函数。
C程序在书写时没有严格的缩进要求。
(15)【答案】B)【解析】考察C语言中输入格式,因为在输入格式中定义好了”%c%c”,其中没有任何符号,所以中间不能加任何字符,包含不能加逗号、回车和空格,因为这些也算是字符。
所以在输入时也不可以有任何间隔符号。
(16)【答案】D)【解析】字符常量有两种表示方法:一种是用该字符的图形符号,如'b' ,'y','*'。
另外还可以用字符的ASCII 码表示,即用反斜符(\)开头,后跟字符的ASCII码,这种方法也称为转义序列表示法,具体方法是:有两种形式:一种是用字符的八进制ASCII码,表示为:\odd.这里,ddd是八进制值(o可以省略)。
另一种使用字符的十六进制ASCII码值,表示为\0xhh或0Xhh这里hh是两位十六进制值。
本题中D)选项…\019'使用是八进制表示,不应该出现9,所以错误。
(17)【答案】A)【解析】考察C语言关于赋值的应用,首先执行a-=a-5,即a=a-(a-5),使得a的值为5,然后执行c=(a-=a-5),即将a的值5赋给变量c,使得c的值也为5。
然后执行下句逗号表达式中的a=b,把b的值0赋给a,此时a的值为0,然后执行b=b+4,使得b的值为4。
计算机二级c语言经典练习题及解析答案

计算机二级c语言经典练习题及解析答案一、单选题1. C语言中的三大基本数据类型包括( B )A.整型、实型、逻辑型B.整型、实型、字符型C.整型、逻辑型、字符型D.整型、实型、逻辑型、数组型2. 在C语言中,以下合法的字符常量是( c )A. '\048'B. 'ab'C. '\43'D. "\0"3.设x 为 int 型变量,执行下列语句: x=10; x+=x-=x-x; 则x的值为 ( B )A. 15B. 20C. 25D. 304. 定义如下变量和数组: int i, x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的输出结果是( C )A. 1 4 7B. 1 5 9C. 3 5 7D. 3 6 95.逗号表达式(a=3*5,a*4),a+15的值是( b )A.15B. 30C. 60D. 756. .以下程序的输出结果是( c )。
main( ){ int x=10,y=11;printf("%d,%d\n",x--,--y);}A. 11,11B. 10,11C. 10, 10D.11,107.若一个外部变量的定义形式为static int x ; 其中static的作用是( d )A.将变量存放在静态存储区,使x的值可以永久保留B.使变量x可以由系统自动初始化C.使x的值可以永久保留D.使x只能在本文件内引用8.有如下变量说明:int k=2;则下面的循环共执行多少( d )次while (k!=0) {printf("%d",k);k--;}A.无限多次 B.0次 C.1次 D. 2次9.设有变量说明:int a=7,b=8;那么语句:printf("%d,%d\n",(a+b,a),(b,a+b));的输出应该是( a )A. 7,15B. 8,15C. 15,7D.15,810.若已定义:int a[9], *p=a;并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是( b )A. p+1B. a++C. a+1D. ++p11. C语言变量名中不能使用的字符是( d )A. 数字B. 字母C. 下划线D. 关键字12.以下变量定义中合法的是( a )A.short a=2.1e-1;B. double b=1+5e0.5;C. long do=0xffe ;D. float 3_end=1-e3;13.若有说明语句char ch1=′\x79′;则ch1( c )A.包含4个字符B.包含3个字符C. 包含2个字符D.包含1个字符14.C语言中的函数( b )A. 可以嵌套定义B.嵌套调用和递归调用均可C. 不可以嵌套调用D. 可以嵌套调用但不可以递归调用15. 设整形变量a=12;则执行完语句a+=a-=a*a后a的值为( c )A. 552B. 264C. -264D. 14416.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c<d?a:d的结果是( a )A.1 B.2 C.3 D.417.若有说明语句:int b[][4]={ 3,1,2,5,7,6,4}; 则b数组的行数为( b )A. 3B. 2C.无确定值D. 118. 若有定义:char c[10];从键盘输入“LiFang”,则正确的函数引用是( c )A. scanf(″%c″,&c[10]);B. gets(c);C. scanf(″%s″,&c);D. gets(c[10]);19. 两个基类型相同的指针变量之间,不能进行的运算是( c )A. <B. =C. +D.-20. 下面程序段执行结果是( b )int i=5,k; k=(++i)+(++i)+(i++); printf("%d,%d",k,i);A. 24,8B. 21,8C. 21,7D. 24,721.以下选项中属于C语言的数据类型是( b )。
2012年3月全国计算机等级考试二级C语言笔试试卷与答案(花卷)1

C语言程序设计2012年3月全国计算机等级考试二级笔试试卷第一题在后面二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
(1)在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元素个数为【1】。
(2)设循环队列的存储空间为Q(1:30),初始状态为front=rear=30。
现经过一系列入队与退队运算后,front=16,rear=15,则循环队列中有【2】个元素。
(3)数据库管理系统提供的数据语言中,负责数据的增、删、改和查询的是【3】。
(4)在将E-R图转换到关系模式时,实体和联系都可以表示成【4】。
(5)常见的软件工程方法有结构化方法和面向对象方法,类、继承以及多态性等概念属于【5】。
(6)变量a和b已定义为int类型,若要通过scanf("a=%d,b=%d",&a,&b); 语句分别给a和b输入1和2,则正确的数据输入内容是【6】。
(7)以下程序的输出结果是【7】。
# include <stdio.h>main( ){ int a=37;a+=a%=9; printf(%d\n”,a);}(8)设a、b、c都是整型变量,如果a的值为1,b的值为2,则执行c=a++||b++; 语句后,变量b的值是【8】。
(9)有以下程序段s=1.0;for (k=1; k<=n; k++) s=s+1.0/(k*(k+1));printf("%f\n",s);请填空,使以下程序段的功能与上面的程序段完全相同。
s=1.0; k=1;while ( 【9】){ s=s+1.0/(k*(k+1)); k=k+1; }printf("%f\n", s);(10)以下程序的输入结果是【10】。
# include <stdio.h>main( ){ char a,b;for (a=0; a<20; a+=7) { b=a%10; putchar(b+'0'); }}(11)以下程序的输出结果是。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012年3月全国计算机等级考试二级C语言真题(考试时间90分钟,满分100分)一、选择题(11-20题每题1分,其他2分)70分1、下列叙述中正确的是AA、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构C、循环队列是非线性结构D、循环队列是一种逻辑结构2、下列叙述中正确的是DA、栈是一种先进先出的线性表B、队列是一种后进先出的线性表C、栈和队列都是非线性结构D、以上三种说法都不对3、一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为DA、4B、6C、10D、164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是AA、内模式B、外模式C、概念模式D、逻辑模式5、在满足实体完整性约束的条件下DA、一个关系中可以没有候选关键字B、一个关系中只能有一个候选关键字C、一个关系中必须有多个候选关键字D、一个关系中应该有一个或多个候选关键字6、有三个关系R、S和T如下:则由关系R和S得到关系T的操作是CA、自然连接B、并C、差D、交7、软件生命周期中的活动中不包括BA、软件维护B、市场调研C、需求分析D、软件测试8、下面不属于需求分析阶段任务的是CA、确定软件系统的性能需求B、确定软件系统的的功能需求C、制定软件集成测试计划D、需求规格说明书评审9、在黑盒测试方式中,设计测试用例的主要根据是AA、程序外部功能B、程序数据结构C、程序流程图D、程序内部结构10、在软件设计中不使用的工具是 DA、系统结构图B、程序流程图C、PAD图D、数据流图(DFD图)11、针对简单程序设计,以下叙述的实施步骤正确的是 AA、确定算法和数据结构、编码、调试、整理文档B、编码、确定算法和数据结构、调试、整理文档C、整理文档、确定算法和数据结构、编码、调试D、确定算法和数据结构、调试、编码、整理文档12、关于C语言中数的表示,以下叙述正确的是BA、只有整型数在允许范围内能精确无误的表示,实型数会有误差B、只要在允许范围内整型数和实型都能精确的表示C、只有实型数在允许范围内能精确无误的表示,整型数会有误差D、只有用八进制表示的数才不会有误差13、以下关于算法的叙述错误的是CA、算法可以用伪代码、流程图等多种形式来描述B、一个正确的算法必须有输入C、一个正确的算法必须有输出D、用流程图描述的算法可以用任何一种计算机高级语言编写成程序代码14、以下叙述错误的是CA、一个C程序中可以包含多个不同名的函数B、一个C程序只能有一个主函数C、C程序在书写时,有严格的缩进要求,否则不能编译通过D、C程序中主函数必须用main作为函数名15、设有以下语句Bchar ch1,ch2; scanf(“%c%c”,&ch1,&ch2);若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是A、A和B之间用逗号间隔B、A和B之间不能有任何间隔符C、A和B之间可以用回车间隔D、A和B之间用空格间隔16、以下选项中非法的字符常量是DA、’\101’B、’\65’C、’\xff’D、’\019’解释:/0是关键字17、有以下程序A#include <sthio.h>main(){ int a=0,b=0,c=0;c=(a-=a-5);(a=b,b+=4);printf(“%d, %d, %d\n”,a,b,c);}程序运行后输出的结果是A、 0,4,5B、 4,4,5C、 4,4,4D、 0,0,018、设变量均已正确定义并且赋值,以下与其他三组输出结果不同的一组语句是DA、x++; printf(“%d\n”,x);B、n=++x; printf(“%d\n”,n);C、++x; printf(“%d\n”,x);D、n=x++; printf(“%d\n”,n);19、以下选项中,能表示逻辑值“假”的是CA、 1B、 0.C、 0D、 100.020、有以下程序#include <sthio.h>main(){ int a;scanf(“%d”,&a);if(a++<9) printf(“%d\n”,a);else printf(“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出结果是AA、10B、 11C、 9D、 821、有以下程序#include <sthio.h>main(){ int s=0,n;for (n=0;n<3;n++){ switch(s){ case 0:case 1: s+=1;case 2: s+=2;break;case 3: s+=3;default: s+=4;}printf(“%d,”,s);}}程序运行后的结果是CA、 1,2,4,B、 1,3,6,C、 3,10,14,D、 3,6,10,22、若k是int类型变量,且有以下for语句for(k=-1;k<0;k++) printf(“****\n”);下面关于语句执行情况的叙述中正确的是AA、循环体执行一次B、循环体执行两次C、循环体一次也不执行D、构成无限循环23、有以下程序#include <sthio.h>main(){ char a,b,c;b=’1’; c=’A’;for(a=0;a<6;a++){ if(a%2) putchar(b+a);else putchar(c+a);解释:0为假,1为真}}程序运行后的输出结果是CA、 1B3D5FB、 ABCDEFC、 A2C4E6D、24、设有如下定义语句int m[ ]={2,4,6,8,10},*k=m;以下选项中,表达式的值为6的是AA、 *(k+2)B、 k+2C、 *k+2D、 *k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。
在下列划线处应该填写的是 D#include <sthio.h>#define N 5 why?void fun(int x[N]){ int m;for(m=N-1;m>=0;m--) scanf(“%d\n”, );}A、 &x[++m]B、 &x[m+1]C、 x+(m++)D、 x+m26、若有函数void fun(double a[], int *n){………}以下叙述中正确的是CA、调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送B、形参a和n都是指针变量C、形参a是一个数组名,n是指针变量D、调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组27、有以下程序#include <sthio.h>main(){ int a,b,k,m,*p1,*p2;k=1,m=8;p1=&k, p2=&m;a=/*p1-m; b=*p1+*p2+6;指针错误printf(“%d ”,a); printf(“%d\n”,b);}编译时编译器提示错误信息,你认为出错的语句是AA、a=/*p1-mB、b=*p1+*p2+6C、k=1,m=8;D、p1=&k,p2=&m;28、以下选项中有语法错误的是DA、char *str[ ]={“guest”};B、char str[][10]={“guest”};C、char *str[3]; str[1]=“guest”;D、char str[3][10];str[1]=“guest”;一个一维数组一个二维数组29、avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10,则下列函数说明语句错误的是CA、int avg(int *a,int n);B、int avg(int a[10],int n);C、int avg(int a,int n) ;D、int avg(int a[], int n);a是首元素30、有以下函数#include <sthio.h>#include <string.h>main(){ printf(“%d\n”,strlen(“ATS\n012\1”));}程序运行后的输出结果是B 遇到/0结束计数A、 3B、 8C、 4D、 931、有以下程序#include <sthio.h>main(){ char a[20],b[20],c[20];scanf(“%s%s”,a,b);get(c);printf(“%s%s%s\n”,a,b,c);}程序运行时从第一行开始输入:DThis is a cat!<回车> ,则输出结果是(a=this,b=is,c=a cat!)A、 Thisisacat!B、 This is aC、 Thisis a cat!D、Thisisa cat!32、有以下程序#include <sthio.h>void fun(char c){ if( c>’x’) fun(c-1);printf (“%c”,c);}main(){fun(‘z’);}程序运行后的输出结果是AA xyzB wxyzC zyxwD zyx33、有以下程序#include <sthio.h>void func(int n){ int i;for(i=0;i<=n;i++) printf(“*”);printf(“#”);}main(){ func(3); printf(“”); func(4); printf(“\n”); }程序运行输出结果是DA ****#***#B ***#*****#C **#*****#D ****#*****#34、有以下程序#include <sthio.h>void fun(int *s){ static int j=0;do { s[j]=s[j]+s[j+1];} while(++j<2);}main(){ int k,a[10]={1,2,3,4,5};for(k=1;k<3;k++) fun(a);for(k=0;k<5;k++) printf(“%d”,a[k]);printf(“\n”);}程序运行后的输出结果是 DA 12345B 23445C 34756D 3574535、有以下程序#include <sthio.h>#define S(x) (x)*x*2why ?main(){ int k=5,j=2;printf(“%d,”,S(k+j)); printf(“%d\n”,S((k-j)));}程序运行后的输出结果是 CA 98,18B 39,11C 39,18D 98,1136、有以下程序#include <sthio.h>void exch(int t[ ]){ t[0]=t[5];}main(){ int x[10]={1,2,3,4,5,6,7,8,9,10},i=0;while(i<=4) { exch(&x[i]);i++;}for(i=0;i<5;i++) printf(“%d”,x[i]);printf(“\n”);}程序运行后的输出结果是DA 2 4 6 8 10B 1 3 5 7 9C 1 2 3 4 5D 6 7 8 9 1037、设有以下程序段struct MP3{ char name[20];char color;float price;}std,*ptr;ptr= &std;若要引用结构体变量std中的color成员,写法错误的是CA std.colorB ptr->colorC std->colorD (*ptr).color38、有以下程序#include <sthio.h>struct stu{ int mun; char name[10]; int age;};void fun(struct stu *p){ printf(“%s\n”,p->name);}main(){ struct stu x[3]={{01,”Zhang”,20},{02,”Wang”,19},{03,”Zhao”,18}};fun(x+2);}程序运行后的输出结果是BA ZhangB ZhaoC WangD 1939、有以下程序#include <sthio.h>main(){ int a=12,c;c=(a<<2)<<1;printf(“%d\n”,c);}程序运行后的输出结果是DA 3B 50C 2D 9640、以下函数不能用于向文件中写入数据的是AA ftellB fwriteC fputcD fprintf二、填空题(每题2分)30分1、在长度为n的顺序存储的线性表中删除一个元素,最坏情况下需要移动表中的元素个数为()。