您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 专升本C语言考试题及答案解析2
专升本C语言考试题及答案解析2一、单项选择题1.___D___是合法的用户自定义标识符。A、b-bB、floatC、frD、_isw2.若变量已正确定义并赋值,表达式___B___不符合C语言语法。A、a*b/c;B、3.14%2C、2,bD、a/b/c3.___C__是不正确的字符常量。A、'n'B、'1'C、aD、'101'4.在C程序中,用___B__表示逻辑值“真”。A、1B、非0的数C、非1的数D、大于0的数5.__C____把x、y定义成float类型变量,并赋同一初值3.14。A、floatx,y=3.14;B、floatx,y=2*3.14;C、floatx=3.14,y=x=3.14;D、floatx=y=3.14;6.若变量已正确定义,表达式___C___的值不是2。A、2&3B、11C、a==2D、1^37.若变量已正确定义,语句“if(ab)k=0;elsek=1;”和__C____等价。A、k=(ab)?1:0;B、k=ab;C、k=a=b;D、a=b?0:1;8.设变量定义为“inta,b;”,执行下列语句时,输入_D____,则a和b的值都是10。scanf(a=%d,b=%d,&a,&b);A、1010B、10,10C、a=10b=10D、a=10,b=109.下列程序的输出结果是__D___。fun(inta,intb,intc){c=a*b;}voidmain(){intc;fun(2,3,c);printf(”%dn”,c);}A、0B、1C、6D、无法确定10.在C程序中,若对函数类型未加说明,则函数的隐含类型为__A___。A、intB、doubleC、voidD、char11.表达式strlen(”hello”)的值是___B____。A、4B、5C、6D、712.设变量定义为“inta[4];”,则表达式__D____不符合C语言语法。A、*aB、a[0]C、aD、a++13.设变量定义为“intx,*p=&x;”,则&*p相当于__A___。A、pB、*pC、xD、*&x14.若变量已正确定义,_A___不能使指针p成为空指针。A、p=EOFB、p=0C、p=’’D、p=NULL15.对于以下的变量定义,表达式__D____不符合C语言语法。structnode{intlen;char*pk;}x={2,right},*p=&x;A、p-pkB、*p.pkC、*p-pkD、*x.pk16.有如下程序intrunc(inta,intb){return(a+b);}main0{intx=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r);}(D)A)12B)13C)14D)1517.对于基类型相同的两个指针变量之间,不能进行的运算是(C)A)B)=C)+D)-18.有如下程序longfib(intn){if(n2)return(fib(n-1)+fib(n-2));elsereturn(2);}main0{printf(“%d\n”,fib(3));(B)A}2B}4C}6D}819.有如下定义structperson{charname[9];intage;};strictpersonclass[10]={“Johu”,17,Paul”,19Mary”,18,Adam16,};M的语句是(D)A)prinft(“%c\n”,class[3].mane);B)pfintf(“%c\n”,class[3].name[1]);C)prinft(“%c\n”,class[2].name[1]);D)printf(“%^c\n”,class[2].name[0]);20.以下所列的C语言常量中,错误的是(B)A)0xFFB)1.2e0.5C)2LD)‘\72’21.有以下程序段intk=0while(k=1)k++;while循环执行的次数是(A)A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次22.以下程序的输出结果是(C)A)0B)29C)31D)无定值fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf(“%d”,a);}23.下列程序段的输出结果是(A)A)2143B)1212C)1234D)2112voidfun(int*x,int*y){printf(“%d%d”,*x,*y);*x=3;*y=4;}main(){intx=1,y=2;fun(&y,&x);printf(“%d%d”,x,y);}24.当调用函数时,实参是一个数组名,则向函数传送的是(B)A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值25.以下程序的输出结果是(A)A)1B)2C)3D)4longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf(“%ld\n”,fun(3));}26.以下程序的输出结果是(B)A)16B)2C)9D)1#defineSQR(X)X*Xmain(){inta=16,k=2,m=1;a/=SQR(k+m)/SQR(k+m);printf(“d\n”,a);}27.以下函数返回a所指数组中最小的值所在的下标值fun(int*a,intn){inti,j=0,p;p=j;for(i=j;iN;I++)if(a[i]A[P])__________;return(p);}(D)A)i=pB)a[p]=a[i]C)p=jD)p=i二、填空题1.表示“x≥y≥z”的C表达式是___x=y&&y=z____。2.下列程序段的输出是__1____。printf(%on,0101^1);3.下列程序段的输出是__6,90____。intk;floats;for(k=0,s=0;k7;k++)s+=k/2;printf(%d,%fn,k,s);4.下列程序段的输出是__5,25_____。#definef(a,b,x)a*x+bprintf(%d,%dn,f(3,2,1),f(6,5,f(3,2,1)));5.下列程序段的输出是_*#*#____。main(){intk;for(k=1;k5;k++){if(k%2)printf(*);elsecontinue;printf(#);}}6.下列程序段的输出是__58___。#includestdio.hintf(intx){staticy=1;y++;x+=y;returnx;}voidmain(){intk;k=f(3);printf(%d%dn,k,f(k));}7.下列程序段的输出是___5__。int*p,*q,k=5,j=6;q=&k;p=q;q=&j;printf(%d,*p);8.函数voidf(chars[],chart[]){intk=0;while(s[k]=t[k])k++;}等价于voidf(char*s,char*t){while(_*s++=*t++____);}9.下列程序段的输出是_ne,s____。char*a[2]={one,two},**p=a;printf(%s,,*(p++)+1);printf(%cn,**p-1);10.下列程序编译后生成t.exe,运行tinputoutputzoooil的输出结果是__zoo___。voidmain(intargc,char*argv[]){intk;char*p=argv[1];for(k=2;kargc;k++)if(strcmp(argv[k],p)0)p=argv[k];printf(%sn,p);}11.下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。程序的输出结果是:Afterswap5,3。voidmain(){inta=3,b=5;swap(&a,&b);printf(Afterswap%d,%d,a,b);}swap(int*p,int*q){intt;t=*p;;*p=*q;*q=t;}
本文标题:专升本C语言考试题及答案解析2
链接地址:https://www.777doc.com/doc-4083806 .html