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

下载本文档

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

文档简介

试卷科目:C语言开发基础C语言开发基础(习题卷79)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC语言开发基础第1部分:单项选择题,共70题,每题只有一个正确答案,多选或少选均不得分。[单选题]1.有下列程序#include<stdio.h>Main(){Inta=-1,b=2;For(;b>1;a++)Printf("%d,%d,",++a,--b);Printf("%d,%d",a,b);}程序执行后的输出结果是______。A)0,1,1,1B)0,1,1,0C)0,1,1,0,1,0D)0,1,1,1,1,1答案:A解析:[单选题]2.C语言源程序的扩展名是:A)cppB)objC)cD)exe答案:C解析:[单选题]3.给出程序的运行结果,程序运行时从键盘输入:45-12<回车>A)输出报错B)输出一个随机数C)57D)33答案:C解析:[单选题]4.若调用fputc函数执行成功,则其返回值是____。A)1B)输出的字符C)0D)EOF答案:B解析:[单选题]5.已知intA,b;用语句scanf("%d%d",&a,&b);输入a,b的值,不能作为输入数据分隔符的是______。A),B)空格C)回车D)"[tab]"答案:A解析:[单选题]6.执行下面程序段的结果是()。#include<iostream>Usingnamespacestd;Intmain(){intx=23;do{cout<<x--;}while(!x);return0;}A)打印出321B)打印出23C)不打印任何内容D)陷入死循环答案:B解析:[单选题]7.C语言允许函数类型缺省定义,此时该函数的隐含类型是()。A)intB)longC)floatD)double答案:A解析:[单选题]8.程序执行后的输出结果是A)自然数1~10的累加和B)自然数1~9的累加和C)自然数1~10中的偶数之和D)自然数1~9中的奇数之和答案:C解析:[单选题]9.若已定义inta[2][3];则合法引用数组元素的是()。A)a[1/3][1/2]B)a[2][1]C)a[2][3]D)a[1][3]答案:A解析:a[2][3],一维只能引用a[0],a[1]二维只能引用a[0]a[1]a[2][单选题]10.在C语言中,一维数组的定义方式为:类型符数组名()。A)[常量表达式]B)[整形表达式]C)[整型常量]或[整型表达式]D)[整型常量]答案:A解析:[单选题]11.C语言中,函数值类型的定义可以缺省,此时函数值的隐含类型是______。A)voidB)intC)floatD)double答案:B解析:[单选题]12.#include命令是一种()A)函数B)宏定义C)预处理命令D)条件编译命令答案:C解析:[单选题]13.若变量c为char类型,能正确判断出c为小写字母的表达式是(D)A)'a'<=c<='z'B)(c>='a')||(c<='z')C)('a'<=c)and('z'>=c)D)(c>='a')&&(c<='z')答案:D解析:[单选题]14.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是()。A)scanf("%2d%2d%2d",&i,&j,&k);B)scanf("%d%d%d",&i,&j,&k);C)scanf("%d,%d,%d",&i,&j,&k);D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);答案:C解析:[单选题]15.一个教师可讲授多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是()。A)1:1联系B)1:m联系C)m:1联系D)m:n联系答案:D解析:实体集之间通过联系来建立连接关系,包括:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。本题中一名教师可讲授多门课程,而一门课程又能由多名教师讲授,所以教师和课程之间是多对多的关系,可以表示为m:n,答案选择D选项。[单选题]16.若有函数调用语句:fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函数调用语句中实参的个数是()。A)3B)4C)5D)6答案:A解析:[单选题]17.关于switch结构,以下说法正确的是?A)switch结构适用于区间判断的情况B)switch结构实现多路分支,程序结构清晰,提高了程序的可读性C)多重if结构使用于等值判断的情况D)switch结构无法实现多重条件判断,只能使用多重if结构可以实现多重条件判断答案:B解析:[单选题]18.已知a=12,则表达式a+=a-=a*=a的结果是_______.A)0B)144C)12D)-264答案:A解析:[单选题]19.在C语言中,要求运算数必须是整型的运算符是().A)^B)%C)!D)>答案:B解析:[单选题]20.下列用于printf函数的控制字符常量中,代表?竖向跳格?的转义字符是()。A)\bB)\tC)\vD)\f答案:C解析:略。[单选题]21.下面程序段的功能是计算1000!的末尾含有多少个零。为实现此功能,下划线处应填上()语句。(提示:只要算出1000!中含有因数5的个数即可)For(k=0,i=5;i<=1000;i+=5){m=i;while(){k++;m=m/5;}}A)m%5=0B)m=m%5==0C)m%5==0D)m%5!=0答案:C解析:[单选题]22.80、若有以下说明语句:structstudent{intnum;charname[];floatscore;}stu;则下面的叙述不正确的是()。A)struct是结构体类型的关键字B)structstudent是用户定义的结构体类型C)num,score都是结构体成员名D)stu是用户定义的结构体类型名答案:D解析:[单选题]23.C语言中char类型数据占字节数为()。A)3B)4C)1D)2答案:C解析:char为关键字。字符变量在内存中占一个字节,可以存放ASCII字符集中的任何字符。答案选择C选项。[单选题]24.以下选项中合法的变量是A)5aB)_10_C)A%D)sizeof答案:B解析:[单选题]25.在面向对象方法中,实现信息隐蔽是依靠()。A)对象的继承B)对象的多态C)对象的封装D)对象的分类答案:C解析:面向对象设计的封装性指屏蔽数据的具体结构以及操作的算法,以此实现信息隐蔽。答案选择C选项。[单选题]26.下面程序执行后的输出结果是()。#include<stdio.h>#defineN20Voidfun(inta[],intn,intm){inti;For(i=m;i>=n;i--)A[i+1]=a[i];}Intmain(){inti;inta[N]={1,2,3,4,5,6,7,8,9,10};Fun(A,2,9);For(i=0;i<5;i++)printf("%d",a[i]);return(0);}A)10234B)12344C)12334D)12234答案:C解析:[单选题]27.所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。A)7B)8C)6D)2答案:B解析:[单选题]28.下面程序的运行结果是。#include<stdio.h>#include<string.h>main(){chara[20]="AB",b[20]="LMNP";inti=0;strcat(a,b);while(a[i++]!='\0')b[i]=a[i];puts(b);}A)LBB)ABLMNPC)ABD)LBLMNP答案:D解析:[单选题]29.下面关于循环语句for、while、do_while的叙述中正确的是A)三种循环语句都可能出现无穷循环B)三种循环语句中都可以缺省循环终止条件表达式C)三种循环语句的循环体都至少被无条件地执行一次D)三种循环语句的循环体都必须放入一对花括号中答案:A解析:[单选题]30.若有如下语句:intx=3;do{printf("%d\n",x-=2);}while(!(--x));则上面程序段()。A)输出的是4B)输出的是4和2C)输出的是1和-2D)是死循环答案:C解析:[单选题]31.下面函数定义中正确的是A)intfun(intA,b){}B)intfun(inta[][]){}C)intfun(void){}D)intfun(staticintA,intb){}答案:C解析:[单选题]32.程序设计语言的基本成分是数据成分、运算成分、控制成分和()。A)对象成分B)变量成分C)语句成分D)传输成分答案:D解析:程序设计语言是用于书写计算机程序的语言,其基本成分有以下4种,数据成分:用来描述程序中的数据。运算成分:描述程序中所需的运算。控制成分:用来构造程序的逻辑控制结构。传输成分:定义数据传输成分,例如输入输出语言。[单选题]33.只能向终端输出一个字符的是()。A)printf()函数B)scanf()函数C)getchar()函数D)putchar()函数答案:D解析:P49putcahr()函数是只输出一个字符的函数[单选题]34.以下程序的运行结果是。voidsub(intx,inty,int*z){*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%4d,%4d,%4d",a,b,c);}A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-7答案:A解析:[单选题]35.正确的定义语句是____。A)inta=5;intb[a];B)inta[3,4];C)int*a[10];D)inta[][];答案:C解析:[单选题]36.设有程序#includemain(){inta=5;a+=a-=a*a;printf(?%d\n?,a);},则程序运行结果为()。A)40B)-40C)-20D)20答案:B解析:[单选题]37.若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数()。A)没有返回值B)返回若干个系统默认值C)返回一个不确定的值D)能返回一个用户所希望的值答案:C解析:[单选题]38.下面属于黑盒测试方法的是()。A)基本路径测试B)等价类划分C)判定覆盖测试D)语句覆盖测试答案:B解析:常用的黑盒测试方法有:①等价类划分法;②边界值分析法;③错误推测法;④因果图等。常用的白盒测方法有:①逻辑覆盖测试,包括语句覆盖、路径覆盖、判断覆盖、条件覆盖;②基本路径测试等,ACD三项属于白盒测试。答案选择B选项。[单选题]39.在软件开发中,需求分析阶段产生的主要文档是()。A)数据字典B)详细设计说明书C)数据流图说明书D)软件需求规格说明书答案:D解析:A项,数据字典是需求分析阶段的工具;B项,软件详细设计说明书是设计阶段生成的;C项,数据流图是结构化分析方法中使用的工具,是需求分析阶段产生的结果;D项,需求分析阶段只能生成需求分析规格说明书。答案选择D选项。[单选题]40.设函数fun的定义形式为voidfun(charch,floatx){…},则以下对函数fun的调用语句中,正确的是()。A)fun("abc",3.0);B)t=fun('D',16.5);C)fun('65',2.8);D)fun(32,32);答案:D解析:[单选题]41.以下程序的功能是计算:s=1+1/2+1/3+……+1/10,程序运行后输出结果错误,导致错误结果的程序行是1.A)for(n=10;n>1;n--)B)s=1.0;C)s=s+1/n;D)printf("%6.4f\n",s);答案:C解析:[单选题]42.100、下列程序代码运行结果正确的是()。#includemain(){inta=1,b=3,c=5;if(c==a+b)printf("yes\n");elseprintf("no\n");}A)yesB)noC)yes和noD)代码错误答案:B解析:[单选题]43.以下关于指针的叙述正确是()。A)所有类型的指针变量所占内存的大小是一样的B)指针变量所占内存的大小与其类型有关,char型指针变量只占1个字节,double型指针变量占8个字节C)指针变量可直接指向任何类型的变量,而不会出现编译或运行错误D)指针变量既可以直接指向结构体,也可直接指向结构体中某个成员,而不会出现编译或运行错误答案:A解析:所有变量地址值所占字节都相同,故指针变量所占内存大小相同,A项正确,B项错误。只能把具有相同类型的变量地址,存放到指针变量中,结构体变量与某个成员类型不同,不能用同样的指针指向它们,C、D两项错误。答案选择A选项。[单选题]44.以下常量中,合法的是()。A)5e2.5B)e8C)'\\'D)'BASIC'答案:C解析:[单选题]45.C语言中表达逻辑?真?值的是()A)0B)T.C)非0的数D)True答案:C解析:[单选题]46.以下对枚举类型名的定义中正确的是()。A)enuma={sum,mon,tue};B)enuma{sum=9,mon=-1,tue};C)enuma={"sum","mon","tue"};D)enuma{"sum","mon","tue"};答案:B解析:[单选题]47.以下程序运行结果是()。#include<stdio.h>intfunc(intA,intb){intc;c=(a>b)?(a-b):(a+b);return(c);}intmain(){intx=8,y=3;printf("%d\n",func(x,y));return0;}A)3B)5C)8D)11答案:B解析:8>3,所以进行8-3的操作,c=5[单选题]48.设有chars[2][10]={"12","34"};,则数组s占用_____个字节。A)2B)10C)20D)4答案:C解析:[单选题]49.若有下面声明和定义:Voidfun(intc){printf("%d",c);}Intmain(){void(*x)(int)=fun,*y(int),(*z)(int);调用fun函数语句位置*/}Void*y(intc){}如果在main()函数中需要调用fun()函数,下面调用语句中错误的是_________。A)Fun(1);B)(*x)(1);C)Y=fun;(*y)(1);D)Z=x;(*x)(1);答案:C解析:[单选题]50.以下不正确的定义语句是。A)doublex[5]={2.0,4.0,6.0,8.0,10.0};B)inty[5]={0,1,3,5,7,9};C)charc1[]={'1','2','3','4','5'};D)charc2[]={'\x10','\xa','\x8'};答案:B解析:[单选题]51.执行以下程序段后,输出结果和a的值是()。Inta=10;Printf("%d",a++);A)10和10B)10和11C)11和10D)11和11答案:B解析:[单选题]52.下列方法中错误的是()。A)主数可以分为两个部分:主函数说明部分和主函数体B)主函数可以调用任何非主函数的其它函数C)任何非主数可以调用其它任何非主函数D)程序可以从任何非主函数开始执行答案:D解析:[单选题]53.以下程序运行的结果是()。#defineN2+3intmain(){intx;x=N*N;printf("%d",x);return0;}A)25B)13C)12D)11答案:D解析:[单选题]54.设有一个商店的数据库,记录客户及其购物情况,由三个关系组成:商品(商品号,商品名,单价,商品类别,供应商),客户(客户号,姓名,地址,电邮,性别,身份证号),购买(客户号,商品号,购买数量),则关系购买的键为()。A)客户号B)商品号C)客户号,商品号D)客户号,商品号,购买数量答案:C解析:在购买关系中,商品号、客户号、购买数量三个属性均不能唯一标识元组,但商品号与客户号构成的集合、商品号、客户号、购买数量构成的集合都可以唯一标识购买关系,可以作为候选键,而前者为最小属性集。答案选择C选项。[单选题]55.在文件打开方式中,字符串?rb?表示()。A)打开一个已存在的二进制文件,只能读取数据B)打开一个已存在的文本文件,只能读取数据C)打开一个二进制文件,只能写入数据D)打开一个文本文件,只能写入数据答案:A解析:[单选题]56.数据库管理系统是()。A)操作系统的一部分B)在操作系统支持下的系统软件C)一种编译系统D)一种操作系统答案:B解析:系统软件主要包括:①操作系统软件;②各种语言的解释程序和编译程序;③各种服务性程序;④各种数据库管理系统。数据库管理系统是一种系统软件,负责数据库中的数据组织、数组操纵、数据维护、控制和保护以及数据服务等。答案选择B选项。[单选题]57.有以下程序段intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处do-while循环的结束条件是______。A)p的值不等于12345并且n的值小于3B)p的值等于12345并且n的值大于等于3C)p的值不等于12345或者n的值小于3D)p的值等于12345或者n的值大于等于3答案:D解析:[单选题]58.()语句符合C语言语法。A)inta=2,b+=a;B)inta=b=2,c=5;C)floatx=2.3,b,c;D)floatx=3.2,inti,j=6;答案:C解析:定义整型变量时不能进行多重赋值,也不能进行复合赋值。一条语句内不能进行不同的变量声明。[单选题]59.写出下列程序段运行结果()。_x000D_unsignedinta=3,b=10;_x000D_printf("%d\n",aA)_x000D_13B)12C)8D)14答案:B解析:[单选题]60.不能把字符串:Hello!赋给数组b的语句是()。A)charstr[10]={'H','e','l','l','o','!'};B)charstr[10];str="Hello!";C)charstr[10];strcpy(str,"Hello!");D)charstr[10]="Hello!";答案:B解析:[单选题]61.把Xy定义成float类型变量,并联同一切值3.14,正确的是()A)floatx,y=3.14;B)floatx,y=2*3.14;C)floatx=3.14,y=x;D)floatx=y=3.14;答案:C解析:[单选题]62.()。以下不正确的叙述是。A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。答案:D解析:[单选题]63.C语言中运算对象必须是整型的运算符是()。A)%=B)/C)=D)〈=答案:A解析:[单选题]64.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为().A)0B)1C)2D)3答案:C解析:[单选题]65.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类型是().A)externB)registerC)autoD)static答案:D解析:[单选题]66.2+7.0/2的运算结果是()A)4.500000B)5.500000C)5D)5.000000答案:B解析:[单选题]67.有如下程序段Inta=14,b=15,x;charc='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为()A)trueB)falseC)0D)1答案:D解析:[单选题]68.在C语言中,判定逻辑值为?真?的最正确的叙述是A)1B)非0的数C)大于0的数D)非0的整数答案:B解析:[单选题]69.以下的选项中,正确的赋值语句是()A)j++;B)a=1,b=2;C)a=b=5;D)y=int(x);答案:C解析:[单选题]70.Inti,j,a[2][3];按照数组a的元素在内存的排列次序,不能将数1,2,3,4,5,6存入a数组的是()。A)for(i=0;i<2;i++)for(j=0;j<3;j++)a[i][j]=i*3+j+1;B)for(i=0;i<6;i++)a[i/3][i%3]=i+1;C)for(i=1;i<=6;i++)a[i][i]=i;D)for(i=0;i<3;i++)for(j=0;j<2;j++)a[j][i]=j*3+i+1;答案:C解析:第2部分:多项选择题,共4题,每题至少两个正确答案,多选或少选均不得分。[多选题]71.下面不能正确进行字符串赋值操作的是()。A)chars[5]={?ABCDE?};B)chars[5]={?A?,?B?,?C?,?D?,?E?};C)char*s;s=?ABCDE?;D)char*s;scanf(?%s?,s)答案:ABD解析:[多选题]72.113、设int型占2个字节,且inti=-2;,则语句printf("%u",i);的输出结果错误的是()。A)0B)-2C)65534D)65535答案:ABD解析:[多选题]73.114、若x、y、z均为整型常量,且a=100,则执行下列语句后的z值错误的是()。x=a++;y=--a;z=x+y-a--;A)100B)200C)400D)300答案:BCD解析:[多选题]74.在C#程序中,下列循环语句会导致死循环的有()A)for(intk=0;k<0;k++)B)for(intk=10;k>0;k--)C)for(intk=0;k<10;k--)D)for(intk=1;k>0;k++)答案:CD解析:第3部分:填空题,共2题,请在空白处填写正确答案。[填空题]75.若有以下输入,则下面程序的运行结果是。1423341233222331114111-1#defineM50main(){inta[M],c[4],i,n=0,x;printf("Enter1or2or3or4,toendwith-1\n");scanf("%d",&x);while(x!=-1){if(x>0&&x<=4){a[n-1]=x;n++;}scanf("%d",&x);}for(i=0;i<4;i++)c[i]=0;for(i=0;i<n;i++)c[a[i]-1]++;printf("Theresultis:\n");for(i=1;i<=4;i++)printf("%d:%d\n",i,c[i-1]);printf("\n");}答案:Theresultis:1:82:53:64:3解析:[填空题]76.设数组a包括10个整型元素,下面程序的功能是求出a中各相邻两个元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。请分析程序填空。voidmain(){inta[10],b[10],i;for(i=0;i<10;i++)scanf("%d",&a[i]);for(【1】;i<10;i++)【2】;for(i=1;i<10;i++){printf("%3d",b[i]);if(【3】==0)printf("\n");}}答案:【1】i=1【2】b[i]=a[i-1]+a[i]【3】i%3解析:第4部分:判断题,共11题,请判断题目是否正确。[判断题]77.在do和while之间的循环体由多个语句组成时,必须用{}括起来组成一个复合语句。A)正确B)错误答案:对解析:[判断题]78.静态变量的作用域是整个文件。A)正确B)错误答案:错解析:[判断题]79.175、do-while循环的while后的分号可以省略。A)正确B)错误答案:错解析:[判断题]80.共用体变量的各个成员所占内存单元的地址相同。A)正确B)错误答案:对解析:[判断题]81.在C语言中,1.2E0.5是合法的实型常量答案:错解析:[判断题]82.花括号?{?和?}?只能作为函数体的定界符A)正确B)错误答案:错解析:[判断题]83.200、比较两个字符串是否相等不能通过条件运算符"=="。A)正确B)错误答案:对解析:[判断题]84.数组不是具有相同数据类型的变量的有序集合序列。A)正确B)错误答案:错解析:第5部分:问答题,共13题,请在空白处填写正确答案。[问答题]85.功能:利用递归方法求5!。#include<stdio.h>Intmain(){intfact(int);printf("5!=%d\n",fact(5));return0;}Intfact(intj){intres;*********FOUND**********/if(j=0)*********FOUND**********/res=0;elseres=j*fact(j-1);*********FOUND**********/returnj;}答案:if(j==0)res=1;returnres;解析:[问答题]86.从输入设备上读入一个字符的函数是()。答案:Getchar()解析:[问答题]87.下列程序段的运行结果是_____。Chars1[20]="abcdef",s2[5]="ABC";Strcpy(s1,s2);printf("%c",s1[4]);答案:e解析:/运行结果/C7strcpy函数T[问答题]88.下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。请填空。Voidmain(){Chara[]="clanguage",t;Inti,j,k;K=strlen(a);For(i=0;i<=k-2;i+=2)For(j=i+2;j<=k;____【1】____)If(____【2】____){T=a[i];a[i]=a[j];a[j]=t;}Puts(a);}答案:j+=2;;;a[i]>a[j];;;解析:[问答题]89.如何判断一段程序是由C编译程序还是由C++编译程序编译的?答案:解析:#ifdef__cpluspluscout<<"c++";#elsecout<<"c";#endif解析

温馨提示

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

评论

0/150

提交评论