
C语言期末题库(八套试卷)及答案.pdf
49页c语言期末题库(一)p r in t f(%d,a);)(总分100分,考试时长9 0分钟)一、单项选择题(每小题2 分,共 40分)1、在 下 面 的 运 算 符 中,不 是 算 术 运 算 符 的 是A +B、=C、%D、+2、下列选项不是c 关键字的是_ _ _ _ _ _ _oA、t y p edefB、v o idC b o o lD、in c3、若有定义 do ub le a;,则正确的输入语句是A s ca n (%if”,a);B、s ca n f(n%f”,&a);C、s ca n (“I f”,&a)D、s ca n (r,%lew,&a);4、下列程序的输出结果是 om a in ()(in t a=0,i;fo r (i=l;i (*p )(a ,b);D、*p (a ,b );7、若 in t n;flo a t f=1 3.8;,则执行 n 二(in t)f%3 后,n 的值是A、1B、4C、4.333333D、4.68、以下定义数组中错误的是As in t a 1 0;B、in t a 220;C、in t a 20;D、in t a;9、若有说明语句:cha r c=72;则变量c 一。
A、包含1 个字符B、包含2 个字符C、包含3 个字符D、说明不合法,C 的值不确定1 0、在下列各项中,运 算 级 别 最 低 的 为A、算术运算符B、关系运算符w _L C、逻辑运算符D、圆括号()1 1、有以下程序:m a in ()(in t a=l,2,3,4,5,6,7,8,9,0),*p;fo r (p=a;p 若已定义:in i a 9,*p=a;并在以后的语句中未改变p的值,不能表示a l地址的表 达 式 为()oA、p+lB、a+1C、a+D、+p1 5、有以下程序m a in ()(in t i=l,j=l,k=2;if(j+k+)&i+)p r in t f C%d,%d,%dn ,i,j,k);执行后输出的结果是 OA、1,1,2B、2,2,1C、2,2,2D、2,2,31 6、结构化程序设计方法的结构不包括_ _ _ _ _ _ _ _oA、顺序结构B、分支结构C、循环结构D、跳转结构1 7、有以下程序s t r uct s(in t n;in t a 20;);v o id f(in t *a,in t n)(in t i;fo r (i=0;i n-l;i+)a i+=i;)m a in ()(in t i;s t r uct s s=1 0,2,3,1,6,8,7,5,4,1 0,9 ;f(s.a,s.n);fo r (i=0;i s.n;i+)p r in t f(%d,s.a i);)程序运行后的输出结果是 OA、2,4,3,9,1 2,1 2,1 1,1 1,1 8,9,B、3,4,2,7f9,8,6,5,1 1,1 0,C、2,3,1,6,8,7,5,4,1 0,9,D、1,2,3,6,8,7,5,4,1 0,9,1 8、有以下程序m a in ()(in t a,b,c=246;a=c/1 0 0%9;b=(-l)&(-!);p r in t f(d,%dn”,a,b);)输出结果是。
A、2,1B、3,2C、4,3D、2,-11 9、若有以下数组说明,则 i=1 0;元素数值是in t a 1 2=1,4,7,1 0,2,5,8,1 1,3,6,9,1 2);A、1 0B、9C、6D、520、下列程序的输出结果是.s t r uct s t u(cha r n um 1 0;flo a t s co r e3;)in t m a in()(s t r uct s t u s 3=20 0 21 ,90,95,85,“20 0 22,95,80,75,20 0 23,1 0 0,95,90);s t r uct s t u*p =s;in t i;flo a t s um =0;fo r(i=0;i s co r ei;)p r in t f(,z%6.2f”,s um);r et ur n 0;A、260.0 0B、270.0 0C、280.0 0D、285.0 0二、判 断 题(每小题2分,共20分)()1、函数的形参都属于全局变量)2、do -w hile语句的一般形式如下,第一次进入循环时,首先执行循环体语句,然后再检查循环控制条件,即计算表达式,若值为 真,继续循环,直到表达式的值为 假”,循环结束,执行do -w hile的下-条语句。
do(循环体语句)w hile(表达式);()3、在 s w it ch语句中必须使用b r ea k语句()4、选择结构可以使用嵌套形式,但是循环结构不可以使用嵌套形式)5、c语言标准输入操作中,g e t s()函数一次只可读取一个字符)6、c 语言中输入与输出操作都是由自定义函数来实现的)7、己有定义:c h a r a 三 x y z,b =x ,y ,z ;则数组a和 b的长度相同()8、在函数的定义和调用过程中,形式参数和实在参数数目可以不一致()9、在 c 语言中,引用数组元素时,数组下标的数据类型只能是整型常量)()10、要使用标准输入、输出函数,正常情况下应该在文件的开头加上以下内容:#include或#includegraphics.h三、编 程 题(每小题分,共 40分)1、一球从100米高度自由落下,每次落地后反跳回原高度的一半;再落下,求它在第10次落地时,共经过多少米?第10次反弹多高?(本题10分)2、编写程序:有一个已经排好序的数组现输入一个数,要求按原来的规律将它插入数组中本 题14分)3、建立一个链表每个结点包括学号、姓名、性别、年龄、地址输入一个学号打印该学号的学生的所有信息。
如无此学号,则输出“没有找到“,使用结构体实现(本题16分)w参考答案一、单项选择题1、B【解析】算术运算符包括:+、-、*、/、%+、-O 而选项B中的=属于关系运算符2、D3、D4、A5、B6、C7、A8、C【解析】考查数组的定义方法解题要点二维数面的二维不能省略考点链接数组的下标是从零开始的9、A【解析】C 语言的字符型常量中,允许用一种特殊形式的字符常量,就是以一个“”开头的字符其中,“d d d”表示用A S CH码(八进制数)表示一个字符,本题中的c h arc=7 2,即表示占一个字符的变量c的A S C H 码值1 0、C【解析】如果在同一个表达式中出现不同的运算符,其优先顺序为:先执行算术运算、字符串运算和日期时间运算,其次执行关系运算,最后执行逻辑运算如果在表达式中包含圆括号,首先应该计算出圆括号中的结果,其优先级最高1 1、A【解析】C语言规定数组变量名代表数组的首地址,即第0号元素的地址本题将a 数组中的值全部输出,即为1,2,3,4,5,6,7,8,9,0,.1 2、C【解析】C语言程序的模块化通过函数来体现,所以选择C 1 3、D1 4、C1 5、C1 6、D1 7、A【解析】本题中,在调用函数时将结构体变量的两个成员作为实参,其中的成员数组a实际向函数f()传递的是该数组的地址,因此在函数f()中所对应的形参发生改变时,该数组内的数据也会发生改变。
函数f()实现的功能是将成员数组中的前9个元素分别加上该元素的下标,作为新的元素1 8、A1 9、B2 0、B二、判断题1、错误2、正确3、错误4、错误5、错误【解析】g e t s 从标准输入设备读字符串函数,可以无限读取,不会判断上限6、错误7、错误8、错误9、错误1 0、错误三、编程题1、程序分析:见下面注释程序源代码:main()(f loat s n=1 0 0.0,h n=s n/2;int n;f or(n=2;n=1 0;n+)(s n=s n+2*h n;/*第 n 次落地时共经过的米数*/h n=h n/2;/*第 n 次反跳高度*/)p r int f C t h e t ot al of r oad is%f nz,s n);p r int f(t h e t e nt h is%f me t e r n”,h n);t t inc lu d e s t d io.h main()f loat h=1 0 0,s=1 0 0;int i=l;w h ile(i=1 0)(h=h/2;p r int f (第/2 d 次反弹的高度:%1 2.9 f,第%2 d 次落地时经过的距离:%1 2.8 f n,i,h,i,s);s=s+2*h;i+;)2、#inc lu d e int main()(int a ll =l,4,6,9,1 3,1 6,1 9,2 8,4 0,1 0 0;int t e mp i,t e mp 2,nu mb e r,e nd,i,j;p r int f (原始数组是:n);f or(i=0;i e nd)a 1 0 =nu mb e r;e ls e(f or(i=0;inu mb e r)(t e mp l=a i;a i=nu mb e r;f or(j=i+l;j ll;j+)t e mp 2=a j;a j=t e mp l;t e mp l=t e mp 2;)b r e ak;)f or(i=0;i ll;i+)p r int f (%4 d ,a i);p r int f(n);r e t u r n 0;)【解析】首先判断此数是否大于最后一个数,然后再考虑插入中间的数的情况,插入后此元素之后的数,依次后移一个位置。
3、#inc lu d e#inc lu d e s t r u c t nod e long N o;c h ar N ame 1 0 ;c h ar s e x;int ag e;s t r u c t nod e*ne x t;);nod c*c r e at e link()(s t r u c t nod e*h,*p,*q;long nu m;h=(s t r u c t nod e*)malloc(s iz e of(s t r u c t nod e);P=q=h;p r int f (请输入学生学号(输入0 退出输入)!n);s c an f&n u m);w h i l e(n u m!=0)(p=(s t r u c t n o d e*)m al l o c(s i z e o f(s t r u c t n o d e);p-N o=n u m;wL p r i n t f_(请输入学生姓名,n);s c an f p-N am e);p r i n t f (请输入学生年龄和性别,n );s c an f(d,%c ,&p-ag e,&p-s e x);q-n e x t=p;q 二 P;p r i n t f (请输入学生学号(输入0 退出输入)!n);s c an f&n u m);p-n e x t=N U L L;r e t u r n h;)v o i d f i n d(s t r u c t n o d e*p h e ad,l o n g n u m)(s t r u c t n o d e*p;i f (p h e ad-n e x t-N U L L)(p r i n t f(没有找到.n );r e t u r n;)p=p h e ad-n e x t;w h i l e (p!=N U L L&p-N o!=n u m)p=p-n e x t;i f(p=N U L L)(p r i n t f (没有找到.n);r e t u r n;)e l s ep r i n t f (学生的姓名,%s,年 龄,%d,性 别,%c/?,p-N am e,p-ag e,p-s e x);)i n t m ai n()(l o n g n u m;s t r u c t n o d e*p h e ad;p h e ad=c r e at e l i n 。












