1、C言语次序计划温习题及谜底一、抉择题每题1分,共30分1以下表白准确的选项是()。A)在C次序中,main函数必需位于次序的最后面B)C次序的每行中只能写一条语句C)C言语自身不输入输入语句D)在对一个C次序进展编译的进程中,可发觉正文中的拼写过错2一个C言语次序的根本单元是()A)函数B)子次序C)进程D)下令3一个C言语的语句必需运用的完毕标记是A),B)。C):D);4以下选项中,能够作为言语标识符的是A)3stuB)#stuC)stu3D)stu.35设有阐明:charw;intx;floaty;doublez;那么表白式w*x+z-y值的数据范例为A)floatB)charC)int
2、D)double6以下表白准确的选项是A赋值语句中的“=是表现左边变量即是左边表白式B赋值语句中左边的变量值不必定即是左边表白式的值C赋值语句是由赋值表白式加上分号形成的Dx+=y;不是赋值语句7假定x为int型变量,那么履行x=6;x+=x-=x*x;语句后,x的值为A)36B)-60C)60D)-248假定有a=2,b=3,c=4,那么表白式a=3跟a=3的值分不为A)0跟0B1跟3C3跟3D0跟39使前提表白式year%4=0&year%100!=0|year%400=0后果为假的值是A)1950B)2000C)1996D)200410假定x、i、j、k基本上int型变量,那么盘算上面表
3、白式后,x的值为()。x=(i=4,j=16,k=32)A)4B)16C)32D)5211逻辑运算符两侧运算工具的数据范例A)只能是0跟1B)只能是0或非0负数C)只能是整型或字符型数据D)能够是任何范例的数据12假定盼望当A的值为奇数时,表白式的值为“真,A的值为偶数时,表白式的值为“假。那么以下不克不及满意请求的表白式是A)A%2=1B)!(A%2=0)C)!(A%2)D)A%213.语句while(!E);中的表白式!E等价于。A)E=0B)E!=1C)E!=0D)E=114上面次序段的运转后果是a=1;b=2;c=2while(ab&ac)t=a;a=b;b=t;c-;printf(%
4、d,%d,%d,a,b,c);A)1,2,0B)2,1,0C)1,2,1D)2,1,115以下次序段x=-1;dox=x*x;while(!x);A)是逝世轮回B)轮回履行二次C)轮回履行一次D)有语法过错16以下准确的函数本相阐明语句是A)voidfun(intx);B)floatfun(voidy);C)doublefun(x);D)int(charch);17在C言语中,形参必需是A常量B变量C.数值D表白式18C言语的函数A能够嵌套挪用,不克不及递归挪用B能够嵌套界说C既能够嵌套挪用,也能够递归挪用D不克不及够嵌套挪用19正当的数组界说是Ainta=string;Binta5=0,1,
5、2,3,4,5;Cchara=string;Dchara=0,1,2,3,4,5;20表白式strlen(“string)+strlen(“C)的运算后果为A9B10C7D821假定有界说跟语句:chars10;s=“abcd;printf(“%sn,s);那么后果是以下u代表空格AabcdBaCabcduuuuuD编译不经过22假定已界说:inta9,*p=a;并在当前的语句中未改动p的值,不克不及表现a1地点的表白式是Ap+1Ba+1Ca+D+p23假定有intx,*pb;那么准确的赋值表白式是Apb=&xBpb=x;C*pb=&x;D*pb=*x24设有次序段:chars=china;c
6、har*p;p=s;那么上面表白准确的选项是As跟p完整一样B数组s中的内容跟指针变量p中的内容相称C*p与s0相称Ds数组长度跟p所指向的字符串长度相称25上面临构造变量的表白中过错的选项是A一样范例的构造变量间能够互相赋值B经过构造变量,能够恣意援用它的成员C构造变量中某个成员与那个成员范例一样的复杂变量间可互相赋值D构造变量与复杂变量间能够赋值26假定有构造范例界说如下:structbdintx;floaty;r,*p=&r;那么,对r中的成员x的准确援用是A(*p)r.xB(*p).x27在一个函数里不克不及阐明A全局变量B静态变量C部分变量D静态部分变量28以下对于文件包括的说法中过
7、错的选项是A文件包括是指一个源文件能够将另一个源文件的全体内容包括出去。B文件包括处置下令的格局为include“包括文件名或includeC一条包括下令能够指定多个被包括文件D文件包括能够嵌套,即被包括文件中又包括另一个文件。29以下语句中,将C界说为文件型指针的是AFILEc;BFILE*c;Cfilec;Dfile*c;30上面临typedef的表白中不准确的选项是A)用typedef能够界说各品种型名,但不克不及用来界说变量B)用typedef能够添加新范例C)用typedef?是将已存在的范例用一个新的标识符来代表D)运用typedef有利于次序的通用跟移植二、写出以下次序的运转后果
8、每题3分,共24分1.以下次序的输入后果是。#includestdio.hmain()intx=3;switch(x)case1:case2:printf(x3n);break;default:printf(xunknown);2以下次序的输入后果是。#includevoidmain()inti,j,x=0;for(i=0;i2;i+)for(j=0;j3;j+)if(j%2)continue;x+;printf(“x=%dn,x);3.以下次序的输入后果是。#includestdio.hstaticintx=20;voidf1(intx)x+=10;printf(“%df1()n,x);vo
9、idf2()x+=10;printf(“%df2()n,x);voidmain()intx=10;f1(x);f2();printf(“%dmain()n,x);4以下次序的输入后果是。#include#defineSvoidmain()intn=5,i,j;for(i=1;i=n;i+)for(j=1;j=10;j+)putchar(S);for(j=1;j=n-i;j+)putchar(S);for(j=1;j=i;j+)putchar(*);putchar(n);5.以下次序的输入后果是。#includevoidmain()staticinta=5,7,9;int*p=a;+p;prin
10、tf(“%d%d%d%dn,*a,*(a+2),*(p+1),p1);6.上面次序的运转后果是#include“stdio.hvoidmain()chara=“ab12cd34ef;inti,j;for(i=j=0;ai;i+)if(ai=a&ai=z)aj+=ai;aj=0;printf(“%sn,a);7.上面次序的运转后果是#include“stdio.hvoidmain()int*p,i;i=100;p=&i;i=*p+10;printf(“%d%dn,I,*p);8.上面次序的运转后果是voidmain()structcmplxintx;inty;cnum2=1,3,2,7;prin
11、tf(“%dn,cnum0.y/cnum0.x*cnum1.x);三、次序填空:依照题意,将空白的语句补上。每空3分,共30分1.以下次序对输入的两个整数,按从年夜到小次序输入。请填空。main()intx,y,z;scanf(“%d,%d,&x,&y);if(1)z=x;(2)printf(“%d,%dn,x,y);2.以下次序实现的功用是求1+2+3+10的累加跟,并进展累加跟的输入打印。变量sum是寄存累加值的。#includestdio.hmain()(3)i=1,sum=0;for(;i=10;)sum+=i;(4)printf(%dn,sum);3.上面次序的功用是用函数递归挪用的
12、办法界说函数intf(intm,intn)求mn。请填空。intf(intm,intn)ints;if(5)s=1;elses=(6);return(s)4.以下次序的功用是求数组num中小于零的数据之跟。请填空。#includevoidmain()intnum20=10,20,1,-20,23,-21,2,-2,-2,11,-21,22,12,-2,-234,-90,22,90,-45,20;intsum=0,i;for(i=0;i=19;i+)if(7)sum=(8);printf(“sum=%d,sum);5.以下次序将数组a中的数据按逆序寄存,请填空。#defineM8main()in
13、taM,i,j,t;for(i=0;iM;i+)scanf(%d,a+i);i=0;j=M-1;while(ij)t=*(a+i);(9);*(10)=t;i+;j-;for(i=0;i32.x=43.20f1()30f2()10main()4.*5.59996.abcdef7.20208.6三、次序填空:依照题意,将空白的语句补上。每空3分,共30分(1)xy(2)x=y;y=z;(3)inti,sum;(4)printf(“%d,sum);(5)n=0(6)m*f(m,n-1)(7)numi0(8)sum+numi(9)*(a+i)=*(a+j)(10)a+i四、编程题(第1题8分,第2题8分)1#includevoidmain()intx;scanf(“%d,&x);if(x%5=0&x%7=0)printf(“yes);elseprintf(“no);2#includevoidmain()intn,sum=0.0;while(n!=0)sum=sum+n%10;n=n/10;printf(“nsum=%d,sum);