山东中医大期末考试计算机程序设计(专升本)复习题及答案_第1页
山东中医大期末考试计算机程序设计(专升本)复习题及答案_第2页
山东中医大期末考试计算机程序设计(专升本)复习题及答案_第3页
山东中医大期末考试计算机程序设计(专升本)复习题及答案_第4页
已阅读5页,还剩97页未读 继续免费阅读

下载本文档

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

文档简介

计算机程序设计(专升本)作业及期末考试题库注:找到所考试题直接看该试题所有题目和答案即可.查找按键:Ctrl+F一、单选题.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为().Aa<>0B!aCa=0Da参考答案:D.若有定义:int*p,k=4;p=&k;以下均代表地址的是()。Ak,pB&k,&pC&k,pDk,*p参考答案:C.若有说明:inta[3][4]={0};则下面正确的叙述是()。A只有元素a[0][0]可得到初值0B此说明语句不正确C数组a中各元素都可得到初值,但其值不一定为0D数组a中每个元素均可得到初值0参考答案:D.C语言中while和do-while循环的主要区别是()。Ado-while的循环体至少无条件执行一次Bwhile的循环控制条件比do-while的循环控制条件严格Cdo-while允许从外部转到循环体内Ddo-while的循环体不能是复合语句参考答案:A.以下说法中正确的是()oAC语言程序总是从第一个定义的函数开始执行B在C语言程序中,要调用的函数必须在main。函数中定义CC语言程序总是从main。函数开始执行DC语言程序中的main。函数必须放在程序的开始部分参考答案:C.若已定义intarr[10];则不能正确引用arr数组元素的是()。Aarr[0]Barr[l]Carr[10-l]Darr[7+3]参考答案:D.下面合法的C语言字符常量是().A'\fB"A"C65DA参考答案:A.设x、y和z都是int类型变量,且x=3,y=4,z=5,则下面的表达式中,值为0的表达式为().Ax'&&『Bx11y+z&&y-zCC、x<=yD!((x<y)&&!z||1)参考答案:D.下面叙述正确的是()。Afor循环只能用于循环次数已经确定的情况Bfor循环是先执行循环体语句,后判断表达式C在for循环中,不能用break语句跳出循环体Dfor循环的循环体可包含多条语句,但必须用花括号{}括起来参考答案:D.给出以下定义:charx[]="abcdefg”;chary[]={'a','b',七,,'d','e',T,'g'};则正确的叙述为()oA数组x和数组y等价B数组x和数组y的长度相同C数组x的长度大于数组y的长度D数组x的长度小于数组y的长度参考答案:C.一个C程序的执行是从().A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序的main函数结束参考答案:A.下面程序的输出结果是(),#includevoidmain(){intx=8/y=-7/z=9;if(xA8BlC9DO参考答案:c.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系A缩排位置相同的ifB在其之前未配对的ifC在其之前尚未配对的最近的ifD同一行上的if参考答案:C.设inta=5,b=6,c=7,d=8,m=2,n=2;则执行(m二a>b)&&(n=c>d)后n的值为()。AlBOC2D7参考答案:C.以下程序段运行后x的值为()o<br/>inta[8]={l/2,3,4/5/6,7,8)J,x=0;<br/>for(i=0;i<8;i=i+2)<br/>x=x+a[i];A36B16C20D18参考答案:B.设x为int类型,其值为11,则表达式(x++*l/3)的值是()。A3B4C11D12参考答案:A.若已定义inta=5;int*p二&a;则正确的解释是()。A是在对p进行定义的同时,使p指向aB是将变量a的值赋给指针变量pC执行结果是对指针变量p指向的变量做间接访问D是在对p定义的同时进行初始化,使p指向a参考答案:D.以下程序段运行后变量a的值为()ointi=lza=0;for(;i<3;i++){continue;a+=i;}A6B3COD5参考答案:C.C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符()oA必须为字母B必须为下划线C必须为字母或下划线D可以是字母,数字或下划线中的任意一种参考答案:C.不能把字符串:Hello!赋给数组b的语句是()»Acharb[10]={'H','e',T,T,'o','!'}Beharb[10];b="Hello!”Ccharb[10];strcpy(b,"Hell。!”)Dcharb[10]="Hello!”参考答案:B.下面叙述正确的是()oAdo-while循环只能用于循环次数已经确定的情况Bdo-while循环是先判断表达式,后执行循环体语句C在do-while循环中,不能用break语句跳出循环体Ddo-while循环的循环体可包含多条语句,但必须用花括号{}括起来参考答案:D.下列关于算法的特征描述不正确的是()oA有穷性:算法必须在有限步之内结束B确定性:算法的每一步必须有确切的定义C输入:算法必须至少有一个输入D输出:算法必须至少有一个输出参考答案:C.以下合法的长整型常量是()«A2LB49627C34566666D213&参考答案:A.以下叙述中正确的是(),A在不同的函数中不可以使用相同名字的变量函数可以嵌套调用B在一个函数内定义的变量只在本函数范围内有效C实参变量对形参变量的数据传递是“值传递”,具有双向传递性参考答案:B.字符(char)型数据在微机内存中的存储形式是().A_反码B补码CEBCDIC码DASCII码参考答案:D.执行下面程序中的输出语句后,输出结果是()。/includevoidmain(){inta;printf(',%d\n"/(a=3*5/a*4/a+5));}A65B20C15DIO参考答案:B.以下程序段运行后s的值是()ointa[3][3]={l,2,3,l,2,3,l,2,3};intij/s=O;for(i=0;i<3;i++)for(j=i;j<3;j++)s+=a[i]Ul;A13B14C15D12参考答案:B.C语言程序的基本单位是()oA程序行B语句函数C字符参考答案:C.charstr[]={"FuJian"};printf("%cT,strlen(stij);该程序段的运行结果是()。A9B7C6D8参考答案:C.已知inta[10]={6,7,8,9,10};对该语句的正确理解是()。A将5个初值依次赋给a[l]至a[5]B将5个初值依次赋给a[0]至a[4](:将5个初值依次赋给a[6]至a[10]D因为数组长度与初值的个数不同,所以此语句不正确参考答案:B.以下叙述正确的是()。A在C程序中,main函数必须位于程序的最前面BC语言本身没有输入输出语句在对一个C程序进行编译的过程中,可发现注释中的拼写错误CC程序的每行中只能写一条语句参考答案:B.当接受用户输入的含有空格的字符串时,应使用()oAgets()Bgetchar()Cscanf()Dprintf()参考答案:A.C语言中,凡未指定存储类别的局部变量的隐含存储类别是().AautoBstaticCextern□register参考答案:A.在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式的值应为()。A0B1CtrueD非0参考答案:A.以下叙述正确的是()。Acontinue语句的作用是结束整个循环的执行B只能在循环体内和switch语句体内使用break语句C在循环体内使用break语句或continue语句的作用相同D从多层循环嵌套中退出时,只能使用goto语句参考答案:B.下列初始化语句中,正确且与语句charc[上“string”;等价的是()。Acharc[Beharc[]='string'Ccharc[7]={'s7t7r7i7n7g7\0,}Dcharc[7]={'string'}参考答案:C.若有定义:doublex[3][5];则x数组中行下标的下限和列下标的上限为()。A15B04CO5D14参考答案:B.下面程序的输出结果是()o#includevoidmain(){intx=3;do{printf("%d”,x-=2);}while(!x);)AlBl-2C30D是死循环参考答案:A.下面程序的运行结果为()omain(){intn;for(n=l;n<=10;n++){if(n%3==0)continue;printf(”%d”,n);)}A12457810B369C12D12345678910参考答案:A40.若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x/y»;上面程序片段的输出结果是()oA200B100C100200D输出格式符不够,输出不确定的值参考答案:A41.C语言的源程序编译后目标程序的扩展名是()。A.cB.objC.cppD.exe参考答案:B42,标有/**/的语句的执行次数是()ointyj;for(i=0;i<20;i++){if(i%2==0)continue;y+=i;/**/)A20B19CIOD9参考答案:c.按照c语言规定的用户标识符命名规则,以下选项中合法的用户标识符是()。AlongB_2TestC3DmaxDA.dat参考答案:B.若定义inta=2,b=3;则表达式!a&&b的值为().AOBlC2D3参考答案:A.以下程序的运行结果是()«voidmain(){inta;if(a=6)printf("%d\n",a):elseif(a>6)printf("%d\n",a+2);elseprintf("%d\n",a+3):}A运行时产生错误信息B9C8D6参考答案:D.C语言中,关于函数的说法正确的是()«A函数定义可以嵌套,但函数调用不可以嵌套B函数定义不可以嵌套,但函数调用可以嵌套C函数定义和函数的调用均不可以嵌套D函数定义和函数的调用均可以嵌套参考答案:B.阅读以下程序:该程序()«include"stdio.h"main(){intx=-10,y=5,z=0;if(x=y+z)printf("***\n");elseprintf("$$$\n");}A有语法错不能通过编译B可以通过编译但不能通过连接C输出***D输出$$$参考答案:C.以下不是C语言的特点的是()。A语言简洁紧凑B能够编制出功能复杂的程序CC语言可以直接对硬件操作DC语言移植性好参考答案:C二、判断(每题2分,共14道小题,总分值28分).使用全局变量有利于程序的模块化和可读性的提高参考答案:错误.若有定义:inta⑶⑷;则a[l+l]⑼是对a数组元素正确引用参考答案:正确.定义数组后,可通过赋值运算符"="对该数组名直接赋值参考答案:错误.函数strcmp("AShhjjj","ASHHJJJ")的返回值是0参考答案:错误.for语句的循环体至少执行一次参考答案:错误.do…while语句的循环体至少执行1次,while和for循环的循环体可能一次也执行不到参考答案:正确7.5++是一个合法的表达式参考答案:错误.循环结构中的continue语句是使整个循环终止执行参考答案:错误.数组是一种数据类型参考答案:正确.C语言规定可逐个引用数组元素但不能一次引用整个数组参考答案:正确.scanf函数中的格式符“%d”不能用于输入实型数据参考答案:正确.关系表达式的结果只有0或1参考答案:错误.在对数组进行赋初值时,不管有没有对所有元素赋初值都必须指定数组的长度参考答案:错误.一个变量的地址称为该变量的指针参考答案:正确一、单选题(每题1.5分,共48道小题,总分值72分).下列初始化语句中,正确且与语句charc[「"string";等价的是().Acharc[Beharc[]='string'Ccharc[7]={M,'t,,T,T,'n/g','\0'}Dcharc[7]={'string'}参考答案:C.以下叙述正确的是()oA在C程序中,main函数必须位于程序的最前面BC语言本身没有输入输出语句在对一个C程序进行编译的过程中,可发现注释中的拼写错误CC程序的每行中只能写一条语句参考答案:B.以下关于数组的描述正确的是()。A数组的大小是固定的,但可以有不同类型的数组元素B数组的大小是可变的,但所有数组元素的类型必须相同C数组的大小是固定的,所有数组元素的类型必须相同D数组的大小是可变的,可以有不同类型的数组元素参考答案:C.若已定义intarr[10];则不能正确引用arr数组元素的是()。Aarr[O]Barr[l]Carr[10-l]Darr[7+3]参考答案:D.以下程序段运行后s的值是()。Vbr/>inta[3][3]={l,2,3,45,1,2,3,4};Vbr/>intij,s=l;Vbr/>for(i=0;i<3;i++)<br/>for(j=i+l;j<3;j++)<br/>s+=a[i][j];<br/>A6B120C7D240参考答案:C.在C语言中,以下叙述不正确的是()oA在C程序中,无论是整数还是实数,都能被准确无误的表示B在C程序中,变量名代表存储器中的一个位置C静态变量的生存期与整个程序的生存期相同DC语言中变量必须先定义后引用参考答案:A.以下程序运行后的输出结果是()。#includemain(){intij/sum/m/n=4;sum=0;for(i=l;i<=n;i++){m=l;for(j=l;j<=i;j++)sum=sum+m;}printf("sum=%d\n"/sum);}Asum=9Bsum=33C33Dsum=18参考答案:B.若有以下说明和语句,且0<i<10,则()是对数组元素的错误引用。Vbr/>inta[]={l,2/3/4/5/6/7/8/9/0}/*pj;<br/>p=a;<br/>A*(a+i)a[p-a]Bp+iC*(&a[i])参考答案:c.下面程序的输出的是()。#includevoidmain(){intx=10,y=3;printf(',%d\n"/y=x/y);}AOBlC3D不确定的值参考答案:C.定义如下变量和数组:inti,x[3]{3]={l,2,3,4,5,6,7,8,9};则下列语句的输出结果是().for(i=0;i<3;i++)printf("%d,"<x[i][i]);Al,5,9,Bl,4,7,C3,5,7,D3,6,9,参考答案:A.C语言中,若未说明函数的类型,则系统默认该函数的类型是()。Afloat型Blong型Cint型Ddouble型参考答案:C.若有定义:ints⑶[4]={口,2},{0},{3,4,5}};则s[2⑪的值为().A3B4C0D1参考答案:B.以下程序段的运行结果是()ointt口[3卜{1,2,3,4,5,6,7,8,9,10,11,12};printf("%d\n"<t[l][l]);A5B3C4DI参考答案:A.以下叙述不正确的是().AC程序的基本组成单位是函数B一个C源程序可由一个或多个函数组成在C程序中,注释说明只能位于一条语句的后面C一个C源程序必须包含一个main函数参考答案:C.charstr[]={"FuJian"};printf("%d",strlen(str));该程序段的运行结果是()。A9B7C6D8参考答案:C.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()。Ab=1.0/aBb=(float)(l/a)Cb=l/(float)aDb=l/(a*1.0)参考答案:B.若有说明:charcllOl^'E'/a'/s'/t'/XO'};,则下述说法中正确的是()«Ac⑺不可引用Be⑹可引用,但值不确定Cc⑷不可引用De⑷可引用,其值为空字符参考答案:D.若已定义inta=5;int*p=&a;则正确的解释是()。A是在对p进行定义的同时,使p指向aB是将变量a的值赋给指针变量pC执行结果是对指针变量p指向的变量做间接访问D是在对p定义的同时进行初始化,使p指向a参考答案:D.定义如下数组和变量:intm[][3]={l,4,7,2,5,8,3,6,9);inti,j,k=2;则语句for(i=0;i<3;i++)printf("%d",m[kHi]);的输出结果是().A456B258C369D789参考答案:C.如果c为字符型变量,判断c是否为空格不能使用(),(假设已知空格ASCII码为32)Aif(c=='32')Bif(c==32)Cif(c=='\40')Dif(c=='')参考答案:A.以下选项中非法的数值常量是()。A019BOLCOxffDlel参考答案:A.若i,j已定义为int类型,则以下程序段中内循环的总的执行次数是()。for(i=5;i>0;i-)for(j=0;j<4;j++){・・・}A20B24C25D30参考答案:A.在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式的值应为()。A0B1CtrueD非。参考答案:A.下列关于算法的特征描述不正确的是()。A有穷性:算法必须在有限步之内结束B确定性:算法的每一步必须有确切的定义C输入:算法必须至少有一个输入D输出:算法必须至少有一个输出参考答案:C.若已定义:intx=4,y=2,z=0;则表达式(x・y<=y)||(y=z)的值是()。A1B0C2D4参考答案:A.设a,b均为double型,且a=5.5;b=2.5;则表达式(int)a+b/b的值是()。A6.500000B6C5.500000D6.000000参考答案:D.for循环for(i=0J=10;i<=j;i++J-)k=i+j;设ijk均为int型变量,则执行完下面的for循环后,k的值为()。A12BIOCllD9参考答案:B.以下程序的运行结果是()ovoidmain(){inta:if(a=6)printf("%d\n,a);elseif(a>6)printf(M%d\n",a+2);elseprintf("%d\n”,a+3);}A运行时产生错误信息B9C8D6参考答案:D.若有定义inta⑵⑶;则合法引用数组元素的是()。Aa[0][l/2]Ba⑴⑵Ca⑵⑶Da[l][3]参考答案:b.在以下给出的表达式中,与do-wMe(E)语句中的(E)不等价的表达式是()。A(!E==O)B(E>0||E<0)C(E==O)D(E!=O)参考答案:C.在定义inta⑸⑹;后,数组a中的第10个元素是()。(设a⑼⑼为第一个元素)Aa⑵⑸Ba⑵⑷Ca[l][3]Da[l]⑸参考答案:C.有如下函数调用语句func(recl,rec2+rec3,rec4/rec5);该函数调用语句中,含有的实参个数是()。A3B4C5D有语法错误参考答案:B.以下程序的输出结果是()omain(){inta,b;for(a=l/b=l;a<=100;a++){if(b>=10)break;if(b%5==l){b+=5;continue;}}printf("%d\n”,a);}AIOIB6C4D3参考答案:D.C程序中,若实参是普通变量,则调用函数时,下面说法正确的是()»A实参和形参各占用一个独立的存储单元B实参和形参可以共用存储单元C可以由用户指定是否共用存储单元D由计算机系统自动确定是否共用存储单元参考答案:A.设已定义:charsl⑻02陶="5成慎0";能将字符串"Science"赋给数组si的语句是()。Asl=s2Bstrcpy(s2,sl)Cstrcpy(slzs2)Dsl="Science"参考答案:C36.以下能正确定义二维数组的是()。Ainta[l][4]={l,2,3,4,5}Bfloatx[3][]={{l},{2},{3})Clongb[2][3]={{1}/{1,2},{1/2,3)}Ddoubley[][3]={0}参考答案:D.下列哪一个不是用于程序设计的软件()。ABASICBC语言CWordDpascalE参考答案:C.在以下数组定义中,正确的是()oAinta[3][]Bfloata(3,4)Cdoublea[l][4]Dfloata(3)(4)参考答案:c.设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()。A把x和y从小到大排列B把x和y从大到小排列C无确定结果D交换x和y中的值参考答案:D.以下程序段运行时,若从键盘输入5,则运行结果是()。Vbr/>intazy=10:scanf(M%dM,&a);<br/>if(a>10)y=a+6;<br/>printf("%d\n"zy+a);<br/>A10BllC16D15参考答案:D.若有以下说明和语句,则正确表示数组元素地址的语句是()o inta[]={l/2/3,4/5};int*p=a,n=2;A&pB&p[n]C&(a+n)D++a参考答案:B.表达式5!=3的值是()oATB非零值CODI参考答案:D.以下程序段的运行结果是()oints=15;switch(s/4){case1:printf("OneH);printf("Two");printf("Three");default:printf("Over");}AThreeBTwoOverCThreeOverDOneOver参考答案:C.设intx=4,y=2,z=0;则执行完(x・y<=y)||(y=z)后,y的值是()。AlBOC2D不确定参考答案:C.有以下程序段intk=0;while(k=l)k++;while循环执行的次数是()oA无限次B有语法错,不能执行C一次也不执行D执行一次参考答案:A.下列正确的标识符是()。A8aa[i]Ba2JCintt参考答案:C.语句whHe(!e);中的条件!e等价于()«Ae==OBe!=lCe!=OD~e参考答案:A.按照c语言规定的用户标识符命名规则,以下可用作用户标识符的是().A12_aBsignedCt-oD_if参考答案:d二、判断(每题2分,共14道小题,总分值28分).函数strcmp("AShhjjj","ASHHJJJ")的返回值是0参考答案:错误.选择语句if(表达式)中,表达式只能是逻辑表达式或关系表达式参考答案:错误.在标准C中,语句必须以“;”结束参考答案:正确.scanf函数中的格式符“%d”不能用于输入实型数据参考答案:正确.使用全局变量有利于程序的模块化和可读性的提高参考答案:错误.若有定义:inta⑶⑷;则a[l+l][0]是对a数组元素正确引用参考答案:正确.在对数组进行赋初值时,不管有没有对所有元素赋初值都必须指定数组的长度参考答案:错误.主函数调用语句func(a,b,*p):其中的参数a,b,*p叫形参参考答案:错误.do…while语句的循环体至少执行1次,while和for循环的循环体可能一次也执行不到参考答案:正确10.5++是一个合法的表达式参考答案:错误n.定义数组后,可通过赋值运算符"="对该数组名直接赋值参考答案:错误.函数的实参可以是常量,变量或表达式参考答案:正确.在C程序中%是只能用于整数运算的运算符参考答案:正确.选择语句if(表达式)中,表达式只能是逻辑表达式或关系表达式参考答案:错误一、单选题(每题1.5分,共48道小题,总分值72分).能将高级语言编写的源程序转换为目标程序的软件是()。A汇编程序B编辑程序C解释程序D编译程序参考答案:D.若已定义inta=5;int*p=&a;则正确的解释是()。A是在对p进行定义的同时,使p指向aB是将变量a的值赋给指针变量pC执行结果是对指针变量p指向的变量做间接访问D是在对p定义的同时进行初始化,使p指向a参考答案:D.在定义inta⑸网;后,数组a中的第10个元素是()«(设a[0H。]为第一个元素)Aa⑵⑸Ba⑵⑷Ca⑴⑶Da[l][5]参考答案:C.按照C语言的规定,以下选项中不合法的int整型常数是().A32768B-56C08DOxAF参考答案:C.C程序中,若实参是普通变量,则调用函数时,下面说法正确的是()oA实参和形参各占用一个独立的存储单元B实参和形参可以共用存储单元C可以由用户指定是否共用存储单元D由计算机系统自动确定是否共用存储单元参考答案:A.不能把字符串:Hello!赋给数组b的语句是()oAcharbtlOl^'H*,'e',甲,T,'o','!'!Beharb[10];b="Hello!”Ccharb[10];strcpy(b,"Hello!”)Dcharb[10]="Hello!”参考答案:B.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()。Ab=1.0/aBb=(float)(l/a)Cb=l/(float)aDb=l/(a*1.0)参考答案:B.若题中变量已正确定义并赋值,下面符合C语法的表达式是()。Aa%=7.6Ba++za=7+b+cCint(12.3)%4Da=c+d=a+7参考答案:B.如果c为字符型变量,判断c是否为空格不能使用()。(假设已知空格ASCII码为32)Aif(c=='32')Bif(c==32)Cif(c=='\40')Dif(c=='')参考答案:A.以下叙述错误的是()。A存放地址的变量称为指针变量BNULL可以赋值给任何类型的指针变量C一个指针变量只能指向类型相同的变量D两个相同类型的指针变量可以作加减运算参考答案:D.若a、b、c、d、w均为int类型变量,则执行下面语句后的w值是()。<br/>a=l;b=2;c=3;d=4;<br/>w=(a<b)?a:b:<br/>w=(w<c)?w:c;<br/>w=(w<d)?w:d;<br/>AlB2C3D4参考答案:A.按照c语言规定的用户标识符命名规则,以下不合法的用户标识符是().Af2_G3BlfC4dD_8参考答案:C.设k和x均为int型变量,且k=7;x=12;则能使值为3的表达式是()»Ax%=(k%=5)Bx%=(k-k%5)Cx%=k-k%5D(x%=k)-(k%=5)参考答案:D.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是()«A大写字母B下划线C数字字符D连接符参考答案:D.若有说明:charc[10]={'E','a','s','t','\0'};,则下述说法中正确的是()。Ac⑺不可引用Be⑹可引用,但值不确定Cc⑷不可引用De⑷可引用,其值为空字符参考答案:D.以下正确的实型常量是()«A1.2EB.579899C1.2e0.6D8参考答案:B.若变量已正确定义,以下非法的表达式是()»Aa/=b+cBa%(4.0)Ca=l/2*(x=y=20,x*3)Da=b=c参考答案:B.以下说法中正确的是()oAC语言程序总是从第一个定义的函数开始执行B在C语言程序中,要调用的函数必须在main。函数中定义CC语言程序总是从main。函数开始执行DC语言程序中的main()函数必须放在程序的开始部分参考答案:C.设x为int类型,其值为11,则表达式(x++*l/3)的值是()oA3B4C11D12参考答案:A.以下程序运行后的输出结果是()o#includemain(){inti,j,sum,m,n=4;sum=0;for(i=l;i<=n;i++){m=l;for(j=l;j<=i;j++)m=m*j;sum=sum+m;}printf(Hsum=%d\n",sum);}Asum=9Bsum=33C33Dsum=18参考答案:B.给出以下定义:charx[]="abcdefg”;chary[]={'a',b,'c','d','e',T,'g'};则正确的叙述为()oA数组x和数组y等价B数组x和数组y的长度相同C数组x的长度大于数组y的长度D数组x的长度小于数组y的长度参考答案:C.以下叙述不正确的是().AC程序的基本组成单位是函数B一个C源程序可由一个或多个函数组成在C程序中,注释说明只能位于一条语句的后面C一个C源程序必须包含一个main函数参考答案:C.若x是整型变量,p是类型为整型的指针变量,则正确的赋值表达式是()。Ap=&xBp=xC*p=&xD*p=*x参考答案:A.在执行语句:inta[][3]={l,234,5,6};后,的值是()。A4B1C2D5参考答案:A.C语言规定,除主函数外,程序中各函数之间()oA既允许直接递归调用也允许间接递归调用B不允许直接递归调用也不允许间接递归调用C允许直接递归调用不允许间接递归调用D不允许直接递归调用允许间接递归调用参考答案:A.设inta=5,b=6,c=7,d=8,m=2,n=2;则执行(m=a>b)&&(n;c>d)后n的值为()。AlBOC2D7参考答案:C.若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为(AaOOB!aCa=ODa参考答案:D.若有定义:int*p,k=4;p=&k;以下均代表地址的是()。Ak,pB&k,&pC&k,pDk,*p参考答案:C.下列一维数组的初始化语句中,正确的是()oAinta[8]={}Binta[9]={0/7,0/4/8}Cinta[5]={9/5/7/4/0z2}Dinta[7]=7*6参考答案:B.do…while循环与while循环的主要区别是()。Awhile循环体至少无条件执行一次,而do…while循环体可能都不执行Bdo…while循环体中可使用continue语句,while循环体中不允许出现continue语句Cdo…while循环体中可使用break语句,while循环体中不允许出现break语句Ddo…while循环体至少无条件执行一次,而while循环体可能都不执行参考答案:D.已知函数sum定义为:voidsum(int&n){inti;则函数定义中void的含义是()oA执行函数sum后,函数没有返回值B执行函数sum后,函数不再返回C执行函数sum后,函数返回任意类型D以上参考答案:都不对参考答案:A.下面()表达式的值为4。A11/3B11.0/3C(float)ll/3D(int)(11.0/3+0.5)o参考答案:D.下列说法中,错误的是(),A每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B每个函数都有一个函数头和一个函数体,主函数也不例外C主函数只能调用用户函数或系统函数,用户函数可以相互调用D程序是由若干个函数组成的,但是必须有、而且只能有一个主函数参考答案:A.以下程序段运行后s的值是().inta[3][3]={l,2,3,1,2,34,2,3);inti,j,s=O;for(i=0;i<3;i++)for(j=i;j<3;j++)s+=a[i]U];A13B14C15D12参考答案:B35似下程序段运行后变量a的值为()ointi=lza=0;for(;i<3;i++){continue;a+=i;}A6B3COD5参考答案:C.在以下二维数组定义中,错误的是()。Anta[2][卜{1,2,3,4,5,6}Binta[][2]={{0}z{l}}Cinta[2][2]={{1,2143}}Dinta[H2]={l,2,3,4}参考答案:A.在C语言程序中,表达式5%2的结果是()oA2.5B2ClD3参考答案:C.以下合法的八进制数是()。A0135B068C013.54Do7参考答案:A.C语言中,下列说法正确的是()。AC语言程序必须要有return语句BC语言程序中,要调用的函数必须在main。中定义CC语言程序中,只有int类型的函数可以未经声明而出现在调用之后DC语言程序中,main。必须放在程序开始的部分参考答案:C.若有定义:inta=8,b=5,c>执行语句:c=a/b+0.4;后,c的值是()。A1.4B1C2.0D2参考答案:B.下列程序运行的情况是()。main(){inti=l,sum=0;while(i<10)sum=sum+l;i++;printf("i=%d/sum=%d",i/sum);}Ai=10,sum=9Bi=9zsum=9Ci=2,sum=lD运行出现错误参考答案:D.C语言程序的基本单位是()。A程序行B语句函数C字符参考答案:C.设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是().A把x和y从小到大排列B把x和y从大到小排列C无确定结果D交换x和y中的值参考答案:D.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系A缩排位置相同的ifB在其之前未配对的ifC在其之前尚未配对的最近的ifD同一行上的if参考答案:C.执行下面程序中的输出语句后,输出结果是()。includevoidmain(){inta;printf("%d\n",(a=3*5,a*4,a+5));}A65B20C15DIO参考答案:B.在定义inta⑸⑷;之后,对a的引用正确的是().Aa⑵⑷Ba[l,3]Ca⑷⑶Da[5][0]参考答案:C.按照c语言规定,以下不是关键字的标识符是()oAcontinueBeharClf□default参考答案:C48.若有说明:对2口[3]={1,2,3,4,5,6,7};则2数组第一维的大小是()«A2B3C4D无确定值参考答案:B二、判断(每题2分,共14道小题,总分值28分).循环结构中的continue语句是使整个循环终止执行参考答案:错误.for>while和dowhile循环结构的循环体均为紧接其后的第一个语句(含复合语句)参考答案:正确3.scanf函数中的格式符“%d”不能用于输入实型数据参考答案:正确.在标准C中,语句必须以“:”结束参考答案:正确.使用全局变量有利于程序的模块化和可读性的提高参考答案:错误.C语言的函数可以嵌套和递归调用参考答案:正确.switch语句中多个case后面的常量表达式的值可以相同参考答案:错误.for循环、while循环和dowhile循环结构之间可以相互转化参考答案:正确.可以用/* */对C程序中的任何部分作注释参考答案:正确.定义数组后,可通过赋值运算符"="对该数组名直接赋值参考答案:错误.C语言本身没有输入输出语句。参考答案:正确.5++是一个合法的表达式参考答案:错误.数组是一种数据类型参考答案:正确.已知x=43,ch='A',y=0;则表达式(x>y&&ch<'B'&&!y)的值为0参考答案:错误一、单选题(每题1.5分,共48道小题,总分值72分).一个C程序的执行是从()。A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序的main函数结束参考答案:A.以下程序的输出结果是()omain(){inta,b;for(a=lzb=l;a<=100;a++){if(b>=10)break;if(b%5==l){b+=5;continue;}}printf("%d\n“,a);}AIOIB6C4D3参考答案:D.字符(char)型数据在微机内存中的存储形式是()oA_反码B补码CEBCDIC码DASCII码参考答案:D.以下合法的长整型常量是()。A2LB49627C34566666D213&参考答案:A.以下程序的输出结果是()。main(){intn=4;while(n)printf(〃%d〃,n);n-;}A20B31C4321D死循环参考答案:D.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是().A大写字母B下划线C数字字符D连接符参考答案:D.下列一维数组的初始化语句中,正确的是()oAinta[8]={}Binta[9]={0,7,0,4,8}Cinta[5]={9,5,7,4,0,2)Dinta[7]=7*6参考答案:B8在定义inta⑸⑷;之后,对a的引用正确的是().Aa[2][4]Ba[l,3]Ca⑷⑶Da[5][0]参考答案:C.下面哪个不是算法的特征()«A可执行性B确定性C有穷性D无限性参考答案:D.设k和x均为int型变量,且k=7;x=12;则能使值为3的表达式是()»Ax%=(k%=5)Bx%=(k-k%5)Cx%=k-k%5D(x%=k)-(k%=5)参考答案:D.以下for循环是()ofor(x=0zy=0;(y!=123)&&(x<4);x++)A无限循环B循环次数不定C执行4次D执行3次参考答案:C.以下叙述中正确的是(A在不同的函数中不可以使用相同名字的变量函数可以嵌套调用B在一个函数内定义的变量只在本函数范围内有效C实参变量对形参变量的数据传递是“值传递”,具有双向传递性参考答案:B.若已定义inta,则表达式a=10,a+10,a++的值是(),.A20B10C21D11参考答案:B.能将高级语言编写的源程序转换为目标程序的软件是()。A汇编程序B编辑程序C解释程序D编译程序参考答案:D.C语言中,下列说法正确的是().AC语言程序必须要有return语句BC语言程序中,要调用的函数必须在main。中定义CC语言程序中,只有int类型的函数可以未经声明而出现在调用之后DC语言程序中,main()必须放在程序开始的部分参考答案:C.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。A地址传递B单向值传递C由实参传给形参,再由形参传回实参D传递方式由用户指定参考答案:B.C语言的源程序编译后目标程序的扩展名是()。A.cB.objC.cppD.exe参考答案:B.有以下程序段intk=0;while(k=l)k++;while循环执行的次数是(),A无限次B有语法错,不能执行C一次也不执行D执行一次参考答案:A.C程序中,若实参是普通变量,则调用函数时,下面说法正确的是()»A实参和形参各占用一个独立的存储单元B实参和形参可以共用存储单元C可以由用户指定是否共用存储单元D由计算机系统自动确定是否共用存储单元参考答案:A.设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是().A把x和y从小到大排列B把x和y从大到小排列C无确定结果D交换x和y中的值参考答案:D.以下叙述正确的是()oAcontinue语句的作用是结束整个循环的执行B只能在循环体内和switch语句体内使用break语句C在循环体内使用break语句或continue语句的作用相同D从多层循环嵌套中退出时,只能使用goto语句参考答案:B.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是()。A大写字母B下划线C数字字符D连接符参考答案:D.若有定义:inta=2,b=3,c=l;则以下程序段的运行结果是()。if(a>b)if(a>c)printf("%dM,a);elseprintf("%d",b);printf("%d",c);A31B21C3DI参考答案:D.已有定义:doublex=3.5;则表达式:x=(int)x+l的值是()。A4B4.5C4.0D5.0参考答案:C.不能把字符串:Hello!赋给数组b的语句是()。Acharb[10]={H,'e',T,T,'o','!'}Beharb[10];b="Hello!”Ccharb[10];strcpy(b,"Hello!”)Dcharb[10]="Hello!”参考答案:B.下列说法中,错误的是()oA每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B每个函数都有一个函数头和一个函数体,主函数也不例外C主函数只能调用用户函数或系统函数,用户函数可以相互调用D程序是由若干个函数组成的,但是必须有、而且只能有一个主函数参考答案:A.在定义inta[5][6];后,数组a中的第10个元素是(2(设a⑼⑼为第一个元素)Aa[2][5]Ba⑵⑷Ca[l][3]Da⑴⑸参考答案:C.已知函数sum定义为:voidsum(int&n){inti;则函数定义中void的含义是()oA执行函数sum后,函数没有返回值B执行函数sum后,函数不再返回C执行函数sum后,函数返回任意类型D以上参考答案:都不对参考答案:A.以下不是C语言的特点的是(),A语言简洁紧凑B能够编制出功能复杂的程序CC语言可以直接对硬件操作DC语言移植性好参考答案:C.在以下二维数组定义中,错误的是().Ainta[2][3]Binta[][2]={0,l,2,3}Cinta[100][100]={0}Dinta[3H]={口,2},{1,2,3},{1,2,3,4}}参考答案:D.设inta=5,b=6,c=7,d=8,m=2,n=2:则执行(m=a>b)&&(nod)后n的值为()。AlBOC2D7参考答案:C.以下叙述错误的是().A存放地址的变量称为指针变量BNULL可以赋值给任何类型的指针变量C一个指针变量只能指向类型相同的变量D两个相同类型的指针变量可以作加减运算参考答案:D.判定逻辑值为“真”的最准确叙述是().A1B大于0的数C非0的整数D非。的数参考答案:D.在C语言中,为了结束wh"e语句构成的循环,while后一对圆括号中表达式的值应该为()»A0B1CtrueD非。参考答案:A.下面程序的输出的是()o#includevoidmain(){intx=10,y=3;printf("%d\n"/y=x/y);}AOBlC3D不确定的值参考答案:C.以下程序段运行后,表达式*(p+4)的值为()。<br/>chara[]="china";char*p;p=a;An'B'a'C存放h的地址D存放言的地址参考答案:B.下面叙述正确的是()oAfor循环只能用于循环次数已经确定的情况Bfor循环是先执行循环体语句,后判断表达式C在for循环中,不能用break语句跳出循环体Dfor循环的循环体可包含多条语句,但必须用花括号{}括起来参考答案:D.以下程序段的运行结果是()。int 2,3,4,5,6,7,8,9,10,11,12};pnntf("%d\n"zt[l][l]);A5B3C4DI参考答案:A39似下程序段的运行结果是()。ints=15;switch(s/4){case1:printf("One");printf("Two");printf("Three");default:printfC'Over");}AThreeBTwoOverCThreeOverDOneOver参考答案:c.for循环for(i=0J=10;i<=j;i++J-)k=i+j;设i,j,k均为int型变量,则执行完下面的for循环后,k的值为()。A12B10C11D9参考答案:B.若有定义:inta=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()。A1.4B1C2.0D2参考答案:B.以下程序的运行结果是()ovoidmain(){inta;if(a=6)printf("%d\n”,a);elseif(a>6)printf("%d\n,a+2);elseprintf("%d\n”,a+3);}A运行时产生错误信息B9C8D6参考答案:D.若变量已正确定义,以下非法的表达式是()。Aa/=b+cBa%(4.0)Ca=l/2*(x=y=20zx*3)Da=b=c参考答案:B.在以下二维数组定义中,错误的是().Ainta[2][]={l,2,3,4,5,6}Binta(][2]={{0},{1}}Cinta[2][2]={{l,2},{3})Dinta[][2]={l,2,3,4)参考答案:A.若在C语言中未说明函数的类型,则系统默认该函数的数据类型是()。AfloatBlongCintDdouble参考答案:C.对下面程序段,描述正确的是().for(t=l;t<=100;t++){scanfC^d';&x);if(x<0)continue;printf("%d\nuzt);}A当x<0时,整个循环结束B当x>=0时,什么也不输出Cprintf函数永远也不执行D最多允许输出100个非负整数参考答案:D.若“intn;floatf=13.8;”,则执行“n=(int)f%3"后,n的值是(4AlB4C4.333333D4.6参考答案:A.若有以下定义和语句:inta=010,b=0xl0,c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是()oA1040J0B8,16,10C8J04008,8,10参考答案:B二、判断(每题2分,共14道小题,总分值28分).可以用/* */对C程序中的任何部分作注释参考答案:正确.for循环的三个表达式都可以省略参考答案:正确.主函数调用语句func(a,b,*p);其中的参数a,b,*p叫形参参考答案:错误.循环结构中的break语句是使整个循环终止执行参考答案:正确.do-while循环由do开始,while结束,循环体可能一次也不做参考答案:错误.在标准C语言中,二维数组在内存中的存放次序是以行序为主序参考答案:正确.printf中格式符“%c”对应的参数只能是字符类型参考答案:错误.使用全局变量有利于程序的模块化和可读性的提高参考答案:错误.for、while和dowhile循环结构的循环体均为紧接其后的第一个语句(含复合语句)参考答案:正确.在C程序中%是只能用于整数运算的运算符参考答案:正确.关系表达式的结果只有0或1参考答案:错误.循环结构中的break语句是使整个循环终止执行参考答案:正确.函数strcmp("AShhjjj","ASHHJJJ")的返回值是0参考答案:错误.在对数组进行赋初值时,不管有没有对所有元素赋初值都必须指定数组的长度参考答案:错误一、单选题(每题1.5分,共48道小题,总分值72分)1.有以下程序,程序运行结果为().#include“stdio.h"main()(charch;ch=*s';switch(ch){case'a':printf(wa=%c\nw,ch);default:printf("end!\n”);case9b':printf(<<b=%c\nw,ch);case'c9:printf(wc=%c\nw,ch);}}Aend!V回车>b=sV回车>c=sBend!C有语法错误Da=sV回车>end!参考答案:A2.在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式的值应为()oA0BlCtrueD非。参考答案:A3.以下合法的八进制数是()。A0135B068C013.54Do7参考答案:A4.以下程序的运行结果是()。voidmain(){inta;if(a=6)printf("%d\n,a);elseif(a>6)printf("%d\n"/a+2);elseprintf("%d\n,a+3);}A运行时产生错误信息B9C8D6参考答案:D5.对下面程序段,描述正确的是()。for(t=l;t<=100;t++){scanf("%cT,&x);if(x<0)continue;printf("%d\n,t);}A当xVO时,整个循环结束B当x>=0时,什么也不输出Cprintf函数永远也不执行D最多允许输出100个非负整数参考答案:D6.以下叙述错误的是()。A存放地址的变量称为指针变量BNULL可以赋值给任何类型的指针变量C一个指针变量只能指向类型相同的变量D两个相同类型的指针变量可以作加减运算参考答案:D.C语言的源程序经编译、连接后可执行程序的扩展名是()oA.cB.objC.cppD.exe参考答案:D.若有定义:int*p,k=4;p=&k;以下均代表地址的是()。Ak,pB&k,&pC&k,pDk,*p参考答案:c.以下叙述中正确的是()«A在不同的函数中不可以使用相同名字的变量函数可以嵌套调用B在一个函数内定义的变量只在本函数范围内有效C实参变量对形参变量的数据传递是“值传递”,具有双向传递性参考答案:B.设inta=5,b=6,c=7,d=8,m=2,n=2;则执行(m=a>b)&&(n=c>d)后n的值为()。AlBOC2D7参考答案:C.以下变量x,y,z均为double型且已正确赋值,不能正确表示“x除以y和z的积”的C语言表达式是()。Ax/y*zBx*(l/(y*z))Cx/y*l/zDx/y/z参考答案:A.下列正确的标识符是().A8aa[i]Ba2_iCintt参考答案:C.while循环,当执行以下程序段时()。<br/>x=-l;<br/>do<br/>{x=x*x:}<br/>while(!x);A循环体将执行一次B循环体将执行两次C循环体将执行无数多次D系统将提示有语法错误参考答案:A.C语言规定,除主函数外,程序中各函数之间()。A既允许直接递归调用也允许间接递归调用B不允许直接递归调用也不允许间接递归调用C允许直接递归调用不允许间接递归调用D不允许直接递归调用允许间接递归调用参考答案:A.有以下程序:fun(inta,intb,intc){a=456;b=567;c=678;}main(){intx=10,y=20,z=30;fun(x,y,z);printf("%d,%d,%d\n”,z,y,x);}输出结果是()oA30,20,10BIO,20,30C456,567,678D678,567,456参考答案:A.若变量已正确定义,以下非法的表达式是()oAa/=b+cBa%(4.0)Ca=l/2*(x=y=20zx*3)Da=b=c参考答案:b.设intx=4,y=2,z=0;则执行完(x-y<=y)||(y=z)后,y的值是()。AlBOC2D不确定参考答案:C.以下程序段运行后x的值为()oVbr/>inta[8]={l,2,3,4,5,67,8},i,x=0;Vbr/>for(i=0;iV8;i=i+2)<br/>x=x+a[i];A36B16C20D18参考答案:B.已有定义:doublex=3.5;则表达式:x=(int)x+l的值是()。A4B4.5C4.0D5.0参考答案:C.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是()。A大写字母B下划线C数字字符D连接符参考答案:D.以下程序段的运行结果是()ointt[][3]={l,2,3A5,6,7,8,9,10,ll,12};printf("%d\n"<t[l][l]);A5B3C4DI参考答案:A.C语言中,下列说法正确的是().AC语言程序必须要有return语句BC语言程序中,要调用的函数必须在main()中定义CC语言程序中,只有int类型的函数可以未经声明而出现在调用之后DC语言程序中,main()必须放在程序开始的部分参考答案:C.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系A缩排位置相同的ifB在其之前未配对的ifC在其之前尚未配对的最近的ifD同一行上的if参考答案:C.下面哪个不是算法的特征()oA可执行性B确定性C有穷性D无限性参考答案:D.在以下数组定义中,正确的是()oAinta[3][]Bfloata(3,4)Cdoublea[l][4]Dfloata(3)(4)参考答案:c.当接受用户输入的含有空格的字符串时,应使用()oAgets()Bgetchar()Cscanf()Dprintf()参考答案:A.标有/**/的语句的执行次数是()。inty,i;for(i=0;i<20;i++){if(i%2==0)continue;y+=i;/**/}A20B19CIOD9参考答案:C.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是()。Ab=1.0/aBb=(float)(l/a)Cb=l/(float)aDb=l/(a*1.0)参考答案:B.以下程序段的运行结果是()。ints=15;switch(s/4){case1:printf("One");printf("Two");printf("Three");default:printf("Over");}AThreeBTwoOverCThreeOverDOneOver参考答案:C.若定义inta=2,b=3;则表达式!a&&b的值为()。AOBlC2D3参考答案:A.按照c语言规定的用户标识符命名规则,以下选项中合法的用户标识符是()。AlongB_2TestC3DmaxDA.dat参考答案:B.不能把字符串:Hello!赋给数组b的语句是()。Acharb[10]={*H','e',T,T,'o','!'}Beharb[10];b="Hello!”Ccharb[10];strcpy(b,"Hello!”)Dcharb[10]="Hello!”参考答案:B.以下程序段运行时,若从键盘输入5,则运行结果是()。<br/>inta,y=10;scanf(”%d”,&a);<br/>if(a>10)y=a+6;<br/>printf(',%d\n,,/y+a);<br/>A10BllC16D15参考答案:D.以下选项中非法的数值常量是()oA019BOLCOxffDlel参考答案:A.设已定义:charstrl[20]=MHello'\str2[20]=,'world!**;若要形成字符串"Helloworld!",正确语句是()。Astrcpy(strl,str2)Bstrcat(strl,str2)Cstrcpy(str2zstrl)Dstrcat(str2,strl)参考答案:B.C语言中,关于函数的说法正确的是()。A函数定义可以嵌套,但函数调用不可以嵌套B函数定义不可以嵌套,但函数调用可以嵌套C函数定义和函数的调用均不可以嵌套D函数定义和函数的调用均可以嵌套参考答案:B.在以下给出的表达式中,与do-while(E)语句中的(E)不等价的表达式是()。A(!E==O)B(E>0||E<0)C(E==O)D(E!=O)参考答案:C.以下for循环是()ofor(x=0,y=0;(y!=123)&&(x<4);x++)A无限循环B循环次数不定C执行4次D执行3次参考答案:C.为表示关系x2y2z,应使用C语言表达式()。A(x>=y)&&(y>=z)B(x>=y)AND(y>=z)C(x>=y>=z)D(x>=y)&(y>=z)参考答案:A.C语言中,若未说明函数的类型,则系统默认该函数的类型是()»Afloat型Blong型Cint型Ddouble型参考答案:C.若有说明:charcflObCE'/a'/s'/tYXO'};,则下述说法中正确的是()«Ac⑺不可引用Be⑹可引用,但值不确定Cc⑷不可引用De⑷可引用,其值为空字符参考答案:D.以下程序段运行后s的值是()。<br/>inta[3][3]={l,2,3,4,5,l,2,3,4};<br/>inti,j,s=l;<br/>for(i=0;i<3;i++)<br/>for(j=i+l;j<3;j++)<br/>s+=a[i][j];<br/>A6B120C7D240参考答案:C.若有定义:ints⑶[4]={{1,2},{0},{3,4,5}};则s⑵⑴的值为()»A3B4CODI参考答案:B.以下叙述不正确的是().AC程序的基本组成单位是函数B一个C源程序可由一个或多个函数组成在C程序中,注释说明只能位于一条语句的后面C一个C源程序必须包含一个main函数参考答案:C.下列说法中,错误的是()»A每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B每个函数都有一个函数头和一个函数体,主函数也不例外C主函数只能调用用户函数或系统函数,用户函数可以相互调用D程序是由若干个函数组成的,但是必须有、而且只能有一个主函数参考答案:A.设x为int类型,其值为11,则表达式(x++*l/3)的值是()。A3B4C11D12参考答案:A.若有定义语句:intb=0xl7;printf("%d”,b++);,其正确的输出结果是()。A23B24C25D22参考答案:A.卜.面程序的输出的是()»#includevoidmain(){intx=10,y=3;printf("%d\n",y=x/y);}AOBlC3D不确定的值参考答案:C二、判断(每题2分,共14道小题,总分值28分).组成数组的数据可以是不同的类型参考答案:错误.for语句的循环体至少执行一次参考答案:错误.可以用/* */对C程序中的任何部分作注释参考答案:正确4函数strcmp("AShhjjj”,"ASHHJJJ")的返回值是0参考答案:错误.函数的实参可以是常量,变量或表达式参考答案:正确.scanf函数中的格式符“%d”不能用于输入实型数据参考答案:正确.使用全局变量有利于程序的模块化和可读性的提高参考答案:错误.for循环、while循环和dowhile循环结构之间可以相互转化参考答案:正确.已知x=43,ch='A',y=0;则表达式(x>y&&ch<'B'&&!y)的值为0参考答案:错误lO.switch语句中多个case后面的常量表达式的值可以相同参考答案:错误.在对数组进行赋初值时,不管有没有对所有元素赋初值都必须指定数组的长度参考答案:错误.关系表达式的结果只有0或1参考答案:错误.switch语句中必须有default子句参考答案:错误14.循环结构中的break语句是使整个循环终止执行参考答案:正确一、单选题(每题1.5分,共48道小题,总分值72分).下列正确的标识符是(),A8aa[i]Ba2_iCintt参考答案:C.以下程序段的输出结果是()«intk,j,s;for(k=2;k<6;k++){s=l;for(j=k;j<6;j++)s+=j;}printf("%d\n",s);AlB9CllD6参考答案:D.给出以下定义:charx[]="abcdefg”;chary[]={'a',b,'c','d','e','f,'g'};则正确的叙述为()。A数组x和数组y等价B数组x和数组y的长度相同C数组x的长度大于数组y的长度D数组x的长度小于数组y的长度参考答案:c.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是()。A大写字母B下划线C数字字符D连接符参考答案:D.下面程序的输出的是()。#includevoidmain(){intx=10,y=3;printf(',%d\n"/y=x/y);}AOBlC3D不确定的值参考答案:C.设inta=5/b=6/c=7,d=8,m=2/n=2;则执行(m二a>b)&&(n;c>d)后n的值为()。AlBOC2D7参考答案:C.以下程序段运行后s的值是()oVbr/>inta[3][3]={l,234,5,l,234};Vbr/>intiJs=l;Vbr/>for(i=0;i<3;i++)<br/>for(j=i+l;j<3;j++)<br/>s+=a[i][j];<br/>A6B120C7D240参考答案:C.若在C语言中未说明函数的类型,则系统默认该函数的数据类型是()。AfloatBlongCintDdouble参考答案:C.C语言中,下列说法正确的是()。AC语言程序必须要有return语句BC语言程序中,要调用的函数必须在main。中定义CC语言程序中,只有int类型的函数可以未经声明而出现在调用之后DC语言程序中,main。必须放在程序开始的部分参考答案:C.已知int3[10]={6,7,8,9,10};对该语句的正确理解是()。A将5个初值依次赋给a[l]至a[5]B将5个初值依次赋给a[0]至a[4]C将5个初值依次赋给a[6]至a[10]D因为数组长度与初值的个数不同,所以此语句不正确参考答案:B1L若二维数组a有m列,则在前的元素个数为()。Aj*m+IBi*m+jCi*m+j-lDi*m+j+l参考答案:B.若有定义:inta=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()。A1.4B1C2.0D2参考答案:B.设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()。A把x和y从小到大排列B把x和y从大到小排列C无确定结果D交换x和y中的值参考答案:D.在定义inta⑸⑷;之后,对a的引用正确的是()。Aa[2][4]Ba[l,3]Ca⑷⑶Da⑸⑼参考答案:C.C语言规定,除主函数外,程序中各函数之间()。A既允许直接递归调用也允许间接递归调用B不允许直接递归调用也不允许间接递归调用C允许直接递归调用不允许间接递归调用D不允许直接递归调用允许间接递归调用参考答案:A.若有定义:ints⑶[4]={{1,2},{0},{3,4,5}};则s⑵⑴的值为()。A3B4COD1参考答案:B.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是()。A大写字母B下划线C数字字符D连接符参考答案:D.以下程序运行后的输出结果是()。#includemain(){inti,j,sum,m,n=4;sum=O;for(i=l;i<=n;i++){m=l;for(j=l;j<=i;j++)m=m*j;sum=sum+m;}printf("sum=%d\n"/sum);}Asum=9Bsum=33C33Dsum=18参考答案:B.以下变量x,y,z均为double型且已正确赋值,不能正确表示“x除以y和z的积”的C语言表达式是()»Ax/y*zBx*(l/(y*z))Cx/y*l/zDx/y/z参考答案:A20.有以下程序main(){intizj;for(j=10;j<ll;j++){for(i=9;iAllBIOC9DIO11参考答案:B21似下程序段的运行结果是()。ints=15;switch(s/4){case1:printf("One");case2:printf("Two");case3:printf(nThreen);default:printf("Over");}AThreeBTwoOverCThreeOverDOneOver参考答案:C.若已定义:intx=4,y=2,z=0;则表达式(x・y<=y)||(y=z)的值是()。AlBOC2D4参考答案:A.语句while(!e);中的条件!e等价于()。Ae==0Be!=lCe!=0D~e参考答案:A.若有定义:int*p,k=4;p=&k;以下均代表地址的是()。Ak,pB&k,&pC&k,pDk,*p参考答案:C.已知函数sum定义为:voidsum(int&n)(inti;}则函数定义中void的含义是()oA执行函数sum后,函数没有返回值B执行函数sum后,函数不再返回C执行函数sum后,函数返回任意类型D以上参考答案:都不对参考答案:A.有以下程序,程序运行结果为()oinclude“stdio.h"ma

温馨提示

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

评论

0/150

提交评论