




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试卷科目:C语言开发基础C语言开发基础(习题卷35)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC语言开发基础第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。[单选题]1.下列叙述中,不符合良好程序设计风格要求的是()。A)程序的效率第一,清晰第二B)程序的可读性好C)程序中要有必要的注释D)输入数据前要有提示信息答案:A解析:?清晰第一,效率第二?是当今主导的程序设计风格。对程序的要求不仅是能够运行正常,还要便于调试和维护,所以程序要具有良好的可读性,语句结构应该简单直接,这有利于程序的开发与维护。答案选择A选项。[单选题]2.C语言中,用于对两个字符串进行比较的函数是()。A)strcatB)strlenC)strcmpD)strupr答案:C解析:[单选题]3.?if(表达式)?中的?表达式?()。A)只能是逻辑表达式B)只能是关系表达式C)逻辑表达式、关系表达式和算术表达式都可以D)只能是算术表达式答案:C解析:[单选题]4.#include"stdio.h"voidmain(){inta=2,i=0,tn=0,sn=0;while(iA)248B)246C)246D)234答案:B解析:[单选题]5.以下能正确定义整型变量x,y和z,并赋值正确的语句是_____。A)intx=y=z=5;B)intx,y,z=5;C)x=5,y=5,z=5;D)x=y=z=5;答案:B解析:[单选题]6.下列选项中,哪一项不是C语言的关键字()。A)autoB)intC)addD)goto答案:C解析:[单选题]7.有以下程序:#includemain(){intx=010,y=10;printf("%d,%d\n",++x,y--);}程序运行后的输出结果是()。A)10,9B)11,10C)010,9D)9,10答案:D解析:整型常量有3种表示方法,分别是十进制数表示法、八进制数表示法和十六进制数表示法,八进制整常量以0作为前缀。自增和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。x=010,即十进制的8,y=10,++x先自加后取值,输出9,y--先取值输出10,再自减y=9,答案选择D选项。[单选题]8.输出语句:printf("%d\n",11);的输出结果是A)11B)12C)13D)14答案:A解析:[单选题]9.关于scanf的不正确说法是____。A)可以给单个的基本类型变量赋值B)可以给多个基本类型变量同时赋值C)可以给字符串赋值D)可以正确有效地给指针变量赋值答案:D解析:[单选题]10.C语言中决定函数返回值的类型的是()。A)return语句中的表达式类型B)调用函数的主调函数类型C)调用函数时临时D)定义函数时所指定的函数类型答案:D解析:[单选题]11.函数调用:strcat(strcpy(str1,str2),str3)的功能是A)将串str1复制到串str2中后再连接到串str3之后B)将串str1连接到串str2之后再复制到串str3之后C)将串str2连接到串str1之后再将串str1复制到串str3中D)将串str2复制到串str1中后再将串str3连接到串str1之后答案:D解析:[单选题]12.以下的选择中,正确的赋值语句是().A)a=1,b=2B)j++C)a=b=5;D)y=int(x)答案:C解析:[单选题]13.以下是一些C#中的枚举型的定义,其中错误的用法有A)publicenumvar1{?Mike?=100,?Nike?=102,?Jike?};B)enumvar1{Mike=100,Nike,Jike};C)publicenumvar1{Mike=-1,Nike,Jike};D)enumvar1{Mike,Nike,Jike};答案:A解析:[单选题]14.一名雇员就职于一家公司,一个公司有多个雇员,则实体公司和实体雇员之间的联系是()。A)1:1联系B)1:m联系C)m:1联系D)m:n联系答案:B解析:实体集之间的联系分为3类:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。题目中一名雇员就职于一家公司,一个公司有多名雇员,公司与雇员之间的联系为一对多(1:m)联系。答案选择B选项。[单选题]15.83、设有如下定义:strucksk{inta;floatb;}data;int*p;若要使P指向data中的a域,正确的赋值语句是()。A)p=&a;B)p=data.a;C)p=&data.a;D)*p=data.a;答案:C解析:[单选题]16.以下对二维数组a进行不正确初始化的是()。A)inta[][3]={3,2,1,1,2,3};B)inta[][3]={{3,2,1},{1,2,3};C)inta[2][3]={{3,2,1},{1,2,3}};D)inta[][]={{3,2,1},{1,2,3}};答案:D解析:[单选题]17.下面程序运行后的结果是:()Voidmain(){Intx=1,y=0;switch(x){Case1:y=y+1;Case2:y=y+10;break;Default:y=y+100;}Printf(?y=%d\n?,y);}A)y=0B)y=1C)y=11D)y=111答案:C解析:[单选题]18.对下面程序段:_x000D_#defineA3_x000D_#defineB(a)((A+1)*a)_x000D_..._x000D_x=3*(A+B(7));正确的判断是()。A)程序错误,不许嵌套宏定义B)程序错误,宏定义不许有参数C)x=93D)x=21答案:C解析:[单选题]19.main()_x000D_{intx=3,i;_x000D_for(i=0;iA)81010B)7910C)8911D)8910答案:D解析:[单选题]20.根据下面的定义:Structperson{charname[9];intage;};Personclasses[10]={"John",17,"Paul",19,"Mary",18,"Adam",16};能打印出字母M的语句是()A)cout<<classes[3].name;B)cout<<classes[2].name[0];C)cout<<classes[3].name[1];D)cout<<classes[2].name[1];答案:B解析:[单选题]21.下列错误的预编译处理命令是()A)#include?stdio.h?B)#defineG9.8C)$defineG9.8D)#include<stdio.h>答案:C解析:[单选题]22.打开文件时,方式"w"决定了对文件进行的操作是().A)只写盘B)只读盘C)可读可写盘D)追加写盘答案:A解析:[单选题]23.在执行inta[][3]={1,2,3,4,5,6};语句后,a[1][1]的值是()A)1B)4C)5D)2答案:C解析:[单选题]24.下列关系表达式中,结果为"假"的是______。A)(3+4)>6B)(3!=4)>2C)3>=4||3D)(3<4)==1答案:B解析:[单选题]25.表达式(int)((double)9/2)-9%2的值是A)0B)3C)4D)5答案:B解析:[单选题]26.运行下段程序的结果是()。#include<stdio.h>main(){intx;for(x=1;x<=100;x++)if(++x%==0)if(++x%3==0)if(++x%5==0)printf(''%d'',x);}A)31,61,91B)30,60,90C)不输出任何内容D)29,59,89答案:D解析:[单选题]27.以下为计算x2+2x-3之值而定义的宏中,形式正确、使用可靠的是_____A)#defineF(x)((x)*(x)+2*(x)-3)B)#defineF(x)=(x)*(x)+2*(x)-3C)#defineF(x)x*x+2*x-3D)#defineF(x)(x*x+2*x-3)答案:A解析:[单选题]28.字符串?ABC?在内存占用的字节数是()A)3B)4C)6D)8答案:B解析:[单选题]29.以下不能定义为用户标识符是()A)manB)_0C)_intD)sizeof答案:D解析:[单选题]30.已定义inta[][3]={1,2,3,4,5,6,7,8,9};,则a[1][2]的初值为()。A)2B)4C)6D)8答案:C解析:[单选题]31.已知:charb[20];,若要从键盘输入字符串"HelloWorld!",则正确的输入语句是______。A)scanf("%c",b);B)scanf("%s",b[20]);C)gets(b);D)gets(b[20]);答案:C解析:[单选题]32.一个函数返回值的类型是由()。A)return语句中的表达式类型决定B)定义函数时所指定的函数类型决定C)调用该函数的主调函数的类型决定D)在调用函数时临时指定答案:B解析:[单选题]33.执行下列程序段后的输出结果是____()___.intx=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A)3B)2C)1D)4答案:A解析:[单选题]34.有以下程序段inta,b,c;a=10;b=50;c=a;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);程序的输出结果是()A)a=10b=50c=10B)a=10b=50c=30C)a=10b=30c=10D)a=50b=30c=50答案:A解析:[单选题]35.下述C语言转义符中()是非法的。A)'\b'B)'\037'C)'\0xf'D)'\''答案:D解析:[单选题]36.C语言中系统的标准输出文件是指____。A)屏幕B)键盘C)文件D)源程序答案:A解析:[单选题]37.若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是for(inti=5;i>=0;i--){for(intj=0;j<4;j++){}}A)20B)25C)24D)30答案:C解析:[单选题]38.正确的C语言标识符是()。A)_buy_2B)2_buyC)?_buyD)buy?答案:A解析:[单选题]39.己有声明?inta=0,b=l,*p,*q;?,下列正确的语句是_。A)A=p;B)B=q;C)P=&a;D)P=&q;答案:C解析:[单选题]40.下列程序段执行后s值为Inti=5,s=0;While(i--)if(i%2)continue;elses+=i;A)15B)10C)9D)6答案:D解析:[单选题]41.关于C语言的变量名,以下叙述正确的是()。A)变量名不可以与关键字同名B)变量名不可以与预定义标识符同名C)变量名必须以字母开头D)变量名是没有长度限制的答案:A解析:合法的标识符由字母(大、小写均可)、数字和下划线组成,并且必须以字母或下划线开头。关键字是指被C语言保留的,不能用作其他用途的标识符,它们在程序中都代表着固定的含义,用户不可重新定义,A项正确、BC两项错误。变量名没有长度限制,但不可超过编译器可以辨识的范围,D项错误。答案选择A选项。[单选题]42.函数调用fread(buf,64,2,fp)的功能是()。A)从fp所指文件流中读出整数64,并存放在buf中B)从fp所指文件流中读出整数64和2,并存放在buf中C)从fp所指文件流中读出64字节的字符,并存放在buf中D)从fp所指文件流中读出2个64字节的字符,并存放在buf中答案:D解析:[单选题]43.以下的for循环。for(x=0,y=0;(y!=123)&&(x<4);x++);A)是无限循环B)循环次数不定C)执行4次D)执行3次答案:C解析:[单选题]44.C语言中非空的基本数据类型包括___()___.A)整型,实型,逻辑型B)整型,实型,字符型C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型答案:B解析:[单选题]45.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是()。A)1:1联系B)m:1联系C)1:m联系D)m:n联系答案:C解析:实体间的联系有如下情况:①一对一(1:1);②一对多(1:m);③多对多(m:n)。本题中,一个部门可以有多名职员,而每个职员只能属于一个部门,所以,部门和职员间是一对多的联系。答案选择C选项。[单选题]46.C语言的if语句嵌套时,if与else的配对关系是()。A)每个else总是与它上面最近的没有配对过if配对B)每个else总是与最外层的if配对C)每个else与if的配对是任意的D)每个else总是与它上面的if配对答案:A解析:[单选题]47.已知程序片段:do{x++;}while(0)则x++;语句执行的次数是:A)0B)1C)无限D)出错答案:B解析:[单选题]48.Inta=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为()。A)不一定B)2C)1D)3答案:C解析:[单选题]49.下列符号选项中,哪个用来描述流程图中的判断()A)矩形B)菱形C)平行四边形D)椭圆形答案:B解析:[单选题]50.已知字符a'的ASCII码为97,执行下列语句的输出是Printf("%c%d",'b,b+1);()A)b99B)98cC)9899D)bc答案:A解析:[单选题]51.若程序中有下面的说明和定义Structabc{intx;chary;}Abcx,y;则会发生的情况是()。A)编译出错B)程序将顺利编译、连接、执行C)能顺利通过编译、连接,但不能执行D)能顺利通过编译、但连接出错答案:A解析:[单选题]52.将一个函数指定为static存储类别后,该函数将()。A)既可以被同一源文件中的函数调用,也可以被其他源文件中的函数调用B)只能被同一源文件中的函数调用,不能被其他源文件中的函数调用C)只能被其他源文件中的函数调用,不能被同一源文件中的函数调用D)既不能被同一源文件中的函数调用,也不能被其他源文件中的函数调用答案:B解析:[单选题]53.设有如下定义:Charstr1[]="string",str2[8],str3,str4[10]="string";则以下语句中不能正确执行的是()。A)strcpy(str1,"HELLO1");B)strcpy(str2,"HELLO2");C)strcpy(str3,"HELLO3");D)strcpy(str2,str4);答案:C解析:[单选题]54.下面属于白盒测试方法的是()。A)边界值分析法B)基本路径测试C)等价类划分法D)错误推测法答案:B解析:白盒测试是把程序看成装在一只透明的白盒子里,测试者完全了解程序的结构和处理过程。它根据程序的内部逻辑来设计测试用例,检查程序中的逻辑通路是否都按预定的要求正确地工作。白盒测试的主要技术有逻辑覆盖测试、基本路径测试等,B选项正确。常用的黑盒测试方法和技术有:等价类划分法、边界值分析法、错误推测法和因果图等,ACD三项错误。答案选择B选项。[单选题]55.以下能正确输出字符a的语句是()。A)printf("%s","a");B)printf("%s",'a');C)printf("%c","a");D)printf("%d",'a');答案:A解析:输出函数printf()的一般形式为?printf("格式控制字符串",输出项1,输出项2,…)?,输出项的形式要和格式控制字符串中的格式控制符保持一致,"%s"为输出字符串,"%c"为输出单个字符,"%d"为以十进制形式输出带符号整数,答案选择A选项。[单选题]56.对数学式2sinx正确的C语言表达式是____。A)2*sinxB)2sinxC)2*sin(x)D)2sin(x)答案:C解析:[单选题]57.若调用一个函数,且此函数中没有return语句,则正确的说法是该函数。A)没有返回值B)返回若干个系统默认值C)返回一个用户所希望的函数值D)返回一个不确定的值答案:D解析:[单选题]58.下面程序Voidprtv(int*x){++*x;Printf("%d\n",*x);}Main(){inta=24;Prtv(&a);}的输出是______。A)23B)24C)25D)26答案:C解析:[单选题]59.若有定义语句doublea,*p=&a;,下列叙述中错误的是()。A)定义语句中的*号是一个间址运算符B)定义语句中的*号是一个说明符C)定义语句中的p只能存放double类型变量的地址D)定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p答案:A解析:[单选题]60.有下列程序:#include?stdio.h?Main(){Inta=0,b=0,c=0;If(a++||b++&&++c)Printf("%d,%d,%d\n",A,B,c);ElsePrintf("%d,%d,%d\n",A,C,b);}程序执行后的输出结果是______。A)1,1,1B)1,0,1C)1,0,0D)1,1,0答案:B解析:[单选题]61.程序中头文件type1.h的内容是:#defineN5#defineM1N*3程序如下:#include"type1.h"#defineM2N*2Main(){inti;I=M1+M2;printf("%d\n",i);}程序编译后运行的输出结果是______。A)10B)20C)25D)30答案:C解析:[单选题]62.有以下程序段:charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);运行时从键盘上输入:a↙后,以下叙述中正确的是()。A)变量c1被赋予字符a,c2被赋予回车符B)程序将等待用户输入第2个字符C)变量c1被赋予字符a,c2中将无确定值D)变量c1被赋予字符a,c2中仍是原有字符'2'答案:A解析:[单选题]63.以下选项中不属于字符常量的是()。A)'C'B)"C"C)'\xCC'D)'\072'答案:B解析:B项,C语言中用双引号表示字符串,在分配存储空间时需要包含"\0"作为结束标志。CD两项,分别表示十六进制、八进制格式ASCII码值对应的字符常量。答案选择B选项。[单选题]64.对于函数体,说法错误的是()A)函数体内的说明语句就是定义一些本函数体内用到的变量。B)函数头里有的形参在本函数体内不用再次定义。C)不同的函数体,不允许使用相同的变量名。D)函数体用花括号括着。答案:C解析:[单选题]65.C语言double中类型数据占字节数为()A)4B)8C)12D)16答案:B解析:在VC环境下,double型数据在内存中占8个字节,float型数据占4个字节,int型数据占2个字节char型数据占1个字节。所以选择B[单选题]66.请选出可以作为C语言用户标识符的一组标识符号()A)voiddefineWORDB)a3_b3_123IFC)for-abccaseD)2aD0size答案:B解析:[单选题]67.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是()。A)1B)2C)2.0D)2.5答案:C解析:[单选题]68.假设c语言中int型数据类型占4个字节,经下列语句定义后,Charx=65;Floaty=7.3;Inta=100;Doubleb=4.5;Sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为()。A)1,4,4,8B)2,2,2,4C)1,2,2,4D)2,4,2,8答案:A解析:[单选题]69.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()A)b=1.0/aB)b=(float)(1/a)C)b=1/(float)aD)b=1/(a*1.0)答案:B解析:[单选题]70.若已定义chars1[20],s2[20];能正确从键盘读入字符串的是()A)gets(s1[20],s2[20]);B)scanf(?%s%s?,s1,s2);C)scanf(?%c%c?,s1[20],s2[20]);D)getch(s1,s2);答案:B解析:第2部分:多项选择题,共7题,每题至少两个正确答案,多选或少选均不得分。[多选题]71.a为非零时显示x,为零时显示y。能完成该功能的语句是()。A)if(a==0)printf("%d\n",y);elseprintf("%d\n",x);B)if(!a)printf("%d\n",y);elseprintf("%d\n",x);C)if(a)printf("%d\n",x);elseprintf("%d\n",y);D)if(a!=0)printf("%d\n",x);elseprintf("%d\n",y);答案:ABCD解析:[多选题]72.设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知floata=2;intb=3;则执行下列语句输出结果错误的是()。printf("%d",sizeof(a*b)+2/5);A)4B)8C)6D)7答案:ACD解析:[多选题]73.以下为无限循环的语句或语句组是()A)n=0;do{++n;}while(n<=0);B)n=0;while(1){n++;}C)n=10;while(n);{n--;}D)for(n=0,i=1;;i++)n+=i;答案:BD解析:[多选题]74.若定义chars[10];则下面表达式中能表示s[1]的地址的是()。A)s++B)&s[0]+1C)s+1D)&s[1]答案:BCD解析:第3部分:填空题,共2题,请在空白处填写正确答案。[填空题]75.若a=1,b=2,c=3,d=4,则表达式a>b?a:c>d?c:d的值是。答案:4解析:[填空题]76.若a=1,b=2,则表达式a>b?a:b+1的值是。答案:3解析:第4部分:判断题,共8题,请判断题目是否正确。[判断题]77.用户标识符中可以出现下划线,但不可以放在用户标识符的开头A)正确B)错误答案:错解析:[判断题]78.if(x>y);是正确的if语句A)正确B)错误答案:对解析:[判断题]79.for(i=1;i++<4;);语句结束后变量i的值是4答案:错解析:[判断题]80.当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出?下标越界?的出错信息A)正确B)错误答案:错解析:[判断题]81.字符串在内存中的起始地址称为字符串的指针,可以定义一个字符指针变量指向一个字符串A)正确B)错误答案:对解析:[判断题]82.C程序中如果对一维数组的全部元素都赋初值,则定义数组时不必指定数组长度。A)正确B)错误答案:对解析://C7数组/C73一维数组的定义T[判断题]83.指针变量中只能存放地址A)正确B)错误答案:对解析:[判断题]84.if语句后面的表达式必须用圆括号括起来。A)正确B)错误答案:对解析:第5部分:问答题,共13题,请在空白处填写正确答案。[问答题]85.已知i=5,写出语句i*=i+1;执行后整型变量i的值是____.答案:30解析:[问答题]86.求1+2!+3!+...+20!的和答案:main(){floatn,s=0,t=1;for(n=1;n<=20;n++){t*=n;s+=t;}printf("1+2!+3!...+20!=%e\n",s);}解析:[问答题]87.程序修改题所属年份:2010.9;2011.3;2012.3;下列给定程序中函数fun的功能是:将s所指字符串中出现的与t1所指字符串相同的子串全部替换为t2所指字符串,所形成的新串放在w所指的数组中。要求t1和t2所指字符串的长度相同。例如,当s所指字符串中的内容为"abcdabfab",t1所指子串中的内容为"ab",t2所指子串中的内容为"99"时,在w所指的数组中的内容应为"99cd99f99"。请改正程序中的错误,使它能得出正确的结果。注意:部分源程序在文件MODI1.C中,不得增行或删行,也不得更改程序的结构!#include<stdio.h>#include<string.h>voidfun(char*s,char*t1,char*t2,char*w){char*p,*r,*a;strcpy(w,s);while(*w){p=w;r=t1;***********found************/while(r)if(*r==*p){r++;p++;}elsebreak;if(*r=='\0'){a=w;r=t2;while(*r){***********found************/*a=*r;a++;r++}w+=strlen(t2);}elsew++;}}main(){chars[100],t1[100],t2[100],w[100];printf("\nPleaseenterstringS:");scanf("%s",s);printf("\nPleaseentersubstringt1:");scanf("%s",t1);printf("\nPleaseentersubstringt2:");scanf("%s",t2);if(strlen(t1)==strlen(t2)){fun(s,t1,t2,w);printf("\nTheresultis:%s\n",w);}elseprintf("Error:strlen(t1)!=strlen(t2)\n");}答案:while(*r)|*a=*r;a++;r++;解析:【考点分析】本题考查:指针型变量;C语言语法。【解题思路】while(r)和r++都是简单的逻辑和语法错误,C语言中语句必须以分号";"结尾。只要掌握了C语言的基础知识,发现这样的错误是很容易的。[问答题]88.有以下程序main(){chara[20]="Howareyou?",b[20];scanf("%s",b);printf("%s%s\n",a,b);}程序运行时从键盘输入:Howareyou?则输出结果为____。答案:Howareyou?How;解析:[问答题]89.设x、y和z都是int型变量,m为long型变量,则在16位微型机上执行下面赋值语句后,y值为(),z值为(),m值为()。y=(x=32767,x-1);z=m=oxffff;答案:32766、-1、65535解析:[问答题]90.输入三个整数x,y,z,请把这三个数由小到大输出。答案:main(){intx,y,z,t;scanf("%d%d%d",&x,&y,&z);if(x>y){t=x;x=y;y=t;}/*交换x,y的值*/if(x>z){t=z;z=x;x=t;}/*交换x,z的值*/if(y>z){t=y;y=z;z=t;}/*交换z,y的值*/printf("smalltobig:%d%d%d\n",x,y,z);}解析:[问答题]91.在C语言程序中,无论是一般磁盘文件还是设备文件,都可以通过文件结构类型的数据集合进行输入、输出操作。而且文件结构是由系统定义的,取名为_______。答案:FILE解析:/基本理论/C11文件/C11_2文件结构定义[问答题]92.class="fr-ficfr-dibcursor-hover"答案:i<=y|fz*=x解析:[问答题]93.在C语言中,所谓指针就是某个对象(变量、数组和函数等)所占用的内存单元的起始()。答案:地址解析:[问答题]94.程序设计所属年份:2011.9;学生的记录由学号成绩组成,N名学生的数据已放入主函数中的结构体数组s中,请编写函数fun,其功能是:函数返回该学号的学生数据,指定的学号在主函数中输入。若没找到指定学号,在结构体变量中给学号置空串,给成绩置-1,作为函数值返回。(用于字符串比较的函数是strcmp)。注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。#include<stdio.h>#include<string.h>#defineN16typedefstruct{charnum[10];ints;}STREC;STRECfun(STREC*a,char*b){}main(){STRECs[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},{"GA001",91},{"GA007",72},{"GA008",64},{"GA006",87},{"GA015",85},{"GA013",91},{"GA012",64},{"GA014",91},{"GA011",77},{"GA017",64},{"GA018",64},{"GA016",72}};STRECh;charm[10];inti;FILE*out;printf("Theoriginaldata:\n");for(i=0;i<N;i++){if(i%4==0)printf("\n");printf("%s%3d",s[i].num,s[i].s);}printf("\n\nEnterthenumber:");gets(m);h=fun(s,m);printf("Thedata:");printf("\n%s%4d\n",h.num,h.s);printf("\n");out=fopen("out.dat","w");h=fun(s,"GA013");fprintf(out,"%s%4d\n",h.num,h.s);fclose(out);}答案:STRECfun(STREC*a,char*b){inti;STRECstr={"\0",-1};/*若没找到指定的学号,在结构体变量中给学号置空串,给成绩置-1*/for(i=0;i<N;i++)if(strcmp(a[i].num,b)==0)/*找到指定学号的学生数据*/str=a[i];returnstr;/*返回学生记录*/}解析:【考点分析】本题考查:结构体类型;字符串比较函数strcmp()的应用。【解题思路】本程序一开始先使结构体变量str中的学号为空串,成绩为-1。循环体的功能是搜索所有学生的学号,并判断是否有学号与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2022年北京市平谷初三二模英语试卷及答案
- 财税知识专题培训课件
- 喝果汁问题教学设计-2024-2025学年五年级下册数学人教版
- 2025年营养午餐主题班会标准教案
- 古董烟斗购买合同范例
- 农商展期合同范例
- 产品加工转让合同范例
- 产品推广与渠道建设方案计划
- 工作技能培训与考核制度建立计划
- 社区医疗服务的工作安排计划
- 《高低压配电室施工工艺标准》
- 2024年12月英语四级真题及参考答案
- 第6章 机械装配工艺基础
- 《诚信经营事业永恒》课件
- 京东方在线测评题库
- 2024年版慢性阻塞性肺疾病(COPD)诊疗指南解读课件
- 2025全年应急演练计划
- 基本养老金核定表、职工退休、退职审批表
- 2024年世界职业院校技能大赛高职组“导游服务组”赛项参考试题库(含答案)
- 2024解析:第八章牛顿第一定律、二力平衡-基础练(解析版)
- 高职高考数学复习第四章指数函数与对数函数4-3对数的概念及运算课件
评论
0/150
提交评论