版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言习题按章节ー、单项选择题.正确的自定义标识符是()A.a=2B.a+bC.nameD.default.错误的转义字符是()A.'\091'BAVCAO'D.'\".设inta,b,c;执行表达式a=b=1,a++,b+1,c=a+b-后,a,b和c的值分别是()A.2,1,2 B.2,0,3 C.2,2,3 D.2,1,3.在C语言中,错误的常数是()A.1E+0.0 B.5.C.Oxaf D.0L.下面运算符优先级最高的是()A.、〇,;j+=2)s=1O*s+p0][k]—'O';printf(^^%d\n^^,s);)运行结果:3.main(){intj;for(j=1;j=2;j-)swRch(j){case0:printf("%4s","ABC");case1:printf("%4s","DEF");printf("%4s","GHI");breakprintf("%4s","JKL");default:printf("%4s","MN0");)printf("\n");)运行结果:7.main(){intj,a[6]={1,2});for(j=3;jc&&b+c>a&&a+c>b)if()printf("DY");if()printf("DB");a2=a*a;b2=b*b;c2=c*c;if( )printf("ZJ");printf("\n");)
elseprintf("NO\n");)2.输出下列图形。2.输出下列图形。123456789234567893456789456789567896789789899五、程序设计题{intI,J;for(l=1;l<=;l++)for(J=;J<=9;J++)printf("%2d",J);printf("\n");}1,判断输入整数x的正负性和奇偶性。.从键盘输入10个整数,求出其中的最大值。.输入一行字符,统计其中的数字、字母、空格和其它字符出现的次数。.输入十个整数,计算出平均值(aver),找出其中最大者(max)和最小者(min)并将三者输出。.将十个实型数输入数组(float”10];)逆序存放后再输出。数组题目:c语言习题-ー数组.给出以下定义:charx[]="abcdefg";charyロゴa?b宜ソcT,e,R守};则正确的叙述为A)数组X和数组丫等价B)数组x和数组丫的长度相同C)数组C)数组X的长度大于数组Y的长度D)数组X的长度小于数组丫的长度.若有下面的程序片段:inta[12]={0},*p[3],**pp,i;for(i=0;i<3;i++)p[i]=&a[i*4];PP=P;则对数组元素的错误引用是A)PP[0][1]D)*(*(p+2)+2).设有以下定义:inta[4][3]={123,4,5,6,7,8,9,10,11,12};int(*prt)[3]=a,*p=a[0];则下列能够正确表示数组元素的表达式是A)*((*prt+1)[2]) B)*(*(p+5))C)(*prt+1)+2 D)*(*(a+1)+2).不能把字符串:Hello!赋给数组b的语句是charb[10]={'H','e',T,T,‘。','!'};charb[10];b="Hello!";C)charb[10];strcpy(b,"Hello!");D)charb[10]="Hello!";.若有以下说明:inta[12]={1,2,3,4,5,6,7,8,9,10,11,12);charc='a',d,g;则数值为4的表达式是A)a[g-c] B)a[4]CJat'd'-'c'] D)a['d'-c].若有以下说明:
inta[10]={1,2,3,4,5,67,8,9,10},*p=a;则数值为6的表达式是A)*p+6B)*(P+6)C)*p+=5A)*p+6B)*(P+6)C)*p+=5D)p+57,D)p+57,若有以下说明:intw[3][4]o={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是A)*w[1]+1 B)p++,*(p+1)C)w[2][2]8,若有以下的说明和语句:main(){intt[3][2],*pt[3],k;fpr(k=o;k<3;k++)pt[k]=t[k];)则以一选项中能正确表示t数组元素地址的表达式是A)&t[3][2] B)*pt[O]C)*(pt+1) D)&pt[2].以下程序的输出结果是
main(){inti,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];for(i=0;i<4;i+=2)printf("%d",p[i]);}A)52B)51 C)53D)97.若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是intt[3][3], *pt([3],k;for(k=0;k<3;k++) pt[k]=&t[k][0];A)52 B)51 C)53D)97
A)52 B)51 C)53D)97.执行下面的程序段后,变量k中的值为intk=3,s[2];s[O]=k;k=s[1]*10;A)不定值 B)33 C)30 D)10.若已定义:inta[]={0,1,2,3,4,5,67,8,9],*p=a,i;其中0<i<9,则对a数组元素不正确的引用上A)a[p-a]B)*(&a[i])〇A)a[p-a]B)*(&a[i])〇PD]D)a[10].设有数组定义chararray[]="China";则数组array所占的空间为A)4个字节B)5个字节C)6个字节D)7个字节c语言基础练习题及答案ー、单项选择题.C语言源程序文件经过C编译程序编译连接之后生成一个后缀为_C的文件。A、”.c"B、“.obj”C、“.exe"D、“.bas”.以下选项中不正确的整型常量是_Cー。A、12LB、ー10C、1,900D、123U.表达式ーC—的值是〇。A、3%5B、都.0C、ヰD、3<5.表达式!(x>0||y>0)等价于_D〇A、!x>O||!y>OB、!(x>0)||!(y>0)C.!x>0&&!y>0D、!(x>0)&&!(y>0).若变量已正确定义并赋值,表达式_Dー不符合C语言语法。A、4&&3B、+aC、a=b=5D、int(3.14).若变量已正确定义,执行语句scanf("%d%d%d",&kl,&k2,&k3);时,B是正确的输入。A、2030,40B,203040C、20,3040D,20,30,40.执行语句printf("_D”,2);将得到出错信息。A、%dB、%oC、%xD、%f.设变量定义为^ints[]="hello\nworld\n";w»则数组s中有B个元素。A、12B、13C、14D、15.设变量定义为"inta[2]={l,3},*p=&a[O]+l;w,则・p的值是A、2B、3C、4D、&a[O]+l.若变量已正确定义并赋值,表达式ーk++等价于_A_A、ー(k++)B、(-k)++C>-(k+1)Dn-(++k).在c语言程序中,在函数内部定义的变量称为_DA、全局变量B、全程变量C、外部变量D、内部变量.若X是整型变量,表达式(x=10.040)的值是_DA、2.5B、2.0 3D、2.对于以下的变量定义,表达式_A是正确的。structnode{chars[10];intk;}P[4];A、p->k=2B、p[〇].s="abc"C、p[〇]-)k=2D、p->s='a'.下列运算符中,优先级从高到低依次为D。A、&&,!,||B、||,&&,!C、&&,||,!D、!,&&,11.下列程序段的输出结果是_Bー〇int*p,*q,k=1,j=10;p=&j;q=&k;p=q;(*p)++;printf("%d",*q);A、1B、2C、10D、11.以下各选项企图说明一种新的类型名,其中正确的是水量(C)A)typedefvlint;B)typedefv2=int;C)typedefvlintv3;D)typedefv4:int;.以下选项中,非法的字符常量是(C)A)''t'B)'\17'C)"n"D)'\xaa'.以下程序的输出结果是(C)main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;printf("%d%d%d”,a[2],a[5],a⑻);}A)258B)741C)852D)369.以下程序的输出结果是(B)main(){charst[20]="hello\0\t\\V';printf(%d%d\nn,strlen(st),sizeof(st));)A)99B)520C)1320D)2020.以下程序的输出结果是(D)main(){inta,b;for(a=l,b=l;a<=100;a++){if(b>=10)break;if(b%3==l){b+=3;continue;}}printf("%d\n",a);}A)101B)6C)5D)4.以下程序的输出结果是(D)unionmyun{struct{intx,y,z;}u;intk;}a;main(){a.u.x=4;a.u.y=5;a.u.z=6;a.k=O;printf(%d\nM,a.u.x);}A)4B)5C)6D)0.以下程序段的输出结果是(A)chars[]="\\141\141abc\t";printf("%d\n",strlen(s));A)9B)12C)13D)14.以下程序的输出结果是(B)main(){charch[3][5]={,,AAAA",,,BBB"/"CC"};printf("\"%s\"\n",ch[l]);}A)"AAAA"B)"BBB"C)"BBBCC"D)"CC".不合法的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[l];printf("%c,%s\n",*(p+l),s[O]);执行后输出结果是(C)A)n,twoB)t,oneC)w,oneD)o,two.设有如下说明typedefstructntn;charc;doublex;}STD;则以下选项中,能正确定义结构体数组并赋初值的语句是(A)A)STDtt[2]={{l,'A',62},{2,B,75}};STDtt[2]={l,"A",62},2,"B",75};structtt[2]={{l;A'},{2,'B'}};D)structtt[2]={{l,"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')二、填空题.设ch是字符型变量,判断ch为英文字母的表达式是:(ch>='A'&&ch尸‘Z')||(ch>='a'&&ch<=(z')_〇.计算下列分段函数的if语句是_if(x>O)y=l;elseif(x=O)y=O;elsey=-i;〇lx>0y=0x=0-lx<0.表达式!!5的值是_1。.下列程序段的输出结果是ー12ー〇printf("%xn",(0x19«1)&0x17);.下列程序段的输出结果是_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);.下列程序段的输出结果是ー15ー〇#defineMIN(x,y)(x)<(y)?(x):(y)printf("%d",10*MIN(10,15));7,下列程序在运行时可能会出错,原因是一指针变量s未赋初值#includevoidmain(){char*s;gets(s);puts(s);).下列程序段的输出是ー60_o#includeintf(intm){staticintk=0;ints=0;for(;k<=m;k++)s++;returns;}voidmain(){intsi,s2;sl=f(5);s2=f(3);printf("%d%d\n",si,s2);}.下列程序段的输出结果是—fghー〇char*st[]={"abcd","efgh","ijkl","mnop"};printf("%s",*(st+l)+l);.用typedef定义ー个含10个元素的整型数组ARR。typedefintARR[10];.以下程序调用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));三、程序(段)填空题.设变量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;.请仔细阅读函数fl,然后在函数f2中填入正确的内容,使函数fl和函数f2有相同的功能。char*fl(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;}ー、单项选择题_D—是合法的用户自定义标识符。A、b-bB、floatC^D^_isw.若变量已正确定义并赋值,表达式ーBー不符合C语言语法。A、a*b/c;B、3.14%2C、2,bD、a/b/c.__C_是不正确的字符常量。A、HB、TC、"a"D.'101'.在C程序中,用—B_表示逻辑值“真”。A、1B、非0的数C、非1的数D、大于O的数._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;.若变量已正确定义,表达式ーC—的值不是2。A、2&3B、1<<1C、a==2D>1A3.若变量已正确定义,语句"if(a>b)k=0;elsek=l;w和_C等价。A、k=(a>b)?l:0;B^k=a>b;C、k=a<=b;D^a<=b?0:1;.设变量定义为“inta,b;”,执行下列语句时,输入_D,则a和b的值都是10oscanf("a=%d,b=%d",&az&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(v%dn”,c);}A、OB、IC、6D'无法确定10.在C程序中,若对函数类型未加说明,则函数的隐含类型为_A_〇A、intB>doubleC>voidD、char11I表达式strlen("hello")的值是 B0A、4B、5C、6D、7.设变量定义为“inta[4]>,则表达式_Dー不符合C语言语法。A、*aB、a[0]C、aD、a++.设变量定义为“intx,*p=&x广,则&*p相当于_A〇A、pB、・pC、xD、*&x.若变量已正确定义,_Aー不能使指针p成为空指针。A、p=EOFB、p=0C、p=''D、p=NULL.对于以下的变量定义,表达式_Dー不符合C语言语法。structnode{intlen;char*pk;}x={2,"right"},*p=&x;A、p->pkB>*p.pkC、・p->pkD、・x.pk.有如下程序intrunc(inta,intb){return(a+b);}mainO{intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%\d\n”,r);}该程序的输出的结果是(D)A)12B)13C)14D)15.对于基类型相同的两个指针变量之间,不能进行的运算是(C)A)<B)=C)+D)-.有如下程序longfib(intn){if(n>2)return(fib(n-l)+fib(n-2));elsereturn(2);}mainO{printf("%d\n",fib⑶);该程序的输出结果是(B)A}2B}4C}6D}8.有如下定义structperson{charname[9];intage;};strictpersonclass[10]={"Johu”,17,“Paul”,19“Mary”,18,“Adam16,};根据上述定义,能输出字母M的语句是(D)prinft(“%c\n”,class⑶.mane);pfintf(“%c\n”,class[3].name口]);prinft(“%c\n”,class[2].name[l]);printf(“%Ac\n",class[2].name[0]);.以下所列的C语言常量中,错误的是(B)A)OxFFB)1.2e0.5C)2LD) へ72'.有以下程序段intk=0while(k=l)k++;while循环执行的次数是(A)A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次.以下程序的输出结果是(〇A)0B)29C)31D)无定值fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);printf("%d”,a);}.下列程序段的输出结果是(A)A)2143B)1212C)1234D)2112voidfun(int*x,int*y){printf("%d%d”,*x,*y);*x=3;*y=4;}main(){intx=l,y=2;fun(&y,&x);printf("%d%d”,x,y);}.当调用函数时,实参是一个数组名,则向函数传送的是(B)A)数组的长度B)数组的首地址C)数组每ー个元素的地址D)数组每个元素中的值.以下程序的输出结果是(A)A)1B)2C)3D)4longfun(intn){longs;if(n==111n==2)s=2;elses=n-fun(n-l);returns;}main(){printf("%ld\n”,fun⑶);}.以下程序的输出结果是(B)A)16B)2C)9D)1#defineSQR(X)X*Xmain(){inta=16,k=2,m=l;a/=SQR(k+m)/SQR(k+m);printf("d\n",a);}.以下函数返回a所指数组中最小的值所在的下标值fun(int*a,intn){inti,j=O,p;P=j;for(i=j;i if(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.下列程序段的输出是ー1ー〇printf("%on",010«lAl);.下列程序段的输出是ー6,90〇intk;floats;for(k=0,s=0;k<7;k++)s+=k/2;printf("%d,%fn",k,s);.下列程序段的输出是ー5,25。ttdefinef(a,b,x)a*x+bprintf("%d,%dn",f(3,2,l),f(6,5,f(3,2,1)));.下列程序段的输出是ー*#*#〇main(){intk;for(k=l;k<5;k++){if(k%2)printf("*");elsecontinue;printf("#");)}.下列程序段的输出是ー58.#includeintf(intx){staticy=l;Y++;x+=y;returnx;)voidmain(){intk;k=f(3);printf("%d%dn",k,f(k));).下列程序段的输出是 5.int*p,*q,k=5,j=6;q=&k;p=q;q=&j;printf("%d",*p);.函数voidf(chars[],chart[]){intk=0;while(s[k]=t[k])k++;)等价于voidf(char*s,char*t){while(_*s++=*t++);).下列程序段的输出是ーne,sー。char*a[2]={"one","two"},**p=a;printf("%s,",*(p++)+l);printf("%cn",**p-l);.下列程序编译后生成t.exe,运行tinputoutputzoooil的输出结果是一zoo 〇voidmain(intargc,char*argv[]){intk;char*p=argv[l];for(k=2;kif(strcmp(argv[k],p)>0)p=argv[k];printf("%sn",p);11.下列程序调用swap函数交换a和b的值,并输出交换后的a和b的值。程序的输出结果是:Afterswap5,3ovoidmain(){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;ー、选择题(⑴-(40)题每题1分,(41)-(50)题每题2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。(1)计算机的存储器完整的应包括A)软盘、硬盘B)磁盘、磁带、光盘C)内存储器、外存储器D)RAM.ROM⑵计算机中运算器的作用是A)控制数据的输入/输出B)控制主存与辅存间的数据交换C)完成各种算术运算和逻辑运算D)协调和指挥整个计算机系统的操作⑶软磁盘处于写保护状态时,其中记录的信息A)绝对不会丢失B)不能被擦除,但能追加新信息C)不能通过写磁盘操作被更新D)不能以常规方式被删除,但可以通过操作系统的格式化功能被擦除(4)光盘根据基制造材料和记录信息的方式不同,一般可分为A)CD、VCDB)CD、VCD、DVD、MP3C)只读光盘、可一次性写入光盘、可擦写光盘D)数据盘、音频信息盘、视频信息盘⑸在计算机系统中,可执行程序是A)源代码B)汇编语言代码C)机器语言代码D)ASCII码(6)计算机软件系统包括A)操作系统、网络软件B)系统软件、应用软件C)客户端应用软件、服务器端系统软件D)操作系统、应用软件和网络软件(7)目前,一台计算机要连入Internet,必须安装的硬件是A)调制解调器或网卡B)网络操作系统C)网络查询工具D)WWW浏览器(8)在多媒体计算机系统中,不能存储多媒体信息的是A)光盘B)磁盘C)磁带D)光缆⑼要将当前盘当前目录下一个文本文件内容显示在屏幕上,正确的命令形式是A)TYPEa*.*B)TYPEabc.exeC)TYPEpro.oPRND)TYPEabe.txt(10)下列更改文件名的命令中正确的是RENA:filelC:F1B)RENAMEA:A:filelC:F1RENA:filelFlD)RENA:filel\SUB\F1(11)已知A盘为DOS系统启动盘,只有A:\DOS下有自动批处理文件,其中内容为:CD\DOSMDUSERCDUSER由A盘启动DOS系统后,A盘的当前目录是A)\DOSB)\DOS\USERC)\D)\USERMS-DOS是A)分时操作系统B)分布式操作系统C)单用户、单任务操作系统D)单用户、多任务操作系统(13)在Windows操作系统中,不同文档之间互相复制信息需要借助于A)剪切板B)记事本C)写字板D)磁盘缓冲器(14)在Windows操作系统中A)同一时刻可以有多个活动窗口B)同一时刻可以有多个应用程序在运行,但只有一个活动窗口C)同一时刻只能有一个打开的窗口DOS应用程序窗口与Windows应用程序窗口不能同时打开着(15)下列叙述中正确的是A)所有DOS应用程序都可以在Windows操作系统中正确运行B)所有DOS应用程序都不能在Windows操作系统中正确运行C)大部分DOS应用程序可以在Windows操作系统中正确运行D)为DOS5.0以上版本操作系统编写的应用程序可以在Windows操作系统中正确运行(16)下列叙述中正确的是C语言编译时不检查语法C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言所有函数都是外部函数(17)以下所列的C语言常量中,错误的是A)OxFFB)1.2e0.5C)2LD)'\72'(18)下列选项中,合法的C语言关键字是VARB)cherC)integerD)default(19)以下变量x.、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是A)x/y*zB)x*(l/(y*z))C)x/y*l/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)4〇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.0V回车〉22〈回车〉33〈回车)C)10.0(回车〉D)1022〈回车〉22.033.0〈回车〉33〈回车)(23)若执行以下程序时从键盘上输入9,则输出结果是A)11B)10C)9D)8MainO{intn;scanf("%d",&n);if(n++<10)printf("%d\n",n);elseprintf("%d\rT,n--);}(24)若a、b、cl、c2、x^y、均是整型变量,正确的switch语句是A)swich(a+b);B)switch(a*a+b*b){casel:y=a+b;break;{case3:caseO:y=a-b;break;casel:y=a+b;break;}case3:y=b-a,break;}C)switchaD)switch(a-b){casecl:y=a-b;break{default:y=a*b;breakcasec2:x=a*d;breakcase3:case4:x=a+b;breakdefault:x=a+b;case10:casell:y=a-b;break;})(25)有以下程序段intk=0while(k=l)k++;while循环执行的次数是A)无限次B)有语法错,不能执行C)一次也不执行D)执行1次(26)以下程序执行后sum的值是A)15B)14C)不确定D)〇min(){inti,sum;for(i=l;i<6;i++)sum+=i;printf("%d\n",sum);}(27)有以下程序段intx=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:lnteger,varb:lnteger)voidplay(inta,b)voidplay(inta,intb)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=l,y=2;fun(&y,&x);printf("%d%d",x,y);}(32)下列程序的输出结果是A)非法B)a⑷的地址05D)3main(){chara[10]={9,8,7,6,5,43,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)9{inta[]={l,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)的返回值是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+l)];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]={l,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=O;for(i=l;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%dn",s);(42)以下程序的输出结果是A)ABCDB)ABCDC)EFGD)EFGHFGHEFGJKIJKLKLIJ0Mmain(){charw[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=l;k<3;k++)printf("%s\n",w[k]);}(43)当执行下面的程序时,如果输入ABC,则输出结果是A)ABC6789B)ABC67C)12345ABC6D)ABC456789#include"stdio.h"include"string.h"main(){charss[10]="l,2,3,4,5";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}(44)假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的DOS提示符下键入:PROGABCDEFGHLIKLく回车》,则输出结果为A)ABCDEFGB)UHLC)ABCDEFGHIJKLD)IJKLABCDEFGHmain(intargc,char*argv[])){while(-argc>0)printf("%s",argv[argc]);printf("\n");}(45)以下程序的输出结果是A)1B)2C)3D)4longfun(intn){longs;if(n==111n==2)s=2;elses=n-fun(n-l);returns;}main(){printf("%ld\n",fun(3));}(46)以下程序的输出结果是A)16B)2C)9D)1#defineSQR(X)X*Xmain(){inta=16,k=2,m=l;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;intdt[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;(*p).next=(*q).next;free(q);q=(*q).next;(*p).next=q;free(q);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&l)&&(z<'z'));}二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【1】至[20]序号的横线上,答在试卷上不得分。(1)计算机机领域中,通常用英文单词"Byte"表示【1】。(2)在DOS环境下,自动批处理的文件名为【2】〇(3)要将当前盘当前目录下所有扩展名为.TXT的文件内容在打印机上打印输出,应使用的单条DOS内部命令为【3】〇(4)在Windows环境下,可以利用单击、双击、拖动这三种鼠标操作之一的【4】操作实现窗口的移动。(5)在Windows环境下,可以将窗口最小化为【5】〇(6)以下程序的输出结果是[6】{int3=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=l.l,z;z=a/2+b*x/y+3/2;printf("%5.2f\n",z);}(8)用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。st=(char*)[8];(9)下列程序段的输出结果是[9】。main(){charbU="Hello,you";b[5]=0;printf("%s\n",b);}(10)下列程序段的输出结果是[10I〇intn='c';switch(n++){default:printf("error");break;case'a':case'A':case'b':case,B,:printf("good");break;case'c'icase'C':printf("pass");case'd':case'D':printf("warn");)(11)以下程序通过函数指针p调用函数fun,请在填空栏内,写出定义变量p的语句。voidfun(int*x,int*y){……}main(){inta=10,b=20;[111;/定义变p=7p=fun;p(&a,&b);}(12)下列程序的输出结果是[12]〇voidfun(int*n){while((*n)-);printf("%d",++(*n));}{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(O);while((ch=getchar())!='@')fputc(ch,fp);fclose(fp);}(16)若变量n中的值为24,则prnt函数共输出【16】行,最后一行有[17I个数。voidprnt(intn,intaa[]){inti;for(i=l;i<=n;i++){printf("%6d",aa[i]);if(!(i%5))printf("\n");}printf("\n");}(17)以下程序中,主函数调用了しineMax函数,实现在N行M列的二维数组中,找出每一行上的最大值。请填空。#defineN3#defineM4voidLineMax(intx[N][M]){inti,j,p;for(i=0;i{p=0;for(j=l;jif(x[i][p]printf("Themaxvalueinline%dis%d\n",i,[191);}}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函数开始,直到最后ー个函数结束。.运算表达式!(5<9)II(6>10)的结果为(b)A)1B)0C)12D)10.设n=3;则n++的结果是(b)A)2B)3C)4D)5.已知字母A的ASCII码是65,以下程序的执行结果是(d)main(){charcl=>A',c2='Y';prin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024年度损失补偿合同标准格式版B版
- 2024产品加工期间保密责任合同3篇
- 2024年个人保险贷款合同3篇
- 2024商业物业标准化服务合同样本
- 2024版年度市场推广合作协议3篇
- 多媒体与信息技术的教学应用计划
- 地质勘探院校校长聘任合同
- 购物中心装修施工合同范本
- 2024年医疗设备供应与安装协议6篇
- 商场装潢工程协议
- 北师大版八年级生物下册全册课件【完整版】
- 不锈钢储罐施工方案11
- 积极心理学视角下的中学心理健康教育
- 社群营销与运营PPT完整全套教学课件
- 电化学原理-(李狄-著)北航出版社-课后5-9章习题参考答案
- 福建省工伤职工停工留薪期分类目录
- 睿易app操作手册ios用户手册
- 婴幼儿托育服务与管理人物访谈
- 电梯安全风险管控清单
- 新生儿先天性心脏病筛查技术规范课件
- 食品经营备案(仅销售预包装食品)信息采集表(2022版)
评论
0/150
提交评论