专升本C语言历年试题及答案_第1页
专升本C语言历年试题及答案_第2页
专升本C语言历年试题及答案_第3页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

专升本C一、单项选择题1。 D 是合法的用户自定义标识符。A、b-bB、float C〈fr> D、_isw2。 若变量已正确定义并赋表达B 不符合C语言语A、a*b/c; B、。14%2 C、2,b D、a/b/c3。 C 是不正确的字符常.A’n’ B、'1’ 、"a" D’101'4。 在C程序中,B 表示逻辑值“。A1 B、非0的数 C、非1的数 、大于0的数 C 把xyfloat,3.14。A、floaty=3.14; B、floaty=2*3。C、floatx=3.14,y=x=3.14; D、float。14;若变量已正确定义,表达C 的值不是。A2&3 B、〈1 Ca==2 D、若变量已正确定义,语句〉b)k=0;elsek=1;”C 等价Ak=(a>b)?1:0; B、k=a>b;C、〈=b; D、a=b?0:1;8。 设变量定义为inta,,执行下列语句时,输_D ,则a和b的值都是10。scanf("a=%d,b=%,a,&;A1010 B、10,10 C、a=10 b=10 D、a=10,b=109。 下列程序的输出结果D 。fun(inta,intb,intc){c=a*b;}voidmain(){ intc;print(”%d,;}A0 B、1 C、6 D、无法确定10。 在C程序中,若对函数类型未加说明,则函数的隐含类型A 。A、intB、double C、void D、char1。 表达式strlen("hell)的值 B 。A、4 B、5 、6 D、712. 设变量定义为inta[4,则表达 D 不符合C语言语法。A、*a B、a[0] Ca D、a++13。 设变量定义为x,*p=&x;”,则&*p相当A Ap B、*p Cx D、*&x14。 若变量已正确定,_A 不能使指针p成为空指针Ap=EOF B、p=0 C、、p=NULL15。 对于以下的变量定义,表达D 不符合C语言语structnode{intlen;char*pk;}x={2,”rigt"*p=&x;Ap—pk B、*p。pk C、〉pk D、*x。pk16.有如下程序intrunc(inta,intb){main0{intx=2,y=5,z=8,r;r=func(func(x,,);printf“%\d\”,;}该程序的输出的结果是(D)A)12B)13C)14D)1517。对于基类型相同的两个指针变量之间,不能进行的运算是A)<B)=C)+D)-有如下程序longfib(intn){i(〉2)elsereturn(2);}main0{print%d\fi(3)该程序的输出结果是(B)A}2B}4C}68有如下定义structperson{charname[9];intstrictpersonclas1]Johu",1,“Paul",19“Mary",18,“Adam16,};根据上述定义,能输出字母M的语句是(D)A)prinft(“%c\n",class[3].mane);B)pfint“%c\class[3].nam[1);prinf“c\”,class[2].name[]);print“%^c\class[nam[0]);以下所列的C语言常量中,错误的是A)0xFFB)1.2e0.5C)2LD)‘\72'有以下程序段

(C)intk=0while(k=1)k++;while(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);print“%d,); 23。下列程序段的输出结果是(A)A)2143B)121212342112voidfun(int*x,int*y){print“d%d,*,*y);*x=3;*y=4}main(){intx=1,y=2;fun(&,&;printf“d%d,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/=SQ(k+)/SQR(k+;printf“d\n,;}以下函数返回afun(intintn){inti,j=0,p;p=j;for(i=j;i<N;I++)i([<P) return(p); }在下划线处应填入的是(D)i=pB)a[p]=a[i]C)p=jp=i二、填空题1。 表示的C表达式是 =y&&〉=z 。2。 下列程序段的输出1 。print(%on,010〈1^;3。下列程序段的输出6,90 。intk;floats;for(k=0,s=0;k〈7;k++)s+=k/2;printf(”%d,%fn",k,s);下列程序段的输出5,25 。#definef(a,b,x)a*x+bprintf(”%d,%dn",f(3,2,1),f(6,5,f(3,2,1));下列程序段的输出。main(){intk;for(k=1;k<5;k++){if(k%2) elsecontinue;print(;}}下列程序段的输出58 。#include〈stdio。h>intf(intx){ staticy++;x+=y;returnx;}voidmain(){ intk;printf(”%d %dn”,k,f(k);}下列程序段的输出5 .int *p,*q, k=5,j=6;q=&k; p=q; q=&jprintf("%d",函数void(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);print(%cn,*p-;下列程序编译后生成t。exe,运行t input output zoo oil的输出结果zoo 。voidmain(intargc,char*argv[]){ intk;char*p=argv[;for(k=2;〈argc;if(strcmp(arg[k,p〉0) printf("%sn",p);}下列程序调用swap函数交换ab的值,并输出交换后的ab果是:Afterswap5,。voidmain(){ inta=3,swap( &a,&b );printf("Afterswap%d,%d",a,b);}swap(int*p,int*q){ intt;t=*p; ;*p=*q ;*q=t ;CC一、单项选择题1.C语言源程序文件经过C编译程序编译连接之后生成一个后缀C 的文件。A、”.c”B、“.obj"C、“。exe”D、“。bas”2.以下选项中不正确的整型常量_C .A、12L B、-10C、1,900D、123U3.A、3%5表达C 的值是0.B、3/5.0C、3/5D、3〈54.表达式!(x0||y>0)等价于 D 。A、!x>0||!y〉0 B、!(x>0)||!(y>0) C、!x〉0&&!y>0 D、!(x&&!(y>0)5。 若变量已正确定义并赋值,表达D 不符合C语言语法。A、4&&3 B+a C、a=b=5 D、int(3.14) 若变量已正确定,执行语句scanf(”%d%d%d”,&k1,&k2,&k3);时B 是正确的输入A、2030,40 B、203040 C、20,3040 D、20,30,40执行语句printf(” D ”, 2);将得到出错信息A、%d B%o C、%x D、%f设变量定义为“ints[]=”hello\nworld\n”;”,则数组s中有 B 个元素A、12 B13 C、14 D、159。 设变量定义为“inta[2]={1,3},*p=&a[0]+1;”,则*p的值B 。A、2 、3 C4 D、&a[0]+1若变量已正确定义并赋值,表达式-k++等价于 A 。A、—(k++) B、(-k)++ C-(k+1) D、-(++k)在C语言程序,在函数内部定义的变量称D A、全局变量B、全程变量 C、外部变量 D、内部变量12。 若x是整型变量,表达式(x=100/4.0)的值D A、2。5 B、2.0 C、3 D、213. 对于以下的变量定义,表达A 是正确的structnode{chars[10];intk;}p[4];Ap—k=2 Bs=“abc” Cp[0]->k=2Dp->s=‘a'14. 下列运算符中,优先级从高到低依次D 。A、&&,!,|| B、||,&&,! C、&&,||,!D、!,&&,||15. 下列程序段的输出结果B 。int *p, *q, k=1,j=10;p=&j;q=&k;p=q;(*p)++;printf("%d",*q);A、1 B、2 C、10 A)typedefv1int;B)typedefv2=int;C)typedefv1intv3;D)typedefv4:int;C)A)‘\t’B)‘\17’C)“n"D)‘\xaa'18。以下程序的输出结果是(C)main(){inti,a[10];for(i=9;i〉=0;i--)a[i]=10-i;printf(“%d%d%d",a[2],a[5],a[8]);}A)258B)741C)852D)36919.以下程序的输出结果是(B)main(){charst[20]=“hello\0\t\\\”;printf(%d%d\n”,strlen(st),sizeof(st));}A)99B)520C)1320D)202020。以下程序的输出结果是(D)main(){inta,b;for(a=1,b=1;a〈=100;a++){if(b>=10)break;if(b%3==1){b+=3;continue;}

(C)

D、11}printf(“%d\n",a);}A)101B)6C)5D)4以下程序的输出结果是unionmyun{struct{intx,y,z;}intk;}a;main(){a。u。x=4;a.u.y=5;a。u.z=6;a。k=0;printf(%d\n”,a.u.x);}A)4B)5C)6D)0以下程序段的输出结果是(A)chars[]=”\\141\141abc\t”;printf(”%d\n”,strlen(s));A)9B)12C)13D)1423。以下程序的输出结果是(B)main(){charch[3][5]={"AAAA”,”BBB",”CC”};printf(”\"%s\”\n",ch[1]);}"AAAA”B)"BBB”C)”BBBCC"D)24。不合法的main(C)A)main(inta,char*c[])B)main(intarc,char**arv)C)main(intargc,char*argv)D)main(intargv,char*argc[])有以下程序main(){char*s[]={”one",”two”,”three"},*p;p=s[1];printf(”%c,%s\n",*(p+1),s[0]);}执行后输出结果是(C)n,twoB)t,oneC)w,oneD)o,two设有如下说明typedef{intn;charc;doublex;}STD;则以下选项中,能正确定义结构体数组并赋初值的语句是(A)A)STDtt[2]={{1,’A',62},{2,’B',75}};B)STDtt[2]={1,”A",62},2,"B",75};C)structtt[2]={{1,'A’},{2,’B'}};D)structtt[2]={{1,”A",62.5},{2,”B",75。0}};若变量c为char类型,则能正确判断出c为小写字母的表达式是( D )A)'a’〈=c<=’z' B)(c>=’a’)||(c<=’z’)C)('a'<=c)and(’z'〉=c) D)(c>='a’)&&(c<=’z’)二、填空题1。设ch是字符型变量,判断ch为英文字母的表达式是:(ch>=’A’&&ch,=’Z’)||(ch>='a'&&ch〈=’z’) 。2。 计算下列分段函数的if语句是_if(x>0)y=1;elseif(x=0)y=0;elsey=-1; 1 x>0y= 0 x=0-1 x<0表达式!!5的值是 1 。下列程序段的输出结果12 。printf("%xn”,(0x19<1)&下列程序段的输出结果k=4s=6 intk,s;for(k=0,s=0;k〈10;k++)if(s>k)break;elses+=k;printf("k=%ds=%d”,k,s);6。 下列程序段的输出结果15 。#defineMIN(x,y) (x)<(y)?(x):(y)printf(”%d”,10*MIN(10,15));7。 下列程序在运行时可能会出,原因是 指针变量s未赋初值 。#voidmain(){ char*s;gets(s);puts(s);}8。 下列程序段的输出6 0 #includeintf(intm){ staticintints=0;for(;k<=m;k++)s++;returns;}voidmain(){ ints1,s2;s1=f(5);s2=f(3);printf(”%d%d\n”,s1,s2);}下列程序段的输出结果fgh 。char *st[]={"abcd","efgh","ijkl",”mnop"};printf("%s",*(st+1)+1);用typedef10ARR。typedef int ARR[10];11.以下程序调用findmaxfindmax(int*a,intn){int*p,*s;for(p=a,s=a;p-aif( *p〉*s )return(*s);}main(){intx[5]={12,21,13,6,18};printf(”%d\n",findmax(x,5));}三、程序(段)填空题1.设变量xy,z序段A和程序段B有相同的功能。Ax=x+y;y=x-y;x=x-y;z=x+y;z=x x=y ;y=z;z=x+y;z=x+y;f1,然后在函数f2f1f2char*f1(chars[],chart[]){intk;for(k=0;t[k]!=’’;k++)s[k]=t[k];s[k]='’;returns;}专升本C语言历年考试题及答案C语言描述下列命题(8324分1.。yint3,5整除的表达式.2。把下列数学表达式转换为C语言表达式.1R1R21(wL)23。表示CH不是小写英文字母的表达式。4。条件10〈|a—b|<20的C语言表达式。5。x,y和z均为int型,x和y中仅有一个小于z。6。定义一个数组a[10],其数组元素为指向float的指针.7。定义一个交通信号灯(Transportation_light)的枚举类型及其变量light。其中列举的常量有红,黄,绿(red,yellow,green)三色控制灯。8.f1()intNS图或流程图(1小题6分,6分)1。有一分数序列:2 35813,,,,...1 235 8试求前10项之和。三、程序阅读题(共4小题,每小题5分,计20分)1。#include〈stdio.h〉voidmain(){intx,y;for(x=1;x〈{for(y=1;y〈3;y++)print(x*;print("\n;}}程序运行后的输出结果为:2。#include<stdio。h>inta[]={0,1,2,3,4,5,6,7,8,9};intf(intn){if(n==1)returnelseretur((*(n-1)+a[n])(n+1;}voidmain(){intn=6;printf("(%d)=%d”,n,f(n;}程序运行后的输出结果为:3。#include<stdio.h〉structtype{intnum;intage;floatwage;;voidmain(){structtypeteac。num=105;teac。age=28;teac。wage=342.5;pr(teac);}voidpr(structtypeparm){printf(”%d,%d,%6.2f\n”,parm.num,parm。age,parm。wage);}程序运行后的输出结果为:4.#include〈stdio。h>charprn_str(char*str,intm,intn){inti;for(i=1;i〈=m—n;i++)printf(”;for(i=1;i〈=n;i++)printf("\n;}voidmain(){charprn_st(p,6,4;}程序运行后的输出结果为:四、程序填空(共3小题,每小题6分,计18分)1.#include<st

温馨提示

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

评论

0/150

提交评论