长春某大学C语言题库(八卷)及答案.pdf
《长春某大学C语言题库(八卷)及答案.pdf》由会员分享,可在线阅读,更多相关《长春某大学C语言题库(八卷)及答案.pdf(83页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言题库(一)(总分100分,考试时长90分钟)一、单项选择题(每小题2分,共4 0分)1、用 高 级 程 序 设 计 语 言 编 写 的 程 序,OA、计算机能直接执行B、具有良好的可读性和可移植性C、执行效率高,但可读性差D、依赖于具体机器,可移植性差2、若有定义语句:i nt a=1 0;d ou b le b=3.1 4;,则表达式 a +a+b 值得类型是 oA、ch a rB、i ntC、d ou b leD f loa t3、下 面 程 序 的 输 出 是(口 表示一个空格)i nt a=3 3 6 6;pr i nt fCI%0 8d|a);A、|-0 0 0 3 3 6 6
2、|B、|0 0 0 0 3 3 6 6|C、1 3 3 6 6 D|D、输出格式非法4、运行以下程序后,如果从键盘上输入ch i na#回车,则输出结果为Si nclu d e ma i n()(i nt v l=0,v 2=0;ch a r ch;w h i le (ch=g e t ch a r()!=#)s w i t ch(ch)(ca s e a :ca s e h :d e f a u lt:v l+;ca s e o:v 2+;)pr i nt f (%d,%d n”,v l,v 2);)A,2,0B、5,0C 5,5D、2,55、有以下程序:#i nclu d e ma i n
3、()(i nt x=8;f or(;x 0;x-)(i f(x%3)(pr i nt f (%d,x-);cont i nu e;)pr i nt f (%d,一x);程序的运行结果是 OA、7,4,2B、8,7,5,2C、9,7,6,4D、8,5,4,26、有如下函数定义;v oi d f u nc(i nt a,i nt&b)a+;b+;)若执行代码段:i nt x=0,y=l;f u nc(x,y);则变量x和y的值分别是 oA、0 和 1B、1 和 1C、0和 2D、1 和 27、设有i nt x=l l;则表达式(x+*l/3)的值是A、3B、4C、1 1D,1 28、设有如下定义:
4、ch a r a a 2 20 =a b e d ,a b e d );则以下说法中错误的是.A、a a 是个二维数组,可以存放2 个 1 9 个字符以下的字符串B、a a 是个二维数组,每行中分别存放了字符串 a b e d 和 ABCDC、a a O 可以看作是一维数组名D、a a O 0 可以看作是一维数组名9、下列内容是异常的含义的是 oA、程序编译或运行中发生的异常事件B、程序的语法错误C、程序编译错误D、程序预先定义好的异常事件1 0、字符串 a b c 的长度是 oA、1 1B、7C、5D、31 1、以下对一维数组a的正确说明是 oA、ch a r a (1 0);B、i nt
5、a;C、i nt k=5,a k;D、ch a r a 3=ca,b,J c );1 2、以 下 程 序 的 输 出 结 果 是-#i nclu d e v oi d s w a p(i nt*a,i nt *b)(i nt*t;t=a;a=b;b=t;)ma i n()(i nt i=3,j=5,*p=&i,*q=&j;s w a p(p,q);pr i nt f(l%d%d ,*p,*q);A、23B、3 4C、3 5D、4 51 3 若有定义:i nt*p,x=0,*p,p=&x;,则语句 pr i nt f (%d n,*p)的输出结果是 OA、随机值B、0C、x的地址D、P的地址1
6、4、设函数定义如下:f loa t f l(f loa t a,f loa t b)(r e t u r n(a+b);若有 f loa t x=l.1,y=2.2;,则以下语句中正确的函数调用是 oA、pr i nt f f 1();B、pr i nt f f l(&x,);C、pr i nt f f l(*x,*);D pr i nt f f l(x,);1 5、有以下程序:#i nclu d e ma i n()ch a r cl,c2,c3,c4,c5,c6;s ca nf (%c%c%c%c”,&cl,&c2,&c3,&c4);c5=g e t ch a r ();c6=g e t
7、ch a r();pu t ch a r(cl);pu t ch a r(c2);pr i nt f (%c%c n”,c5,c6);程序运行后,若从键盘输入(从第1 1 列开始)1 23 V 回 车,4 5 6 7 8V 回车 则输出结果是 oA、1 26 7B、1 25 6C、1 27 8D、1 24 51 6、执行循环语句后,i 变 量 的 值 是 i=4;w h i le(i-);p rin tfi);A、0B、-1C、1D、有错误1 7、下面定义结构变量的语句中错误的是一A、s t r u ct s t u d e nt i nt nu m;ch a r na me 20;s;B、s
8、 t r u ct i nt nu m;ch a r na me 20;s;C、s t r u ct s t u d e nt i nt nu m;ch a r na me 20;);s t r u ct s t u d e nt s;D、s t r u ct s t u d e nt i nt nu m;ch a r na me 20;);s t u d e nt s;1 8、以下程序的输出结果是.#i nclu d e f u n(i nt x,i nt y,i nt z)(z=x*x+y*y;)v oi d ma i n()(i nt a=3 1;f u n(5,2,a);pr i nt
9、 f (级d”,a);)A、0B、29C,3 1D、无定值1 9、以下能正确定义二维数组的是 0A、i nt a 3 =1,2,3,4,5,6 ;B、i nt a 3 =2*3 ;C、i nt a 3 =;D、i nt a 3=,3,4 ;20、变量a 所占的内存字节数是 ou ni on u(ch a r s t 4;i nt i;long 1;);s t r u ct A i nt c;u ni on u;a;A、4B、5C、6D、8二、判断题(每小题2分,共20分)()1、宏定义的作用域为从源程序开始起到源程序结束止。()2、下列条件:-3-3&x V 3 o ()()3、定义在ma i
10、 n函数后的任何函数都需在ma i n中进行函数声明()4、以下程序段中,当 i 大于1 0 或者s 大于20 时,循环结束。s =0;i =1;w h i le(i 20)b r e a k;)i+;)()5、若有说明语句ch a r *p=i t i s mi ne ”则 p 变量中存放的是整个字符串()6、f s e e k函数一般用于二进制文件。()7、指针变量可以指向数组,但不允许指向数组元素。()8、m a i n。函数也是c 语言的关键字()()9、在 c 语言中,字符数组可以存放字符串。()()1 0、文本文件和二进制文件都可以用e of 作为文件结束标志。()三、编程题(每小
11、题分,共4 0分)1、请编一个函数i nt f u n(i nt a),它的功能是:判断a 是否是素数,若 a 是素数 返 回 1;若不是素数,返回0。a的值由主函数从键盘读入。(本题1 0 分)2、一个皮球从1 0 0 米高度自由落下,每次落地后反弹回原高度的一半,再落下,再反弹。求当它第1 0 次落地时,共经过了多少米,第 1 0 次反弹多高?(本题1 4 分)3、有以下职工信息,使用结构体数组存储这些信息,从键盘输入5 条记录,之后在屏幕上依次输出职工信息。s t r u c t s t u f f i nt s t u f f I D;职工编号f l oa t b onu s;工资);
12、【输入形式】5条职工信息,分行输入,数据间空格隔开【输出形式】分行输出5 条职工信息和最低工资,每行数据均使用1 个空格分隔【输入样例】1 0 0 1 85 4 0.5 91 0 0 2 6 3 4 5.4 51 0 0 3 3 5 0 0.6 51 0 0 4 4 898.861 0 0 5 5 3 4 5.80【输出样例】每行数据均使用一个空格分割,分五行输出1 0 0 1 85 4 0.5 9m i nB onu s =3 5 0 0.6 5 (本题 1 6 分)1 0 0 21 0 0 36 3 4 5.4 53 5 0 0.6 51 0 0 41 0 0 54 898.865 3 4
13、 5.80参考答案一、单项选择题1、B【解析】用高级程序设计语言编写的程序具有良好的可读性和可移植性。2、C3、C4、C5、D【解析】本题考查f or 循环语句。x=8,f or 循环条件为真,8%3=2,不等于0,则 i f 条件表达式为真,执行第一个输出语句,先输出x的值8,然后将x的值减 1,此时x=7。然后执行c ont i nu e 语句结束本次循环。执行x 表示式,得x=6,f or 循环条件为真.6%3=0,则 i f 条件表达式为假,执行第二个输出语句,先将x的值减1 得 x=5,然后输出x的值5。执行X 表示式,得 x=4,f or循环条件为真,4%3=1,不等于0,则 i
14、f 条件表达式为真,执行第一个输出语句,先输出x的值4,然后将x的值减1,此时x=3。然后执行c ont i nu e 语句结束本次循环。执行x 表示式,得 x=2,f or 循环条件为真,2%3=2,不等于0,则 i f 条件表达式为真,执行第一个输出语句,先输出x的值2,然后将x的值减1,此时x=l。执行x 表示式,得x=0,f or 循环条件为假,循环结束。6、C【解析】本题考查的知识点是:函数参数的传递方式。C的默认参数传递方式是传值,即将实参值的副本传递(拷贝)给被调用函数的形参。如果需要传地址,可通过传递指针、引用或数组类型的参数来实现。传值时,对形参的改变不会影响到实参;而传地址
15、,则会同时改变实参。本题中形参a是普通参数,即传值调用,函数中对a 增 1 不会影响到实参x的值;而形参b 是引用,即传址调用,函数中对b 增 1 同时也改变了实参y的值(y 也增1 了)。故最终结果是 0 和 2,应该选择C。7、A【解析】当自加运算符做后缀表达式的时候,表达式的值不变,只有变量的值增加1,所以表达式(x+*l/3)相当于(1 1*1/3),取整后为3。8、D9、A【解析】异常是在程序编译或运行中所发生的可预料或不可预料的异常事件,它会引起程序的中断,影响程序正常运行。1 0、B1 1、D1 2、C【解析】本题主要考查的是函数参数的传递。在C语言中,函数参数的传递是“传值”的
16、,即复制一份实参给形参,形参和实参是完全没有关系的两个变量。所以在函数内部改变形参变量,并不会影响到函数外部的实参。要实现“传址”调用,必须通过指针。因为将实参指针内容复制给了形参指针后,两个指针变量虽然没有任何关系,但它们指向的却是同一个内存地址,当改变形参指针所指向的那个内存地址的内容时,实参指针所指向的内容也就同时被改变了,从而实现了“传址”调用。但是,并不是说只要函数参数是指针,那肯定 就 是“传址”调用。故选择0。1 3、B1 4、D1 5、D1 6、B1 7、D1 8、C1 9、A2 0、C【解析】结构件变量所占内存长度是各成员占内存长度之和,而共用体变量所占的内存长度等于最长的成
17、员的长度。本题结构体变量a中成员c为整型占2个字节,共用体变量u最大长度为4个字节,故 选C。二、判断题1、错误2、正确3、错误4、正确5、错误6、正确7、错误8、错误9、正确1 0、错误三、编程题1、#i n c l u d e s t d i o.h i n t f u n(i n t a)(i n t i;i f(a=2)r e t u r n 1;i=2;w h i l e(a%i)!=0&i =s q r t(f l o a t)a)i+;i f(a%i=0)p r i n t f (z z%d i s n o t a p r i m e!”,a);r e t u r n 0;)p
18、r i n t f (z/%d i s a p r i m e!z,,a);r e t u r n 1;)m a i n ()i n t x;p r i n t f C n p l e a s e e n t e r a n u m b e r/);s c a n f (%d ,&x);p r i n t f (z z%d nz,,f u n(x);2、#i n c l u d ev o i d m a i n()(i n t i;f l o a t s u m=1 0 0.0,h=5 0;f o r(i=2;i =1 0;i+)(s u m=s u m+2*h;h=h/2;)p r i n
19、t f (%f,%f n ,s u m,h);)3、t t i n c l u d e s t r u c t s t u f f(i n t s t u f f I D;f l o a t b o n u s;a 5 ;i n t m a i n ()i n t i;f l o a t m i n;for(i=0;i 5;i+)scanf(z,%d%f,&ai.stuffID,&ai.bonus);min=a0.bonus;for(i=1;i=ai.bonus)min=ai.bonus;for(i=0;i a,c2、已知 i n t i;f l o a t f;正确的语句是 oA、(i n
20、t f)%iB、i n t(f)%iC、i n t(f%i)D、(i n t)f%i3、c 语言提供的预处理功能包括条件,其基本形式为:#X XX标识符程序段1#e l s e 程序段2#e n d i f 这里的XXX可以是。A d e f i n e 或 i n c l u d eB、i f d e f 或 i n c l u d eC、i n d e f 或 i f n d e f 或 d e f i n eD、i f d e f 或 i f n d e f 或 i f4、以下程序的输出结果是 o#i n c l u d e m a i n O(i n t a=l,b=3;i f(+a
21、0)&!(b 一=0)p r i n t f(z,%d,%d n ,a,b);e l s e p r i n t f(,z%d,%d n,z,b,a);)A、2,2B、1,3C、3,2D、3,15、程序的基本控制结构是 oA、顺序结构,多分支结构和单分支结构B、顺序结构,支结构和循环结构C、顺序结构,选择结构和循环结构。D、单行结构和多行结构。6、如果用数组名作为实参,则 传 递 给 形 参 的 是。A、数组的首地址B、第一个元素的值C、数组元素的个数D、数组中全部元素的值7、正确表示条件100 x W 3 00的 c表达式是 oA、100=x =100,x =100&x =100&x s 2
22、)S;B、i f(s t r c m p(s i,s 2)S;C i f(s t r c m p(s 2,s i)0)S;D、i f(s t r e m p (s i,s 2)0)S;15、下面的程序m a i n()(i n t x=3,y=0,z=0;i f(x 二 y+z)p r i n t f(*);e l s e p r i n t f(z,#);)A、有语法错误不能通过编译B、输出*oC、可以通过编译,但是不能通过连接,因而不能运行。D、输出#。16、以下选项中与i f(a=l)a+;e l s e a=b;语句功能不同的语句是A、s w i t c h(a)e a s e 0:a
23、=b;b r e a k;d e fa u l t:a+;B、s w i t c h(a=l)c a s e 0:a+:d e fa u l t:a=b;C、s w i t c h(a)d e fa u l t:a=b;b r e a k;c a s e 1:a+;D、a=(a=1)(a+):b17、有以下结构体说明和变量的定义,且指针p 指向变量a,指针q 指向变量b o则不能把结点b 连接到结点a 之后的语句是 os t r u c t n o d ec h a r d a t a;s t r u c t n o d e *n e x t;)a,b,*p=&a,*q=&b;A,3 4 7
24、5B、3 5 7 4C、1 234D、1 23518、有以下程序i n t a=2;i n t f(i n t *a)(r e t u r n (*a)+;)m a i n()i n t s=0;i n t a=5;s+=f(&a);)s+=f(&a);p r i n t f(%d n”,s);)执 行 后 输 出 结 果 是。A、10B、9C、7D、819、若有说明i n t a 3 4 ;则a 数组元素的非法引用是A、12 3B、2.5C、-12D、15 6 32 0、以下选项中,能定义m 为合法的结构体变量的是A、t y p e d e f s t r u c t a b c d o u
25、 b l e a;c h a r b;m;B、s t r u c t d o u b l e a;c h a r b;m;C、s t r u c t A B C d o u b l e a;c h a r b;A B C m;D、t y p e d e f A B C d o u b l e a;c h a r b;A B C m;二 判断题(每小题2分,共20分)()1、全局变量本身就是静态存储方式。()2、字符数组定义后,不能用赋值语句将一字符串常量或字符数组直接赋给一个字符数组。()3、在 c 语言中,可以将主调函数放在被调函数的后面,省略函数的声明。()4、w h i l e 语句的一
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 长春 某大学 语言 题库 答案
限制150内