笔试部分一、选择题1.串的长度是()A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于零D.串中所含字符的个数【参考答案】D2.以下不属于对象的基本特点的是()A.分类性B.多态性C.继承性D.封装性【参考答案】C3.下面不属于软件设计原则的是()A.抽象B.模块化C.自底向上D.信息隐蔽【参考答案】C4.下列SQL语句中,用于修改表结构的是()A.ALTERB.CREATEC.UPDATED.INSERT【参考答案】A5.关系模型允许定义3类数据约束,下列不属于数据约束的是()A.实体完整性约束B.参照完整性约束C.域完整性约束D.用户自定义的完整性约束【参考答案】C6.非空的循环单链表head的尾结点(由p所指向),满足()A.p-next==NULLB.p==NULLC.p-next=headD.p=head【参考答案】C7.对建立良好的程序设计风格,下面描述正确的是()A.程序应简单、清晰、可读性好B.符号名的命名只要符合语法C.充分考虑程序的执行效率D.程序的注释可有可无【参考答案】A8.在软件生产过程中,需求信息的给出是()A.程序员B.项目管理者C.软件解析设计人员D.软件用户【参考答案】D9.NULL是指()A.0B.空格C.未知的值或无任何值D.空字符串【参考答案】C10.下列说法中,不属于数据模型所描述的内容的是()A.数据结构B.数据操作C.数据查询D.数据约束【参考答案】C11.在C语言中,退格符是()A.\nB.\tC.\fD.\b【参考答案】D12.若已定义:inta=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a=25&&b--=2&&c?printf(″***a=%d,b=%d,c=%d\n″,a,b,c):printf(″###a=%d,b=%d,c=%d\n″,a,b,c);程序输出的结果是()A.***a=25,b=13,c=19B.***a=26,b=14,c=19C.###a=25,b=13,c=19D.###a=26,b=14,c=19【参考答案】C13.若运行以下程序时,从键盘输入ADescriptorCR(CR表示回车),则下面程序的运行结果是()#includestdio.hmain(){charc;intv0=1,v1=0,v2=0;do{switch(c=getchar()){case′a′:case′A′:case′e′:case′E′:case′i′:case′I′:case′o′:case′O′:case′u′:case′U′:v1+=1;default:v0+=1;v2+=1;}}while(c!=′\n′);printf(″v0=%d,v1=%d,v2=%d\n″,v0,v1,v2);}A.v0=7,v1=4,v2=7B.v0=8,v1=4,v2=8C.v0=11,v1=4,v2=11D.v0=13,v1=4,v2=1214.执行下面的程序段后,变量k中的值为()[2];[0]=k;k=s[1]*10;A.不定值B.33C.30D.10【参考答案】A15.有如下程序段inta=14,b=15,x;charc=′A′;x=(a&&b)&&(c′B′);执行该程序段后,x的值为()A.tureB.falseC.0D.1【参考答案】D16.以下函数返回a所指数组中最大值所在的下标值fun(int*a,intn){inti,j=0,p;p=j;for(i=j;in;i++)if(a[i]a[p])_______return(p);}在下划线处应填入的内容是()A.i=pB.a[p]=a[i]C.p=jD.p=i【参考答案】D17.有如下程序main(){chars[]=″ABCD″,*p;for(p=s+1;ps+4;p++)printf(″%s\n″,p);}该程序的输出结果是()A.ABCDB.ABCDBCDCDDC.BD.BCDCCDDD【参考答案】D18.以下正确的说法是()A.定义函数时,形参的类型说明可以放在函数体内B.return后边的值不能为表达式C.如果函数值的类型与返回值类型不一致,以函数值类型为准D.如果形参与实参类型不一致,以实参类型为准【参考答案】B19.结构化程序设计的三种基本逻辑结构是()A.选择结构、循环结构和嵌套结构B.顺序结构、选择结构和循环结构C.选择结构、循环结构和模块结构D.顺序结构、递归结构和循环结构【参考答案】C20.设有如下定义strucksk{inta;int*p;若要使p指向data中的a域,正确的赋值语句是()A.p=8a;B.p=data.a;C.p=&data.a;D.*p=data.a;【参考答案】C21.在下述程序中,判断ij共执行的次数是()main(){inti=0,j=10,k=2,s=0;for(;;){i+=k;if(ij){printf(″%d″,s);break;}s+=i;}}A.4B.7C.5D.6【参考答案】D22.以下程序的输出是()structst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0]};main(){p=aaprintf(″%d\n″,++(p-x));}A.10B.11C.51D.60【参考答案】C23.下列数据中,不合法的C语言实型数据的是()A.0.123B.123e3C.2.1e3.5D.789.0【参考答案】C24.设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为()A.intB.floatC.doubleD.不确定【参考答案】C25.设以下变量均为int类型,表达式的值不为7的是()A.(x=y=6,x+y,x+1)B.(x=y=6,x+y,y+1)C.(x=6,x+1,y=6,x+y)D.(y=6,y+1,x=y,x+1)【参考答案】C26.若变量a是int型,并执行语句:a=′A′+1.6;,则正确的叙述是()A.a的值是字符CB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符′A′的ASCII值加上1【参考答案】D27.有如下程序main(){intx=23;do{printf(″%d″,x--);}while(!x);}该程序的执行结果是()A.321B.23C.不输出任何内容D.陷入死循环【参考答案】B28.若变量c为char类型,能正确判断出c为小写字母的表达式是()A.′a′=c=′z′B.(c=′a′)||(c=′z′)C.(′a′=c)and(′z′=c)D.(c=′a′)&&(c=′z′)【参考答案】D29.下面程序段的运行结果是()charstr[]=″ABC″,*p=str;printf(″%d\n″,*(p+3));A.67B.0C.字符′C′的地址D.字符′C′【参考答案】B30.有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)()inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))【参考答案】D31.有以下程序fun(intx,inty,intz){z=x*y;}main(){inta=4,b=2,c=6;fun(a,b,c);printf(″%d″,c);}程序运行后的输出结果是()A.16B.6C.8D.12【参考答案】B32.以下叙述中不正确的是()A.预处理命令都必须以#号开始B.在程序中凡是以#号开始的语句行都是预处理命令行C.宏替换不占用运行时间,只占编译时间D.在以下定义是正确的:#definePI3.1415926【参考答案】D33.下面程序段的运行结果是()char*p=″abcdefgh″;p+=3;printf(″%d\n″,strlen(strcpy(P,″ABCD″)));A.8B.12C.4D.7【参考答案】C34.已知函数的调用形式:fread(buf,size,count,fp),参数buf的含义是()A.一个整型变量,代表要读入的数据项总数B.一个文件指针,指向要读的文件C.一个指针,指向要读入数据的存放地址D.一个存储区,存放要读的数据项【参考答案】C35.C语言规定,在一个源程序中,main函数的位置()A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后【参考答案】C36.以下叙述中正确的是()A.C语言比其他语言高级B.C语言可以不用编译就能被计算机识别执行C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D.C语言出现的最晚,具有其他语言的一切优点【参考答案】C37.C语言中最简单的数据类型包括()A.整型、实型、逻辑型B.整型、实型、字符型C.整型、字符型、逻辑型D.字符型、实型、逻辑型【参考答案】B38.下列可用于C语言用户标识符的一组是()A.voiddefineWORDB.a3_b3_123CarC.ForabcIFCaseD.2aDOsizeof【参考答案】B39.已知intt=0;while(t=1){…}则以下叙述正确的是()A.循环控制表达式的值为0B.循环控制表达式的值为1C.循环控制表达式不合法D.以上说法都不对【参考答案】B40.有以下程序main(){inti=1,j=1,k=2;\n″,i,j,k);}执行后输出结果是()A.1,1,2B.2,2,1C.2,2,2D.2,2,3【参考答案】C41.在下列选项中,没有构成死循环的是()A.inti=100;while(1){i=i%100+1;if(i100)break;}B.for(;;);C.intk=1000;do{k++;}while(k10000);D.ints=36;while(s)--s;【参考答案】D42.有以下程序floatfun(intx,inty){return(x+y);}main(){inta=2,b=5,c=8;\n″,fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是()A.编译出错B.9C.21D.9.0【参考答案】B43.设有以下说明语句structstu{inta;}stutype;则下面的叙述不正确的是()A.struct是结构体类型的关键字B.structstu是用户定义的结构体类型C.stutype是用户定义的结构体类型名D.a和b都是结构体成员名【参考答案】C44.以下说法正确的是()A.C语言程序总是从第一个函数开始执行B.在C语言程序中,要调用函数必须在main()函数中定义C.C语言程序总是从main()函数开始执行D.C语言程序中的main()函数必须放在程序的开始部分【参考答案】C45.下列程序执行后的输出结果是()voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5]={0};a=0;b[0]=3;func(&a,b);printf(″%d\n″,b[0]);}A.6B.7C.8D.9【参考答案】A46.以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序voidsort(inta[],intn){inti,j,t;-1;i++)[i]a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;[3],5);[i]);\n″);}程序运行后的输出结果是()A.1,2,3,4,5,6,7,8,9,10,B.10,9,8,7,6,5,4,3,2,1,C.1,2,3,8,7,6,5,4,9,10,D.1,2,10,9,8,7,6,5,4,3,【参考答案】C47.若执行下述程序时,若从键盘输入6和8时,结果为()main(){inta,b,s;}A.3