《2021年福建某大学计算机语言C专升本测试卷(十二套试卷)及答案.pdf》由会员分享,可在线阅读,更多相关《2021年福建某大学计算机语言C专升本测试卷(十二套试卷)及答案.pdf(122页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、福建医科大学计算机语言C专升本测试卷(一)总分:【100分】考试时间:【90分钟】一、单 项选择题(共20题,每题2分,共计40分)()1、下列各进制的整数中,值 最 大 的 一 个 是。A、十六进制数78B、十进制数1 2 5C、八进制数2 0 2D、二进制数 1 0 0 1 0 1 1 0【答案】I)【解析】|不同进制数之间的比较,必须统一转换成同一进制的数。一般,转换成十进制数比较方便。十六进制数78转换成十进制数是1 2 0;二进制数1 0 0 1 0 1 1 0 转换成十进制数是1 5 0;八进制数2 0 2 转换成十进制数是1 3 0。()2、以 下 选 项 中 不 能 正 确 赋
2、 值 的 是。A、char *s;s=s t u den t ;char *s 二 s t u den t”;C char s 口=s t u den t”;D、char s 1 0;s=“s t u den t”;【答案】I)【解析】I请仔细阅读交规难度:简单()3、c语言中,关 系 表 达 式 和 逻 辑 表 达 式 的 值 是。A、0B、0 或 1C、1D、T 或F【答案】B()4、关于循环体w hile的说法下列正确的是 oA、循环体的执行次数总比条件表达式多一次B、循环体的执行次数总比条件表达式少一次C、循环体的执行次数与条件表达式无关第1/122页D、循环体的执行次数与条件表达式相
3、等【答案】B()5、以下能对二维数组a进行正确初始化的语句是 oA、in t a口=(1,0,1 ,5,2,3 ;B、in t a 3 =1,2,3 ,4 5,6 ;C、in t a =1,2,3 ,4,5 ,6 ;D、in t =0,1 ,1,1 ;【答案】B【解析】|本题考查对二维数组初始化知识点的掌握。解题要点在初始化语句时,需要注意下面几点:所赋初值个数与数组元素的个数相同;每行所赋初值个数与数组元素的个数不同时,系统将自动给该行其余的元素补初值。;所赋初值行数少于数组行数时,系统将自动给后面各行的元素补初值。;赋初值时省略行花括号对。在给二维数组赋初值时可以不用行花括号对。错解分析选
4、项A 中省略了第二维的大小,所以是错误的;选项C超出了数组的定义范围,所以是错误的;选项D 在初始化赋值的时候出现了错误。考点链接无论是几维的数组,下标都是从零开始的。()6、下列关于实型变量书写正确的是 oA、E 3B、2 e0.3C、1.2 e3D、1.2 E 0.3【答案】(,()7、下列关于c语言字符数组描述正确的是_。A、字符数组可以存放字符串B、字符数组的下标是从0 开始的C、字符数组不能输出字符串D、字符数组可以没有 0【答案】(,()8、以下关于lon g、in t 和s hor t 类型数据占用内存大小的叙述中正确的是_ _ _ _ _ _ _,A、均占4 个字节B、根据数据
5、的大小来决定所占内存的字节数C、由用户自己定义D、由C 语言编译系统决定【答案】D()9、下列数据中属于 字符串常量”的是第2/122页A、AB CB、AB C C、AB C D、A【答案】B()1 0、设有如下定义:c h a r*a a 2 =a b c d ,a b c d ;则 以 下 说 法 中 正 确 的 是。A、a a 数组成元素的值分别是 a b e d 和AB C D”B、a a 是指针变量,它指向含有两个数组元素的字符型一维数组C、a a 数组的两个元素分别存放的是含有4 个字符的一维字符数组的首地址D、a a 数组的两个元素中各自存放了字符 a 和A 的地址【答案】I)(
6、)11、若调用一个函数,且此函数中没有re t u rn 语句,则正确的说法是该函数_ _ _ _ _ _ _ _。A、没有返回值B、返回若干个系统默认值C、有返回值,但返回一个不确定的值D、能返回一个用户所希望的函数值【答案】C【解析】本题考查re t u rn 语句的意义和用法。在C 语言函数调用中,如果被调用函数中没有re t n rn 语句,并不带回一个确定的、用户所希望得到的函数值,而是带回的是一个不确定的值。()12、若x 是整型变量,p b 是类型为整型的指针变量,则正确的赋值表达式是_ _ _ _ _。A、p b=&x;B、p b=x;C *p b=&x;D、*p b=*x【答
7、案】A()1 3、著有下列定义,则()是对a 数组元素地址的正确引用。i n t a 5,*p=a;A、p+5B、*a+lC、&a+lD、&a 0【答案】D()1 4、有以程序i t i n c l u d e 第3/1 2 2 页 i n c l u d e t y p e d e f s t ru c t(c h a r n a m e 9 ;c h a r s e x;f l o a t s c o re 2 ;s t u;v o i d f (s t u a)(s t u b=zh a o,m ,8 5.0,9 0.0;i n t i;s t rc p y (a.n a m e,b.n
8、 a m e);a.s e x=b.s e x;f o r(i=0;i V 2;i+)a.s c o re i =b.s c o re i ;)m a i n()(s t u c=q i a n ,pJ,9 5.0,9 2.0;f (c);p ri n t f (z,%s,%c,%2.Of,%2.Of n ,c.n a m e,c.s e x,c.s c o re 0,c.s c o re 1 );)程序的运行结果是 oA、Qi a n,f,9 5,9 2B、Qi a n,m,8 5,9 0C、Z h a o,f,9 5,9 2D Z h a o,m,8 5,9 0【答案】A()1 5、有以下
9、程序v o i d c h a n g e(i n t k )(k 0=k 5;)m a i n()(i n t x 1 0 =l,2,3,4,5,6,7,8,9,1 0,n=0;w h i l e (n =4)(c h a n g e(&x n );n+;)f o r(n=0;n 有如下定义:s t ru c t s t u d e n t(c h a r n a m e 1 0;i n t a g e;c h a r g e n d e r;)s t d 3 ,*p=s t d;则以下各输入语句中错误的是_ _oA、scanf&(*p).a g e);B、s c a n f (,z%c,z
10、,&s t d 0.g e n d e r);C、s c a n f (,z%cz/,&(p-g e n d e r);D、s c a n f(s ,&s t d.n a m e);【答案】I)()1 8、有以下程序t t d e f i n e f(x)x*xm a i n()(i n t i;i=f(4+4)/f(2+2);p ri n t f (%d n ,i);)执行后输出结果是 oA、2 8B、2 2第5/122页C、1 6D、4【答案】A()1 9、下面是有关c 语言字符数组的描述,其中错误的是一A、不可以用赋值语句给字符数组名赋字符串B、可以用输入语句把字符串整体输入给字符数组C
11、、字符数组中的内容不一定是字符串D、字符数组只能存放字符串【答案】D()2 0、设有如下说明:t y p e d e f s t ru c ti n t n;c h a r c;d o u b l e x;)s t d;则以下选项:能正确定义结构体数组并赋初值的语句是A、ST D tt 2 =l,A,6 2 ,2,B,7 5 ;B、S T D tt 2 =l,A”,6 2,2,B ,7 5);C s tr u e t tt 2 =l,A ,2,B ;D、s tr u c t tt 2 =l,A”,6 2.5 ,2,B”,7 5.0 ;【答案】A【解析】|本题定义了一个结构体类型并白定义类型名为
12、S T D,用户自定义类型后,就可以利用它进行变量与数组的定义。定义的方法,与C 语言中其它类型的定义完全一样,定义结构型数组并赋初值时,每个元素用一对“”和“厂括起来,字符型元素用”括起来,选项A、B、C、D 中只有选项A 符合条件。所以,A 选项为所选。二、填 空 题(共 10题,每题2分,共计20分)1、在c 语言中,一个c h a r 型数据在内存中占 个字节。【答案】12、c 语言的源程序拓展名为0编译后生成()链接后生成()【答案】.c .o b j|.e x e3、在c 语言中,可以用/*/对-c 程序中的任何部分作【答案】注释#屏蔽#注解#解释第6/122页4、在c语言中,用转
13、义字符表示 o答题提示:双引号/单引号/反斜线/横向跳格/回车换行【答案】反斜线5、下 面 程 序 段 的 运 行 结 果 是.i n t i=l,s=3;do(s+=i+;i f(s%7=0)c o n ti n u e;e l s e +i;)wh i l e(s 1 5);p rint fi);【答案】s6、下列程序段的运行结果是 om a i n()(i n t n,s=0;f o r (n=l ;n =6;n+)(i f(n%3=0)c o n ti n u e;s=s+n;)pr i n tf(%dn ,s);【答案】1 27、使文件指针重新定位到文件读写的首地址的函数是。【答案】
14、|r e wi n d8、已知函数定义为:i n t s ta t(i n t a,f l o a t*p),则此函数的两个参数类型分别是、浮点型。【答案】|整形9、以下程序的运行结果是 o#i n c l u de m a i n()i n t a=l,b=2,c;c=m a x(a,b);pr i n tf (/zm a x i s%dn,c);m a x (i n t x,i n t y)第7/122页i n t z;z=(x y)?x:y;r e tu r n (z);【答案】m a x i s 21 0、下列程序段的运行结果是m a i n()(i n t m=l,t=l;f o r
15、 (;)g n*t;t+;i f (t 4)b r e a k;)pr i n tf (/dn ,m);)【答案】2 4三、编 程 题(共 3题,每题分值不等,共计40分)1、试编程判断输入的正整数是否既是5又是7的整倍数。若是,则输出y e s;否则输出n。(本题1 0分)【答案】I m a i n Oi n t i;s c a n f (%d,&i);i f(i%5 =0&说7=0)(pr i n tf (y e s );e l s e(pr i n tf(n o );2、编写程序:输入三角形的边长,求三角形面积(面积=s q r t(s(s-a)(s-b)(s-c),s=(a+b+c)/
16、2)(本题 1 4分)【答案】|#i n c l u de#i n c l u de vo i d m a i n()f l o a ta,b,c,s,a r e a;第8/122页pr i n tf (请输入边长:”);s c a n f(%f%f%f”,&a,&b,&c);s=(a+b+c)/2;a r e a =s q r t(s*(s-a)*(s-b)*(s-c);p r i n t f (面积=%8.3 f”,a r e a);)3、每 个 P A T 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位。正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后
17、,系统会显示该考生的考试座位号码,考试时考生需要换到考试座位就座。但有些考生迟到了,试机已经结束,他们只能拿着领到的试机座位号码求助于你,从后台查出他们的考试座位号码。输入格式:输入第一行给出一个正整数N (W 1 0 0 0),随 后 N行,每行给出一个考生的信息:准考证号试机座位号考试座位号。其中准考证号由1 6 位数字组成,座 位 从 1到 N编号。输入保证每个人的准考证号都不同,并且任何时候都不会把两个人分配到同一个座位上。考生信息之后,给出一个正整数M (W N),随后一行中给出M个待查询的试机座位号码,以空格分隔。输出格式:对应每个需要查询的试机座位号码,在一行中输出对应考生的准考
18、证号和考试座位号码,中间用 1个空格分隔。输入样例:43 3 1 0 1 2 0 1 5 0 9 1 2 2 3 3 2 43 3 1 0 1 2 0 1 5 0 9 1 2 1 1 9 4 13 3 1 0 1 2 0 1 5 0 9 1 2 1 2 6 1 33 3 1 0 1 2 0 1 5 0 9 1 2 0 0 2 3 223 4输出样例:3 3 1 0 1 2 0 1 5 0 9 1 2 0 0 2 23 3 1 0 1 2 0 1 5 0 9 1 2 1 1 9 1 (本题 1 6 分)【答案】p i n c l ud e s t r uc t m e s s a g e(c h
19、 a r m e m b e r 1 8 ;之前定义的字符串数组空间为1 6 个元素,而最后一位有/0,所设空间不够大i n t s h i;i n t k a o;s t r uc t m e s s a g e d 1 0 0 ;i n t m a i n ()i n t N ,i,j;s c a n f(d ,&N);第9/1 2 2 页f o r(i=0;i N;i+)(s c a n f(%s%d%d /z,d i .m e m b e r,s h i,k a o);)i n t a;s c a n f(%d ,&a);i n t m 1 0 ;f o r(i=0;i a;i+)s
20、c a n f (级d ,;输入待查询数组)f o r(i=0;i a;i+)f o r(j=0;j n ex t=&b;D、(*p),n ex t=q;【答案】B第14/122页()15、下列程序的输出结果是 om ain()(in t a=l,b=2;pr in t f(z,%d,%d n ,-a,+b);)A、1,2B、1,3C、0,2D、0,3【答案】I)【解析】本题主要考查自加(+)、自减(-)运算符的使用。“+i,道在使用i之前,先使i的值加1 或者减L 然后再使用i此时的值参与运算;“i+,i”是在使用i参与表达式运算之后,再使i的值加1 或者减1。本 题 中 和+b是先执行a减
21、1 和b加1 操作,再输出表达式的值。()16、有以下程序m ain()(in t c=5,x;s can f&x);s w it ch(x+1)(cas e 6:c+;cas e 8:+c;br eak;defau l t:c+=3;pr in t f(%d,c);)程序运行时,从键盘输入:5回车,程序执行后的输出结果是 oA、6B、7C、8D、语法错【答案】B()17、在1 6位pc机上使用c语言,若有如下定义s t r u ct dat a in t i;char ch;dou bl e f;b;则结构变量b占用内存的字节数是 o第15/122页A、1B、2C、7D、1 1【答案】I)【
22、解析】|结构体变量所占用内存的字节数是其所有成员所占用内存字节数之和。本题中整型变量i所占用的内存是2 字节,字符型变量ch所占用的内存是1 字节,双精度型变量f所占用的内存是8字节,三者相加即可。()18、以下程序片段()。m ain ()(in t x=0,y=0,z=0;if(x=y+z)pr in t f(*);el s e pr in t f(#);)A、输出:#B、输出:*C、可以编译,但不能通过连接,所以不能运行D、有语法错误,不能通过编译【答案】A()19、下 面 程 序 段 的 执 行 结 果 是。#in cl u dem ain()(in t a 5 5,i,j;for(i
23、=l;i5;i+)for(j=l;j5;j+)a i j =(i j)*(j/i);for (i=l;i5;i+)for(j=l;j(i/j)*(j/i)o因为i和j都是正整数,所以当i大于j时,j/i为0,当i小于j时,i/j为0,而0 乘以任何数都为0,故表达式(i/j)*(j/i)在i和j不相等时的值为0。当i和j相等时,i/j和j/i的值都为1,所以表达式(i/j)*(j/i)的值为1。故 二 维 数 组 中 的 a 2 2 a 3 3、a 4 4 被赋为1,其余下标不含0 的元素被赋为0。故应该选择C。()2 0、设有如下定义s t ru ct s s(char n am e 1 0
24、 ;in t ag e;char s ex;s t d 3,*p=s t d;下面各输入语句中错误的是 oA、s can f(%d”,&(*p).ag e);B、s can f(s ,&s t d.n am e);C、s ean(%c,&s t d O.s ex);s can f (%c”,&(p-s ex);【答案】B【解析】|本题考核的知识点是结构型数组的应用。选项A 中“&(*p).ag e”代表的是s t d O ag e的地址,是正确的,选项C也是正确的,选项D 先用指针变量引用结构型的成员s ex,然后取它的地址,也是正确的,选项B 中的“s t d.n am e”是错误的引用,因
25、为s t d是数组名,代表的是数组的首地址,地址没有成员“n am e。所以B 选项为所选。二、填 空 题(共 10题,每题2分,共计20分)1、以下程序的输出结果是 om ain()(in t x=5,y=6;p rin t f (z,%da%d,z,x-,y);【答案】1 5 a5第17/122页2、字符串函数 用于把一个字符串写入指定的磁盘文件中。【答案】f p u t s#f p u t s ()3、共 用 体 类 型 变 量 的 定 义 关 键 字 是。【答案】u n io n4、设x 和y 均为in t 型变量,且x=l,y=2,则表达式LO+x/y 的 值 为()【答案】|1.0
26、5、在循环中,co n t in u e语句与break语句的区别是:co n t in u e语句是语句的区别是:co n t in u e语句是 _ _ _ _ _ _ _ _ ,break 是。【答案】结束本次循环,进入下一次循环,结束循环 6、下面程序的运行结果是 o#in cl u dem ain()(in t i,x,y;i=x=y=0;do(+i;if(i%2!=0)x=x+i;i+;)y=y+i+;)w hil e(i=7);p rin t f (z/x=%d,y=%d n”,x,y);【答案】x=l,y=2 07、在c 语言中,一个函数一般由两个部分组成,它们是 1】和【2】
27、。【答案】|【1】函数声明【2】函数体8、编译预处理包括宏定义、文件包含、()等。【答案】|条件编译9、以下程序的功能是调用函数f u n 计算:m=l-2+3-4+9-1 0,并输出结果。请填空。in t f u n(in t n)in t m=0,f=l,i;f o r(i=l;i=n;i+)第18/122页m+=i*f;f=;)ret u rn m;)m ain ()(p rin t f (/zm=%d nz,,_ _ _ _ _ _ _ _);【答案】|-f 或f*T 或T*f或f*(T)或 f u n(l O)1 0、以下程序的输出结果是 _ _ _ _ _ _ _ _。m ain(
28、)(char*p=abcdef g h,*r;l o n g *q;q=(l o n g*)p;q+;r=(char*)q;p rin t f (/s n ,r);【答案】ef g h 三、编 程 题(共3题,每题分值不等,共计40分)1、编写程序:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。(本题1 0分)【答案】|#in cl u dein t m ain ()(in t n,i;p rin t f(请输入整数:);s can f(d,&n);p rin t f(%d二 ,n);f o r(i=2;i V=n;i+)(w hil e(n%i=0)(p rin t f
29、 i);n/=i;if(n!=l)p rin t f(*);p rin t f(n);第19/122页ret u rn 0;)【解析】|对n进行分解质因数,应先找到一个最小的质数k,然后按下述步骤完成:(1)如果这个质数恰等于(小于的时候,继续执行循环)n,则说明分解质因数的过程已经结束,另外打印出即可。(2)但n能被k整除,则应打印出k的值,并用n除以k的商,作为新的正整数n.重复执行第二步。(3)如果n不能被k整除,则用k+1作为k的值,重复执行第一步。2、输入两个数,交换他们的值并输出。(元素交换)(本题1 4分)【答案】|#inc ludeint ma in()int m,n,temp
30、;s can f&m,&n);if(m n)temp=m;m二 n;n=temp;)printf(%d,m);return 0;3、题 描 述输n(3 W n W 3 0)个学 的数据记录,对于每 个 学,其记录包含了学号、姓名、3门课程(程序设计基础、计算机导论、等数学)的成绩共5项。要求查找程序设计基础低于平均分的学,并输出该的所有信息要求使结构体数组实现,结构体中包括了每个学的5项记录。输共有5 ,每 包含了 个学 的学号(整数)、姓 名(长度不超过3 0的 空格字符串)和程序设计基础、计算机导论、等数学等3门课程的成绩(0 1 0 0之间的整数),空格隔开。输出输出程序设计基础低于平均
31、分的学 的所有信息;每个输出占1 ;如果没有找到的话,输出 “N o”样例输32 0 1 7 0 1 0 3 7 72 0 1 7 0 1 0 3 8 62 0 1 7 0 1 0 4 3 6样例输出2 0 1 7 0 1 0 4 3 6c hensiyua n 9 9 9 1 9 0wa ngling 9 4 9 3 8 8c henhui 8 5 8 8 9 0c henhui 8 5 8 8 9 0 (本题 1 6分)【答案】|#inc ludec onst int N =3 0+5;typedef struc t student 第20/122页int num;c ha r na me
32、 3 0 ;int c xsjjc;int jsjdl;int gdsx;S T U;int ma in()int n,m=0;floa t a ver,sum;s can f&n);S T U stu N ;for(int i=0;i n;i+)sc a nf(,z%d%s%d%d%d,z,&stu i.num,stu i.na me,&stu i.c xsjjc,&stu i.jsjdl,&stu i.gdsx);for(int j=0;j n;j+)sum+=stu j.c xsjjc *1.0;a ver=sum/(n*1.0);for(int k=0;k n;k+)if(stu k.
33、c xsjjc n 为tr u e 或m V n 为tr u e 的表达式为m n&m n I m x,(h l .p)-y);)A、1 2B、2 3C、1 4D、3 2【答案】I)()1 5 有以下程序:vo i d f un(i nt a,i nt b,i nt c)(a=4 5 6:b=5 6 7;c=6 7 8;)ma i n()i nt x=1 0,y=2 0,z=3 0;f un(x,y,z);p ri ntf (%d,%d,%d n,x,y,z);)输出的结果是 OA、3 0,2 0,1 0B、1 0,2 0,3 0C、4 5 6,5 6 7,6 7 8D、6 7 8,5 6 7
34、,4 5 6【答案】B()1 6、有以下程序:#i nc l ud e ma i n()第25/122页i nt i,s=0,t 口 =1,2,3,4,5,6,7,8,9;f o r(i=0;i 9;i+=2)s+=*(t+i);p ri ntf (z,%d n ,s);)A、4 5B、2 0C、2 5D、3 6【答案】C【解析】程序中的*(t+i)相当于t i。由于f o r循环变量的增量为2,因此i分别取值0,2,4,6,8,因为t 0=L t=3,t 4 =5,t 6 =7,t 8 =9,对其进行求和运算,结果为2 5。()17、有以下程序:S i nc l ud e struc t s
35、(i nt a,b;)d a ta 2 =1 0,1 00,2 0,2 00);ma i n()(struc t s p=d a ta l ;p ri ntf(%d n,+(p.a);)程序运行后的输出结果是 oA、1 0B、1 1C、2 0D、2 1【答案】D【解析】声明d a ta是结构S数组。初始化d a ta 0.a=1 0;,d a ta 0.b=1 00;,d a ta l .a=2 0:,d a ta l .b=2 00 主函数中p=d a ta l ;,即p.a=d a ta l .a;,p.b=d a ta l .b;执行语句p ri ntf (z,%d nz,,+(p.a)
36、;打印输出时p.a先增1再打印,即p.a=d a ta l .a=2 0,先增1等于2 1 o()1 8、下列程序的输出结果,是.ma i n()i nt a=0,b=0,c=0;i f(+a 0|+b O)+c;p ri ntf (,z na=%d,b=%d,c=%d,z,a,b,c);第26/122页A、a=0,b=0,c=0B、a=l,b=l,c=lC、a=l,b=0,c=lD、a=0,b=l,c=l【答案】C【解析】I ”是或运算,它有个“短路”的特点需特别注意,当“1 1”运算符左边的表达式的值为真时,则程序就不再对,I”右边的表达式的值进行运算,而是使得整个表达式的值直接为真。()
37、19、下 列 关 于 字 符 串 的 说 法 中 错 误 的 是。A、在C 语言中,字符串是借助于字符型一维数组来存放的,并规定以字符 0 作为字符串结束标志B、0 作为标志占用存储空间,计入串的实际长度C、在表示字符串常量的时候不需要人为在其末尾加入0 D、在C 语言中,字符串常量隐含处理成以0 结尾【答案】B)【解 析 作 为 标 志 占 用 存 储 空 间,但是不计入串的实际长度。当给一个字符型指针赋值时,赋给这个指针的是这个字符串的地址。()2 0、设有如下说明t yp edef s t ru ct s tl o n g a;in t b;char c2;n ew;则下面叙述中正确的是
38、 oA、以上的说明形式非法B、S T 是一个结构体类型C、N E W是一个结构体类型D、N E W是一个结构体变量【答案】(、【解析】t yp edef关键字用于声明一个新的类型名代替已有的类型名。本题中如果没有用t yp edef进行定义的话,则 s t ru ct S T 为结构体类型,现在用t yp edef定义后,相当于用N E W代表了s t ru ct S T 这一结构体类型,故 N E W为结构体类型。二、填 空 题(共 10题,每题2分,共计20分)第27/122页1、有in t x=3,y=-4,z=5;则表达式(x&y)=(x|z)的值为【答案】|12、以下程序的输出结果是
39、m ain()(in t x;p rin t f(%dn”,(x=2*4,x+5);【答案】1 33、若x、y、z均为in t型变量,则描述“x或y中有一个小于z”的表达式是【答案】|(x|y)z4、若in t a=3,b=2,c=l,f;表达式f=a b c 的值是。【答案】。5、在循环的过程中,有时要提前中止循环,通常采用()语句。【答案】break6、下 列 程 序 段 的 运 行 结 果 是。char s i2 0=abcdef ,s 2 5=abc ;s t rcp y(s i,s 2);p rin t f(%c ,s l 2);【答案】(7、如果一个变量要在一个程序中的所有函数都能
40、共享,则应该定义成为。【答案】全局变量8、定义一个指针P,它指向一个有6个整型元素的一维数组,定 义 语 句 为。【答案】|in t *p=a6;9、以 下 程 序 的 输 出 结 果 是。m ain ()(in t a=1 0,b=1 0;p rin t f a-,-b);)【答案】|1 0 a91 0、函数d e l的作用是删除有序数组a中的指定元素x。已有调用语句n=del(a,n,x);其中实参n为删除数组元素的个数,赋值号左边的n为删除后数组元素的个数。请填空。del(in t a,in t n,in t x)第28/122页in t p,i;p=o;w hi 1 e(x=ap&p
41、n)1 fo r(i=p-l;i n;i+)2;n=n-l;ret u rn n;【答案】1 p+2 ai=ai+l 三、编 程 题(共 3题,每题分值不等,共计40分)1、编程判断输入的字符串是否为“回文”。所 谓“回文”是指顺读和倒读都一样,如abcba。(本题1 0 分)【答案】|#in cl u dev o id m ain()(in t i,n;char a2 0;p rin t f(请输入字符串:”);get s (a);n=s t rl en(a);fo r(i=0;i=n)p rin t f(是回文.n );)2、编写程序:求一维数组a 中所有元素的平均值,结果保留两位小数。例
42、如,当一维数组a中的元素为:10,4,2,7,3,12,5,3 4,5,9程序的输出应为:Th e av e r i s:9.10(本题14 分)【答案】|t t i n c l u d e v o i d mai n()(i n t a 10 =10,4,2,7,3,12,5,3 4,5,9 ,i;/*f o u n d*/f l o at av e r,s;/*f o t i n d*/s =a 0;f o r (i=l;i 10;i+)s +=a i ;av e r =s /i;p r i n t f (,zTh e av e r i s:%.2 f n”,av e r);)3、说明一个
43、枚举类型e n u mmo n t h 它的枚举元素为J an、Fe b、De c。编写能显示上个月名称的函数l as t _mo n t h。例如,输入J an 时能显示De c。再编写另一个函数p r i n t mo n 用于打印枚举变量的值 枚举元素。最后编写主函数调用上述函数生成一张12 个月份及其前一个月份的对照表,第29/122页使用结构体实现(本题16分)【答案】#i n c l u d e e n u m mo n t h J an,Fe b,Mar,Ap r,May,J u n,J u l,Au g,Se p,Oc t,No v,De c);c h ar*n ame =J
44、an ,Fe b,Mar ,Ap r ,May ,J u n ,Au g ,Se p ,0c t,No v,De c ;v o i d l as t _mo n t h(e n u m mo n t h ml)e n u m mo n t h m2=(e n u m mo n t h)(i n t)ml-l+12)%12);p r i n t f n a m e (i n t)m 2 );)v o i d p r i n t mo n(e n u m mo n t h m)(p r i n t f(%s,n ame (i n t)m);i n t mai n O(e n u m mo n t
45、h m;f o r(m=J an;m=De c;(e n u m mo n t h)(m+1)p r i n t mo n(m);p r i n t f(n);f o r(m=J an;m10&aa15D、!(a=15)【答案】A()3、若x 和y 是程序中的两个整型变量,则下列i f 语句中正确的是 oA、i f(x=0)y=l;e l s e y=2;B、i f (x=0)t h e n y=l e l s e y=2;C i f (x=0)y=l e l s e y=2;D、i f x=0 y=1;e l s e y=2;【答案】A()4、以下程序的输出结果是mai n()(i n t
46、a,b;f o r (a=l,b=l;a=10)br e ak;i f (b%5=l)【90分钟】b+二 5;c o n t i n u e;第31/122页)p r i n t f(%d n”,a);)A、101B、6C、4D、3【答案】I)()5、有以下程序 i n t f u n(i n t x ,i n t n)(s t at i c i n t s u m=0,i;f o r (i=0;i y&x!=y);B、i f (x 二 二 y)x+=y;C、i f (x!=y)s c an f(%d ,&x)e l s e sca nf&y);D、i f(x y)x+;y+;【答案】C()7
47、、下列选项中,能够正确定义数组的语句是 oA、i n t n u m O.2 008 ;B、i n t n u m ;C、i n t N=2 008;D、Sd e f i n e N 2 008i n t n u m N;i n t n u m N【答案】I)()8、若整型变量a、b、c、d 中的值依次为:1、4、3、2,则条件表达式aV b a:cd c:d的值是_ oA、1B、2C、3D、4【答案】A【解析】|本题考查的是条件表达式的嵌套。因为条件运算符的结合方向为“自右至左”,所以表达式aVba:cdc:d相当于aba:(cdc:d)。由于a=l,b=4,所以a b的结果为 真,整个表达
48、式的值为a的值1。所以,4 个选项中选项A)符合题意。()9、下面各语句行中,能正确进行给字符串赋值操作的语句行是 oA、char st 4 5=AB CD E ;B、char s 5=A,B ,C,D ,E ;C、char*s=AB CD E”;D、char*s;s c a nf*s);【答案】C()1 0、下面程序的输出结果是#in cludem ain ()in t a=l,2,3,4,5,6,7,8,9,0,*p;第33/122页P 二 a;p rin tf(,%dn,/,*p+9);)A、0B、1C、1 0D、9【答案】C【解析】|此题考查了指针引用一维数组元素的方法。*p+9 因为
49、运算符“*”的优先级高于“+”,所以输出结果为P 指向的元素1,然后加9,值为1 0。()11、以下程序的输出结果为_ om ain()(in t a=l,b=2,c=3,d=4,e=5;p rin tf(dn ,fun c(a+b,b+c,c+a),(d+e);)in t fun c(in t x,in t y)(return (x+y);)A、1 5B、1 3C、9D、函数调用出错【答案】B()12、下列c运算符中,优 先 级 最 高 的 是。A、+(双目)B、*(单目)C、=D、*二【答案】B【解析】|在题中各选项中,只有选项B 是单目运算符,所以它是优先级最高的。()13、有以下程序v
50、o id f(in t b)in t i;fo r(i=2;i6;i+)b i*=2;第34/122页m ain()in t a 1 0=l,2,3,4,5,6,7,8,9,1 0,i;f(a);fo r(i=0;i1 0;i+)p rin tf(%d,,a i);)程序运行后的输出结果是 _OA、1,2,3,4,5,6,7,8,9,1 0,B、1,2,6,8,1 0,1 2,7,8,9,1 0,C、1,2,3,4,1 0,1 2,1 4,1 6,9,1 0,D、1,2,6,8,1 0,1 2,1 4,1 6,9,1 0,【答案】B【解析】|本题在调用函数时,实参是&a 0的地址,即把a 0的