C语言期末考试题目_第1页
C语言期末考试题目_第2页
C语言期末考试题目_第3页
C语言期末考试题目_第4页
C语言期末考试题目_第5页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

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

文档简介

指针一、单项选择题1.已知:inta,*y=&a;则以下函数调用中错误的选项是。A)scanf("%d",&a);B)scanf("%d",y);C)printf("%d",a);D)printf("%d",y);2.说明语句"int(*p)( );"的含义是。p是一个指向一维数组的指针变量p是指针变量,指向一个整型数据p是一个指向函数的指针,该函数的返回值是一个整型以上都不对3.设有说明int(*p)[4];此中的表记符p是。4个指向整型变量的指针变量指向4个整型变量的函数指针一个指向拥有4个整型元素的一维数组的指针拥有4个指向整型变量的指针元素的一维指针数组4.已知:chars[10],*p=s,则在以下语句中,错误的语句是。A)p=s+5;B)s=p+s;C)s[2]=p[4];D)*p=s[0];5.已知:chars[100];inti;则引用数组元素的错误的形式是。A)s[i+10]B)*(s+i)C)*(i+s)D)*((s++)+i)6.已知:chars[6],*ps=s;则正确的赋值语句是。A)s="12345";B)*s="12345";C)ps="12345";D)*ps="12345";7.已知:chara[3][10]={"BeiJing","ShangHai","TianJin"},*pa=a;不可以正确显示字符串"ShangHai"的语句是。A)printf("%s",a+1)C)printf("%s",*a+1)

;;

B)printf("%s",*(a+1))D)printf("%s",&a[1][0])

;8.已知:

inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}

;int(*ptr)[3]=a,*p=a[0]

;则以下可以正确表示数组元素

a[1][2]

的表达式是

。A)*(*(a+1)+2)

B)*(*(p+5))

C)(*ptr+1)+2

D)*((ptr+1)[2])9.已知:inta[]={1,2,3,4,5,6,7,8,9,10,11,12}A)p+=2,*(p++)B)p+=2,*++p

,*p=a;则值为C)p+=2,*p++

3的表达式是D)p+=2,++*p

。10.已知:inta[]={1,2,3,4},y,*p=a

;则履行语句

y=(*++p)--

;以后,

数组

a各元素的值变成

。A)0,1,3,4

B)1,1,3,4

C)1,2,2,4

D)1,2,3,3yA)1B)2C)3D)411.已知:inta[]={1,3,5,7},y*p=a;为使变量y的值为3,以下语句正确的选项是。A)y=++*p++;B)y=++(*p++);C)y=(++*p)++;D)y=(*++p)++;12.已知:intx[]={1,3,5,7,9,11},*ptr=x;则可以正确引用数组元素的语句是。A)xB)*(ptr--)C)x[6]D)*(--ptr)函数的功能是互换变量x和y中的值,且经过正确调用返回互换的结果。能正确履行此功能的函数是。A)funa(int*x,int*y){int*p;p=x;*x=*y;*y=*p}C)func(int*x,int*y){*x=*y;*y=*x;}

B)funb(intx,inty){intt;t=x;x=y;y=t;}D)func(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y}

;有定义以下:structsk{inta;floatb;}data,*p;假如p=&data;则对于构造变量dataA)(*).B)(*p).aC)p->structst

的成员a的正确引用是D)已知:

____。{intn;structst*next;};staticstructsta[3]={1,&a[1],3,&a[2],5,&a[0]},*p

;假以下述语句的显示是2,则对p的赋值是printf("%d",++(p->next->n));

。A)p=&a[0]

B)p=&a[1]

C)p=&a[2]

D)p=&a[3]

;16.已知:structperson{charname[10];intage;}class[10]={"LiMing",29,"ZhangHong",21,"WangFang",22};下述表达式中,值为72的一个是。class[0]->age+class[1]->age+class[2]->ageclass[1].name[5]person[1].name[5]clase->name[5]已知:struct{inti;charc;floata;}test

;则

sizeof(test)

的值是

。A)4

B)5

C)6

D)7已知:union{inti;charc;floata;}test

;则

sizeof(test)

的值是

。A)4

B)5

C)6

D)7已知:unionu_type{inti;charchfloata

;;}temp;此刻履行"=266;printf("%d","

的结果是

。A)266B)256

C)10

D)1如有以下程序段:structdent{intn;int*m;};inta=1,b=2,c=3;structdents[3]={{101,&a},{102,&b},{103,&c}}structdent*p=s;

;则以下表达式中值为

2的是

。A)(p++)->m

B)*(p++)->m

C)(*p).m

D)*(++p)->m21.如有以下说明语句,则对构造变量

pup中sex

域的正确引用是

。structpupil{charname[20];intsex;}pup,*p;p=&pup;A)B)p->C)(*p).D)(*p).sex22.以下对构造变量stul中成员age的非法引用是。structstudent{intage;intnum;}stu1,*p;p=&stu1;A)B)C)p->ageD)(*p).age如有以下定义和语句:uniondata{inti;charc;floatf;}a;intn;则以下语句正确的选项是。A)a=5;B)a={2,'a',};C)printf("%d\n",a);D)n=a;24.已知:structsk{inta;intage;}date,*p;假如要使指针p指向data中的成员a,正确的赋值语句是。A)p=(structsk*)&;B)p=(structsk*);C)p=&;D)*p=;25.已知enumweek{sun,mon,tue,wed,thu,fri,sat}day;则正确的赋值语句是。A)sun=0;B)san=day;C)sun=mon;D)day=sun;26.已知enumcolor{red,yellow=2,blue,white,black}ren;履行下述语句的输出结果是。printf("%d",ren=white);A)0

B)1

C)3

D)427.已知

