C语言开发基础(习题卷46)_第1页
C语言开发基础(习题卷46)_第2页
C语言开发基础(习题卷46)_第3页
C语言开发基础(习题卷46)_第4页
C语言开发基础(习题卷46)_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

试卷科目:C语言开发基础C语言开发基础(习题卷46)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC语言开发基础第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。[单选题]1.以下程序中的函数reverse的功能是将a所指数组中的内容进行逆置。Voidreverse(inta[],intn){inti,t;For(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}Main(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;Reverse(b,8);For(i=6;i<10;i++)s+=b[i];Printf("%d\n",s);}程序运行后的输出结果是______。A)22B)10C)34D)30答案:A解析:[单选题]2.以下C语言用户标识符中,不合法的是()A)1B)AaBcC)a_bD)a-b答案:D解析:[单选题]3.设k=7,x=12,则下列表达式值为3的是________。A)X%=(k%=5)B)X%=(k-k%5)C)X%=k-k%5D)(x%=k)-(k%=5)答案:D解析:[单选题]4.不属于高级语言的计算机语言是()A)BASIC语言B)C语言C)ALGOL语言D)汇编语言答案:D解析:[单选题]5.程序段?intn=3;do{printf("%d",n--);}while(!n);?的执行结果是A)321B)2C)3D)死循环答案:C解析:[单选题]6.以下程序的主函数中调用了在其前面定义的函数fun:#include…main(){doublea[15],k;k=fun(a);…}则以下选项中错误的fun函数首部是()。A)doublefun(doublea[15])B)doublefun(double*a)C)doublefun(doublea[])D)doublefun(doublea)答案:D解析:由题目可知,fun函数中定义的应该是一个double型的指针变量。D项定义的是双精度型浮点数变量。答案选择D选项。[单选题]7.已有文本文件test.txt,其中的内容为:everyone!。以下程序中,文件test.txt已正确为"读"而打开,由文件指针fr指向该文件,则程序的输出结果是___________。#include<stdio.h>Main(){FILE*fr;chars[80];……Fgets(s,5,fr);Printf("%s\n",s);Fclose(fr);}A)everyoB)everyC)everD)everyone!答案:C解析:[单选题]8.设有:#defineADD(x,y)x+y则语句Printf("s=%d",5*ADD(4,3));的输出结果是______。A)s=35B)s=12C)s=23D)s=17答案:C解析:[单选题]9.有以下定义语句doubleA,b;intw;longc;若各变量已正确赋值,则下列选项中正确的表达式是_______。A)a=a+b=b++;B)w%inta+bC)c+w%(int)aD)w=a==b;答案:C解析:[单选题]10.以下程序实现了计算x的n次方,请将程序填写完整。Floatpower(floatx,intn){inti;Floatt=1;For(i=1;i<=n;i++)填空1*/returnt;}Main(){Floatx,y;intn;printf(?请输入底数:?);scanf(?%f?,&x);printf(?请输入指数:?);scanf(?%d?,&n);y=power(x,n);Printf(?%f\n?,y);Getch();}请阅读代码并选择?填空1?的空白处应填写的内容()A)t=t*x;B)t=t+x;C)t=t*i;D)t=t+i;答案:A解析:[单选题]11.以下函数定义中,正确的形式是____。A)doublef(x,y);B)doublefun(intx;inty)C)doublefun(intx,y)D)doublef(intx,inty)答案:D解析:[单选题]12.函数调用语句:fseek(fp,-20L,2);的含义是().A)将文件位置指针移到距离文件头20个字节处B)将文件位置指针从当前位置向后移动20个字节C)将文件位置指针从文件末尾处退后20个字节D)将文件位置指针移到离当前位置20个字节处答案:C解析:[单选题]13.请读程序:_x000D_main()_x000D_{staticinta[]={1,2,3,4,5,6}_x000D_int*p;_x000D_inti;_x000D_p=a;_x000D_*(p+3)+=2;_x000D_printf("n1=%d,n2=%d\n:",*p,*(p+3));_x000D_}_x000D_其输出是()。A)n1=1;n2=5B)n1=2,n2=6C)n1=1_x000D_n2=7D)n1=1,n2=6答案:D解析:[单选题]14.在黑盒测试方法中,设计测试用例的主要根据是()。A)程序内部逻辑B)程序外部功能C)程序数据结构D)程序流程图答案:B解析:黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择B)。[单选题]15.下列合法的数组定义是()。A)inta[]="string";B)inta[5]={0,1,2,3,4,5};C)chara="string";D)chara[]={0,1,2,3,4,5};答案:D解析:[单选题]16.以下不能对二维数组a进行正确初始化的说明是。A)inta[2][3]={0};B)inta[][3]={{1,2},{0}};C)inta[2][3]={{1,2},{3,4},{5,6}};D)inta[][3]={1,2,3,4,5,6};答案:C解析:[单选题]17.若有定义?chars1[50],s2[50];?,则以下函数调用中,正确的是_________。A)Scanf("%s%s",&s1,&s2);B)Gets(s1,s2);C)Scanf("%s%s",s1,s2);D)Gets("%s%s",s1,s2);答案:C解析:[单选题]18.设有定义:chars[81];inti=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是()。A)gets(s);B)while((s[i++]=getchar())!='\n');s[i]='\0';C)scanf("%s",s);D)do{scanf("%c",&s[i]);}while(s[i++]!='\n');s[i]='\0';答案:C解析:字符串的输入不能使用scanf("%s",s);而应该使用gets(s)。[单选题]19.()。在C语言中,int.char和short种类型数据在内存中所占用的字节数A)由用户自己定义B)均为2个字节C)是任意的D)由所用机器的机器字长决定答案:D解析:[单选题]20.在学校中,?班级?与?学生?两个实体集之间的联系属于()关系。A)一对一B)一对多C)多对一D)多对多答案:B解析:实体之间通过联系来建立关系,两个实体集之间的联系分为:①一对一关系;②一对多关系;③多对多关系。一个班包括多名学生,而一名学生只能属于一个班级,所以?班级?与?学生?联系属于一对多关系。答案选择B选项。[单选题]21.在医院,每个医生只属于某一个诊疗科,医生同一天可为多位患者看病,而一名患者可在多个科室治疗,则实医生和患者之间的联系是()。A)多对多B)多对一C)一对多D)一对一答案:A解析:一般来说,实体集之间必须通过联系来建立连接关系,分为三类:①一对一联系(1:1);②一对多联系(1:m);③多对多联系(m:n)。医生可为多位患者看病,患者也可以找多位医生看病,实体医生与患者联系是多对多,答案选择A选项。[单选题]22.有如下程序#includevoidmain(){floatx=5.0,y;if(xA)0.000000B)0.50000C)0.200000D)1.000000答案:C解析:[单选题]23.有以下程序程序运行后的输出结果是()A)8,16B)16,32C)8,32D)16,16答案:C解析:带参数的宏定义不是进行简单的字符串替换,而是要进行参数替换。替换过程是:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。FNA(FNB(a)的替换过程为:FNA(2+2)替换为2+2*2+2,计算结果为8FNB(FN(b)的替换过程为:fB(4*4)替换为4*4+4*4=32.程序运行后的输出结果是8,32,C选项正确。[单选题]24.以下程序的结果是______。Inta=5,b=7;Voidsun(){a=100;b=200;}Main(){inta=200,b=100;Sun();Printf("%d%d\n",a,b);}A)100200B)57C)200100D)75答案:C解析:[单选题]25.以下程序的运行结果是。#include<stdio.h>main(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf("%d,%d",a,b);}A)6,1B)2,1C)6,0D)2,0答案:B解析:[单选题]26.下面不能作为软件需求分析工具的是()。A)PAD图B)数据字典(DD)C)数据流程图(DFD图)D)判定树答案:A解析:软件需求分析方法包括结构化分析和面向对象分析。结构化分析工具有:①数据流图(DFD);②数据字典(DD);③判定表;④判定树等。A项,PAD图是过程设计工具。答案选择A选项。[单选题]27.以下关于rdturn语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处答案:B解析:[单选题]28.有下面程序段,上机运行,将。chara[3],b[]="China";a=b;printf("%s",a);A)输出ChinaB)输出ChiC)输出ChD)编译出错答案:D解析:[单选题]29.while(!x)中的!x与下面的表达式()等价A)x==0B)x==1C)x!=5D)x!=0答案:A解析:[单选题]30.C语言提供的基本数据类型关键字是()。A)integerB)FLOATC)unsignedD)Double答案:C解析:[单选题]31.C语言中下面哪个不是条件语句?A)ifB)ifelseC)NSLogD)switch答案:C解析:[单选题]32.已定义如下变量Intnum;正确表示num既能被3整除也能被7整除的表达式是()A)num/3=0||num/7=0num/3=0||num/7=0B)num/3=0&&num/7=0C)num%3=0&&num%7=0D)num%3==0&&num%7==0答案:D解析:[单选题]33.以下表达式的值与x无关、其值恒为真的是______。A)0<x<5B)x<10||x>5C)x!=10||x!=5D)x!=10&&x!=5答案:C解析:[单选题]34.下列程序的运行结果是()。main(){staticinta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};inti,j,sum=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if(j>i)17sum+=a[i][j];printf(''sum=%d\n'',sum);}A)40B)36C)24D)30答案:B解析:[单选题]35.若有定义int*p[3];,则以下叙述中正确的是()A)定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针B)定义了一个基类型为int的指针变量p,该变量具有三个指针C)定义了一个名为*p的整型数组,该数组含有三个int类型元素D)定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素答案:A解析:int*p[3]含义是定义一个指针数组p,数组中包含3个元素,每个元素都是int*类型的指针,本题答案A。[单选题]36.以下选项中合法的标识符是()。A)1_1B)1-1C)_11D)1__答案:C解析:C语言的标识符命名规则为:①只能由字母、数字和下划线3种字符组成;②标识符首位必须是字母或下划线;③不能与C语言中的关键字或保留字相同。AD两项,标识符首位不能为数字;B项,标识符首位不能为数字且?-?为不合法的字符。答案选择C选项。[单选题]37.若只需要利用形参实现对实参值的拷贝,函数体对形参的操作与实参无关,则应把形参变量说明为()参数。A)指针B)引用C)值D)指针引用答案:C解析:[单选题]38.TurboC中,每个signedshortint型数据占用的内存空间为()字节A)8个B)2个C)1个D)4个答案:B解析:[单选题]39.以下正确地定义了一维整型数组a的语句组是()A)inta(10);B)intn=10,a[n];C)intn;scanf(?%d?,&n);inta[n];D)inta[SIZE];(在程序开始有#defineSIZE10)答案:D解析:[单选题]40.设用以下程序段建立了sp与str的关系,则以下对字符串的引用不正确的是____Charstr[4][8]={"str1","str2","str3","str4"},*sp[4];Intn;For(n=0;n<4;n++)sp[n]=str[n];A)spB)*spC)sp[0]D)*(sp+1)答案:A解析:A是变量名[单选题]41.C语言的基本数据类型包括A)整型、实型、字符型B)整型、实型、字符型、逻辑型C)整型、字符型、逻辑型D)整型、实型、逻辑型答案:A解析:[单选题]42.判断char型变量c1是否为小写字母正确表达式为()。A)'a'<=c1<='z'B)(c1>=a)&&(c1<=z)C)('a'>=c1)||('z'<=c1)D)(c1>='a')&&(c1<='z')答案:D解析:[单选题]43.设有定义:floata=2,b=4,h=3;,以下C语言表达式中与代数式1/2(a+b)h计算结果不相符的是______。A)(a+b)*h/2B)(1/2)*(a+b)*hC)(a+b)*h*1/2D)h/2*(a+b)答案:B解析:两个整数相除结果为整数,如5/3的结果为1,舍去小数部分。如果参加运算的两个数中有一个数为实数,则结果是double型,因为所有实数都按double型进行运算。根据运算符优先级,先计算括号内的,故选项B中(1/2)=0,整个表达式的值为0。[单选题]44.用scanf("%c,%c",&a,&b);语句给变量a、b分别赋值为3和4时,应从键盘输入____,然后回车。A)3,4B)3(空格)4C)3;4D)以上方式都可以答案:A解析:[单选题]45.设a=3,b=4,执行语句?printf(?%d,%d?,(a,b),(b,a));?的输出是()A)3,4B)4,3C)3,3D)4,4答案:B解析:[单选题]46.C语言中,若未说明函数的类型,则系统默认该函数的类型是__()____。A)float型B)long型C)int型D)double型答案:C解析:[单选题]47.chars[]=welcome;printf("%c",____);已知上面程序段能够输出字符w,则所缺失的内容肯定不是____。A)*sB)s[0]C)*(s+0)D)*(s+1)答案:D解析:[单选题]48.以下常量中,能够代表逻辑"真"值的常量是().A)\0'B)0C)'0'D)NULL答案:C解析:[单选题]49.已知有定义及语句?FILE*fp;intm=36;fp=fopen("out.dat","w");?,如果需要将变量m的值以文本形式保存到一个磁盘文件out.dat中,则下面函数调用形式中正确的是________。A)Fprintf("%d",m);B)Fprintf(fp,"%d",m);C)Fprintf("%d",m,fp);D)Fprintf("out.dat","%d",m);答案:B解析:[单选题]50.执行如下程序段后,输出结果是_______。Inti=0,a=1;While(i){i++;a=a+2;}Printf("%d,%d\n",i,a);A)0,1B)1,3C)1,0D)3,1答案:A解析:[单选题]51.有以下程序#include<iostream>Usingnamespacestd;Intmain(){intx=102,y=012;cout<<x<<","<<y<<endl;return0;}执行后输出结果是()。A)10,01B)02,12C)102,10D)02,10答案:C解析:[单选题]52.不能进行++和-运算的数据类型为()A)指针B)整型C)长整型D)常量答案:D解析:[单选题]53.在C语言库函数中,可以输出double型变量x值的函数是()。A)getcharB)scanfC)putcharD)printf答案:D解析:[单选题]54.若有说明语句?inta[5],*p=a;?,则对数组元素的正确引用是()。A)a[p]B)p[a]C)*(p+2)D)p+2答案:C解析:[单选题]55.下列不属于局部变量的是()。A)main函数中定义的变量。B)函数的形式参数C)复合语句中定义的变量D)函数外定义的变量答案:D解析:[单选题]56.有如下程序段:Charpl[80]="NanJing",p2[20]="China",p3[20]="Olympic";Strcpy(pl,strcat(p2,p3));Printf("%s\n",pl);执行该程序段后的输出是A)NanJingChinaOlympicB)ChinaOlympicC)OlympicD)NanJing答案:B解析:[单选题]57.5、以下关于C语言描述错误的是()。A)一个C程序总是从main函数开始执行B)一个C程序可以包含多个main函数C)每个语句的最后必须有一个分号D)C语言的注释符是以""开始并以"*/"结束答案:B解析:[单选题]58.已有声明?ints[2][3];?,以下选项中_________正确地引用了数组S中的基本元素。A)S[1>2][!1]B)S[2][0]C)S[1]D)S答案:A解析:[单选题]59.以下关于宏的叙述中正确的是______。A)宏名必须用大写字母表示B)宏定义必须位于源程序中所有语句之前C)宏替换没有数据类型限制D)宏调用比函数调用耗费时间答案:C解析:[单选题]60.若已定义:structBook{char*bookname;floatprice;}book1,*p;下列叙述错误的是()。A)book1为结构类型变量B)price和bookname为该结构类型成员C)p为结构类型变量D)p为结构类型指针变量答案:C解析:p为结构类型指针变量[单选题]61.表达式:(int)((double)9/2)-9%2的值是()。A)0B)3C)4D)5答案:B解析:[单选题]62.假设x.y.z和k都是int型变量,那么执行表达式:x=(y=4,z=16,k=32)后,x的值为()。A)4B)16C)32D)52答案:C解析:[单选题]63.25、字符串?ABCD?在内存占用的字节数是()。A)4B)6C)1D)5答案:D解析:[单选题]64.应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为()。A)fclose()B)close()C)fread()D)fwrite答案:A解析:[单选题]65.以下程序段中的变量已正确定义For(i=0;i<4;i++,i++)For(k=1;k<3;k++)printf(?*?);程序段的输出结果是()A)********B)****C)**D)*答案:B解析:[单选题]66.以下的选项中,正确的赋值语句是()。A)j++;B)a=1,b=2;C)a=b=5;D)y=int(x);答案:C解析:[单选题]67.设有定义:floata=2,b=4,h=3;,以下C语言表达式中与代数式1/2(a+b)h计算结果不相符的是______。A)(a+b)*h/2B)(1/2)*(a+b)*hC)(a+b)*h*1/2D)h/2*(a+b)答案:B解析:[单选题]68.28、已知:inta[10];则对a数组元素的正确引用是()。A)a[10]B)a[3.5]C)a(5)D)a[0]答案:D解析:[单选题]69.在C源程序中表示常数时不使用的数制是A)八进制B)二进制C)十进制D)十六进制答案:B解析:[单选题]70.设有inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[2];,则p[3]的值是______。A)5B)6C)7D)8答案:B解析:第2部分:多项选择题,共7题,每题至少两个正确答案,多选或少选均不得分。[多选题]71.以下正确的说法是()。A)在不同函数中可以使用相同名字的变量B)形式参数是局部变量C)在函数内定义的变量只在本函数范围内有定义D)在函数内的复合语句中定义的变量在本函数范围内有定义答案:ABC解析:[多选题]72.以下属于C语言程序排序方法的是()。A)冒泡排序法B)选择排序法C)插入排序法D)快速排序法答案:ABCD解析:[多选题]73.以下可以定义为用户标识符的有().A)scanfB)shortC)_3com_D)int答案:AC解析:[多选题]74.以下描述正确的是。A)函数定义可以嵌套,函数调用也可以嵌套。B)函数中,不可以有多条return语句C)全局变量可在函数外的任何位置定义D)函数定义不可以嵌套,函数调用可以嵌套。答案:CD解析:第3部分:填空题,共2题,请在空白处填写正确答案。[填空题]75.循环语句for(i=0;i<3;i++)printf("*");表达式i=0执行【1】次,表达式i++执行【2】次。答案:【1】1【2】3解析:[填空题]76.下面程序的功能是生成并打印某数列的前20项,该数列第1,2项分别为0和1,以后每个奇数编号的项是前两项之和,偶数编号的项是前两项差的绝对值。生成的20个数存在一维数组x中,并按每行4项的形式输出。main(){intx[21],i,j;x[0]=0;x[2]=1;i=3;do{x[i]=【1】;x[i+1]=【2】;i=【3】;}while(i<=20);for(i=1;i<=20;i++){printf("%5d",x[i]);if(i%4==0)printf("\n");}}答案:【1】x[i-2]+x[i-1]【2】x[i]-x[i-1]【3】i+2解析:第4部分:判断题,共8题,请判断题目是否正确。[判断题]77.在标准C语言中,共用体变量中的各成员是共同占用一块存储空间。A)正确B)错误答案:对解析:[判断题]78.枚举类型中的元素都具有一个整型值。A)正确B)错误答案:对解析:[判断题]79.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。答案:错解析:[判断题]80.用do-while语句构成的循环,在while后的表达式为零时结束循环TA)正确B)错误答案:对解析:[判断题]81.在C语言程序中,在main函数中定义的变量为全局变量。答案:错解析:[判断题]82.break的作用可以结束循环多重循环,即有多重循环时,可直接跳到最外层。A)正确B)错误答案:错解析:[判断题]83.inti=3,j=5;if(i>j);是正确的()A)正确B)错误答案:对解析:[判断题]84.在标准C中,for语句后的三个表达式是按其先后次序执行的。答案:错解析:第5部分:问答题,共13题,请在空白处填写正确答案。[问答题]85.题号:55685当a=1,b=2,c=3时,执行以下程序段后c=_____.if(a>c)b=a;a=c;c=b;答案:空1:2题号:55702解析:[问答题]86.在数组中inta[10]={1,2,4,7,9}中,元素的个数有____个,其中a[6]的值为____。答案:10;0;解析:[问答题]87."空"指针值用______表示答案:NULL解析:/基本理论/C8指针/C82指针与运算符T[问答题]88.功能:输入长方体长、宽、高(按顺序),计算底面积和体积#include<stdio.h>Intmain(){doubleA,b,c,s,v;*********FOUND**********/printf("%lf,%lf,%lf\n",a,b,c);scanf("%lf%lf%lf",&a,&b,&c);s=a*b;v=a*b*c;*********FOUND**********/printf("s=%lf\n",s,"v=%lf\n",v);return0;}答案:printf("输入长方体的长、宽、高(按顺序):\n");printf("s=%lf,v=%lf\n",s,v);解析:printf是输出语句,不可以赋值,输出语句不可以同时有2个??,默认只输出第一个。[问答题]89.结构化设计中的三种基本结构是________、_______、________。答案

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论