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

下载本文档

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

文档简介

试卷科目:C语言开发基础C语言开发基础(习题卷17)PAGE"pagenumber"pagenumber/SECTIONPAGES"numberofpages"numberofpagesC语言开发基础第1部分:单项选择题,共186题,每题只有一个正确答案,多选或少选均不得分。[单选题]1.已知'a'的ASCII码是97,则语句printf("%d",'c');输出结果是____。A)cB)'c'C)99D)语句错误答案:C解析:[单选题]2.若int类型数据占两个字节,则以下语句的输出为()。intk=-1;printf(''%d,%u\n'',k,k);A)-1,-1B)-1,32767C)-1,32768D)-1,65535答案:D解析:[单选题]3.设已定义intx,*p,*p1=&x,*p2=&x;则下列表达式中错误的是()。A)*p1+*p2B)p=p1C)p=p1+p2D)x=p1-p2答案:C解析:[单选题]4.若有定义语句:doublex,y,*px,*py;执行了px=&x;py=&y;之后,正确的输入语句是()。A)scanf("%1f%1f",px,py);B)scanf("%f%f"&x,&y);C)scanf("%f%f",x,y);D)scanf("%1f%1f",x,y);答案:A解析:输入函数scanf的标准格式是:scanf(格式控制,地址列表);,CD两项中地址列表格式不正确,应为&x,&y。格式控制和地址列表间应该用逗号隔开,B项也错误。%f用来输入float类型变量,%lf用来输入double类型变量,%le表示用科学计数法输入double。答案选择A选项。[单选题]5.()。设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为A)intB)floatC)doubleD)不确定答案:C解析:[单选题]6.设有语句intx=3,y=3,a=1,b=2;表达式(x=a>b)&&(y=b>a)的值是A)8B)1C)5D)0答案:D解析:[单选题]7.关于主函数,下列说法不正确的是()。A)一个完整的C语言应用程序有唯一的主函数B)主函数的名称只能是mainC)主函数可以被其他自定义函数调用D)语言程序的运行从主函数开始,以主函数为核心展开答案:C解析:[单选题]8.已知:intx=10;执行语句x-=x+x;后x的值是_____。A)-10B)10C)-20D)20答案:A解析:[单选题]9.已知a、b、c为int类型变量,若有输入语句:scanf("a=%db=%dc=%d",&a,&b,&c);为使a值为1,b值为3,c值为2,从键盘输入数据的正确形式应当是____A)132<回车>B)a=1b=3c=2<回车>C)1<回车>3<回车>2<回车>D)a=1<回车>b=3<回车>c=2<回车>答案:B解析:[单选题]10.设j为int型变量,则下面for循环语句执行结果是()For(j=7;j>3;j--){If(j%5==0)break;Printf("%d",j);}A)764B)765C)76D)7654答案:C解析:[单选题]11.以下程序的结果是______。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解析:[单选题]12.一个C语言程序是由()。A)若干函数组成B)若干过程组成C)若干主程序组成D)若干子程序组成答案:A解析:[单选题]13.关于形参和实参的关系,不正确的是____。A)实参可以是常量、变量或表达式B)实参与形参的个数必须相等C)形参和对应的实参的类型必须一致D)形参可以是常量、变量或表达式答案:D解析:[单选题]14.已知,x是int型变量,y是float型变量,用语句scanf("x=%d,y=%f",&x,&y);把100和75.3分别赋给x和y时,则正确的输入为()。A)100<空格>75.3<回车>B)x=100,y=75.3<回车>C)100<回车>75.3<回车>D)x=100<回车>y=75.3<回车>答案:B解析:[单选题]15.()。已知:intc[3][4];则对数组元素引用正确的是A)c[1][4]B)c[1.5][0]C)c[1+0][0]D)以上表达都错误答案:C解析:[单选题]16.以下对C语言源程序有关常识正确的描述是()。A)main函数必须位于文件的开头B)每个语句必须单独一行C)标识符中大小写字母没有区别D)宏定义#define部分不一定要放在程序的最开头位置答案:D解析:[单选题]17.以下程序运行结果是()。#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[单选题]18.请读程序:main(){staticinta[]={1,2,3,4,5,6}int*p;inti;p=a;*(p+3)+=2;printf("n1=%d,n2=%d\n:",*p,*(p+3));}其输出是()。A)n1=1;n2=5B)n1=2,n2=6C)n1=1n2=7D)n1=1,n2=6答案:D解析:[单选题]19.冒泡排序在最坏情况下的比较次数是()。A)n(n+1)/2B)nlog2nC)n(n-1)/2D)n/2答案:C解析:对n个节点的线性表采用冒泡排序,冒泡排序的外循环最多执行n-1遍。第一遍最多执行n-1次比较,第二遍最多执行n-2次比较,以此类推,第n-1遍最多执行1次比较。因此,整个排序过程最多执行n(n-1)/2次比较。答案选择C选项。[单选题]20.C语言中,对于由do…while语句构成的循环,以下说法正确的是()。A)在某些情况下不能与while语句互换B)不能由其他语句代替C)无论循环条件是否满足,程序都至少执行一次循环D)?do{语句;}while(表达式)?书写格式正确无误答案:C解析:[单选题]21.以下程序运行后的输出结果是()。#includemain(){inti,n[5]={0};for(i=1;iA)13715B)13716C)13715D)13716答案:A解析:[单选题]22.字符串"\t\065\xff\n"中的字符数(不算?\0?)为()A)5B)14C)8D)4答案:D解析:[单选题]23.设实型变量为f1、f2、f3、f4的值分别为4,3,2,1整型变量m1、m2_x000D_的值为1。表达式?(m1=f1>f2)&&(m2=f3A)0B)1C)2D)出错答案:A解析:[单选题]24.有以下程序#include<stdio.h>voidmain(){inta,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是___()___.A)2,1B)3,2C)4,3D)2,-1答案:A解析:[单选题]25.()。一个C程序的执行是从_____。A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束答案:A解析:[单选题]26.下面叙述正确的是A)C程序在运行时总是从main()函数开始逐条执行语句的B)main()函数是系统库函数C)main()函数中每行只能出现一条语句D)main()函数必须出现在所有其他函数之前答案:A解析:[单选题]27.已有定义:chara[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是______。A)数组a和b的长度相同B)a数组长度小于b数组长度C)a数组长度大于b数组长度D)上述说法都不对答案:C解析:[单选题]28.45、C语言是由()组成的。A)子程序B)主程序与子程序C)函数D)过程答案:C解析:[单选题]29.下列运算符优先级最高的是A)=B)%C)&&D)<=答案:B解析:[单选题]30.intfun(intn){If()填空1*/return1;Elsereturn0;}Voidmain(){inti,num,sum;填空2*/scanf(?%d?,&num);For(i=1;i<=num;i++)if(fun(i)==1)sum+=i;printf(?%d以内能同时被3和5整除的数字之和为:%d?,num,sum);Getch();}请阅读代码并选择?填空1??填空2?的空白处应填写的内容()A)?填空1?n%3==0&&n%5==0?填空2?sum=i;B)?填空1?n%3==0&&n%5==0?填空2?sum=0;C)?填空1?n%3==0||n%5==0?填空2?sum=0D)?填空1?n%3==0||n%5==0?填空2?sum=i;答案:B解析:[单选题]31.设a=5、b=6、c=7、d=8、m=1、n=1,执行(m=a>b)&&(n=c>d)后n的值为______。A)1B)2C)3D)4答案:A解析:[单选题]32.要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确表示此功能的函数是()。A)voidfuna(int*x,int*y){int*p;*p=*x;*x=*y,*y=*p;}B)voidfunb(intx,inty){intt;t=x;x=y;y=t;}C)voidfunc(int*x,int*y){*x=*y;*y=*x;}D)voidfund(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y;}答案:D解析:[单选题]33.执行下面的程序后变量a的值为()。voidmain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>10)break;if(b%3==1){b+=3;continue;}b-=3;}}A)5B)6C)7D)8答案:A解析:[单选题]34.有下列程序:#include<stdio.h>Voidmain(){Intarry[]={1,3,5,7,9},i,j;For(i=0;i<4;i+=2){For(j=1;i+j<5;j++,j++)Printf("%d",arry[i+j]);}}程序执行后的输出结果是______。A)577B)357C)599D)377答案:D解析:[单选题]35.设有声明语句:inta=1,b=0;则执行以下语句后输出()。_x000D_switch(a)_x000D_{_x000D_case1:_x000D_switch(b)_x000D_{_x000D_case0:printf("**0**");break;_x000D_case1:printf("**1**");break;_x000D_}_x000D_case2:printf("**2**");break;_x000D_}A)**0**B)**0****2**C)**0****1****2**D)有语法错误答案:B解析:[单选题]36.设有关键码序列(Q,G,M,Z,A,N,B,P,X,H,Y,S,T,L,K,E),采用堆排序法进行排序,经过初始建堆后关键码值B在序列中的序号是()。A)1B)3C)7D)9答案:B解析:堆排序是一种选择排序的算法,首先将要排序的所有关键码放到一棵完全二叉树的各个结点中(这时的二叉树不具备堆的特性),然后,从i=[n/2](n为结点的个数)的结点Ki开始,逐步把以K[n/2],K[n/2]-1,K[n/2]-2,…为根的子树排成堆,直到以K1为根的树排成堆,就完成了建堆过程。此题中,n=16,i=[16/2]=8,即从第8个结点开始。建堆完成后,如下图所示:关键码值B在序列中的序号是3。答案选择B选项。[单选题]37.下面语句中有语法错误的是A)printf("%d",Oe);B)printf("%f",0e2);C)printf("%d",0x2);D)printf("%s","0x2");答案:A解析:[单选题]38.设有如下定义:Strucksk{inta;floatb;}data;Int*p;若要使p指向data中的成员a,正确的赋值语句是()。A)p=&a;B)p=data.a;C)p=&data.a;D)*p=data.a;答案:C解析:[单选题]39.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解析:[单选题]40.说明语句?int(*p)();?的含义是______。A)p是一个指向一维数组的指针变量B)p是一个指向整型内存单元的的指针变量C)p是一个指向函数的指针,该函数的返回值是一个整数D)p是函数名,该函数的返回值是一个指针答案:C解析:[单选题]41.()为正确的用户标识符。A)1_rowB)min-5C)unionD)m_A_1答案:D解析:P14变量名的命名规则。只能用数字,英文字母,下划线。[单选题]42.若有:char*q="stud";则不正确的说法是____。A)表达式strlen(q)的值为4B)q[4]的值为零C)表达式q+1的值为字符常量't'D)q是一个指向字符变量的指针答案:C解析:[单选题]43.设有变量声明?charch;",执行?for(;(ch=getchar()!="\n';)printf(?%c?,ch);?时,从键盘上输人?ABCDEFG?之后,输出的结果是()A)ABCDEFGB)AABBCCDDEEFFGGC)非字母数字字符D)语句不能执行答案:A解析:[单选题]44.一个教师可讲授多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是()。A)1:1联系B)1:m联系C)m:1联系D)m:n联系答案:D解析:实体集之间通过联系来建立连接关系,包括:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。本题中一名教师可讲授多门课程,而一门课程又能由多名教师讲授,所以教师和课程之间是多对多的关系,可以表示为m:n,答案选择D选项。[单选题]45.C语言是在()语言的基础上产生的。A)AB)BC)DD)E答案:B解析:[单选题]46.设有intii,ij,ik;则表达式ii=1,ij=2,ik=3,ii>ij&&ik的值为A)0B)1C)2D)3答案:A解析:[单选题]47.执行以下程序后,y的值是()。#include<iostream>Usingnamespacestd;Intmain(){charch[]={'a','f','b','d','h','c'},*p;inty=1,j;p=&ch[1];for(j=0;j<3;j++)y+=*(p+j);cout<<y<<endl;return0;}A)305B)301C)278D)347答案:B解析:[单选题]48.()。关于运算符优先顺序的描述正确的是.A)关系运算符<算术运算符<赋值运算符<逻辑运算符B)逻辑运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑与运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑与运算符答案:C解析:[单选题]49.下列一维数组的声明中正确的是A)inta[];B)intn=5,a[n];C)inta[4+1]={0};D)inta[3]={4,3,2,1};答案:C解析:[单选题]50.设有以下语句,其中不是对a数组元素的正确引用的是:______(其中0≤i<6)Inta[6]={11,22,33,44,55,66},*m=a;A)&(*(a+i))B)*(&a[i])C)m[i]D)a[i]答案:A解析:[单选题]51.以下能够实现计算5!的程序段是()。A)intfac=1,k=0;do{k++;fac*=k;}while(k<5);B)intfac=0,k=1;do{fac*=k;k++;}while(k<5);C)intfac=1,k=1;do{k++;fac*=k;}while(k<=5);D)intfac=1,k=0;do{fac*=k;k++;}while(k<5);答案:A解析:do…while循环语句一般形式为:do{循环体}while(表达式),执行过程为:首先执行循环体,之后判断表达式,表达式为真,则再一次执行循环体,否则退出循环。A项:k=1,fac=1*1,判断k<5,条件成立进行下一次循环,直到k=5,fac=1*2*3*4*5,k<5时退出循环,实现计算5!。B项:fac从0开始,做乘法一直都是0,无法实现5!。C项:k=2,fac=1*2,循环条件成立,直到k=6,fac=1*2*3*4*5*6才因循环条件不成立退出循环,实现6!。D项:k=0,fac=1*0=0,之后做乘法一直为0,无法实现5!。答案选择A选项。[单选题]52.有如下程序main(){intn=9;while(n>6){n--;printf(?%d?,n);}}该程序段的输出结果是A)987B)876C)8765D)9876答案:B解析:[单选题]53.C语言程序从()开始执行A)程序中第一条可执行语句B)程序中第一个函数C)程序中的main函数D)包含文件中的第一个函数答案:C解析:[单选题]54.阅读以下程序,程序运行后的输出结果是_()___.#include<stdio.h>voidmain(){intx;for(x=5;x>0;x--)if(x--<5)printf("%d,",x);elseprintf("%d,",x++);}A)4,3,2B)4,3,1,C)5,4,2D)5,3,1,答案:B解析:[单选题]55.若有说明语言:intA,b,c,*d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是______。A)scanf("%d%d%d",&a,&b,d);B)scanf("%d%d%d",&a,&b,&d);C)scanf("%d%d%d",a,b,d);D)scanf("%d%d%d",a,b,*d);答案:A解析:[单选题]56.若有定义:floatw;intA,b;则合法的switch语句是()。A.switch(w){case1.0:printf("*\n");case2.0:printf("**\n");}B.switch(a);{case1:printf("*\n");case2:printf("**\n");}C.switch(b){case1:printf("*\n");default:printf("\n");case1+2:printf("**\n");}D.switch(a+b);{case1:printf("*\n");case2:printf("**\n");default:printf("\n");}C5.关于if语句的说法正确的是()。A)if语句中的子语句可以是简单语句或复合语句,但不能是控制语句。B)if语句完全可以实现条件运算符的功能。C)if-else语句的语法格式为if(表达式1)语句1;else(表达式2)语2;D)作为if语句条件的表达式只能是关系表达式或者逻辑表达式。答案:B解析:[单选题]57.以下程序段运行后*(p+3)的值为()。chara[]="good";char*p;p=a;A)'d'B)'\0'C)存放'd'的地址D)'o'答案:A解析:[单选题]58.下列选项中不属于结构化程序设计方法的是()。A)自顶向下B)逐步求精C)模块化D)可复用答案:D解析:[单选题]59.假定X和Y为double型,则表达式X=2,Y=X+3/2的值是______。A)3.500000B)3C)2.000000D)3.000000答案:D解析:[单选题]60.98、对for(表达式1;;表达式3)可理解为()。A)for(表达式1;0;表达式3)B)for(表达式1;1;表达式3)C)for(表达式1;表达式1;表达式3)D)for(表达式1;表达式3;表达式3)答案:B解析:[单选题]61.有定义语句:inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是______。A)if(c<a)x=1;Elseif(b<a)x=2;Elsex=3;B)if(a<3)x=3;Elseif(a<2)x=2;Elsex=1;C)if(a<3)x=3;If(a<2)x=2;If(a<1)x=1;D)if(a<b)x=b;If(b<c)x=c;If(c<a)x=a;答案:C解析:[单选题]62.若有如下程序段,其中s、a、b、c均已定义为整形变量,且a、c均已赋值(c大于0).S=c;For(b=1;b<=c;b++)s=s+1;则上述程序段功能等价的赋值语句是()A)s=a+cB)s=a+bC)s=b+cD)s=s+c答案:D解析:[单选题]63.C语言运算对象必须是整型的运算符是______。A)%B)/C)=D)<=答案:A解析:[单选题]64.下列语句中,将fp定义为文件指针的是________。A)FILE*fp;B)File*fp;C)FILEfp;D)File*fp;答案:A解析:[单选题]65.在执行语句:inta[][3]={1,2,3,4,5,6};后,a[1][0]的值是___()___.A)4B)1C)2D)5答案:A解析:[单选题]66.()。执行下列语句后,a,b的值分别为inta=12,b=7;#defineM(x,y)(x+=y-=x+=y)M(a,b);A)7,12B)-7,12C)7,-12D)以上均不是答案:C解析:[单选题]67.下列变量定义语句中合法的是()。A)short_a=1-.1e-1;B)doubleb=1+5e2.5;C)longdo=0xfdaL;D)float2_and=1-e-3;答案:A解析:[单选题]68.若有定义inta[2][3];,以下选项中对a数组元素正确引用的是()。A)a[2][!1]B)a[2][3]C)a[0][3]D)a[1>2][!1]答案:D解析:[单选题]69.如果要用fopen()函数打开一个新的二进制文件,该文件要既能读也能写,则文件打开方式应为________。A)"wb+"B)"ab+"C)"rb+"D)"ab"答案:A解析:[单选题]70.用计算机解决问题时,首先应该确定程序?做什么??,然后再确定程序?如何做??请问?如何做??是属于用计算机解决问题的哪一个步骤?()20A)分析问题B)设计算法C)编写程序D)调试程序答案:B解析:[单选题]71.程序中头文件type1.h的内容是:#defineN5#defineM1N*3程序如下:#include"type1.h"#defineM2N*2Main(){inti;I=M1+M2;printf("%d\n",i);}程序编译后运行的输出结果是______。A)10B)20C)25D)30答案:C解析:[单选题]72.若x为int型变量,y是float型变量,输入语句格式为:scanf("x=%d,y=%f",&x,&y)则为使x=20,y=166.6,正确的输入是()。A)20166.6<回车>B)x=20,y=166.6<回车>C)20<回车>166.6<回车>D)20,166.6<回车>答案:B解析:[单选题]73.关于下列程序段说法正确的是()Intt=0;While(t=l){……}A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对答案:B解析:[单选题]74.以下程序运行后,输出的结果是()。;;main(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k++)printf("%s\n",&w[k][k]);}A)ABCDFGHKLMB)ABCDEFGIJC)EFGJK0D)FGHKL答案:D解析:本题中strcpy(arr,?you?)函数的功能是将?you?3个字符分别赋给arr[0][0]、arr[0][1]和a[0][2];strcpy(arr[1],?me?)函数的功能是将?me?分别赋给arr[1][0]和a[1][1]。[单选题]75.逻辑模型是面向数据库系统的模型,下面属于逻辑模型的是()。A)关系模型B)谓词模型C)物理模型D)实体-联系模型答案:A解析:数据库采用了三级数据模型的结构,即概念模型、逻辑模型、物理模型。其中,逻辑模型也称数据模型,面向数据库系统,着重于在数据库系统一级的实现。数据模型主要有:①层次模型;②网状模型;③关系模型;④面向对象模型等。答案选择A选项。[单选题]76.在E-R图中,用()来表示实体之间联系。A)矩形B)菱形C)椭圆形D)正方形答案:B解析:E-R图是实体联系模式图,其中用矩形表示实体集;用椭圆形表示属性;用菱形表示联系。答案选择B选项。[单选题]77.1、从键盘上输入某字符串是,不可使用的函数是()。A)gets()B)fread()C)scanf()D)getchar()答案:B解析:[单选题]78.若有语句char*line[5];,以下叙述中正确的是()。A)定义line是一个指针数组,每个数组元素是一个基类型为char的指针变量B)定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C)定义line是一个指针数组,语句中的*号称为间址运算符D)定义line是一个指向字符型函数的指针答案:A解析:[单选题]79.关于数组,不正确的说法是____。A)是数据有序的组合。B)可以在定义时给数组元素赋值。C)数组名定义规则与变量名定义规则相同。D)数组中的元素可以是不同的数据类型。答案:D解析:[单选题]80.已知chars1[10],*s2="abc\0def";,则执行语句strcpy(s1,s2);之后,变量strlen(s1)的值是()。A)7B)3C)4D)8答案:B解析:[单选题]81.关于?while(条件表达式)循环体?,以下叙述正确的是A)循环体的执行次数总是比条件表达式的执行次数多一次B)条件表达式的执行次数总是比循环体的执行次数多一次C)条件表达式的执行次数与循环体的执行次数一样D)条件表达式的执行次数与循环体的执行次数无关答案:B解析:[单选题]82.以下语句中,循环次数不为10次的语句是()。A)for(i=1;i<10;i++);B)i=1;do{i++;}while(i<=10);C)i=10;while(i>0){--i;}D)i=1;m:if(i<=10){i++;gotom;}答案:A解析:[单选题]83.在C语言中,当一个函数无返回值时,定义函数的类型说明符应是()。A)任意B)inC)voidD)无答案:C解析:[单选题]84.以下程序段中的变量已定义为int类型,则sum=pAd=5;pAd=sum++,++pAd,pAd++;printf("%d\n",pAd);程序段的输出结果是()。A)6B)4C)5D)7答案:D解析:自增和自减运算符的两种用法:前置运算,运算符放在变量之前,规则是先使变量的值增(或减)1,然后以变化后表达式的值参与其他运算;后置运算,运算符放在变量之后,规则是变量先参与其他运算,然后再使变量的值增(或减)1。执行pAd=sum++,sum++是后置自增,执行完后,pAd=5,sum=6。++pAd和pAd++语句中没有其他运算,即效果相同,pAd分别加1,两句执行完后,pAd=7。答案选择D选项。[单选题]85.若有定义inta[]={10,20,30},*p=a;,当执行p++;后,下列说法错误的是______。A)p向高地址移了一个字节B)p向高地址移了一个存储单元C)p向高地址移了四个字节D)p与a+1等价答案:A解析:[单选题]86.执行语句for(i=1;i++<4;);后变量的值为。A)3B)4C)5D)不定答案:C解析:[单选题]87.已有定义intx=3,y=4,z=5;则表达式!(x+y)+z-1&&y+z/2的值是()。A)6B)2C)1D)0答案:C解析:[单选题]88.有以下程序(提示:程序中fseek(fp,-2*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移2*sizeof(int)字节):#include<stdio.h>Main(){FILE*fp;inti,a[4]={1,2,3,4},b;Fp=fopen("data.dat","wb");For(i=0;i<4;i++)fwrite(&a[i],sizeof(int),1,fp);Fclose(fp);Fp=fopen("data.dat","rb");Fseek(fp,-2*sizeof(int),SEEK_END);Fread(&b,sizeof(int),1,fp);从文件中读取sizeof(int)字节的数据到变量b中*/Fclose(fp);Printf("%d\n",b);}执行后输出的结果______。A)2B)1C)4D)3答案:D解析:[单选题]89.以下选项中,能正确表示逻辑关系:?a≥10或a≤0?的C语言表达式是___。A)a>=0||a<=10B)a≥10||a≤0C)a>=10&&a<=0D)a>=10||a<=0答案:D解析:[单选题]90.C语言中最简单的数据类型包括()。A)整型,实型,逻辑型B)整型,实型,字符型C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型答案:B解析:[单选题]91.正确的定义语句是____。A)inta=5;intb[a];B)inta[3,4];C)int*a[10];D)inta[][];答案:C解析:[单选题]92.在一个C源程序文件中,若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是。A)externB)registerC)autoD)static答案:D解析:[单选题]93.以下正确的说法是A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义和函数的调用均可以嵌套C)函数的定义和函数的调用均不可以嵌套D)函数的定义不可以嵌套,但函数的调用可以嵌套答案:D解析:[单选题]94.如下说法正确的是____。A)全局变量的有效范围从文件开始到文件末尾B)全局变量不属于任何函数C)在函数之内定义的静态变量实际就是全局变量D)main函数内定义的变量是全局变量答案:B解析:[单选题]95.以下叙述中正确的是().A)在程序的一行上可以出现多个有效的预处理命令行B)使用带参的宏时,参数的类型应与宏定义时的一致C)宏替换不占用运行时间,只占编译时间D)在以下定义中CR是称为"宏名"的标识符#defineCR045答案:C解析:[单选题]96.下列程序运行结果是()。#include<stdio.h>voidfun(int*p1,intn){int*p2;for(p2=p1;p2<p1+5;p2++)*p2=*p2+5;}intmain(){inta[5]={1,2,3,4,5};inti;fun(a,5);for(i=0;i<5;i++)printf("%d",a[A)12345B)62345C)123410D)678910答案:D解析:函数对数组每个元素都增5[单选题]97.()。以下叙述不正确的是。A)用C程序实现的算法必须要有输入和输出操作。B)用C程序实现的算法可以没有输出但必须要有输入。C)用C程序实现的算法可以没有输入但必须要有输出。D)用C程序实现的算法可以既没有输入也没有输出。答案:C解析:[单选题]98.在下列语句中存在错误的是A)floata,b;scanf("%f%f",&a,&b);printf("a=%4.3f,b=%4.3f",a,b);B)inta,b;scanf("%d,%d",&a,&b);printf("a=%2d,b=%2d",a,b);C)inta,b;scanf("a=%d,b=%d",&a,&b);printf("a=%d,b=%d",a,b);D)floata,b;scanf("%3.2f%4.2f",&a,&b);printf("%f%f",a,b);答案:D解析:[单选题]99.写出下面程序的输出结果()。#include<iostream>Usingnamespacestd;Voidsub(int*a,intn,intk){if(k<=n)sub(a,n/2,2*k);*a+=k;}Intmain(){intx=0;sub(&x,16,2);cout<<x<<endl;return0;}A)2B)6C)10D)14答案:D解析:[单选题]100.有如下程序Main(){inta=2,b=-1,c=2;If(a<b)If(b<0)c=0;Elsec++;Printf("%d\n",c);}该程序的输出结果是______。A)0B)1C)2D)3答案:C解析:[单选题]101.逻辑运算符两则运算对象的数据类型。A)只能是0或1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据答案:D解析:[单选题]102.99、设有程序段intk=10;while(k=0)k=k-1;则下面描述中正确的是()。A)while循环执行10次B)循环是无限循环C)循环体语句一次也不执行D)循环体语句执行一次答案:C解析:[单选题]103.以下程序代码运行的结果是?ints=0;for(inti=1;i<100;i++){if(s>10)break;if(i%2==0)s+=1;}Console.Write(s);A)20B)12C)11D)6答案:C解析:[单选题]104.以下叙述正确的是A)所有程序行都必须用分号结束B)C语言程序由C语句组成,可以省略main函数C)分号是C语句之间的分隔符D)在C语言中分号是语句的组成部分答案:D解析:[单选题]105.对于定义charstr[]=?abc\00def\n?(注:其中0为数字零),求字符串str的长度len和数组str的大小size,len和size分别是:A)12,13B)3,11C)3,9D)3,4答案:C解析:[单选题]106.若变量a,b,t已正确定义,要将a和b中的数进行交换,以下选项中不正确的语句是()。A)a=a+b;b=a-b;a=a-b;B)t=a;a=b;b=t;C)a=t;t=b;b=a;D)t=b;b=a;a=t;答案:C解析:[单选题]107.如果在一个函数中的复合语句中定义了一个变量,则该变量()。A)只在该复合语句中有定义B)在该函数中有定义C)在本程序范围内有定义D)为非法变量答案:A解析:[单选题]108.以下几组选项中为合法的标识符是()。A)intB)floatC)b-aD)_123答案:D解析:[单选题]109.表达式?10>=9?的值是()A)trueB)非零值C)0D)1答案:D解析:[单选题]110.下列叙述正确的是____。A)函数可以调用自身B)函数必须有返回值C)主函数不允许有返回值D)主函数不允许有参数答案:A解析:[单选题]111.表示关系x≤y≤z的c语言表达式为()A)(x<=y)&&(y<=z)B)(x<=y)AND(y<=z)C)(x<=y<=z)D)(x<=y)&(y<=z)答案:A解析:[单选题]112.设intx=1,n;,以下与其他三组输出结果不同的一组语句是______。A)x++;printf("%d\n",x);B)n=++x;printf("%d\n",n);C)++x;printf("%d\n",x);D)n=x++;printf("%d\n",n);答案:D解析:[单选题]113.下面有关空语句描述错误的是______。A)空语句是多余语句可以删除B)空语句仅由分号?;?组成C)空语句不产生任何操作运算D)空语句长用于循环结构中答案:A解析:[单选题]114.执行?printf("%x",100);?后的输出结果是A)100B)0x100C)0X64D)64答案:D解析:[单选题]115.若已定义a为整型变量:a=-2L;printf(''%d\n'',a);则以上语句()。A)赋值不合法B)输出值为-2C)输出为不确定值D)输出值为2答案:B解析:[单选题]116.putchar函数可以向终端输出一个。A)整型变量表达式B)实型变量值C)字符串D)字符或字符型变量值答案:D解析:[单选题]117.由以下while构成的循环,循环体执行的次数是______。intk=0;while(k=1)k++;A)无限次B)一次也不执行C)执行一次D)有语法错,不能执行答案:A解析:[单选题]118.从键盘上输入某字符串时,不可使用的函数是()。A)getchar()B)gets()C)scanf()D)fread()答案:A解析:[单选题]119.下列字符序列中,可用作C标识符的一组字符序列是()A)class,day,lotus_1,2dayB)S.b,sum,average,_aboveC)D56,r_1_2,name,_st_1D)#md,&12x,month,student_n!答案:C解析:[单选题]120.已知主调函数中有以下定义及声明:Inta=1,b=2;floatfun(intx,int*y);则在主调函数中可以正确调用此函数的语句是______。A)fun(a);B)fun(a,&b);C)fun(*a,*b);D)fun(&a,a+b);答案:B解析:[单选题]121.以下关于C语言数据类型使用的叙述中错误的是()。A)若要准确无误差地表示自然数,应使用整数类型。B)若要保存带有多位小数的数据,应使用双精度类型。C)若要处理如?人员信息?等含有不同类型的相关数据,应自定义结构体类型。D)若只处理?真?和?假?两种逻辑值,应使用逻辑类型。答案:D解析:A项正确,整数的表示是不存在误差的;B项正确,float类型称为单精度类型,double类型称为双精度类型,一般系统中,为float类型的变量分配4个字节的存储单元,为double类型的变量分配8个字节的存储单元。C项正确,struct结构体,可以用来描述包含多种基本类型的复杂对象。D项错误,C语言中没有逻辑类型,在C++中才引入的。答案选择D选项。[单选题]122.以下选项中可用作C语言中合法用户标识符的是()。A)_123B)voidC)-abcD)2a答案:A解析:合法标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,其中,关键字在程序中都代表着固定的含义,不能另作他用。B项中void是关键字,不合法。C项和D项没有以字母或下划线开头,不合法。答案选择A选项。[单选题]123.结构化程序设计中的三种基本结构是:顺序、选择和()。A)重复B)嵌套C)循环D)指针答案:C解析:[单选题]124.若有定义语句inta[5]={0,1,2,3,4},*p=a;,则不是对a数组元素的正确引用是_。A)a[p-a]B)*(&a[2])C)*pD)*(*(a+2))答案:D解析:[单选题]125.若有说明语句:charc='\72'则变量c().A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定答案:A解析:[单选题]126.若有定义?structnode{intn;char*pk;}x={2,"right"},*p=&x;?,表达式________是不正确的。A)P->pkB)(*p).pkC)*p->pkD)X.pk答案:C解析:[单选题]127.在C语言程序中,下列说法中正确的是()。A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和调用均不可以嵌套D)函数的定义和调用均可以嵌套答案:B解析:C语言规定,不能在函数的内部定义函数,但函数的调用可以嵌套。答案选择B选项。[单选题]128.C语言规定,函数返回值的类型是由().A)return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定答案:D解析:[单选题]129.C语言中,标识符只由字母、数字和下划线三种字符组成,且第一个字符()。A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字线、数字或下划线答案:C解析:[单选题]130.inti,j,m=55;for(i=1;i<=3;i++){for(j=3;j<=i;j++){m=m%j;}}Console.WriteLine(m);A)0B)1C)2D)3答案:B解析:[单选题]131.若要判断char型变量c中存放的是否为小写字母,以下正确的表达式是()A)'a'<=c<='z'B)(c>='a')&&(c<='z')C)(c>='a')||(c<='z')D)('a'<=c)AND('z'>=c)答案:B解析:C语言中,char型变量的值是其对应字符的ASC码值,可以作比较运算,由于小写字母的ASC码值按字母表的顺序连续递增,所以判断char型变量是否是小写字母时,判断c的ASCl码值是否在a和Z之间,即:(c>=a)&&(c<=z),本题答案B[单选题]132.()。若下列语句组,则输出结果是。intx=-1;if(x++<0)printf("%d",--x);printf("%d",x++);A)-1B)1C)-1-1D)-11答案:C解析:[单选题]133.在传统流程图中,用来表示分支的图形是()。A)椭圆形B)长方形C)菱形D)平行四边形答案:D解析:[单选题]134.以下哪一条不属于程序设计的3种基本结构?_________A)顺序结构B)分支结构C)逆转结构D)循环结构答案:C解析:[单选题]135.若u、w、x、y均是整型变量并已赋值,则以下正确的switch语句是()。A)switch(x+y){case10:u=x+y;break;case11:w=x-y;break;}B)switchx{defau1t:u=x+y;case10;w=x-y;break;case11:u=x*y,break;}C)switch(x*x+y*y){case3:case3:w=x+y;break;case0:w=y-x;break;}D)switch(pow(x,2)+pow(y,2)){case1:case3:w=x+y;break;case0:case5:w=x-y;}答案:A解析:[单选题]136.判断字符串a是否大于b,应当使用()A)if(a>b)B)if(strcmp(a,b))C)if(strcmp(b,a)>0)D)if(strcmp(a,b)>0)答案:D解析:[单选题]137.若有定义:inta[][3]={1,2,3,4,5};则以下描述中正确的是()。A)数组a包含5个元素B)数组a的第一维大小可以取任意值C)数组a的行数为5D)元素a[0][2]的初值为3答案:D解析:[单选题]138.若有说明:inta[3][4];则对a数组元素的正确引用是。A)a[2][4]B)a[1,3]C)a[1+1][0]D)a(2)(1)答案:C解析:[单选题]139.C语言编写的源程序()A)经过编译可执行。B)可立即执行。C)经过编译和解释后才能执行。D)经过编译和连接后才能执行。答案:D解析:[单选题]140.下面属于系统软件的是()。A)财务管理系统B)编译软件C)编辑软件WordD)杀毒软件答案:B解析:应用软件是为解决特定领域的应用而开发的软件,如事务处理软件,工程与科学计算软件,学生成绩管理系统、教务管理系统、浏览器、编辑软件等应用性质不同的各种软件。系统软件是计算机管理自身资源,提高计算机使用效率并服务于其他程序的软件,如操作系统,编译程序,汇编程序,数据库管理系统等。支撑软件是介于系统软件和应用软件之间,协助用户开发软件的工具性软件,包括辅助和支持开发和维护应用软件的工具软件,如需求分析工具软件,设计工具软件,编码工具软件,测试工具软件,维护工具软件等。答案选择B选项。[单选题]141.若已定义;inta=1,b=2,c=3;则表达式a=b==c的值为A)2B)1C)3D)0答案:D解析:[单选题]142.87、若有说明:intn=2,*p=&n,*q=p,则以下非法的赋值语句是()。A)p=qB)*p=*qC)n=*qD)p=n答案:D解析:[单选题]143.96、以下对C语言源程序有关常识正确的描述是()。A)main函数必须位于文件的开头B)每个语句必须单独一行C)标识符中大小写字母没有区别D)宏定义#define部分不一定要放在程序的最开头位置答案:D解析:[单选题]144.C语言程序连接后的可执行文件扩展名是()A)cppB)exeC)cD)o答案:B解析:[单选题]145.若函数调用时用数组名作为函数参数,以下叙述中,不正确的是___()___.A)实参与其对应的形参共占用同一段存储空间B)实参将其地址传递给形参,结果等同于实现了参数之间的双向值传递C)实参与其对应的形参分别占用不同的存储空间D)在调用函数中必须说明数组的大小,但在被调函数中可以使用不定尺寸数组答案:C解析:[单选题]146.关系数据模型()。A)只能表示实体间1:1联系B)只能表示实体间1:m联系C)可以表示实体间m:n联系D)能表示实体间1:n联系而不能表示实体间n:1联系答案:C解析:关系模型用来表示现实世界的实体以及实体间的各种联系,这些联系包括:①一对一联系,记作1:1;②一对多联系,记作1:m;③多对多联系,记作m:n。答案选择C选项。[单选题]147.E2是()。A)值为100的实型常数B)值为100的整型常数C)不合法的标识符、D)合法的标识符答案:D解析:[单选题]148.下列循环语句中有语法错误的是()。A)while(x=y)B)while(0)C)doD)do答案:D解析:[单选题]149.有两个字符数组a,b,则以下能正确为a,b进行赋值的语句是____A)gets(a,b);B)scanf("%s%s",&a,&b);C)getchar(a);getchar(b);D)gets(a);gets(b);答案:D解析:[单选题]150.若有以下说明:inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;则数值为4的表达式是()A)a[g-c]B)a[4]C)a['d'-'c']D)a['d'-c]答案:D解析:[单选题]151.已有定义"intx,y;",若要求编写代码实现?当x大于等于0时y取值1,否则y取值-1?,则下面程序段中错误的是()A)y=x>=0?1;-1;B)if(x>=0)y=l;elsey=-1;C)switch(){casex>=0;y=1;break;Default:y=-1;}D)switch(x-abs(x)){case0:y=l;break;Default:y=-1;}答案:C解析:[单选题]152.有以下程序段:Intk=0;While(k=1)k++;While循环执行的次数是()A)有语法错误,不能执行B)无限次C)执行一次D)一次也不执行答案:B解析:[单选题]153.设有以下语句,其中不是对a数组元素的正确引用的是:______(其中0≤i<10)Inta[10]={0,1,2,3,4,5,6,7,8,9,},*p=a;A)a[i]B)*(&a[i])C)p[i]D)&(*(a+i))答案:D解析:[单选题]154.设有数组定义:chararray[]="China";则数组array所占的存储空间为___()___.A)4个字节B)5个字节C)6个字节D)7个字节答案:C解析:[单选题]155.对一维数组a的正确定义是___。A)inta(10);B)inta[8-5];C)intn;scanf("%d",&n);inta[n];D)intn=10,a{n};答案:B解析:[单选题]156.设x,y,z,t均为int型变量,则执行以下语句后,t的值为()。X=y=z=1;T=++x||++y&&++z;A)不定值B)2C)1D)0答案:C解析:?||?是逻辑或运算符,?&&?是逻辑与运算符。[单选题]157.C语言中,形参缺省的存储类型说明是A)autoB)staticC)registerD)extern答案:A解析:[单选题]158.有如下程序段,对应正确的数据输入是()。Floatx,y;Scanf(?%f%f?,&x,&y);Printf(?a=%f,b=%f?,x,y);A)2.04<回车>5.67<回车>B)2.04,5.67<回车>C)A=2.04,B=5.67<回车>D)2.055.67<回车>答案:A解析:[单选题]159.运行以下程序后,输出结果是main(){inta[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}};inti,s=0;for(i=0;i<4;i++)s+=a[i][1];printf(?%d\n?,s);}A)32B)10C)28D)26答案:A解析:[单选题]160.设有inti;,则以下循环中printf("%d",i);语句执行______。I=1;For(;i<=2;i++)Printf("%d",i);A)0次B)1次C)2次D)无限次答案:C解析:[单选题]161.以下程序的执行结果是().main(){intw=1,x=2,y=3,z=4;w=(w<x)?x:w;w=(w<y)?y:w;w=(w<z)?z:w;printf("%d",w);}A)1B)2C)3D)4答案:D解析:[单选题]162.表示关系x≥y≥z的C语言表达式正确的是A)y>=z&&x>=yB)y>=z||x>=yC)y>=zANDx>=yD)x>=y>=z答案:A解析:[单选题]163.若有定义intx[3]={1};下列对数组x的描述正确的是()。A)x[0]的值为1,其他元素值均为0。B)x[0]的值为1,其他元素值不确定。C)数组每个元素值都为1。D)x[1]为1,其他元素值均为0。答案:A解析:数组只给第一个元素赋值,其他元素默认为0[单选题]164.char*s[3]={"111","222","333"};则能够输出其中的字符串222的语句是____。A)printf("%s",*s[1]);B)printf("%s",*s[2]);C)printf("%s",s[2]);D)printf("%s",s[1]));答案:D解析:[单选题]165.()。若变量a,b,t已正确定义,要将a和b中的数进行交换,以下选项中不正确的语句是。A)a=a+b;b=a-b;a=a-b;B)t=a;a=b;b=t;C)a=t;t=b;b=a;D)t=b;b=a;a=t;答案:C解析:[单选题]166.以下函数的功能是:求x的y次方,请填空.___()_____#include<stdio.h>voidmain(){inti,x,y;doublez;scanf("%d%d",&x,&y);for(i=1,z=x;i<y;i++)z=z*______;printf("x^y=%e\n",z);}-10-A)i++B)x++C)xD)i答案:C解析:[单选题]167.以下程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是A)anothernumberanotherB)anothernumberC)numbernumberD)anothernumbernumber答案:D解析:[单选题]168.在黑盒测试方法中,设计测试用例的主要根据是()。A)程序内部逻辑B)程序外部功能C)程序数据结构D)程序流程图答案:B解析:黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能说明,所以本题选择B)。[单选题]169.下列叙述中错误的是()。A)在链表中,如果每个结点有两个指针域,则该链表一定是非线性结构B)在链表中,如果有两个结点的同一个指针域的值相等,则该链表一定是非线性结构C)在链表中,如果每个结点有两个指针域,则该链表不一定是线性结构D)在链表中,如果有两个结点的同一个指针域的值相等,则该链表一定不是线性结构答案:A解析:非空的线性结构是一个满足:①有且只有一个根结点;②每一个结点最多有一个前件,也最多有一个后件,A项错误,双向链表中结点的两个指针域分别指向其前后结点,它是线性结构。答案选择A选项。[单选题]170.若有说明:inta[3][4]={0};则下面正确的叙述是()。A)数组a中每个元素均可得到初值0B)只有元素a[0][0]可得到初值0C)数组a中各元素都可得到初值,但其值不一定为0D)此说明语句不正确答案:A解析:题号:55774[单选题]171.以下是死循环的程序段是。A)for(i=1;;)if(++i%2==0)continue;if(++i%3==0)break;}B)i=32767;do{if(i<0)break;}while(++i);C)for(i=1;;)if(++i<10)continue;D)i=1;while(i--);答案:C解析:[单选题]172.下面关于运算符优先顺序的描述中正确的是()。A)关系运算符<算术运算符<赋值运算符<逻辑与运算符B)逻辑运算符<关系运算符<算术运算符<赋值运算符C)赋值运算符<逻辑与运算符<关系运算符<算术运算符D)算术运算符<关系运算符<赋值运算符<逻辑与运算符答案:C解析:[单选题]173.若有说明和语句:Inta=5;A++;此处表达式a++的值是()。A)7B)6C)5D)4答案:C解析:?a++?表示在使用a之后,使a的值加1。[单选题]174.若有定义语句inta,b;doublex;则下列选项中没有错误的是()。A)switch(x%2){case0:a++;break;case1:b++;break;default:a++;b++;}B)switch((int)x/2.0){case0:a++;break;case1:b++;break;default:a++;b++;}C)switch((int)x%2){case0:a++;break;case1:b++;break;default:a++;b++;}D)switch((int)(x)%2){case0.0:a++;break;case1.0:b++;break;default:a++;b++;}答案:C解析:switch语句中,表达式的类型应与case语句后的常量类型保持一致,并且switch的判断条件只能为整型或字符型,case后面为常量表达式。A项,x%2得到的是浮点型数据,而case语句后的常量是整型数据,类型不一致;B项,(int)x/2.0得到的也是浮点型数据,类型不一致;D项,(int)x%2.0得到的是整型数据,而case语句后的常量是浮点型数据,类型也不一致。答案选择C选项。[单选题]175.下列不是合法的字符常量是()。A)"a"B)'\n'C)'\\'D)'e'答案:A解析:P11字符型常量是用一对单引号括起来的任意字符。[单选题]176.以下语法中正确的是()A)C语言程序中的main函数必须放在程序的开始部分B)C语言程序总是从main开始执行C)在C语言程序中,要调用的函数必须在main函数中定义D)C语言程序总是从第一个定义的函数开始执行答案:B解析:题号:55808[单选题]177.第144ti以下程序的输出结果是___()___.#include<stdio.h>voidmain(){inta[4][4]={{1,3,5,},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][0],a[1][1],a[2][2],a[3][3]);}A)0650B)1470C)5430D)输出值不定答案:B解析:[单选题]178.用于输出单个字符的格式字符是()。A)cB)dC)eD)f答案:A解析:[单选题]179.若要求d盘根目录下的文本文件my.txt被程序打开后,文件中原有的内容均被删除,程序新写入此文件的内容可以在不关闭的情况下被再次读出,则调用fopen函数时的形式为?fopen("d:\\my.txt","")?。A)WB)W+C)A+D)R答案:B解析:[单选题]180.下面程序中()有错误。1)#include<stdio.h>2)main()3){4)inta[3]={0,0,0};5)inti;6)for(i=0;i<3;i++﹚scanf(''%D'',&a[i]);7)for(i=1;i<3;i++﹚a[0]=a[0]+a[i];8)printf(''%d\n'',a[0];}A)第4行B)第6行C)第7行D)第8行答案:B解析:[单选题]181.若用简单变量作为函数调用的实参,传递给形参的是()。A)地址传递B)值传递C)由实参传给形参,再由形参传给实参D)由用户指定传递方式答案:B解析:[单选题]182.已知字符0的ASCII码为十六进制的30,下面程序的输出是()。_x000D_main()_x000D_{union{unsignedcharc;_x000D_unsignedinti[4];_x000D_}z;_x000D_z.i[0]=0x39;_x000D_z.i[1]=0x36;_x000D_printf("%c\n",z.c);}A)6B)9C)0D)3答案:B解析:[单选题]183.94、在C语言中,用户能使用的正确标识符是()。A)5fB)_forC)structD)_f.5答案:B解析:[单选题]184.以下选项中合法的标识符是()。A)1_1B)1-1C)_11D)1__答案:C解析:C语言的标识符命名规则为:①只能由字母、数字和下划线3种字符组成;②标识符首位必须是字母或下划线;③不能与C语言中的关键字或保留字相同。AD两项,标识符首位不能为数字;B项,标识符首位不能为数字且?-?为不合法的字符。答案选择C选项。[单选题]185.已知E盘根目录下的一个ASCII文件data.txt中存储了50个字符,若需要修改该文件中已经存在的若干个字符,只能调用一次fopen函数,已有声明语句?FILE*fp;?,分析fopen()函数的正确调用形式。A)Fp=fopen("e:\\data.dat","r+");B)Fp=fopen("e:\\data.dat","w+");C)Fp=fopen("e:\\data.dat","a+");D)Fp=fopen("e:\\data.dat","w");答案:A解析:[单选题]186.设有如下定义:intx=1,y=-1;,则语句:printf("%d\n",(x--&++y));的输出结果是()。A)1B)0C)-1D)2答案:B解析:对x--和++y的值进行按位与运算后由printf函数输出。第2部分:多项选择题,共12题,每题至少两个正确答案,多选或少选均不得分。[多选题]187.下列关于注释的使用,正确的是()A)intcount;//声明一个int类型的变量B)stringname;///姓名C)Console.Write("Hello,Word...")打印输出*/D)*打印输出*/Console.Write("Hello,World...")答案:ACD解析:[多选题]188.在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解析:[多选题]189.C语言程序的注释可以出现在程序中的任何地方,可以用()进行单行注释,可以用()进行多行注释。A)*/…B)//C)…*/D)答案:BC解析:[多选题]190.递归算法的两个要素是()。A)终止条件B)函数体C)返回类型D)递归方程答案:AD解析:[多选题]191.设变量已正确定义,以下()是合法的C语句。A)if(n<=10);B)switch(k){case1:printf(""one"");break;case2:printf(""two"");break;case1:printf(""one"");break;default:printf(""zero"");break;}C)switch(k%2){default:printf(""zero"");break;case1:printf(""one"");case1+1:printf(""two"");}D)n=10;Switch(k){casen%3:printf(""one"");casen%4:printf(""two"");default:printf(""zero"");}答案:AC解析:[多选题]192.在C语言中,要求运算数必须是整型的运算符是A)%=B)++C)!=D)%答案:AD解析:[多选题]193.以下对C语言字符数组的描述,正确的是()。A)字符数组中的字符串可以整体输入、输出B)不可以用关系运算符对字符数组中的字符串进行比较C)字符数组可以存放字符串D)可以在赋值语句中通过赋值运算符对字符数组进行整体赋值答案:ABC解析:[多选题]194.以下叙述中错误的是(

温馨提示

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

评论

0/150

提交评论