版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
试卷科目:C语言开发基础C语言开发基础(习题卷14)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC语言开发基础第1部分:单项选择题,共73题,每题只有一个正确答案,多选或少选均不得分。[单选题]1.以下程序运行后的输出结果是()。#includemain(){intx=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf("%d%d\n",x,y);}A)100B)200C)1020D)2010答案:B解析:[单选题]2.在C语言中,引用数组元素时,其数组下标的数据类型允许是()。A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式答案:C解析:[单选题]3.表达式:10!=9的值是______。A)trueB)非零值C)0D)1答案:D解析:[单选题]4.已知inti=5;则!i的值是____。A)-5B)0C)1D)5答案:B解析:[单选题]5.函数调用语句:fseek(fp,-10L,2);的含义是()。A)将文件位置指针从文件末尾处向文件头的方向移动10个字节B)将文件位置指针从当前位置向文件头的方向移动10个字节C)将文件位置指针从当前位置向文件末尾方向移动10个字节D)将文件位置指针移到距离文件头10个字节处答案:A解析:[单选题]6.以下合法的赋值语句是______。A)X=Y=100B)D--;C)X+Y;D)C=INT(A+B)答案:B解析:[单选题]7.有变量说明语句intA,B,c;,顺序执行下面语句:A=b=c=1;++a||++b&&++c;那么,变量b的值应是()。A)2B)1C)0D)3答案:B解析:[单选题]8.下列选项中,哪个是IF条件结构的表达式()A)字符串表达式B)条件表达式C)算术表达式D)任意表达式答案:B解析:[单选题]9.关于C语言的特点,错误的是()。A)C语言是高级语言。B)C语言是解释型语言。C)C语言功能强大,可移植性好。D)C语言是结构化编程语言。答案:B解析:[单选题]10.执行下面语句的输出为()。Inti=-1;If(i<=0)printf(?****\n?);Elseprintf(?%%%%\n?);A)****B)%%%%C)%%%%cD)有错,执行不正确答案:A解析:[单选题]11.若运行以下程序时,从键盘输入2473<CR>(<CR>表示回车),则下面程序的运行结果是。#include"stdio.h"{intc;while((c=getchar())!='\n')switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}printf("\n");}A)668977B)668966C)66778777D)6688766答案:A解析:[单选题]12.下列关于单目运算符++、--的叙述中正确的是A)a++和++a都是最终使变量a执行a=a+1,因此对于包含a++或++a的表达式而言(如j=a++;或者j=++a;),两种情况下表达式的最终运算结果一定是相同的。B)a++的运算过程是:先使用变量a的值,然后再执行a=a+1。C)a++的运算过程是:先执行a=a+1,然后再使用变量a的值。D)++a的运算过程是:先使用变量a的值,然后再执行a=a+1。答案:B解析:[单选题]13.关于系统函数strcpy(x1,x2,x3)的下列说法中错误的是()A)函数中的参数x3是可以省略的B)函数的基本功能是将字符串x2的前x3个字符组成的字符串复制到字符数组x1中C)x1可以是数组名D)x2必须是存放字符串的字符数组名,不能是字符串答案:D解析:[单选题]14.对建立良好的程序设计风格,下面描述正确的是()。A)程序应简单、清晰、可读性好B)符号名的命名只要符合语法C)充分考虑程序的执行效率D)程序的注释可有可无答案:A解析:程序不仅仅要能够正常运行,还要便于调试和维护,所以程序语句结构应该简单直接,具有良好的可读性,建立良好的程序设计风格。答案选择A选项。[单选题]15.表达式?'A'+4*25.0-'b'?的正确结果是A)67B)67.0C)不确定D)67L答案:B解析:[单选题]16.下列条件语句中,功能与其他语句不同的是()。A)if(a)cout<<x<<endl;elsecout<<y<<endl;B)if(a==0)cout<<y<<endl;elsecout<<x<<endl;C)if(a!=0)cout<<x<<endl;elsecout<<y<<endl;D)if(a==0)cout<<x<<endl;elsecout<<y<<endl;答案:D解析:[单选题]17.以下是有关汉诺塔问题的程序段:Voidmove(chargetone,charputone){cout<<getone<<"-->"<<putone<<endl;}Voidhanoi(intn,charone,chartwo,charthree){if(n==1)move(one,three);else{hanoi(n-1,one,three,two);move(one,three);hanoi(n-1,two,one,three);}}若在main函数中有调用语句hanoi(3,'A','B','C');,则符合程序段运行结果的选项是()。A)A-->CA-->BC-->BB-->AC-->BA-->CA-->BB)A-->CA-->BC-->BA-->CB-->CB-->AA-->CC)A-->CA-->BC-->BA-->CB-->AB-->CA-->CD)A-->CA-->BC-->BA-->CA-->BB-->CA-->C答案:C解析:[单选题]18.下面程序的输出结果是_____()____.#include<stdio.h>voidmain(){inti;for(i=1;i<6;i++){if(i%2!=0){printf("#");continue;}printf("*");}printf("\n");}A)#*#*#B)#####C)*****D)*#*#*答案:A解析:[单选题]19.以下程序执行的结果是()#include"stdio.h"Voidmain(){Inti,sum=0;For(i=1;i<=3;sum++)Sum+=i;Printf("%d\n",sum);}A)6B)9C)死循环D)0答案:C解析:[单选题]20.设有如下定义:structsk{inta;floatb;}data,*p;若有p=&data;,则对data中的a域的正确引用是()。A)(*p).data.aB)(*p).aC)p->data.aD)p.data.a答案:B解析:[单选题]21.若有定义intx=3,y=2和floata=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是_()_.A)0B)2C)1.5D)1答案:D解析:[单选题]22.shorti=65535;cout<<i;程序段的输出结果是()。A)65535B)0C)-1D)语法错误,无输出结果答案:C解析:[单选题]23.若有说明charc[7]={'s','t','r','i','n','g'};则对元素的非法引用是___()___.A)c[0]B)c[9-6]C)c[4*2]D)c[2*3]答案:C解析:[单选题]24.若给定条件表达式(M)?(a++):(a--),则其中表达式(M)()。A)和(M==0)等价B)和(M==1)等价C)和(M!=0)等价D)和(M!=1)等价答案:C解析:[单选题]25.以下叙述正确的是A)C语言程序并不是必须要定义main()函数B)只使用三种基本结构即可解决任何复杂问题C)只要程序包含了任意一种基本结构,就肯定是结构化程序D)程序中的语法错误只有在运行时才能显现答案:B解析:[单选题]26.在数据库设计中,描述数据间内在语义联系得到E-R图的过程属于()。A)逻辑设计阶段B)需求分析阶段C)概念设计阶段D)物理设计阶段答案:C解析:数据库设计的需求分析阶段是数据库设计的第一阶段,这一阶段收集到的基础数据和一组数据流图是下一步设计概念结构的基础。数据库概念设计的目的是分析数据间内在的语义关联,在此基础上建立一个数据的抽象模型。数据库的逻辑设计主要工作是将E-R图转换成指定的关系数据库中的关系模式。数据库物理设计的主要目标是对数据库内部物理结构作调整并选择合理的存取路径,以提供数据库访问速度及有效利用存储空间。答案选择C选项。[单选题]27.以下结构体类型说明和变量定义中正确的是______。A)typedefstruct{intn;charc;}REC;RECt1,t2;B)structREC;{intn;charc;};RECt1,t2;C)typedefstructREC;{intn=0;charc='A';}t1,t2;D)struct{intn;charc;}REC;RECt1,t2;答案:A解析:[单选题]28.以下程序执行后sum的值是()Main(){inti,sum=0;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}A)15B)14C)不确定D)0答案:A解析:[单选题]29.getchar函数的作用是从计算机终端输入()A)一个字符B)多个字符C)一个整数D)一个实数答案:A解析:[单选题]30.当定义一个结构体变量时系统分配给它的内存是()。A)各成员所需内存的总和B)变量第一个成员所需内存容量C)成员中占内存量大者所需的容量D)变量最后一个成员所需内存容量答案:A解析:[单选题]31.若有定义inttmp=5';,则执行下列选项的赋值语句后,tmp的值不等于5是()A)tmp=tmp-'0';B)tmp=tmp-0x30;C)tmp=tmp-49;D)tmp=tmp-'\060';答案:C解析:[单选题]32.以下定义语句中正确的是()。A)floata=1,*b=&a,*c=&b;B)inta=b=0;C)charA=65+1,b='b';D)doublea=0.0;b=1.1;答案:C解析:A项错误,b是指针变量,*c=&b表示将一个二级指针赋值给一个一级指针,应该为*c=b或者**c=&b;B项错误,变量定义的时候不能用连续用等号,等号在定义是初始化的一种;D项错误,变量前为分号?;?表示前面的语句定义完毕,变量b的定义没有指明变量类型。答案选择C选项。[单选题]33.下面合法的标识符是_________。A)IFB)-123C)AbD)Int答案:A解析:[单选题]34.若已定义:inta[5],*p=a;无法引用数组元素a[3]的是()。A)*p+3B)p[3]C)*(p+3)D)*(&p[0]+3)答案:A解析:因为*p是第一个元素的值即a[0],所以*p+3是a[0]+3而不是a[3]。[单选题]35.有如下程序段,从键盘输入数据的正确形式应是()。(注:└┘代表空格)Floatx,y,z;Scanf(?x=%d,y=%d,z=%d?,&a,&y,&z);A)123B)x=1,y=2,z=3C)1,2,3D)x=1└┘y=2└┘z=3答案:B解析:[单选题]36.以下关于常量的说法中正确的是__。A)0101是二进制形式的常量B)0101是八进制形式的常量C)0101是十六进制形式的常量D)0101是十进制形式的常量答案:B解析:[单选题]37.以下程序运行后,输出结果是()。_x000D_fut(int**s,intp[2][3])_x000D_{**s=p[1][1];)_x000D_main()_x000D_{inta[2][3]={1,3,5,7,9,11},*p;_x000D_p=(int*)malloc(sizeof(int));_x000D_fut(&p,a);_x000D_printf("%d\n",*p);_x000D_}A)1B)7C)9D)11答案:C解析:[单选题]38.下列程序的主要功能是输入10个整数存入数组a,再输入一个整数x,在数组a中查找x。找到则输出x在10个整数中的序号(从1开始);找不到则输出0。程序缺少的是()。main(){inti,a[10],x,flag=0;for(i=0;i<10;i++)scanf("%d",&a[i]);scanf("%d",&x);for(i=0;i<10;i++)if_______{flag=i+1;break;}printf("%d\n",flag);}A)x!=a[i]B)!(x-a[i])C)x-a[i]D)!x-a[i]答案:B解析:[单选题]39.以下一维数组定义正确的是A)intia(5);B)intinum=5,ia[inum];C)intia[SZ];(SZ为符号常量)D)intinum;scanf(""%d"",&inum);intia[inum];答案:C解析:[单选题]40.软件VisualC++6.0是一种()。A)C语言程序集成开发环境B)字处理程序C)操作系统D)视频播放软件答案:A解析:[单选题]41.下列说法不正确的是()A)不同函数中,可以使用相同名字的变量B)在一个函数内部,可以在复合语句中定义变量,这些变量只在复合语句中有效C)形式参数是局部变量D)主函数main中定义的变量在整个文件或程序中有效答案:D解析:[单选题]42.若有:charw[]=HELLO;inti=0;则关于while(w[i++])的说法不正确的是____。A)变量i可以代表字符串w的长度B)while(w[i++])等价于while(w[i++]==0)C)while(w[i++])等价于while(w[i++]==1)D)while(w[i++])等价于while(!w[i++]==0)答案:B解析:[单选题]43.在数据库设计中,将E-R图转换成关系数据模型的过程属于()。A)需求分析阶段B)概念设计阶段C)逻辑设计阶段D)物理设计阶段答案:C解析:E-R图转换成关系模型数据则是把图形分析出来的联系反映到数据库中,即设计出表,所以属于逻辑设计阶段。[单选题]44.函数定义时使用()类型符,则表示该函数无返回值。A)voidB)emptyC)doubleD)float答案:A解析:[单选题]45.设有语句:inta[3]={1,2,3},*p;则下面正确的赋值语句是____。A)a[0]=a[2];B)*p=a;C)p=a[3];D)a[1]=p;答案:A解析:[单选题]46.一个C语言的执行是从___________.A)本程序的主函数开始,到本程序的主函数结束B)本程序的第一个函数开始,到本程序的最后一个函数结束C)本程序的主函数开始,到本程序的最后一个函数结束D)本程序的第一个函数开始,到本程序的主函数结束答案:A解析:[单选题]47.有以下程序_x000D_structstu_x000D_{intnum;_x000D_charname[10];_x000D_intage;_x000D_};_x000D_voidfun(structstu*p)_x000D_{printf("%s\n",(*p).name);}_x000D_main()_x000D_{_x000D_structstustudents[3]={{9801,"Zhang",20},_x000D_{9802,"Wang",19},_x000D_{9803,"Zhao",18}};_x000D_fun(students+2);_x000D_}_x000D_输出结果是()。A)ZhangB)ZhaoC)WangD)18答案:B解析:[单选题]48.以下程序段()。x=-1;do{x=x*x;}while(!x);A)是死循环B)循环执行二次C)循环执行一次D)有语法错误答案:C解析:[单选题]49.若有以下程序段:#include<stdio.h>Intmain(){inta=2,b=5;printf("a=%%d,b=%%d\n",a,b);return0;}其输出结果是()。A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%d答案:D解析:[单选题]50.能正确表示数学关系式800≥y≥500的C语言表达式为A)(y<=800)&&(y>=500)B)(y<=800)AND(y>=500)C)800>=y>=500D)(y<=800)&(y>=500)答案:A解析:[单选题]51.设inta=12,则执行完语句a+=a-=a*a后,a的值是____A)552B)264C)144D)-264答案:D解析:[单选题]52.表达式?109!=99?的值是()。A)1B)非空值C)0D)true答案:A解析:[单选题]53.fscanf函数的正确调用形式是()。A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);答案:D解析:[单选题]54.下列选项中,能够避免在嵌套的条件语句if-else中产生二义性,使得else子句与之匹配的是()A)缩进位置相同的ifB)其之前最近的ifC)之后最近的ifD)同一行上的if答案:B解析:[单选题]55.设有定义语句int(*f)(int);,则以下叙述正确的是______。A)f是基类型为int的指针变量B)f是指向函数的指针变量,该函数具有一个int类型的形参C)f是指向int类型一维数组的指针变量D)f是函数名,该函数的返回值是基类型为int类型的地址答案:B解析:[单选题]56.下列关于C语言数据文件的叙述中正确的是()。A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件答案:D解析:[单选题]57.以下不合法的用户标识符是()。A)j2_KEYB)DoubleC)4dD)_8_答案:C解析:[单选题]58.下列运算符中,优先级最高的是_________。A)->B)++C)&&D)=答案:A解析:[单选题]59.设有inti;,则以下循环中printf("%d",i);语句执行______。I=1;For(;i<=2;i++)Printf("%d",i);A)0次B)1次C)2次D)无限次答案:C解析:[单选题]60.若有说明语句:charc='\72';则变量c。A)包含1个字符。B)包含2个字符。C)包含3个字符。D)说明不合法,c的值不确定。答案:A解析:[单选题]61.设有语句:printf("%2d\n",2010);,则以下叙述正确的是()A)程序运行时输出20B)程序运行时输出10C)程序运行时输出2010D)指定的输出宽度不够,编译出错答案:C解析:printf函数格式化字符串的一般形式为:[标志][输出最小宽度][精度][长度]类型。对于%2d,%d表示结果以十进制形式输出带符号的整数,数字2表示输出的最小宽度为2,若实际位数多于2,则按实际位数输出,所以程序输出2010,答案选C。[单选题]62.下列数组说明中,正确的是()。A)intarray[][];B)intarray[3][];C)intarray[][4];D)intarray[][][5];答案:C解析:[单选题]63.设有intii,ij,ik;则表达式ii=1,ij=2,ik=3,ii>ij&&ik的值为A)0B)1C)2D)3答案:A解析:[单选题]64.C语言基本类型包括()。A)整型、实型、逻辑型B)整型、实型、字符型、逻辑型C)整型、字符型、逻辑型D)整型、实型、字符型答案:D解析:[单选题]65.以下关于地址和指针的叙述中正确的是A)可以取变量的地址赋值给同类型的指针变量B)可以取常量的地址赋值给同类型的指针变量C)可以取一个指针变量的地址赋给本指针变量,这样就使得指针变量指向自身D)所有指针变量如果未赋初值,则自动赋空值NULL答案:A解析:[单选题]66.16、下列正确的标识符是()。A)-alB)a[i]C)a2_iD)intt答案:C解析:[单选题]67.在C语言中,int、char和short三种类型数据在内存中所占用的字节数。A)由用户自己定义B)均为两个字节C)是任意的D)由所用机器的字长决定答案:D解析:[单选题]68.若有代数式,则不正确的C语言表达式是()。A)a/c/d*b*3B)3*a*b/c/dC)3*a*b/c*dD)a*b/d/c*3答案:C解析:[单选题]69.位字段数据的单位是()位.A)十六进制B)八进制C)二进制D)十进制答案:C解析:[单选题]70.设变量定义为"intx,*p=&x;",则&(*p)相当于A)pB)*pC)xD)*(&x)答案:A解析:第2部分:多项选择题,共4题,每题至少两个正确答案,多选或少选均不得分。[多选题]71.下列关于常量和变量说法错误的是()A)常量声明时必须使用const关键字B)变量赋值后程序运行中能改变C)声明常量代码constfloatPI;语法正确D)常量赋值后程序运行中不能改变答案:BC解析:[多选题]72.以下程序:#includemain(){charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);}程序运行后,若从键盘输入(从第1列开始)12345678则输出结果错误的是()。A)1267B)1256C)1278D)1245答案:ABC解析:[多选题]73.104、下面标识符中,不合法的用户标识符是()。A)1abcB)includeC)a-b-c123D)char答案:ACD解析:[多选题]74.若已定义的函数有返回值,则以下关于该函数调用的叙述中正确的是()A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参答案:ABC解析:第3部分:填空题,共2题,请在空白处填写正确答案。[填空题]75.下面程序的运行结果是。main(){inta[10]={1,2,2,3,4,3,4,5,1,5};intn=0,i,j,c,k;for(i=0;i<10-n;i++){c=a[i];for(j=i+1;j<10-n;j++)if(a[j]==c){for(k=j;k<10-n;k++)a[k]=a[k+1];n++;}}for(i=0;i<10-n;i++)printf("%3d",a[i]);}答案:12345解析:[填空题]76.在一个C源程序中,注释部分两侧的分界符分别为【1】和【2】。答案:【1】/*【2】*/解析:第4部分:判断题,共8题,请判断题目是否正确。[判断题]77.inta[]={0,1,2,3,4,5,6};不是正确的数组说明语句答案:错解析:[判断题]78.选择结构(if语句)和循环结构都可以使用嵌套形式A)正确B)错误答案:对解析:[判断题]79.while循环语句和dowhile循环语句在任何情况下都可以互换?A)正确B)错误答案:错解析:[判断题]80.在带参宏定义中,宏名和形参表之间不能有空格出现。A)正确B)错误答案:对解析:[判断题]81.一个结构体不能作为自己的成员。A)正确B)错误答案:对解析:[判断题]82.使用strcpy(字符数组,字符串)函数时,字符数组长度没有限制。A)正确B)错误答案:错解析://C7数组/C73字符函数T[判断题]83.强制类型转换时,原来变量的类型会发生改变。A)正确B)错误答案:错解析://C2基本数据类型及表达式/C23强制类型转换T[判断题]84.185、int(*p)[4]它表示p是一个指针数组,它包含4个指针变量元素。A)正确B)错误答案:错解析:第5部分:问答题,共13题,请在空白处填写正确答案。[问答题]85.一介C程序总是从()函数开始执行的。答案:主或main()解析:[问答题]86.inti;for(i=1;i<10;i+=3){printf(?*?);};循环体将执行()次。(填数字)答案:3解析:[问答题]87.staticinta[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为_____.答案:空1:6题号:55792解析:[问答题]88.输出结果是_____。main(){charm;m='B'+32;printf("%c\n",m);}答案:(b)解析:[问答题]89.结构struct和类class有什么异同?答案:解析:在c语言中struct只能对数据进行聚合,而c++的class把数据以及对数据的处理方法也同时聚合为一体,增加了内聚性。此外class拥有可再生性和可抽象性,实现的代码的复用。集中体现在派生的功能和多态的功能。同时class也比struct具备更好的封装性,体现在三种访问权限上。在C++中的struct和class的结构基本一致,只是struct的默认权限为Public而class为private。解析:[问答题]90.字符变量占用____个字节。答案:1或者一或者1个或者一个解析:[问答题]91.当a=3,b=2,c=1;时,执行以下
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 服务礼仪与标准课件
- 服务礼仪接待课件
- 服务流程课件
- 法务经理晋升课件
- 法务公司培训课件
- 服务的演讲课件
- 防蚊虫的课件
- 飞天圆梦课件
- 防烫伤背景图课件
- 访谈奶茶店模板课件
- 建筑工地节能减排措施方案
- 【新教材】青岛版(2024)三年级上册数学 六 美丽乡村-轴对称、平移和旋转现象 教案
- 2024版抗结核药所致药物性肝损伤诊治指南课件
- 2026年华侨、港澳、台联考高考数学试卷(含解析)
- 2026年及未来5年市场数据中国游戏陪玩行业市场发展数据监测及投资前景展望报告
- 2025-2026学年广东深圳宝安区七年级(上)期中考数学试题(含答案)
- 【数学】浙江省杭州市2026届高三上学期教学质量检测试题(解析版)
- 真假美猴王课件
- 生物质颗粒工人管理制度
- GA/T 2171-2024机动车驾驶人考试场地布局规划指南
- 2025甘肃高中学业水平合格性考试物理试卷试题(含答案详解)
评论
0/150
提交评论