《C语言期末考试试卷(五).pdf》由会员分享,可在线阅读,更多相关《C语言期末考试试卷(五).pdf(8页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言期末考试试卷4学生数 印数 考核方式 闭 卷 考 核 时 间 120分钟(本试卷包括第一卷和第二卷,答卷时间总共120分钟)第一卷 本卷共70分,其中第r26题每题2 分,第 27 32题每题3 分。第一部分:基础知识1、一个C 语言程序是从 开始执行的。A、程序中的第一个语句B、包含文件(头文件)的第一个函数C、名为m a i n 的 函 数 D、程序中的第一个函数2、语句whi l e(!E)中的条件!E 等价于A、E=0 B、E!=l C、E!=0 D、E3、若有以下类型说明语句:c ha r w;i n t x;f l o a t y;d o u b l e z;则表达式w*x+
2、z-y的结果为 类型。A、f l o a t B、d o u b l e C i n t D、c ha r4、一个函数返回值的类型是由一决定的A、r e t u r n 语句中的表达式类型;B、定义函数时所指定的函数类型C、调用该函数的函数的类型D、调用函数时临时类型5、设 x、y、z 和 k都 是 i n t 型变量,则执行下列表达式后,变量x 的值为.x=(y=4,z=16,k=32);A、4 B、16 C、32 D、526、有以下程序:m a i n()i n t i=10,j=l;p r i n t f(%d,%d n”,i-,+j);)执行后输出的结果是A、9,2 B、10,2 C、
3、9,1 D、10,17、以下指针s的指字符串的长度为c ha r *s=t N a m e Ad d r e s s n;A、19 B、15 C、18 D、-128、设有语句i n t a=3;则执行了语句a+=a-=a*a;后,变量a的值是A、3 B、0 C、9 D、-129、对于下面的f o r 循环语句,可以断定它of o r(x=0,y=0;(y!=123)&(x a i D、*(a+i)11、为了判断两个字符串s i 和 s 2是否相等,应当使用A、i f(s l=s 2)B i f(s l=s 2)C、i f (s t r c m p(s l,s 2)D、i f (s t r c
4、m p(s l,s 2)-0)12、对于C 语言程序中的函数,下列叙述中正确的是A、函数的定义不能嵌套,但函数调用可以嵌套B、函数的定义可嵌套,但函数的调用不能嵌套C、函数的定义和调用均不能嵌套D、函数的定义和调用均可嵌套13、有以下程序m a i n()i n t i;f o r(i=0;i 3;i+)s wi t c h(i)c a s e 1:p r i n t f(%d ,i);c a s e 2:p r i n t f(%d ,i);d e f a u l t:p r i n t f (%d ,i):)执行后输出的结果是A、011122 B、012 C、012020 D、12014、
5、假定有以下变量定义:i n t k=7,x=12;则能使值为3 的表达式是A、x%=(k%=5)B、x%=(k-k%5)C、x%=(k-k%5)D、(x%=k)-(k 猊5)15、以下程序的输出结果是m a i n()i n t x=4,y=8;x+=y;y+=x;p r i n t f (%d%d n”,x,y);)A、12 20 B、4 8 C、12 12 D、8 416、有以下程序执行后输出的结果是m a i n O i n t x 8=8,7,6,5,0,0,*s;s=x+3;p r i n t f (0&s 2 i =0);A,将 s 2所指字符串赋给s iB、比较s i 和 s 2
6、所指字符串的大小,若 s i 比 s 2的大,函数值为1,否则函数值为0C、比较s i 和 s 2所指字符串是否相等,若相等,函数值为1,否则函数值为0D、比较s i 和 s 2所指字符串的长度,若 s i 比 s 2的长,函数值为1,否则函数值为018、以下叙述中正确的是一A、全局变量的作用域一定比局部变量的作用域范围大B、静 态(s t a t i c)类型变量的生存期贯穿于整个程序的运行期间C、函数的形参都属于全局变量D、未在定义语句中赋初值的a u t o 变量和s t a t i c 变量的初值都是随机值19、有以下程序,执行后输出的结果是一m a i n O i n t i=l,j
7、=l,k=2;i f (j+|k+)&i+)p r i n t f (a%d,%d,%d n”,i,j,k);)A、1,1,2 B、2,2,1 C、2,2,2 D、2,2,320、以下函数a b c 的功能是一i n t a b c(c ha r *p s)c ha r *p;P=p s;whi l e(*p+);r e t u r n (p-p s);A、比较两个字符串的大小B、求字符串的长度C、将串p s 复制到串p中 D、以上三种说法都不对第二部分:简单程序21、以下程序的输出结果是:m a i n()i n t i=10,j=10;p r i n t f (%d ,%d nw,+i+j
8、+,j);)A、21,10 B、20,10 C、21,9 D、20,922、以下程序的输出结果是:m a i n()i n t m=5;i f (m+5)p r i n t f(%d n ,m);e l s ep r i n t f(%d nw,m-);)A、7 B、6 C、5 D、423、当 a=l,b=3,c=5,d=4时,执行下面一段程序后,x 的值为i f (a b)i f (c d)x=l;e l s e i f(a c)i f(b d)x=2;e l s ex=3;e l s ex=6;e l s e x=7;A、1 B、2 C、3 D、624、以下程序企图把从终端输入的字符输出到
9、名为a b c.t xt 的文件中,直到从终端读入字符#号时结束输入和输出操作,但程序有错。出错的原因是 i n c l u d e m a i n()FI LE*f o u t;c ha r c h;f o u t=f o p e n(a b c.t xt,w );c h=f g e t c(s t d i n);whi l e(c h!=,#)f p u t c(c h,f o u t);c h=f g e t c(s t d i n);)f c l o s e(f o u t);)A、函数f o p e n 调用形式有误B、输入文件没有关闭C、函数f g e t c 调用形式有误D、文件
10、指针s t d i n 没有定义25、有以下程序,执行后输出结果是m a i n Ou n i o n u n s i g n e d i n t n;u n s i g n e d c ha r c;Ju l;u l.c=A ;p r i n t f (c n”,u l.n);)A、产生语法错B、随 机 值 C、A D、6526、有以下程序,执行后输出结果是m a i n()i n t m 3 =1,4,7,2,5,8,3,6,9);i n t i,k=2;f o r(i=0;i 3;i+)p r i n t f(a%d ,m k i );)A、4 5 6 B、2 5 8 C、3 6 9 D
11、、7 8 927、以下程序运行后,输出结果是i n t f u n c(i n t a,i n t b)s t a t i c i n t m=0,i=2;i+=m+l;m=i+a+b;r e t u r n(m);)m a i n O i n t k=4,m=l,n;n=f u n c(k,m);p r i n t f (%d,,n);n=f u n c(k,m);p r i n t f(%d ,n);)A、8,15 B、8,16 C、8,17 D、8,828、在执行以程序时,如果从键盘上输入:ABCd e f,则输出结果为:#i n c l u d e m a i n()c ha r c
12、h;whi l e(c h=g e t c ha r()!=,n,)i f(c h=A&c h=a&c h=z )c h=c h-32;p r i n t f (u%cw,c h);)p r i n t f(“n”);)A、ABCd e f B、a b c DEF C、a b c D、DEF29、有以下程序,执行后输出结果是一i n t *f(i n t *x,i n t *y)i f (*x*y)r e t u r n x;e l s er e t u r n y;)m a i n()i n t a=7,b=8,*p,*q,*r;p=&a;q=&b;r=f (p,q);p r i n t f
13、 (%d,%d,%d n”,*p,*q,*r);)A、7,8,8 B、7,8,7 C、8,7,7 D、8,7,830、下面程序的输出结果是f u n(c ha r *s,i n t p l,i n t p 2)c ha r c;whi l e (p l p 2)c=s p l ;s p l =s p 2;s p 2=c;p l+;p 2;)m a i n()c ha r a =w ABCDEFG”,k,*p;f u n (a,0,2);f u n (a,4,6);p r i n t f (%s n,a);)A、ABCDEFG B、DEFGABC C、GFEDCBA D、CBADGFE31、以下
14、程序的运行结果是一t t i n c l u d e l o n g f u n c(i n t x)l o n g p;i f (x=0|x=l)r e t u r n (2);p=x*f u n c(x-l);r e t u r n (p);)m a i n()(p r i n t f(u%d n”,f u n c (4);)A、8 B、12 C、24 D、4832、下面的程序运行后,全局量t.x和 t.s 的正确结果为s t r u c t t r e e i n t x;c ha r *s;t;f u n c (s t r u c t t r e e t)t.x=10;t.s=c o
15、m p u t e rw;r e t u r n(0);)m a i n O t.x=l;t.s=n m i n i c o m p u t e r”;f u n c (t);p r i n t f(u%d,%s ”,t.x,t.s);)A、10,c o m p u t e r B、1,c o m p u t e r C、1,m i n i c o m p u t e r D、10,m i n i c o m p u t e r第二卷说明:(1)第二卷均为填空题,在阅读和理解原题程序的基础上,在空栏处填入适当的字符、语句以构成一个正确的C 语言程序。(2)答本卷的题目时,要在本卷答题纸上编号对
16、应的栏目中,用钢笔或圆珠笔书写。用铅笔答题无效,在试题上直接答题者无效。请勿在第一卷的答题卡上填写本卷答案。(3)每空栏3 分,共 10个空栏,共 30分。试题一 下列程序是求1+1/2+1/4+1/50的值。#i n c l u d e s t d i o.hm a i n()i n t i=2;f l o a t s u m=l;whi l e (_ _ _(1)s u m=s u m+l.0/i;(2);)p r i n t f(s u m=%f”,s u m);)试题二下列函数用于统计一行字符中的单词个数,单词之间用空格分隔。wo r d _ n u m(c ha r s t r )(
17、i n t i,n u m=0,wo r d=0;f o r(i=0;stri!=(3);i+)i f(4)=0wo r d=0;e l s e i f(wo r d=0)wo r d=l;(5);)r e t u r n(n u m);)试题三 以下函数的功能是删除字符串s中的所有数字字符。v o i d d e l e (c ha r *s)i n t n=0,i;f o r(i=0;s i ;i+)i f(6)s n+=s i ;sn=(7);试题四 以下程序的功能是:从键盘输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。m a i n()f l o a t x 1000,s u m =0.0,a v e,a ;i n t n=0,i;p r i n t f(En t e r m a r k:nw);s c a n f(%f ,&a);whi l e(a=0.0&n 1000)(s u m =(8);x n =_ _ _(9);n+;s c a n f(%f ,&a);)a v e=s u m /n ;p r i n t f(O u t p u t:n”);p r i n t f(a v e=%f n ,a v e);f o r(i=0;i n;i+)if(10)p r i n t f(%f nw,x i );
限制150内