《C语言在线统考试卷(8——10).pdf》由会员分享,可在线阅读,更多相关《C语言在线统考试卷(8——10).pdf(28页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、e卷座侬懈 统考试卷八(答案及得分)一、单选题1、下列均能作为C语言用户自定义标识符的是_.A Vo i d u ni o n WO R DC B a3_b 3 _123 I FC c F o r -ab c Cas eD 2a Do s i ze o f回答错误,参考答案为:B2、下列选项中,不 正 确 的 赋 值 语 句 是。U A+t;e B nl=(n2=(n3=0);C C k=i=j;C D a=b+c=l;回答错误,参考答案为:D3、若已定义x和y为d o u b le型变量,则执行表达式x=l,y=x+3/2后,y的值是 A 1C B 2C C 2.0CD 2.5回答错误,参考
2、答案为:C4,下列程序段执行后的输出结果是_.i nt s u m,pad;s u m=pad=5;pad=s u m+,pad+,+pad;pr i nt f(d n,pad);A 7c B 6C C 50 D 4|回答错误,参考答案为:A5、设有变量说明:i nt x=2,y=l;执行语句:y=x H y+;后,变量y的值为CA O|l JC B i1 1 1 1C c 2|jl 1。D 3回答错误,参考答案为:B6、下列程序的运行结果_o m ai nO i nt x=3,y=0,z=0;i f (x=y+z)pr i nt f (*);e ls e i f (x=0)pr i nt f
3、 (*#*);e ls e pr i nt f (“$);C A 有语法错误不能过通过编译C B*U C$D#回答错误,参考答案为:D7、以下程序段的输出结果是_。c h ar s t r 12=s ,t ,r ,i ,n,g ;pr i nt f (“%d n,s t r le n(s t r);C A 6C B 7C 11J D 12回答错误,参考答案为:A8、以下说法中正确的是_。U A#definc 和 printf 都是 C 语句C B#define是C语句,而p rin tf是函数 C p rintf是C语句,#define是预处理命令C D#define和prin tf都不是C语
4、句回答错误,参考答案为:D9、下列程序执行后的输出结果是_odefine M A (x)x*(xT)main()int a=l,b=2;printf(*%d n,MA(l+a+b);c A 6e B 8U C 10c D 12回答错误,参考答案为:B10、设有定义:int a =(0,1,2,3,4,5,6,7,8,91,*p=a,i;其 中0 iW 9,则对a数组元素不正确的引用是一C A a10e B *(a+i)C C ap-aC D pi回答错误,参考答案为:A11、设有以下说明语句:struct ex int x;f lo at y;c h ar z;e x am ple;则 下 面
5、 的 叙 述 中 不 正 确 的 是。A s t r u c t结构体类型的关键字C B e x am ple是结构体类型名U C x,y,z都是结构体成员名C D s t r u c t e x是结构体类型回答错误,参考答案为:B12、下面程序段的输出结果是一。e nu m t e am m y,yo u r=4,h i s,h e r=10;pr i nt f (z,%d%d%d%d n”,m y,yo u r,h i s,h e r);C A 0 1 2 3C B 0 4 0 10C C 0 4 5 10。D 1 4 5 10回答错误,参考答案为:C13、在函数中未指定存储类别的变量,其
6、隐含存储类别为C A静态C B自动0 C外部C D 存储器回答错误,参考答案为:B1 4 设有变量说明:c h ar a 6,*p=a;下面表达中,正确的赋值语句是 A a6=H e llo”;B a:H e llo”;C*p=H e llo”J D p=H e llo”;回答错误,参考答案为:D15、命题“当两个字符串s i 和 s 2相等时为真,否则为假”的C 语言表达式为J A s l=s 2。B s l=s 2C C!s t r c m p(s l,s 2)C D s t r c m p(s l,s 2)回答错误,参考答案为:C16、设c h ar*p,q;,则下列语句引用合法且有意义
7、的是回答错误,参考答案为:A17、设有说明:i nt a4 4;与数组元素a3 3 不等价表示的是C A*(a3+3)B*(*(a+3)+3)C C*&a3 3U D*(*(a+3)+3回答错误,参考答案为:D18、下面函数的功能是 o s s s(c h ar *s,c h ar *t)w h i 1e(*s)&(*t)&(*t+=*s+);r e t u r n(*s*t);C A 求字符串的长度e B比较两个字符串的大小C C 将字符串s复制到字符串t中C D 将字符串s接续到字符串t中回答错误,参考答案为:B19、以 下 程 序 段 的 输 出 结 果 是。i nti,x 3 3 =9
8、,8,7,6,5,4,3,2,1,*p=&x l 1 ;f o r(i=0;i 0);p rin t f(%dn ,s);回答错误,参考答案为:6 5 2 14、程序:in t f(in t x,in t y)in t m=5;m+=x*y;ret urn m;m a in()in t m=1 0,a=6,b=7;p rin t f(冬dn”,f(a,b)/m);执行以上程序后,输出结果是 o回答错误,参考答案为:45、程序:in t i,j=2;vo id p()fo r(i=0;i4;i+)p rin t f(,+j);if(i+l)%2=0 )p rin t f(n )m a in()f
9、o r(i=0;i,i);执行以上程序后,输出的第一行是 _ _ _ _ _ _ _,第二行是,第三行是。回答错误,参考答案为:3 4#5 6#56、如果从键盘上输入的数据流为c h i n a*回车,则下列程序运行后的输出结果为。t t in cludem a in ()in t vl=0,v2=0;cha r ch;w hile(ch=get cha r()!=,#*)s w it ch(ch)ca s e a:ca s e h:ca s e n :vl+;defa ult :v2+;p rin t f(d,%dn”,vl,v2);)回答错误,参考答案为:3#57、程序:s t ruct
10、s t in t x:in t *y;)*P:in t dt 4 =1 0,2 0,3 0,4 0);s t ruct s t a a 4 =5 0,&dt 3 ,6 0,&dt 2 ,7 0,80,&dt 0 ;m a in ()p=a a;p rin t f(%d n ,(+p)x);p rin t f(%dn”,+(*p y);执行以上程序后,输出的第一行是,第二行是回答错误,参考答案为:6 0#3 1四、完善程序题1、以下程序的功能是欲从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入T 时结束输入。m a in ()flo a t x,a m a x,a m ins
11、ca n f(%f ,&x);a m a x=;a m in=x;w hile()if()a m a x=x;if()a m in=x;s ca n f(“%f”,&x);)p rin t f(n a m a x=%fn a m in=%fn”,a m a x,a m in);回答错误,参考答案为:x!=T 或 x=:O#a m a x a m a x#a m in x 或 x A M I 2、4下面程序的功能是计算1 0 0 到 1 0 0 0 之间有多少个数其各位数字之和是5。m a in O in t i,s,k,co un t=0;fo r(i=1 0 0;ida t a(hea d-
12、da t a#)p-n ex t(hea d-n ex t)4、以下程序的功能是用二分法求方程2 x 3-4 x 2+3 x-6=0的根。请填空。#in clude _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _flo a t f(flo a t x)ret urn z*x*x*x-4*x*x+3*3-6 ;m a in ()flo a t m=-1 0 0,n=90,r;r=(m+n)/2;w hile(f(r)*f(n)!=0)if(0 )m=r;els e n=r;if(fa b s(f(r)le-6)b rea k;r=(m+n)/2;p rin t f(T his
13、 fa n gchen g jie is%6.3 f n ,r);回答错误,参考答案为:#in clude#f(r)*f(n)5、程序定义了 NX N的二维数组,并在主函数中按行为主序赋予1到n 2的自然数。fun函数的功能是:使数组第一列元素中的值与最后一列元素中的值对调、第二列元素的值与倒数第二列中的值对调、其他依次类推。请按算法要求完善下列程序。/in c l u d e d e f in e N 5in t fun()in t i ,m,t;f o r(m=0;mf o r(i=0;i t =a m i;a m N-l-i1=t;)m ain ()in t a N N,i,j,k=l;
14、p r in t f(*T h e ar r ay *n);f o r(i=0;i f o r(j=0;j a i j =k+;p r in t f C%4d/Z,a i j );)p r in t f (n);)f u n (a);p r in t f (*T h e r e s u l t *n);f o r(i=0;i f o r(j=0;jp r in t f (4d”,a i j ):p r in t f (n);回答错误,参考答案为:c h ar a N 或 c h ar(*a)N#a m i=a m N-l-i6、现有10个整数12、8、23、6、15、9、32、41、28、21
15、存放长度为10的数组 a 中,函数v o id s o r t(in t a口)的功能是使用冒泡算法对其进行从小到大排序。请完善函数并回答题后提出的问题v o id s o r t (in t a口)in t i ,j ,d o n e=0,t e m pf o r(i=l;i10&!d o n e;i+)d o n e =1f o r(j=0;j b)&(n=c d);后,n i和n的值分别为e A i,iC B 1,0c C 0,1CD o,o回答错误,参考答案为:c4、执行循环语句:f o r(x=0,y=0;y 1=250 x s e x);C B s c an f (%s”,s t
16、u.n am e);C c s c an f (“d”,&s t u.ag e);D s c an f (%f ”,p s c o r e);回答错误,参考答案为:D7、执 行 以 下 程 序 的 输 出 结 果 是。m ain ()in t *p=NU LL;p r in t f (%d n”,p)C A数字0C B空c c 字符0C D 语法错,程序回答错误,参考答案为:D8、br e ak 语句。C A 用在能出现语句的任何地方C B 只能用在循环体内C 只能用在循环体内或s w it c h语句中C D 可用作函数内的任一语句回答错误,参考答案为:C9、以下四个字符序列中,能用作用户自
17、定义的标识符是J A p u t c h arC B-d o u bl eC C A123-C D in t回答错误,参考答案为:A10 设有说明:in t x=2,y=3;则+x y-?x :y 的值为_C A!C B 2 C 3c D 4回答错误,参考答案为:B11、执行以下程序m ain ()c h ar s t r 13;s c an f (u%sw,s t r);p r in t f (a%s nw,s t r);)若输入数据为:abe d 1234 e f g h则 程 序 的 输 出 是。C A abe dC B abe d 1234 e f g hC C abe d 1234C
18、 D abc d l 234e f g h回答错误,参考答案为:c12、设有说明:in t x=l,y=l,z=l,c;执行语句“c =-x&-y I I-z;”后,X,y,z的值分别为_。c A 0,b 1C B 0,1,0C c 1,0,1CD o.o,i回答错误,参考答案为:B13、以下能将字符串“g o o d!”正确地存放在字符数组s中,或使指针s能指向这个字符串的是_。C A c h ar s 4=g ,o ,o ,d ,C B c h ar s 51;s=u g o o d!n,U C in t s 5=g o o d!M;C D c h ar *s:s=*g o o d!;回答
19、错误,参考答案为:D14、以下程序的输出结果是_。m ain O in t a =l,2,3,4,5,6,*p=a;*(p+3)+=2;p r in t f (%d,”,*+p);p r in t f(%d n”,*(p+3);)C A 1,5 B 2,5C c 1,6D 2,6回答错误,参考答案为:B15、设有说明:u n io n d at a in t i;f l o at f;s t r u c t in t x;c h ar y;s;d o u bl e d;a;在 16位 P C 机环境下,in t 类型的整数占用二个字节,则变量a 在内存中所占字节数为_ 0c A 8!|C B
20、17C C 9C D 15回答错误,参考答案为:A二、填空题1、C 程序是由函数构成的,一个C 源程序至少包含一个_ _ _ _ _ _ _ _ _ _函数,一个C 语句至少包含一个_ _ _ _ _ _ _ _ _ _ _.回答错误,参考答案为:m a i n#;2、在函数体内说明的变量称为_ _ _ _ _ _ _ _ _;在所有函数之外说明的变量称为回答错误,参考答案为:局部 变 量(内部变量)#全局变量(外部变量、全程变量)3,在 C 语言程序中,若需要调用库函数s t r c p y (),则必须包含头文件_;若需要调用库函数i s d i g i t C,则必须包含头文件回答错误,
21、参考答案为:s t r i ng,h 或#i nc l u d e#c t y p e.h 或#i nc l u d e4、c 语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是_ _ _ _ _ _ _;数组名作为实参时,传递给对应形参的是数组的回答错误,参考答案为:值传递或单向值传递#地址传递5、在 C 语言中,以#开头的一行命令被称为_ _ _ _ _ _ _ _ _ 命令行,它是在_ _ _ _ _ _ _ _ _前被处理的。回答错误,参考答案为:预 处 理#编译前三、读程写结果1、下列程序执行后的输出结果是_ _ _ _ _ _ _ _ _ _ _。d e f i ne M
22、A(x)x*(x-l)m a i n()i nt a=l,b=2;p r i nt f(*%d n”,MA(l+a+b);回答错误,参考答案为:82、若从键盘上输入的数据流为:e f g h,其中表示回车,则下列程序执行后的输出结果是_ _ _ _ _ _ _ _ _ _ _ _ _ om a i n()c h a r s t r 1 3=aa b e d 1 2 34w;s c a nf(%s ,s t r);p r i nt f(%s n ,s t r);回答错误,参考答案为:e f g h3、下列程序的运行结果是_ _ _ _ _ _ _ _ _ _。m a i n()c h a r i
23、,x =t h e t e a c h e rw;i=O;w h i l e(x +i !=O)i f(x i-l =t )p r i nt f (%c ,x i );回答错误,参考答案为:h e4、下列程序的运行结果是_ _ _ _ _ _ _ _ _ _ _ om a i n()c h a r c h 7 =6 5 2 1”;i nt i,s =0;f o r(i=0;c h i !=0*;i+)s=1 0*s+c h i O;p r i nt f (%d n ,s);)回答错误,参考答案为:6 5 2 15、下列程序的运行结果是_ _ _ _ _ _ _ _ _ _oi nt f (i
24、nt x,i nt y)i nt m=5;m+=x*y;r e t u r n m;m a i n()i nt m=1 0,a=6,b=7;p r i nt f (%d n”,f (a,b)/m);回答错误,参考答案为:4四、完善程序题1、下程序的功能是欲从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入-1 时结束输入。m a i n()f l o a t x,a m a x,a m i n;s c a nf (“%f ”,&x);a m a x=x;a m i n=x;w h i l e (_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )i f (_
25、_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )a m a x=x;i f (_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ )a m i n=x;s c a nf (“f ”,&x);p r i nt f (na m a x 二%f na m i n二%f n”,a m a x,a m i n);回答错误,参考答案为:x!=-l 或 x=0#a m a x a m a x#a m i nx KX AM1 N 2、下面程序的功能是计算1 0 0 到 1 0 0 0 之间有多少个数其各位数字之和是5。m a i n()i nt i,s,k,c o u nt=
26、0;f o r(i=1 0 0;i =1 0 0 0;i+)s=0;k=I;w h i l e (k )s =s+k%1 0;k =_ _ _ _ _ _ _ _ _ _;i f (s!=5 )_ _ _ _ _ _ _ _ _ _ _;c o u nt+;p r i nt f(%d n ,c o u nt);回答错误,参考答案为:k/1 0#c o nt i nu e3、有如下说明:s t r u c t 1 i n k i nt d a t a;s t r u c t 1 i nkne x t;*p;p=(s t r u c t 1 i nk *)m a l l o c(s i z e o
27、 f(s t r u c t 1 i nk);并假设已成功申请结点空间,现要求将p串接到头结点h e a d 上,写出建立如下图所示的存储结构和赋值所需的语句。h e a dd a t a ne x th e a d =_ _ _ _ _ _ _ _ _ _ _;_ _ _ _ _ _ _ _ _ _ _ _=2 0;_ _ _ _ _ _ _ _ _ _ _ _ _ =N U LL d a t a(h e a d-d a t a)#p-ne x t(h e a d-ne x t)4、下程序的功能是用二分法求方程2 x 3-4x 2+3x-6=0 的根。请填空。#i nc l u d e _
28、_ _ _ _ _ _ _ _ _ _ _ _ _ _f l o a t f(f l o a t x)r e t u r n z*x*x*x-4*x*x+3*3-6 ;m a i n()f l o a t m=-1 0 0,n=9 0,r;r=(m+n)/2;w h i l e (f(r)*f(n)!=0)i f (_ _ _ _ _ _ _ _ _ _ _ _ 0 )m=r;e l s e n=r;i f(f a b s(f(r)2)的所有不同因子之和(m自身除外)。设m的因子个数不超过100个。求因子的算法是:将m分别除以2,3,4,,(in t)s q r t(m);若相除得到两个互异因
29、子,则小者依次存入数组f a c左端,大者逐个存入f a c的右端。当求出全部因子后,将所有因子按从小到大的顺序集中存放在f a c的左端。例如:m二16,其所有因子为1,2,4,8;因子个数为4,其和为15。t t in c l ud el o n g f a c t o r(in t m,in t *f a c,in t *n)in t r ig h t,l ef t,k=m,i ;l o n g s um 2):);s c a n f (%d ,&m);p r in t f (n Sum o f f a c t o r=%l d nw,f a c t o r(m,f a c,&n um)
30、;6、现有10个整数12、8、23、6、15、9、32、41、28、21存放长度为1 0的数组a中,函数vo id s o r t (in t a口)的功能是使用冒泡算法对其进行从小到大排序。请完善函数并回答题后提出的问题。vo id s o r t (in t a口)in t i,j,d o n e=0,t em p;f o r (i=l;i10&!d o n e;i+)d o n e=1;f o r(j=0;jX和表达式(+q)x的值分别为c A 1,1c B 1,3C C 2,30 D 3,3回答错误,参考答案为:C2、在C语言中,错误的语句是.C A a=b=cC breakJ D b
31、=3*5,a*=4;回答错误,参考答案为:C3、有关宏定义的正确说明是_ _ _ _ _ _ _ _ _。A 可以出现在一行中的任何位置C B 只能放在程序的开头,且每一个宏定义单独占一行 C 可出现在程序的任何位置C D 以井开头的行,可出现在程序的任何位置,通常每一个宏定义只能单独占一行,使用字符“”可实现一个宏定义占用若干行。回答错误,参考答案为:1)4、执行 int k=ll;k=l/3*k+后;k 的值是_。CA OC B 3C C 4e D 1 2回答错误,参考答案为:A5、以下常量中正确的是_。A a b c C B xl2 3,C 3.1 4 5 E-1.2 D“a”回答错误,
32、参考答案为:D6、若有int a ;以下不能正确表达数学关系1 0 A 1 5的表达式是_ O A 1 0 A 1 5 C B a=ll|a=1 2|a=1 3|a=1 4J C a 1 0&a 1 5C D!(a=1 5)回答错误,参考答案为:A7、若有 int a 4=1,2,3,4,5,6,7,8,9,1 0 ,*p=*(a+l);则值为 9 的表达式是 OC A p+=3,*p+C B p+=4,*(p+)c C p+=4,*+pC D p+=4,+*p回答错误,参考答案为:B8、以下关于if语 句 的 错 误 描 述 是 .C A 条件表达式可以是任意的表达式0 B 条件表达式只能是
33、关系表达式或逻辑表达式C C 条件表达式的括号不可以省略 D 与e lse配对的if语句是其之前最近的未配对if语句回答错误,参考答案为:B9、设有以下函数定义,则返回的函数值是。ma in()int x,*y;y=f un(&x);int*f un(int*a)int*t;*a=99;t=a;re turn t;)C A 无确定的值C B 形参a的地址 C 主程序中变量x的地址C D 函数中变量t的地址回答错误,参考答案为:C1 0、以 下 程 序 输 出 结 果 是 int a=0,b=4,k=2;k=a+l0|(+a 0)&(!b-amax.x A M I N 3、下面程序的功能是计算1
34、 0 0到1 0 0 0之间有多少个数其各位数字之和是5。请填空。mai nO i nt i,s,k,cou nt=0;f or(i=1 0 0;i=1 0 0&n=999)a_=n;)r e t u r n :)回答错误,参考答案为:i+#s canf(“%d“6、下列程序的功能是欲求一个函数的值。该函数为:当x l 时,y=4x 2-5;当时,产3 x+5。输入x 的值,求出相应y的值。请填空。t t i ncl u demai n(i nt x,y;s canf(a%df,&x);i f ()y=3*x+5;e l s e y=;pr i nt f (r tx=%-3 d,y=%dnw,
35、);)回答错误,参考答案为:x=-1&Xdat a=2 0#p-ne x t=N U LL四、完善程序题N o.1,I D=3 40 1、求 F i bonaci i 数列的前2 0 项。这个数列有如下特点:第 1,2 项是1,从第3 项开始该项是其前两项之和该数列为:1,1,2,3,5,8,1 3,。请设计程序,生成该数列并按每行4 个数进行输出。回答错误,参考答案为:mai n。long int f 20=1,1;int k;for(k=2;k20;k+)fk=fk-l+fk-2;for(k=0;k20;k+)if(k%4=0)printf(4,nw);printf(;)No.2,ID=7962,从键盘上输入一个正整数,判断m是否是素数,若是,则输出“yes”,否则,输 出“no”回答错误,参考答案为:#includemain()int i,k,m;scanf(%d,&m);k=sqrt(m);for(i=0;i=k;i+)i f(m%i=0)break;if(ik)printf(y e s);else p rin tf(no);总分:100分您的得分:0分正确率:0%
限制150内