enumname{zhao=1,qian,sun,li}man

;履行下述程序段后的输出是

。man=0;switch(man){case0:printf("People\n")

;case1:printf("Man\n")

;case2:printf("Woman\n")default:printf("Error\n")

;;}A)People

B)Man

C)Woman

D)Error28.下述对于列举种类名的定义中,正确的选项是。A)enema={one,two,three};B)enema{one=9,two=-1,three};C)enema={"one","two","three"};D)enema{"one","two","three"};29.C语言中标准输入文件stdin是指。A)键盘B)显示器C)鼠标D)硬盘30.要翻开一个已存在的非空文件"file"用于改正,选择正确的语句。A)fp=fopen("file","r");B)fp=fopen("file","a+");C)fp=fopen("file","w");D)fp=fopen('file","r+");31.当顺利履行了文件封闭操作时,fclose函数的返回值是。A)-1B)TRUEC)0D)1fscanf函数的正确调用形式是fscanf(文件指针,格式字符串,fscanf(格式字符串,输出列表,fscanf(格式字符串,文件指针,fscanf(文件指针,格式字符串,

。输出列表);文件指针);输出列表);输入列表);33.使用fgetc函数,则翻开文件的方式一定是。A)只写B)追加C)读或读/写D)参照答案B和C都正确已知宏定义#defineN3#defineY(n)((N+1)*n)履行语句z=2*(N+Y(5+1));后,变量z的值是。A)42B)48C)52D)犯错35.已知宏定义#defineSQ(x)x*x,履行语句printf("%d",10/SQ(3));后的输出结果是。A)1B)3C)9D)1036.下边程序的输出结果是。voidmain( ){inta[]={1,2,3,4,5,6};int*p;p=a;printf("%d",*p);printf("%d",*(++p));printf("%d",*++p);printf("%d",*(p--));p+=3;printf("%d%d",*p,*(a+3));}A)123354B)123456C)122345

D)12344537.下边程序的输出结果是

。voidmain( ){inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}int*p=a;p+=6;printf("%d",*p);/*①*/printf("%d",*(*(a+6)));/*②*/printf("%d",*(a[1]+=2));/*③*/printf("%d",*(&a[0][0]+6));/*④*/

;}A)7777

B)②句语法错误

C)③句语法错误

D)④句语法错误38.下边程序的输出结果是

。#defineFMT"%X\n"#include<>main( ){staticinta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};printf(FMT,a[2][2]);/*①*/printf(FMT,*(*(a+1)+1));/*②*/}A)9B)11C)AD)B①②A)6B)7C)8D)前面三个参照答案均是错误的39.下边程序的输出结果是。#include<>voidmain( ){inta[]={1,2,3,4,5};intx,y,*p;p=&a[0];x=*(p+2);y=*(p+4);printf("%d,%d,%d\n",*p,x,y);}A)1,3,5B)1,2,3C)1,2,4D)1,4,540.下边程序的输出结果是。voidive(x,n)intx[],n;{intt,*p;p=x+n-1;while(x<p){t=*x;*x++=*p;*p--=t;}}return;voidmain( ){inti,a[]={1,2,3,4,5,6,7,8,9,0};ive(a,10);for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");}A)1234567890B)0987654321C)1357924680D)086429753141.下边程序的输出结果是。#include""fun(char*w,intn){chart,*s1,*s2;s1=w;s2=w+n-1;while(s1<s2){t=*s1++;*s1=*s2--;*s2=t;}}voidmain( ){staticchar*p="1234567";fun(p,strlen(p));printf("%s",p);}A)7654321B)1717171C)7171717D)171171742.下边程序的输出结果是

。#include<>char*p="abcdefghijklmnopq"voidmain( ){inti=0;while(*p++!='e');printf("%c\n",*p);

;}A)c

B)d

C)e

D)f43.下边程序的输出结果是

。#include<>f(intx,inty)}voidmain( ){inta=5,b=6,c;intf( ),(*g)( )=f;}printf("%d\n",(*g)(a,b))A)1B)2C)3

;前面三个参照答案均是错误的44.下边程序的输出结果是。#include<>voidmain( ){inta=1,*p,**pp;pp=&p;p=&a;a++;printf("%d,%d,%d\n",a,*p,**pp);}A)2,1,1B)2,1,2C)2,2,2D)程序有错误下边程序的输出结果是____。voidmain( ){char*alpha[7]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX","YZ"};char**p;inti;p=alpha;for(i=0;i<4;i++)printf("%c",*(p[i]));printf("\n");}A)AEIMB)BFJNC)ABCDD)DHLP以下程序的输出结果是A)15B)100C)10D)150#defineMIN(x,y)(x)<(y)?(x):(y)voidmain(){inti,j,k;i=10:j=15;k=10*MIN(i,j);printf(%d\n",k);}以下程序的输出结果是A)B)12.00C)D)voidfun(float*p1,float*p2,float*s){s=(float*)calloc(1,sizeof(float));*s=*p1+*p2++;}voidmain( ){floata[2]={,},b[2]={,},*s=a;fun(a,b,s);printf("%5.2f\n",*s);}以下程序的输出结果是A)5,2,3B)-5,-12,-7C)-5,-12,-7D)5,-2,-7voidsub(intx,inty,int*z){*z=y-x;}voidmain( ){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}二、程序完美题下边程序的功能是实现数组元素中值的逆转。#include<>voidmain( ){inti,n=10,a[10]={1,2,3,4,5,6,7,8,9,10};invert(a,n-1);for(i=0;i<10;i++)printf("%4d",a[i]);}printf("\n");voidinvert(int*s,intnum){int*t,k;t=s+num;while(①){k=*s;*s=*t;*t=k;②;③;}}下边函数的功能

温馨提示

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

评论

0/150

提交评论