




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGEPAGE1中职《C语言程序设计》高考必刷必练试题库(含答案)一、单选题1.char*s="'\t’\Name\\Address\n";则s所指的字符串的长度为()。A、16B、19C、18D、说明不合法答案:A2.以下不正确的定义语句是()。A、inty[5]={0,1,3,5,7,9};B、doublex[5]={2.0,4.0,6.0,8.0,10.0};C、harch[]={'1','2','3','4','5'};D、charcz[]={'\x10','\xa','\x8'};答案:A3.以下选项中属于C语言的数据类型是()A、双精度型B、复数型C、逻辑型D、集合型答案:A4.已知:intx;则使用逗号运算的表达式"(x=4*5,x*5),x+25"后,变量x的值为()。A、20B、100C、125D、45答案:A5.以下错误的描述是()。函数调用可以:A、做为一个函数的形参B、出现在执行语句中C、出现在一个表达式中D、做为一个函数的实参答案:A6.下面程序的功能是在字符串str中找出最大的字符并放在第一个位置上,并将该字符前的原字符往后顺序移动,如。chyab变成ychab。请选择填空。#includemain(){charstr[80],*p,max,*q;p=str;gets(p);max=*(p++);while(*p!=‘\0’)if(max<*p){max=*p;q=p;p++;}p=q;while(){*p=*(p-1);p--;}p=max;puts(p);}A、p>strB、p>=strC、*p>str[0]D、*p>=str[0]答案:A7.在宏定义#definePl3.14159中,用宏名Pl代替一个()。A、字符串B、常量C、单精度数D、双精度数答案:A8.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()。A、int型B、float型C、long型D、ouble型答案:A9.下面程序的运行结果是()。#includemain(){intk=0;charc='A';do{switch(c++){case'A':k++;break;case'B':k--;break;case'C':k+=2;break;case'D':k=k%2;continue;case'E':k=k*10;break;default:k=k/3;}k++;}while(c<'G');printf(“k=%d\n”,k);}A、k=4B、k=3C、k=2D、k=0答案:A10.若有说明:inta[10],则对a数组元素的正确引用是()A、[10-10]B、a[10]C、a[3.5]D、a(10)答案:A11.根据定义和数据的输入方式,输入语句的正确形式为()。已有定义:floatf1,f2;数据的输入方式:4.523.5A、scanf(“%f%f”,&f1,&f2);B、scanf(“%f,%f”,&f1,&f2);C、scanf(“%3.2f,%2.1f”,&f1,&f2)D、scanf(“%3.2f%2.1f”,&f1,&f2)答案:A12.下面程序的运行结果是()。#include“stdlib.h"fun(int**a,intp[2][3]){**a=p[1][1];}main(){intx[2][3]={2,4,6,8,10,12},*p;p=(int*)malloc(sizeof(int));fun(&p,x);printf("%d\n",*p);}A、10B、12C、6D、8答案:A13.指向变量的指针,其含义是指该变量的()A、地址B、值C、名D、一个标志答案:A14.设有以下语句:structst{intn;structst*next;};staticstructsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0];则表达式()的值是6。A、++p->nB、p++->nC、p->n++D、(*p).n++答案:A15.定义一个指针类型的变量P,执行程序语句P=P+1,指针P移动()字节A、根据指针类型而定B、1C、4D、随即值答案:A16.以下程序的输出结果是()voidmain(void){intn=4;while(n--)printf("%d",--n);}A、20B、31C、321D、210答案:A17.以下程序运行结果是()#includevoidmain(void){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;i++){p[i]=i;}for(i=0;i<3;i++){printf("%d\n",a[1][i]);}}A、345B、012C、123D、234答案:A18.for(intx=0,y=0;!x&&y<=5;y++)语句执行循环的次数是()A、6B、5C、0D、无次数答案:A19.若有以下定义,且0<=i<4则不正确的赋值语句是()。intb[4][6],*p,*q[4];A、p=b;B、q[i]=b[i];C、p=b[i];D、q[i]=&[0][0];答案:A20.若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是()。A、sizeof,<<,^,&=B、sizeof,&=,<<,^C、^,<<,sizeof,&=D、<<,^,&=,sizeof答案:A21.若w=1,x=2,y=3,z=4,则条件表达式w<x?w:y<z?y:z的值是()。A、1B、4C、3D、2答案:A22.在C语言中,复合赋值运算x*=y+5等价于()A、x=x*(y+5)B、x=(y+5)*(y+5)C、x=y+5D、x=x*y+5答案:A23.有两个字符数组a,b,则以下正确的输入语句是()A、scanf("%s%s",a,b);B、gets(a,b);C、scanf("%s%s",&a,&b);D、gets("a"),gets("a");答案:A24.系统的标准输入文件是指()。A、键盘B、显示器C、软盘D、硬盘答案:A25.设已有定义:char*st="howareyou";下列程序段中正确的是()A、chara[11];strcpy(a,st);B、chara[11],*p;strcpy(p=a+1,&st[4]);C、hara[11];strcpy(++a,st);D、chara[],*p;strcpy(p=&a[1],st+2);答案:A26.下列运算符的优先级排列正确的是()。A、赋值运算符<逻辑与运算符<关系运算符<算术运算符B、算术运算符<关系运算符<赋值运算符<逻辑与运算符C、算术运算符<赋值运算符<逻辑与运算符<关系运算符D、关系运算符<逻辑运算符<算术运算符<赋值运算符答案:A27.C语言中函数返回值的类型是由()决定的。A、定义函数时所指定的函数返回值类型B、return语句的表达式类型C、调用函数的主调函数类型D、调用函数时临时答案:A28.若有定义:intarr[5];则arr数组中首元素的地址可以表示为()。A、rrB、&arrC、arr+1D、&arr[1]答案:A29.以下程序的运行结果是()#includevoidmain(void){intnA=100,nB=200;nB=nB*=nA;nA=nB+=nA;printf("%d",nA);return0;}A、20100B、30000C、20000D、31000答案:A30.若变量已正确说明为double类型,要通过下列语句分别给变量a,b,c赋值为10.0,22.0,33.0,则不正确的输入形式是()。scanf("%lf%lf%lf",&a,&b,&c);A、10.0,22.0,33.0B、102233C、10.022.033.0D、102233答案:A31.若已定义chars[10];则在下面表达式中不表示s[1]的地址的是()。A、s++B、s+1C、&s[0]+1D、&s[1]答案:A32.以下C程序正确的运行结果是()。main(){longy=23456;printf(“y=%3x\n”,y);printf(“y=%8x\n”,y);printf(“y=%#8x\n”,y);}A、y=5ba0y=5ba0y=0x5ba0B、y=5ba0y=5ba0y=0x5ba0C、y=5ba0y=5ba0y=0x5ba0D、y=5ba0y=5ba0y=5ba0答案:A33.以下符合C语言语法的赋值表达式是()。A、d=9+e,f=d+9B、d=9+e+f=d+gC、d=9+e,e++,d+gD、=9+e++=d+7答案:A34.有以下程序段inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b=p[5];b中的值是()A、9B、8C、6D、5答案:A35.在C语言中,整数-8在内存中的存储形式是()A、1111111111111000B、1000000000001000C、0000000000001000D、1111111111110111答案:A36.以下程序的运行结果是()#includevoidmain(void){intm=5;if(m++>5){printf("%d\n",m);}else{printf("%d\n",m--);}}A、6B、4C、5D、7答案:A37.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是()。if(x>y)z=x;x=y;y=z;A、x=20,y=30,z=30B、x=10,y=20,z=30C、x=20,y=30,z=10D、x=20,y=30,z=20答案:A38.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()。(选项中_代表空格,代表回车符)inta1,a2;charc1,c2;scanf(“%d%d”,&a1,&a2);scanf(“%c%c”,&c1,&c2);A、10_20ABB、1020ABC、10_20,ABD、10_20_AB答案:A39.下面程序的运行结果是()。#includemain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);}A、8B、7C、9D、10答案:A40.有以下程序voidmain(void){intk=1;switch(k){default:break;case1:k++;case2:case3:k++;}printf("%d\n",k);}结果为()A、3B、1C、2D、4答案:A41.若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()A、-12B、-3C、9D、6答案:A42.以下说法正确的是()。A、当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);B、输入项可以为一实型常量,如scanf(“%f”,3.5);C、只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);D、当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f);答案:A43.语句int(*ptr)();的含义是()。A、ptr是指向函数的指针,该函数返回一个int型数据B、ptr是指向一维数组的指针变量C、ptr是指向int型数据的指针变量D、ptr是一个函数名,该函数的返回值是指向int型数据的指针答案:A44.下面程序的运行结果是()。#includemain(){inti,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b-->0)k++;}printf("%d,%d",k,b);}A、3,-1B、8,-2C、8,-1D、3,0答案:A45.设有说明:doubley=0.5,z=1.5;intx=10;则能够正确使用C语言库函数的赋值语句是()。A、x=(int)(atan2((double)x,y)+exp(y-0.2));B、z=exp(y)+fabs(x);C、y=log10(y)+pow(y);D、z=sqrt(y-z);答案:A46.利用fseek函数可实现的操作是()。A、改变文件的位置指针、文件的顺序读、文件的随机读写B、改变文件的位置指针C、文件的顺序读D、文件的随机读写答案:A47.若用数组名作为函数调用的实参,传递给形参的是()。A、数组的首地址B、数组第一个元素的值C、数组中全部元素的值D、数组元素的个数答案:A48.已知:char*s="\t\"Name\\Address\n";则s所指字符串的长度为()。A、15B、10C、7D、说明非法答案:A49.以下程序的输出结果是()。#defineLETTER0main(){charstr[20]="CLanguage",c;inti;i=0;while((c=str[i])!=’\\0’){i++;#ifLETTERif(c>=’a’&&c<=’z’)c=c-32;#elseif(c>=’A’&&c<=’Z’)c=c+32;#endifprintf("%c",c);}}A、clanguageB、CLanguageC、LANGUAGED、cIANGUAGE答案:A50.以下叙述正确的是()。A、c语言本身没有输入输出语句B、在c程序中,main函数必须位于程序的最前面C、程序的每行中只能写一条语句D、在对一个c程序进行编译的过程中,可发现注释中的拼写错误答案:A51.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)后m的值为()A、0B、1C、2D、3答案:A52.有一堆零件(100到200之间),如果分成4个零件一组的若干组,则多2个零件;若分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求这堆零件总数,请选择填空。#includemain(){inti;for(i=100;i<200;i++)if((i-2)%4==0)if(!((i-3)%7))if([])printf("%d",i);}A、i%9==5B、i%9=5C、i%9!=5D、(i-5)%9!=0答案:A53.若有说明:inta[3][4];则对a数组元素的非法引用是()。A、[0][4]B、a[0][2*1]C、a[1][3]D、a[4-2][0]答案:A54.若调用fputc函数输出字符成功,则其返回值是()。A、输出的字符B、EOFC、1D、0答案:A55.设有以下说明:structpacked{unsignedone:1;unsignedtwo:2;unsignedthree:3;unsignedfour:4;}data;则以下位段数据的引用中不能得到正确数值的是()。A、data.one=4B、data.two=3C、data.three=2D、ata.four=1答案:A56.若w、x、y、m均为int型变量,则执行下面语句后的m值是()。w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;A、1B、2C、3D、4答案:A57.请读程序片段:charx=56;x=x&056;printf(“%d,%o\n”,x,x);以上程序片段的输出结果是()。A、40,50B、56,70C、0,0D、62,76答案:A58.设有以下程序段:charstr[4][10]={"first","second","third","fourth"},*strp[4];intn;for(n=0;n<4;n++)strp[n]=str[n];若k为int型变量且0<=k<4,则对字符串的不正确引用是()。A、strpB、str[k]C、strp[k]D、*strp答案:A59.当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是()A、(a=c)&&(b=c)B、c=b=aC、(a=c)||(b=c)D、a=c=b答案:A60.以下程序的运行结果是()#includevoidmain(void){charCArray[9]={'a','b','c','d','e','f','g','h','\0'};char*ptr=NULL;ptr=&CArray[3];*ptr='t';printf("%s\n",CArray);printf("%c",CArray[4]);return;}A、bctefgheB、abcdefghaC、abcdefgheD、abcdefght答案:A61.已知:charw;intx;floaty;doublez;则表达式w*x+y-z结果的类型是()。A、doubleB、floatC、harD、int答案:A62.以下程序的运行结果是()。typedefunion{longa[2];intb[4];charc[8];}TY;TYour;main(){printf("%d\n",sizeof(our));}A、16B、32C、8D、24答案:A63.选择正确的语句(设char*p;charq=3;)()。A、p=&q;B、p*=3;C、p/=q;D、p+=3;答案:A64.关于new关键字以下说法错误的是()A、用new关键字给对象分配内存空间的时候不会调用对象的构造函数B、new关键字会计算需要分配的字节大大小C、new关键字会返回正确类型的指针D、new关键字有下面这种用法int*p=newint(10);答案:A65.下列四组字符串中都可以用作C语言程序中的标识符的是()。A、print_3dOobdaBcB、I\amone_halfstart$it3paiC、PxqMy->bookline#His.ageD、str_1Cpppowwhile答案:A66.putchar函数可以向终端输出一个()。A、字符或字符型变量值B、整型变量表达式值C、实型变量值D、字符串答案:A67.函数的类型是()A、函数返回值的类型B、函数的参数类型C、与返回值类型无关D、与参数类型相关答案:A68.若在fopen函数中使用文件的方式是″wb+″,该方式的含义是()A、为读/写建立一个新的二进制文件B、为读打开一个文本文件C、为写打开一个文本文件D、为读/写建立一个新的文本文件答案:A69.已知:inta,b;用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是()。A、,B、空格C、回车D、[Tab]答案:A70.若有说明:char*language[]={“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则Language[2]的值是()。A、一个地址B、一个字符C、一个字符串D、一个不定值答案:A71.有如下程序,能计算出十位数数字的表达式是():#includevoidmain(void){intnNumber=0;intnS=0;//表示十位数字printf("请输入一个三位数:\n");scanf("%d",&nNumber);}A、nS=(nNumber/10)%10;B、nS=nNumber/10;C、nS=nNumber%10;D、nS=(nNumber/100)%10;答案:A72.以下与库函数strcmp(char*s,char*t)的功能相等的程序段是()。A、strcmp3(char*s,char*t){for(;*t==*s;){if(!*t)return0;t++;s++;}return(*s-*t);}B、strcmp1(char*s,char*t){for(;*s++==*t++;)if(*s=='\0')return0;return(*s-*t);}C、strcmp2(char*s,char*t){for(;*s++==*t++;)if(!*s)return0;return(*s-*t);}D、strcmp4(char*s,char*t){for(;*t==*s;)if(!*s)return0;return(*t-*s);}答案:A73.若有宏定义如下:#definem5#definenm+1#defineIn*m/2则执行以下语句后,输出结果是()printf("%d,%d",l,m);A、7,5B、7,6C、12,6D、12,5答案:A74.看如下程序,描述正确的是():voidmain(void){intnA=10;intnB=20;constint*pA=&nA;}A、pA的值不可被改变B、可以改变pA的值,如pA=&pBC、可以改变pA所指向的内存空间中的值,如*pA=10D、pA的值在一定条件下可以改变答案:A75.设有程序段intk=10;while(k=0)k=k-1;则下面描述中正确的是()。A、循环体语句一次也不执行B、while循环执行10次C、循环是无限循环D、循环体语句执行一次答案:A76.若有说明:inta[][4]={0,0};则下面不正确的叙述是()。A、只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值。B、数组a的每个元素都可得到初值C、二维数组a的第一维大小为1D、因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1答案:A77.有以下程序#includemain(){charb,c;inti;b='a';c='A';for(i=0;i<6;i++){if(i%2)putchar(i+b);elseputchar(i+c);}printf("\n");}程序运行后的输出结果是()。A、bCdEfB、ABCDEFC、aBcDeFD、abcdef答案:A78.若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为()(假设a[0][0]位于数组的第一个位置上。)A、i*m+i+1B、i*m+jC、j*m+iD、i*m+i-1答案:A79.inta=256,执行语句:printf("%x",a);的结果是()。A、100B、256C、0ffeD、00ff答案:A80.下面描述正确的是()。A、字符串"That"小于字符串"The"B、两个字符串所包含的字符个数相同时,才能比较字符串C、字符个数多的字符串比字符个数少的字符串大D、字符串“STOP_”与“STOP”相等(_表示空格)答案:A81.若有以下定义和语句,则对a数组元素值的正确引用为()。inta[2][3],(*p)[3];p=a;A、*(p[1]+1)B、(p+1)[0]C、*(*(p+2)+1)D、p[1]+2答案:A82.设有如下定义:structsk{intn;floatx;}data,*p;若要使p指向data中的n域,正确的赋值语句是()。A、p=(structsk*)&data.n;B、p=&data.n;C、*p=data.n;D、p=(structsk*)data.n;答案:A83.已知intx=43;charch='A';inty=0则表达式(x>=y&&ch<'B')的值是()A、1B、0C、语法错D、假答案:A84.以下叙述中正确的是()。A、我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令B、程序必须包含所有三种基本结构才能成为一种算法C、如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达D、只有简单算法才能在有限的操作步骤之后结束答案:A85.若有以下定义:intx[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(*p)[3]=x;则能够正确表示数组元素x[1][2]的表达式是()。A、*(*(p+1)+2)B、*((*p+1)[2])C、(*p+1)+2D、*(*p+5)答案:A86.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。A、自动(auto)B、静态(static)C、外部(extern)D、寄存器(register)答案:A87.若有条件表达式达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是()。A、(exp!=0)B、(exp==0)C、(exp==1)D、(exp!=1)答案:A88.请阅读以下程序:#includevoidmain(void){inta=5,b=0,c=0;if(a=b+c){printf("***\n");}else{printf("$$$\n");}}以上程序()A、输出$$$B、有语法错不能通过编译C、可以通过编译但不能通过连接D、输出***答案:A89.下面程序的功能是计算1至50中是7的倍数的数值之和,请选择填空。#includernain(){inti,sum=0;for(i=1;i<=50;i++)if([])sum+=i;printf(“%d”,sum);}A、i%7==0B、(int)(i/7)==i/7C、(int)i/7==i/7D、i%7=0答案:A90.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是()。(选项中_代表空格,代表回车符)inta1,a2;charc1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);A、10A_20BB、10_A_20_BC、10A20BD、10A20_B答案:A91.当说明一个共用体变量时系统分配给它的内存是()。A、成员中占内存量最大者所需的容量B、各成员所需内存量的总和C、结构中第一个成员所需内存量D、结构中最后一个成员所需内存量答案:A92.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是()。A、!((x<y)&&!z||1)B、‘x’&&‘y'C、x<=yD、x||y+z&&x–y答案:A93.下列关于C语言的不严格的叙述中,错误的是()。A、大写字母和小写字母的意义相同B、有些不同类型的变量可以在同一表达式中运算C、在赋值表达式中等号(=)两边可以是不同类型D、同一个运算符在不同场合可以有不同的含义答案:A94.在C语言中,要求运算数必须是整型的运算符是()。A、%B、-C、!D、>答案:A95.下列程序执行后的输出结果是()voidmain(void){chararr[2][4];strcpy(arr[0],"you");strcpy(arr[1],"me");arr[0][3]='&';printf("%s\n",arr);}A、you&meB、youC、meD、err答案:A96.若有宏定义如下:#defineX5#defineYX+1#defineZY*X/2则执行以下printf语句后,输出结果是()。inta;a=Y;printf("%d\n",Z);printf("%d\n”,--a);A、75B、76C、126D、125答案:A97.下列代码执行后的结果是()intFun(intnA,int*nB){intnC=0;nA+=10;*nB+=10;return*nB+nA;}voidmain(void){intnA=1;intnB=2;intnC=3;nC=Fun(nA,&nB);printf("%d,%d,%d",nA,nB,nC);}A、1,12,23B、1,2,23C、编译出错D、运行出错答案:A98.以下叙述中不正确的是()。A、程序在执行过程中对预处理命令行进行处理B、预处理命令行都必须以#号开始C、在程序中凡是以#号开始的语句行都是预处理命令行D、以下是正确的宏定义:#defineIBM_PC答案:A99.若有说明:int*p1,*p2,m=5,n;,以下均是正确赋值语句的选项是()A、p1=&m;p2=p1;B、p1=&m;p2=&p1;C、p1=&m;p2=&n;*p1=*p2;D、p1=&m;*p2=*p1;答案:A100.使用scanf("x=%d,y=%lf",&nX,&dbY)输入,则下列哪个输入能获得正确结果。()A、x=5,y=5.3B、55.3C、5,5.3D、x=5y=5.3答案:A101.若fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数feof(fp)的值()A、0B、1C、-1D、一个非0值答案:A102.设有以下结构体类型:structst{charname[8];intnum;floats[4];}student[50」;并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,以下不正确的形式是()。A、fwrite(student,25*sizeof(structst),25,fp);B、fwrite(student,sizeof(structst),50,fp);C、fwrite(student,50*sizeof(structst),1,fp);D、for(i=0;i<50;i++)fwrite(student+i,sizeof(structst),1,fp);答案:A103.下面四个选项中,均是不合法的浮点数的选项是()A、1232e4.2.e5B、160.0.12e3C、-.18123e40.0D、-e3.2341e3答案:A104.要求函数的功能是交换x和y中的值,且通过正确调用返回交换结果。能正确执行此功能的函数是()A、fund(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y;}B、funa(int*x,int*y){int*p=NULL;*p=*x;*x=*y;*y=*p;}C、funb(intx,inty){intt=0;t=x;x=y;y=t;}D、func(int*x,int*y){*x=*y;*y=*z;}答案:A105.有以下程序voidmain(void){chars[]="159",*p;p=s;printf("%c",*p++);printf("%c",*p++);}程序运行后的输出结果是()A、15B、16C、12D、59答案:A106.若有以下调用语句,则不正确的fun函数的首部是()voidmain(void){…inta[50],n;…fun(n,&a[9]);…}A、voidfun(intn,inta)B、voidfun(intm,intx[])C、voidfun(ints,inth[41])D、voidfun(intp,int*s)答案:A107.有以下程序voidmain(void){charcA[]="abcdefg",cB[10]="abcdefg";printf("%d%d\n",sizeof(cA),sizeof(cB));}执行后输出结果是()A、810B、108C、88D、1010答案:A108.以下程序的输出结果是()。main(){intx=2,y=-1,z=2;if(x<y)if(y<0)z=0;elsez+=1;printf(“%d\n”,z);}A、2B、3C、1D、0答案:A109.对于int*p[5];的描述,正确的是()。A、p是一个具有5个元素的指针数组,每个元素是一个int型指针B、p是一个指向数组的指针,所指向的数组是5个int型元素C、p是一个指向某数组中第5个元素的指针,该元素是int型变量D、p[5]表示某个数组的第5个元素的值答案:A110.在程序中要使用语句:printf("%s\n",STRING);输出一个长度为5个字符的提示信息"OK!",则应使用宏定义语句()。A、其余三个答案都是错误的B、#defineSTRING"OK!”C、#defineSTRING""OK!""D、#defineSTRING\"OK!"\答案:A111.以下程序的运行结果为()#include#definep2#definePOWER(x)p*x*xvoidmain(void){intx=1,y=2;printf("%d,%d",POWER(x+y),POWER(y+x));}A、6,7B、18,18C、6,6D、7,7答案:A112.fopen()函数的mode取值r和w时,它们之间的差别是()A、r不可向文件输入,w可向文件输入B、r可向文件输入,w不可向文件输入C、r不可由文件输出,w可由文件输出D、文件不存在时,r建立新文件,w出错答案:A113.完成以下冒泡排序(从小到大)的程序:#includevoidmain(void){intnArray[5]={5,4,3,2,1};for(intnI=0;nI<5;nI++){for(intnJ=0;nJ<=3;nJ++){if(________________________){intnTemp=0;nTemp=nArray[nJ];nArray[nJ]=nArray[nJ+1];nArray[nJ+1]=nTemp;}}}A、nArray[nJ]>nArray[nJ+1]B、nArray[nI]>nArray[nJ+1]C、nArray[nI]<nArray[nI+1]D、nArray[nJ]<nArray[nJ+1]答案:A114.若要利用下面的程序片段使指针变量p指向一个存储整型变量的存储单元,则【】中应填入的内容是()。int*p;p=【】malloc(sizeof(int));A、(int*)B、intC、int*D、(*int)答案:A115.已有定义inta=-2;和输出语句:printf(“%81x”,a);以下正确的叙述是()。A、%81x不是错误的格式符,其中数字8规定了输出字段的宽度B、整型变量的输出格式符只有%d一种C、%x是格式符的一种,它可以适用于任何一种类型的数据D、%x是格式符的一种,其变量的值按十六进制输出,但%81x是错误的答案:A116.设x,y均为float型变量,则以下不合法的赋值语句是()。A、y=(x%2)/10;B、++x;C、x*=y+8;D、x=y=0;答案:A117.如下函数:voidexchange(intna,intnb){intnTemp=na;na=nb;nb=nTemp;}voidmain(void){intnA=10;intnB=20;exchange(nA,nB);printf("nA=%dnB=%d\n",nA,nB);}A、nA=10nB=20B、nA=20nB=10C、nA=10nB=10D、nA=20nB=20答案:A118.下面程序()(每行程序前面的数字表示行号).1main()2{3inta[3]={0};4inti;5for(i=0;i<3;i++)scanf("%d",&a[i]);6for(i=1;i<4;i++)a[0]=a[0]+a[i];7printf("%d\n",a[0]);8}A、第6行有错误B、没有错误C、第3行有错误D、第5行有错误答案:A119.下列常量中不能作为C语言常量的是()。A、0582B、0xA5C、2.5e-2D、3e2答案:A120.若有以下程序段(其中^表示异或):intx=1,y=2;x=x^y;y=y^x;x=x^y;则执行以上语句后x和y的值分别是()。A、x=2,y=1B、x=1,b=2C、x=2,y=2D、x=1,y=1答案:A121.若有以下定义和赋值语句,则对s数组的第i行第j列(假设i,j已正确说明并赋值)元素地址的合法引用为()。ints[2][3]={0},(*p)[3];p=s;A、*(p+i)+jB、*(p[i]+j)C、(p+i)+jD、(*(p+i)){j}答案:A122.以下程序运行后,输出结果是#includevoidmain(void){char*s="defde";s+=2;printf("%d\n",s);}A、字符f的地址B、cdeC、字符c的ASCII码值D、出错答案:A123.请读程序片段:unsignedt=129;,t=t^00;printf("%d,%o\n”,t,t);以上程序片段的输出结果是()。A、129,201B、0,0C、126,176D、101,145答案:A124.字符串"\\\22a,0\n"的长度为()。A、6B、5C、7D、8答案:A125.设有以下语句:charx=3,y=6,z;z=x^y<<2;则z的二进制值是()。A、00011011B、00010100C、00011100D、00011000答案:A126.#includeintSUM(intnK){intnS=0;do{nS+=nK%10;nK/=10;}while(nK);returnnS;}voidmain(void){printf("%d\t",SUM(7432));}以上程序的输出结果是()A、16B、2347C、15D、7432答案:A127.以下程序的正确运行结果是()。#includeintfunc(inta,intb);intmain(){intk=4,m=1,p;p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);return0;}intfunc(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}A、8,17B、8,16C、8,20D、8,8答案:A128.下面程序的功能是按字典顺序比较两个字符串s,t的大小,如果s大于t则返回正值,等于则返回0,小于则返回负值。请选择填空。#include"stdio.h"s(char*s,char*t){for(;*s==*t;())if(*s=='\0')return(0);return(*s-*t);}main(){chara[20],b[10],*p,*q;inti;p=&a;q=&b;scanf("%s%s",a,b);i=s(p,q);printf("%d",i);}A、t++,s++B、s++C、t++D、s++;t++答案:A129.若a=1,b=2则a|b的值是()。A、3B、0C、1D、2答案:A130.若有定义:inta[4][6];则能正确表示a数组中任一元素a[i][j](此处0<=i<4,0<=j<6)地址的表达式是()。A、&a[0][0]+6*i+jB、&a[0][0]+4*j+iC、&a[0][0]+4*i+jD、&a[0][0]+6*j+i答案:A131.若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是()。A、scanf(“%x%o,%6.2f”,&x,&y,&z);B、scanf(“%d%lx,%le”,&x,&y,&z);C、scanf(“%2d*%d%lf”,&x,&y,&z);D、scanf(“%x%*d%o”,&x,&y);答案:A132.若以下变量均是整型,且num=sum=7;则执行表达式sum=num++,sum++,++num后sum的值为()。A、8B、7C、9D、10答案:A133.已知ch是字符型变量,下面不正确的赋值语句是()。A、ch='a+b';B、ch='\0';C、h='7'+'9';D、ch=5+9;答案:A134.fscanf函数的正确调用形式是()。A、fscanf(文件指针,格式字符串,输入表列);B、fscanf(fp,格式字符串,输出表列);C、fscanf(格式字符串,输出表,fp);D、fscanf(格式字符串,文件指针,输出表列);答案:A135.fwrite函数的一般调用形式是()。A、fwrite(buffer,size,count,fp);B、fwrite(buffer,count,size,fp);C、fwrite(fp,size,count,buffer);D、fwrite(fp,count,size,buffer);答案:A136.下面的程序的输出结果是()#includefun(int*s,intn1,intn2){inti=0;intj=0;intt=0;i=n1;j=n2;while(i<j){t=*(s+i);*(s+i)=*(s+j);*(s+j)=t;i++;j--;}}main(){inta[10]={1,2,3,4,5,6,7,8,9,0};inti=0;int*p=a;fun(p,0,3);fun(p,4,9);fun(p,0,9);for(i=0;i<10;i++){printf("%d",*(a+i));}}A、5678901234B、0987654321C、4321098765D、0987651234答案:A137.以下程序的输出结果为()。#definePT5.5#defineS(x)PT*x*xmain(){inta=1,b=2;printf(“%4.1f\n”S(a+b));}A、9.5B、12.0C、12.5D、33.5答案:A138.设有以下说明语句structex{intx;floaty;charz;}exle;则下面的叙述中不正确的是()A、exle是结构体类型名B、struct结构体类型的关键字C、x,y,z都是结构体成员名D、structex是结构体类型答案:A139.若有以下定义,则*(p+5)表示()。inta[10],*p=a;A、元素a[5]的值B、元素a[5]的地址C、元素a[6]的地址D、元素a[6]的值答案:A140.一个C语言程序是由()。A、函数组成B、一个主程序和若干子程序组成C、若干过程组成D、若干子程序组成答案:A141.已有定义int(*p)();指针p可以()。A、指向函数的入口地址B、代表函数的返回值C、表示函数的类型D、表示函数返回值的类型答案:A142.当顺利执行了文件关闭操作时,fclose函数的返回值是()。A、0B、1C、-1D、TURE答案:A143.对以下程序描述正确的是()voidmain(void){intnA;floatfA=10.11;nA=fA;}A、程序正确,数据能够转换,但是会丢失小数部分。B、程序错误,float类型数据无法转换到整型,除非进行强制转换C、程序正确,整型变量nA会自动转换为flaot类型变量D、无法确定程序是否正确,取决于系统答案:A144.有以下程序#includevoidmain(void){FILE*fp;inti,k=0,n=0;fp=fopen("d1.dat","w");for(i=1;i<4;i++)fprintf(fp,"%d",i);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}执行后输出结果是()A、1230B、12C、123D、00答案:A145.已知各变量的类型说明如下:intnA,nB;doubledbA,dbB=1.42;则以下不符合C语言语法的表达式是():A、nA=nB%dbAB、nA=dbA+dbBC、nA=dbA/nBD、nA=dbA/dbB答案:A146.以下程序运行结果是()#include#defineN20voidfun(inta[],intn,intm){inti;for(i=m;i>=n;i--){a[i+1]=a[i];}}voidmain(void){inti,a[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]);}}A、12334B、10234C、12344D、12234答案:A147.设int类型的数据长度为2字节,则unsignedint类型数据的取值范围是()。A、0至65535B、0至255C、-32768至32767D、-256至255答案:A148.以下对结构体类型变量的定义中不正确的是()。A、struct{intnum;floatage;}student;structstudentstdl;B、#defineSTUDENTstructstudentSTUDENT{intnum;floatage;}stdl;C、structstudent{intnum;floatage;}stdl;D、struct{intnum;floatage;}stdl;答案:A149.以下正确的说法是()。如果在一个函数中的复合语句中定义了一个变量,则该变量:A、只在该复合语句中有效B、在该函数中有效C、在本程序范围内均有效D、为非法变量答案:A150.若x=2,y=3则x&b的结果是()。A、2B、0C、3D、5答案:A151.函数ftell(fp)的作用是()。A、得到流式文件中的当前位置B、移动流式文件的位置指针C、初始化流式文件的位置指针D、得到流式文件中的当前位置、移动流式文件的位置指针、初始化流式文件的位置指针答案:A152.在一个C语言中()A、main函数可以在任何地方出现B、main函数必须出现在所有函数之前C、main函数必须出现在所有函数之后D、main函数必须出现在固定位置答案:A153.有以下程序voidmain(void){intx=102,y=012;printf("%2d,%2d\n",x,y);}执行后输出结果是()A、102,10B、10,01C、002,12D、02,10答案:A154.c语言共用体类型变量在程序运行期间()。A、只有一个成员驻留在内存中B、所有成员一直驻留在内存中C、部分成员驻留在内存中D、没有成员驻留在内存中答案:A155.当顺利执行了文件关闭操作时,fclose函数的返回值是()A、0B、1C、-1D、TRUE答案:A156.以下函数调用语句中,函数f1参数的个数为()f1(x,10,f2(y,10));(注:f2有返回值)A、3B、2C、4D、编译出错答案:A157.以下关于运算符优先顺序的描述中正确的是()。A、赋值运算符<逻辑与运算符<关系运算符<算术运算符B、关系运算符<算术运算符<赋值运算符<逻辑与运算符C、逻辑与运算符<关系运算符<算术运算符<赋值运算符D、算术运算符<关系运算符<赋值运算符<逻辑与运算符答案:A158.下面四个选项中,均是不正确的八进制数或十六进制数的选项是()。A、0a12B、016C、oabcD、010答案:A159.写出程序运行后的结果():charch[2][5]={{'a','b','c','d','e'},"abcd",};printf("%s\n",ch[0]);A、bcdeabcdB、abcdC、abcdeD、abcdabcd答案:A160.以下if语句语法正确的是()A、if(x>0){x=x+y;printf("%f",-x);}elseprintf("%f",-x);B、if(x>0)printf("%f",x)elseprintf("%f",-x);C、if(x>0){x=x+y;printf("%f",-x);};elseprintf("%f",-x);D、if(x>0){x=x+y;printf("%f",-x)}elseprintf("%f",-x);答案:A161.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()。A、!(A%2)B、A%2==1C、!(A%2==0)D、A%2答案:A162.下面程序的功能是计算1至10之间的奇数之和及偶数之和。请选择填空。#includemain(){inta,b,c,i;a=c=0;for(i=0;i<=10;i+=2){a+=i;[]>10?0:i+1;c+=b;}printf("偶数之和=%d\n",a);printf("奇数之和=%d\n",c);}A、b=i+1B、=i--C、b=iD、b=i-1答案:A163.以下关于fscanf函数的返回值说法正确的是()A、返回值是int型,其值为-1时表示没有读取数据B、返回值是bool型,操作成功返回真C、返回值是bool型,操作不成功返回真D、返回值是int型,其值为0时表示没有读取数据答案:A164.有说明语句:chara='\72';则变量a()A、包含1个字符B、包含2个字符C、包含3个字符D、说明不合法答案:A165.在C语言中,int、char和short三种类型数据所占的内存()。A、由所用机器的机器子长决定B、均为2字节C、由用户定义D、是任意的答案:A166.在位运算中,操作数每左移一位,其结果相当于()。A、操作数乘以2B、操作数除以2C、操作数除以4D、操作数乘以4答案:A167.若有说明:char*language[]={“FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达式*language[1]>*language[3],比较的是()。A、字符B和字符JB、字符F和字符PC、字符串BASIC和字符串JAVAD、字符串FORTRAN和字符串PASCAL答案:A168.以下叙述中正确的是()。A、调用函数时,函数名必须与被调用的函数名完全一致B、函数调用时,不必区分函数名称的大小写C、函数名允许用数字开头D、在函数体中只能出现一次return语句答案:A169.已知:charch='A';则下列表达式的值是()。Ch=(ch>'A'&&ch<='Z')?(ch+32):ch;A、'A'B、'a'C、'Z'D、'z'答案:A170.下面程序是输出一个正整数等差数列的前十项,此数列前四项之和及之积分别是26和880,【1】处应填入什么内容,请选择填空。#includemain(){inta,d,i,s,f,x;/*a是第一项*/for(a=1;a<30;a++)for(d=1;d<=5;d++){s=0;f=1;x=a;for(i=1;i<=4;i++){s=s+x;f=f*x;x=x+d;}if(s==26&&f==880)for(i=0;i<10;i++)printf(“%3d”,【1】);}printf(“\n”);}A、+i*dB、i*dC、a+(i+1)*dD、a+d答案:A171.下面程序的运行结果是()。#include“stdio.h”main(){inti;for(i=1,i<=5;i++){if(i%2)printf(".");elseprintf("#");}printf("$\n");}A、#.#.$B、#.#.#.$C、#.#$D、#.#.$答案:A172.若有语句int*pt,a=4;和pt=&a,;下面均代表地址的一组选项是()A、&a,ptB、a,ptC、&a,*ptD、&pt,*pt,&a答案:A173.#includevoidmain(void){intnA=0,nB=0,nC=0;for(nA=1;nA<=5;nA++){for(nB=1;nB<=nA;nB++){nC++;}}printf("nC=%d\n",nC);}打印的结果是()A、nC=15B、nC=5C、nC=25D、nC=35答案:A174.下面程序的输出结果是()chars[]="ABCD";voidmain(void){char*p=NULL;for(p=s;p<s+4;p++){printf("%s\n",p);}}A、BCDBCDCDDB、ABCDC、DCBAD、ABCDABCABA答案:A175.以下描述正确的是()。A、只能用continue语句来终止本次循环B、goto语句只能用于退出多层循环C、switch语句中不能出现continue语句D、在循环中break语句不能独立出现答案:A176.阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是()。main(){intx;floaty;printf(“enterx,y:”);输入语句输出语句}输入形式enterx,y:23.4输出形式x+y=5.40A、scanf(“%d%f”,&x,&y);printf(“\nx+y=%4.2f”,x+y);B、scanf(“%d,%f”,&x,&y);printf(“\nx+y=%4.2f”,x+y);C、scanf(“%d%f”,&x,&y);printf(“\nx+y=%6.1f”,x+y);D、scanf(“%d%3.1f”,&x,&y);printf(“\nx+y=%4.2f”,x+y);答案:A177.若有函数max(a,b),并且已使函数指针变量p指向函数max,当调用该函数时,正确的调用方法是()。A、(*p)(a,b);B、(*p)max(a,b);C、*pmax(a,b);D、*p(a,b);答案:A178.下列标识符中,合法的标识符是()A、_abc1B、-abc1C、1abcD、for答案:A179.合法的数组定义是()A、inta[]={0,1,2,3,4,5};B、inta[]=″string″C、inta[5]={0,1,2,3,4,5};D、chara=″string″;答案:A180.函数rewind的作用是()。A、使位置指针重新返回文件的开头B、将位置指针指向文件中所要求的特定位置C、使位置指针指向文件的末尾D、使位置指针自动移至下一个字符位置答案:A181.若有以下定义和赋值语句,则对b数组的第i行第j列(假设i,j已正确说明并赋值)元素的非法引用为()。intb[2][3]={0},(*p)[3];p=b;A、*(p+i)+jB、*(*(p+i)+j)C、*(p[i]+j)D、(*(p+i))[j]答案:A182.已知"inta=4,b=5,c;",则执行表达式"c=a=a>b"后变量a的值为()。A、0B、1C、4D、5答案:A183.若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数()_。A、返回一个不确定的值B、没有返回值C、返回若干个系统默认值D、能返回一个用户所希望的函数值答案:A184.要定义一个具有5个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是()A、intvect[]={30,50,-88};B、intvect[]={30,50,-88,0,0};C、intvect[5]={30,50,-88};D、intvect[5]={30,50,-88,0,0};答案:A185.函数调用:strcat(strcpy(str1,str2),str3)的功能是()A、将串str2复制到串str1中后再将串str3连接到串str1之后B、将串str1复制到串str2中后再连接到串str3之后C、将串str1连接到串str2之后再复制到串str3之后D、将串str2连接到串str1之后再将串str1复制到串str3中答案:A186.以下程序的运行结果是()#includevoidmain(void){intnA=0,nB=0;int*ptr1,*ptr2;ptr1=&nA;ptr2=&nB;*ptr1=21;*ptr2=7;if(nA%nB==0){printf("2个数可以整除");}else{printf("2个数不可以整除");}}A、2个数可以整除B、2个数不可以整除C、程序有错,无法执行D、2个数可以相加答案:A187.设位段的空间分配由右到左,则以下程序的运行结果是()。structpacked_bit{unsigneda:2;unsignedb:3;unsignedc:4;inti;}data;main(){data.a=8;data.b=2printf(“%d\n”,data.a+data.b);}A、2B、语法错C、5D、10答案:A188.以下程序的输出结果为()。#include#defineF(y)3.84+y#definePR(a)printf(“%d",(int)(a))#definePRINT(a)PR(a);putchar(“\n”)main(){intx=2;PRINT(F(3)*x);}A、9B、8C、10D、11答案:A189.以下正确的函数定义形式是()。A、doublefun(intx,inty);B、doublefun(intx;inty);C、doublefun(x,y);D、oublefun(intx,y);答案:A190.以下程序的运行结果是()。#defineMAX(A,B)(A)>(B)?(A):(B)#definePRINT(Y)printf("Y=%d\t",Y)main(){inta=1,b=2,c=3,d=4,t;t=MAX(a+b,c+d);PRINT(t);}A、Y=7B、Y=3C、存在语法错误D、Y=0答案:A191.写出程序运行后的结果():charch[3][5]={{'a','b','c','d','e'},"abcd","bcde"};printf("%s\n",ch[1]);A、bcdB、abcdeC、abcdeabcdD、abc答案:A192.在下列叙述中,正确的一条是()A、已知指针变量p指向变量a,则a和*p值相同,都是变量a的值B、语句"int*pt;"中的*pt是指针变量名C、语句"int*p=a;"等价于"int*p;p=&a[0];"(a是整型数组)D、运算符*和&都是取变量地址的运算符答案:A193.执行以下程序段后的输出结果是()。intw=3,z=7,x=10;printf(“%d\n”,x>10?x+100:x-10);printf(“%d\n”,w++||z++);printf(“%d\n”,w>z);printf(“%d\n”,w&&z);A、0101B、0111C、1111D、0100答案:A194.以下for循环的执行次数是()。for(x=0,y=0;(y=123)&&(x<4);x++);A、执行4次B、是无限循环C、循环次数不定D、执行3次答案:A195.有以下程序voidmain(void){inta[3][2]={0},(*ptr)[2],i,j;for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);ptr++;}for(i=0;i<3;i++){for(j=0;j<2;j++){printf("%2d",a[i][j]);}printf("\n");}}若运行时输入:123,则输出结果是()A、102000B、产生错误信息C、123000D、102030答案:A196.若有以下定义和语句,则能正确表示a数组元素地址的表达式是()。doublearr[5],*p1;p1=arr;A、rrB、p1+5C、*p1D、&a[5]答案:A197.在16位IBM-PC机上使用C语言,若有如下定义:uniondata{inti;charch;doublef;}b;则共用体变量b占用内存的字节数是()。A、8B、1C、2D、11答案:A198.有以下程序#include#includestructS{charname[10];};voidchange(structS*data,intvalue){strcpy(data->name,"#");value=6;}main(){structSinput;intnum=3;strcpy(,"OK");change(&input,num);printf("%s,%d\n",,num);}程序运行后的输出结果是()。A、#,3B、#,6C、OK,3D、OK,6答案:A199.请读程序:#include#includevoidmain(void){char*S1="ABCDEF",*S2="aB';S1++;S2++;printf("%d\n",strcmp(S1,S2);}上面程序的输出结果是()A、正数B、负数C、零D、不确定的值答案:A200.以下正确的描述是()。A、只能在循环体内和switch语句体内使用break语句B、continue语句的作用是结束整个循环的执行C、在循环体内使用break语句或continue语句的作用相同D、从多层循环嵌套中退出时,只能使毛goto语句答案:A201.下列叙述中错误的是()。A、一个C语言程序只能实现一种算法B、C程序可以由多个程序文件组成C、程序可以由一个或多个函数组成D、一个C函数可以单独作为一个C程序文件存在答案:A202.有以下程序voidf(int*x,int*y){intt;t=*x;*x=*y;*y=t;}voidmain(void){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(q>=p){f(p,q);p++;q--;}for(i=0;i<8;i++){printf("%d,",a[i]);}}程序运行后的输出结果是()A、8,7,6,5,4,3,2,1,B、8,2,3,4,5,6,7,1,C、5,6,7,8,1,2,3,4,D、1,2,3,4,5,6,7,8,答案:A203.下面程序的功能是将一个整数字符串转换为一个整数,如"-1234"转换为-1234,请选择填空。#include#includemain(){chars[6];intn;gets(s);if(*s=='-')n=-chnum(s+1);elsen=chnum(s);printf("%d\n“,n);}chnum(char*p){intnum=0,k,len,j;len=strlen(p);for(;();p++){k=*p-'0';j=(--len);while(j-->0){k=k*10;}num=num+k;}return(num);}A、*p!='\0'B、*(++p)!='\0'C、*(p++)!='\0D、len!=0答案:A204.若有如下语句intx=3;do{printf(“%d\n”,x-=2);}while(!(--x));则上面程序段()。A、输出的是1和-2B、输出的是1C、输出的是3和0D、是死循环答案:A205.表达式0x13^0x17的值是()。A、0x04B、0x13C、0xE8D、0x17答案:A206.有以下程序:#include#definePT3.5;#defineS(x)PT*x*x;main(){inta=1,b=2;printf("%4.1f\n",S(a+b));}程序运行后的输出结果是()。A、程序有错无输出结果B、31.5C、7.5D、14.0答案:A207.若有说明:inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是()。A、3B、2C、4D、无确定值答案:A208.下列访问二维数组nArray的最后一个元素正确的是()intnArray[5][10];A、nArray[4][9];B、nArray[5*10-1];C、*(nArray+5*10);D、nArray+49;答案:A209.以下程序能找出数组中的最大值和该值所在的元素下标,数组元素值从键盘输入。请选择填空()。main(){intx[10],*p1,*p2,k;for(k=0;k<10;k++)scanf("%d",x+k);for(p1=x,p2=x;p1-x<10;p1++)if(*p1>*p2)p2=p1;printf("MAX=%d,INDEX=%d\n",*p2,());}A、p2-xB、p1-xC、p1D、x-p2答案:A210.下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z变成B,请选择填空。#includemain(){charc;while((c=getchar())!=‘\n'){if(c>='a‘&&c<=’z'){();if(c>’Z’&&c<='Z'+2)c-=26;}printf("%c",c);}}A、c-=30B、c+=2C、-=32D、c=c+32+2答案:A211.下面程序的输出结
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福州英华职业学院《专项理论与实践II》2023-2024学年第二学期期末试卷
- 2025河北省建筑安全员C证考试(专职安全员)题库附答案
- 苏州市职业大学《涡轮发动机飞机结构与系统》2023-2024学年第二学期期末试卷
- 辽宁科技学院《起重机械结构力学》2023-2024学年第二学期期末试卷
- 南阳师范学院《网络经济》2023-2024学年第二学期期末试卷
- 浙江科技学院《环境数据处理》2023-2024学年第二学期期末试卷
- 沧州幼儿师范高等专科学校《诊断学基础A》2023-2024学年第二学期期末试卷
- 宿州航空职业学院《基地社工服务与田野基地建设》2023-2024学年第二学期期末试卷
- 重庆城市管理职业学院《口腔固定修复学》2023-2024学年第二学期期末试卷
- 江西冶金职业技术学院《内燃机学》2023-2024学年第二学期期末试卷
- 村委会地震演练方案及流程
- 个人下半年工作计划范文2篇
- 山东职业学院单招《英语》考试复习题库(含答案)
- 四年级上册数学计算题练习300题及答案
- 沪教版二年级下册计算题100道及答案
- 2023新课标鲁教版九年级化学下册全教案
- 右侧腹股沟疝教学查房
- 《趣味经济学》课件
- 人工智能与自动驾驶技术
- 医院放射诊疗中的辐射防护常识学习培训
- 法学涉外法治方向课程设计
评论
0/150
提交评论