




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
c语言基础练习题及答案一、单项选择题1.C语言源程序文件经过C编译程序编译连接之后生成一个后缀为__C____的文件。A、”.c”B、“.obj”C、“.exe”D、“.bas”2.以下选项中不正确的整型常量是_C____。A、12LB、-10C、1,900D、123U3.表达式___C___的值是0。A、3%5B、3/5.0C、3/5D、3<54.表达式!(x>0||y>0)等价于__D___。A、!x>0||!y>0B、!(x>0)||!(y>0)C、!x>0&&!y>0D、!(x>0)&&!(y>0)5.若变量已正确定义并赋值,表达式__D____不符合C语言语法。A、4&&3B、+aC、a=b=5D、int(3.14)6.若变量已正确定义,执行语句scanf("%d%d%d",&k1,&k2,&k3);时,___B___是正确的输入。A、2030,40B、203040C、20,3040D、20,30,407.执行语句printf(”__D____”,2);将得到出错信息。A、%dB、%oC、%xD、%f8.设变量定义为“ints[]="hello\nworld\n";”,则数组s中有__B____个元素。A、12B、13C、14D、159.设变量定义为“inta[2]={1,3},*p=&a[0]+1;”,则*p的值是___B__。A、2B、3C、4D、&a[0]+110.若变量已正确定义并赋值,表达式-k++等价于__A____。A、-(k++)B、(-k)++C、-(k+1)D、-(++k)11.在C语言程序中,在函数内部定义的变量称为__D____。A、全局变量B、全程变量C、外部变量D、内部变量12.若x是整型变量,表达式(x=10.0/4.0)的值是__D___。A、2.5B、2.0C、3D、213.对于以下的变量定义,表达式__A____是正确的。structnode{chars[10];intk;}p[4];A、p->k=2B、p[0].s=“abc”C、p[0]->k=2D、p->s=‘a’14.下列运算符中,优先级从高到低依次为__D___。A、&&,!,||B、||,&&,!C、&&,||,!D、!,&&,||15.下列程序段的输出结果是__B___。/r/*p,*q,k=1,j=10;p=&j;q=&k;p=q;(*p)++;printf("%d",*q);A、1B、2C、10D、1116.以下各选项企图说明一种新的类型名,其中正确的是水量(C)A)typedefv1int;B)typedefv2=int;C)typedefv1intv3;D)typedefv4:int;17.以下选项中,非法的字符常量是(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;}}printf(“%d\n”,a);}A)101B)6C)5D)421.以下程序的输出结果是(D)unionmyun{struct{intx,y,z;}u;/r/k;}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)022.以下程序段的输出结果是(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]);}A)"AAAA"B)"BBB"C)"BBBCC"D)"CC"24.不合法的main函数命令行参数表示形式是(C)A)main(inta,char*c[])B)main(intarc,char**arv)C)main(intargc,char*argv)D)main(intargv,char*argc[])25.有以下程序main(){char*s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是(C)A)n,twoB)t,oneC)w,oneD)o,two26.设有如下说明typedefstruct{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}};27.若变量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;___。1x>0y=0x=0-1x<03.表达式!!5的值是__1____。4.下列程序段的输出结果是___12___。printf("%xn",(0x19<<1)&0x17);5.下列程序段的输出结果是__k=4s=6___。/r/k,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未赋初值____。#includevoidmain(){char*s;gets(s);puts(s);}8.下列程序段的输出是___60__。#includeintf(intm){staticintk=0;ints=0;for(;k<=m;k++)s++;returns;}voidmain(){ints1,s2;s1=f(5);s2=f(3);printf("%d%d\n",s1,s2);}9.下列程序段的输出结果是__fgh___。char*st[]={"abcd","efgh","ijkl","mnop"};printf("%s",*(st+1)+1);10.用typedef定义一个含10个元素的整型数组ARR。typedefintARR[10];11.以下程序调用findmax函数返回数组中的最大值,请填空。findmax(int*a,intn){int*p,*s;for(p=a,s=a;p-aif(*p>*s)s=p;return(*s);}main(){intx[5]={12,21,13,6,18};printf("%d\n",findmax(x,5));}三、程序(段)填空题1.设变量x,y,z已正确定义与赋值,请仔细阅读程序段A,然后在程序段B中填入正确的内容,使程序段A与程序段B有相同的功能。程序段A程序段Bx=x+y;y=x-y;x=x-y;z=x+y;z=x;x=y;y=z;z=x+y;2.请仔细阅读函数f1,然后在函数f2中填入正确的内容,使函数f1与函数f2有相同的功能。char*f1(chars[],chart[]){intk;for(k=0;t[k]!='';k++)s[k]=t[k];s[k]='';returns;}char*f2(char*s,char*t){char*p=s;while((*p++=*t++)!='');returns;}===========================================================一、单项选择题1.___D___是合法的用户自定义标识符。A、b-bB、floatC、D、_isw2.若变量已正确定义并赋值,表达式___B___不符合C语言语法。A、a*b/c;B、3.14%2C、2,bD、a/b/c3.___C__是不正确的字符常量。A、'n'B、'1'C、"a"D、'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、1<<1C、a==2D、1^37.若变量已正确定义,语句“if(a>b)k=0;elsek=1;”与__C____等价。A、k=(a>b)?1:0;B、k=a>b;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;16.有如下程序/r/runc(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(n>2)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”,19“Mary”,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.有以下程序段/r/k=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;iif(a[i]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",010<<1^1);3.下列程序段的输出是__6,90____。intk;floats;for(k=0,s=0;k<7;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;k<5;k++){if(k%2)printf("*");elsecontinue;printf("#");}}6.下列程序段的输出是__58___。#include/r/f(intx){staticy=1;y++;x+=y;returnx;}voidmain(){intk;k=f(3);printf("%d%dn",k,f(k));}7.下列程序段的输出是___5__。/r/*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;kif(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("Afters,%d",a,b);}swap(int*p,int*q){intt;t=*p;;*p=*q;*q=t;}一、选择题((1)-(40)题每题1分,(41)-(50)题每题2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)计算机的存储器完整的应包括A)软盘、硬盘B)磁盘、磁带、光盘C)内存储器、外存储器D)RAM、ROM(2)计算机中运算器的作用是A)控制数据的输入/输出B)控制主存及辅存间的数据交换C)完成各种算术运算与逻辑运算D)协调与指挥整个计算机系统的操作(3)软磁盘处于写保护状态时,其中记录的信息A)绝对不会丢失B)不能被擦除,但能追加新信息C)不能通过写磁盘操作被更新D)不能以常规方式被删除,但可以通过操作系统的格式化功能被擦除(4)光盘根据基制造材料与记录信息的方式不同,一般可分为A)CD、VCDB)CD、VCD、DVD、MP3C)只读光盘、可一次性写入光盘、可擦写光盘D)数据盘、音频信息盘、视频信息盘(5)在计算机系统中,可执行程序是A)源代码B)汇编语言代码C)机器语言代码D)ASCII码(6)计算机软件系统包括A)操作系统、网络软件B)系统软件、应用软件C)客户端应用软件、服务器端系统软件D)操作系统、应用软件与网络软件(7)目前,一台计算机要连入Internet,必须安装的硬件是A)调制解调器或网卡B)网络操作系统C)网络查询工具D)WWW浏览器(8)在多媒体计算机系统中,不能存储多媒体信息的是A)光盘B)磁盘C)磁带D)光缆(9)要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是(10)下列更改文件名的命令中正确的是A)RENA:file1C:F1B)RENAMEA:A:file1C:F1C)RENA:file1F1D)RENA:file1\SUB\F1(11)已知A盘为DOS系统启动盘,只有A:\DOS下有自动批处理文件,其中内容为:CD\DOSMDUSERCDUSER由A盘启动DOS系统后,A盘的当前目录是A)\DOSB)\DOS\USERC)\D)\USER(12)MS-DOS是A)分时操作系统B)分布式操作系统C)单用户、单任务操作系统D)单用户、多任务操作系统(13)在Windows操作系统中,不同文档之间互相复制信息需要借助于A)剪切板B)记事本C)写字板D)磁盘缓冲器(14)在Windows操作系统中A)同一时刻可以有多个活动窗口B)同一时刻可以有多个应用程序在运行,但只有一个活动窗口C)同一时刻只能有一个打开的窗口D)DOS应用程序窗口及Windows应用程序窗口不能同时打开着(15)下列叙述中正确的是A)所有DOS应用程序都可以在Windows操作系统中正确运行B)所有DOS应用程序都不能在Windows操作系统中正确运行C)大部分DOS应用程序可以在Windows操作系统中正确运行(16)下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程与函数两种C)C语言的函数可以嵌套定义D)C语言所有函数都是外部函数(17)以下所列的C语言常量中,错误的是A)0xFFB)1.2e0.5C)2LD)'\72'(18)下列选项中,合法的C语言关键字是A)VARB)cherC)integerD)default(19)以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z(20)若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是A)-3B)9C)-12D)6(21)设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为A)不定值B)4C)3D)1(22)若变量已正确说明为float类型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:A)10<回车>B)10.0,22.0,33.0<回车>22<回车>33<回车>C)10.0<回车>D)1022<回车>22.033.0<回车>33<回车>(23)若执行以下程序时从键盘上输入9,则输出结果是A)11B)10C)9D)8Main0{intn;scanf("%d",&n);if(n++<10)printf("%d\n",n);elseprintf("%d\n",n--);}(24)若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是A)swich(a+b);B)switch(a*a+b*b){case1:y=a+b;break;{case3:case0:y=a-b;break;case1:y=a+b;break;}case3:y=b-a,break;}C)switchaD)switch(a-b){casec1:y=a-b;break{default:y=a*b;breakcasec2:x=a*d;breakcase3:case4:x=a+b;breakdefault:x=a+b;case10:case11:y=a-b;break;}}(25)有以下程序段/r/k=0while(k=1)k++;while循环执行的次数是A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次(26)以下程序执行后sum的值是A)15B)14C)不确定D)0min(){inti,sum;for(i=1;i<6;i++)sum+=i;printf("%d\n",sum);}(27)有以下程序段/r/x=3do{printf("%d",x-=2);}while(!(--x));其输出结果是A)1B)30C)1-2D)死循环(28)若变量c为char类型,能正确判断出c为小写字母的表达式是A)'a'<=c<='z'B)(c>='a')||(c<='z')C)('a'<=c)and('z'>=c)D)(c>='a')&&(c<='z')(29)以下所列的各函数首部中,正确的是A)voidplay(var:Integer,varb:Integer)B)voidplay(inta,b)C)voidplay(inta,intb)D)Subplay(aasinteger,basinteger)(30)以下程序的输出结果是A)0B)29C)31D)无定值fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d",a);}(31)下列程序段的输出结果是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);}(32)下列程序的输出结果是A)非法B)a[4]的地址C)5D)3main(){chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;printf("%d",*--p);}(33)下列程序的运行结果是A)63B)36C)编译出错D)00voidfun(int*a,int*b){int*k;k=a;a=b;b=k;}main(){inta=3,b=6,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);}(34)下面程序的输出结果是A)0B)1C)10D)9main(){inta[]={1,2,3,4,5,6,7,8,9,0,},*p;p=a;printf("%d\n",*p+9);}(35)当调用函数时,实参是一个数组名,则向函数传送的是A)数组的长度B)数组的首地址C)数组每一个元素的地址D)数组每个元素中的值(36)设有以下说明语句structex{intx;floaty;charz;}example;则下面的叙述中不正确的是A)struct结构体类型的关键字B)example是结构体类型名C)x,y,z都是结构体成员名D)structex是结构体类型(37)以下只有在使用时才为该类型变量分配内存的存储类说明是A)auto与staticB)auto与registerC)register与staticD)extern与register(38)若fp是指向某文件的指针,且已读到文件末尾,则库函数feof(fp)的返回值是A)EOFB)-1C)非零值D)NULL(39)以下程序的输出结果是A)20B)21C)22D)23main(){inti,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf("%d\n",k);}(40)以下程序的输出结果是A)1,5,9B)1,4,7C)3,5,7D)3,6,9main(){inti,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d,",x[i][2-i]);}(41)以下程序的输出结果是A)18B)19C)20D)21main(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%dn",s);}(42)以下程序的输出结果是A)ABCDB)ABCDC)EFGD)EFGHFGHEFGJKIJKLKLIJOMmain(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1;k<3;k++)printf("%s\n",w[k]);}(43)当执行下面的程序时,如果输入ABC,则输出结果是A)ABC6789B)ABC67C)12345ABC6D)ABC456789#include"stdio.h"#include"string.h"main(){charss[10]="1,2,3,4,5";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}(44)假定以下程序经编译与连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROGABCDEFGHIJKL<回车>,则输出结果为A)ABCDEFGB)IJHLC)ABCDEFGHIJKLD)IJKLABCDEFGHmain(intargc,char*argv[])){while(--argc>0)printf("%s",argv[argc]);printf("\n");}(45)以下程序的输出结果是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));}(46)以下程序的输出结果是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);}(47)若定义了以下函数:voidf(……){……*p=(double*)malloc(10*sizeof(double));……}p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是A)double*pB)float**pC)double**pD)float*p(48)以下程序的输出是A)10B)11C)51D)60structst{intx;int*y;}*p;/r/dt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};main(){p=aa;printf("%d\n",++(p->x));}(49)假定建立了以下链表结构,指针p、q分别指向如图所示的结点,则以下可以将q所指结点从链表中删除并释放该结点的语句组是A)free(q);p->next=q->next;B)(*p).next=(*q).next;free(q);C)q=(*q).next;(*p).next=q;free(q);D)q=q->next;p->next=q;p=p->next;free(p);(50)以下程序的输出结果是A)0B)1C)2D)3main(){intx=0.5;charz='a';printf("%d\n",(x&1)&&(z<'z'));}二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。(1)计算机机领域中,通常用英文单词"Byte"表示【1】。(2)在DOS环境下,自动批处理的文件名为【2】。(3)要将当前盘当前目录下所有扩展名为.TXT的文件内容在打印机上打印输出,应使用的单条DOS内部命令为【3】。(4)在Windows环境下,可以利用单击、双击、拖动这三种鼠标操作之一的【4】操作实现窗口的移动。(5)在Windows环境下,可以将窗口最小化为【5】。(6)以下程序的输出结果是【6】main(){inta=1,b=2;a=a+b;b=a-b;a=a-b;printf("%d,%d\n",a,b);}(7)下列程序的输出结果是16.00,请填空。。main(){inta=9,b=2;floatx=【7】,y=1.1,z;z=a/2+b*x/y+1/2;printf("%5.2f\n",z);}(8)用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)【8】;(9)下列程序段的输出结果是【9】。main(){charb[]="Hello,you";b[5]=0;printf("%s\n",b);}(10)下列程序段的输出结果是【10】。/r/n='c';switch(n++){default:printf("error");break;case'a':case'A':case'b':case'B':printf("good");break;case'c':case'C':printf("pass");case'd':case'D':printf("warn");}(11)以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。voidfun(int*x,int*y){……}main(){inta=10,b=20;【11】;/定义变p*/p=fun;p(&a,&b);……}(12)下列程序的输出结果是【12】。voidfun(int*n){while((*n)--);printf("%d",++(*n));}main(){inta=100;fun(&a);}(13)以下程序的输出结果是【13】。main(){intarr[]={30,25,20,15,10,5},*p=arr;p++;printf("%d\n",*(p+3));}(14)以下程序用来输出结构体变量ex所占存储单元的字节数,请填空。structst{charname[20];doublescore;};main(){structstex;printf("exsize:%d\n",sizeof(【14】));}(15)下面程序把从终端读入的文本(用@作为文本结束标志)输出到一个名为bi.dat的新文件中。请填空。#include"stdio.h"FILE*fp;{charch;if((fp=fopen(【15】))==NULL)exit(0);while((ch=getchar())!='@')fputc(ch,fp);fclose(fp);}(16)若变量n中的值为24,则prnt函数共输出【16】行,最后一行有【17】个数。voidprnt(intn,intaa[]){inti;for(i=1;i<=n;i++){printf("%6d",aa[i]);if(!(i%5))printf("\n");}printf("\n");}(17)以下程序中,主函数调用了LineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空。#defineN3#defineM4voidLineMax(intx[N][M]){inti,j,p;for(i=0;i{p=0;for(j=1;jif(x[i][p]printf("Themaxvalueinline%dis%d\n",i,【19】);}}main(){intx[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};【20】}一.选择题:1.一个C语言程序的执行是从a。a)第一个函数开始,直到最后一个函数结束.b)main函数开始,直到main函数结束。c)第一个语句开始,直到最后一个语句结束。d)main函数开始,直到最后一个函数结束。2.运算表达式!(5<9)||(6>10)的结果为(b)A)1B)0C)12D)103.设n=3;则n++的结果是(b)A)2B)3C)4D)54.已知字母A的ASCII码是65,以下程序的执行结果是(d)main(){charc1=’A’,c2=’Y’;printf(“%d,%d\n”,c1,c2);}A)A,YB)65,65C)65,90D)65,895.设x=2,表达式x*=3+2的结果x为(b)A)5B)10C)6D)46.C语言中规定函数的返回值的类型由(d)A)return语句中的表达式类型决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定7.设有说明语句:inta=1,b=0;则执行以下语句后输出为:(b)switch(a){case1:switch(b){case0:printf(“**0**”);break;case1:printf(“**1**”).break;}case2:printf(“**2**”);break;}A)**0**B)**0****2**C)**0****1****2**D)有错8.选择下列程序的运行结果dmain(){intk=4,m=1,p;p=func(k,m;p=func(k,m);printf(“%d”,p);}func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}A)14B)15C)16D)17.若有以下说明与语句:dstructworker{/r/no;char*name;}work,*p=&work;则以下引用方法不正确的是A)work.noB)(*p).noC)p->noD)work->no10.数组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 休闲餐饮品牌区域代理经营协议
- 草场租赁与草原生态保护与修复合同
- 新生儿高压氧治疗个案分析
- 体外细胞培养技术
- 护理质量反馈报告
- 高三化学二轮复习:装置图型实验方案的评价
- 神经细胞瘤科普
- 颅脑损伤物理治疗
- 儿科休克的护理
- 提神活动及平复活动
- 市政道路雨、污水管道工程施工技术(ppt共106)
- DB3709-T 007-2022医养结合机构老年人健康档案管理规范
- DBJ53T-19-2007加芯搅拌桩技术规程
- 华北理工大学药物分析教案
- (高职)统计学原理(第七版)电子课件教学PPT(完整版)
- 安徽省2022年中考地理真题试卷(图片版含答案)
- 林地征占用自查报告
- 感悟亲情作文指导
- 幼儿园办园标准
- DLT 596-2021 电力设备预防性试验规程
- 无机化学第4版下册(吉大宋天佑)2019
评论
0/150
提交评论