《C语言练习题答案及解析.pdf》由会员分享,可在线阅读,更多相关《C语言练习题答案及解析.pdf(66页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、练习题1(1)栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素D)没有共同点(2)已知二叉树后序遍历序列是d a b e c,中序遍历序列是d e b a c,它的前序遍历序列是A)a c b e dB)d e c a bC)d e a b cD)c e d b a(3)链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素O插入删除不需要移动元素D)所需空间与线性表长度成正比(4)结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构(5)为了提
2、高测试的效率,应该A)随机选取测试数据B)取一切可能的输入数据作为测试数据O在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序(6)算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数(7)软件生命周期中所花费用最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护(8)数据库管理系统中用来定义模式、内模式和外模式的语言为A)CB)B a s i cC)D D LD)D M L(9)下列有关数据库的描述,正确的是A)数据库是一个D B F文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据
3、库是组文件(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下选项中可作为C语言合法常量的是A)-8 0B)-08 0C)-8 c l.oD)-8 0.O e(12)以下叙述中正确的是A)用C 程序实现的算法必须要有输入和输出操作B)用C 程序实现的算法可以没有输出但必须要有输入C)用C 程序实现的算法可以没有输入但必须要有输出D)用C 程序实现的
4、算法可以既没有输入也没有输出(1 3)卜列可用于C 语言用户标识符的一组是A)v o i d,d e f i n e,W O RDB)a3_b3,_123,CarC)F o r,-abc,IF Cas eD)2a,D O,s i z e o f(14)有以下程序m ai n ()i n t i=l,j=l,k=2;i f (j+II k+)&i+)p r i n t f (%d,%d,%d n”,i,j,k);执行后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,3(15)有定义语句:i n t b;char c 1 0 则正确的输入语句是A)s can f (%d%s”,&b
5、,&c);B)s can f (*%d%s*,&b,c);C)s can f(%d%s”,b,c);D)s can f (%d%s”,b,&c);(16)有以下程序:m ai n Oi n t i,s=l;f o r (i=l;i 12?x+10:x-12;p r i n t f (%d n ,y);A)0B)22C)12D)10(18)已知i n t t=0;w hi l e (t=l)(.)则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(19)有以下程序:#i n cl u d e#i n cl u d e m ai n (
6、)char a =a b c d e ,f g h Of);i n t i,j;i=s i z e o f(a);j=s t r l e n(a);p r i n t f (z,%d,%d bz,,i,j);程序运行后的输出结果是A)9,9B)8,9C)1,8D)9,8(20)以下能正确定义一维数组的选项是A)i n t a 5=0,1,2,3,4,5);B)char a =O J 1 J 2 J 3 4 J 5 J 0 ;C)char a=A,J B J L ;D)i n t a 5=0123”;(21)有以下程序f l o at f u n (i n t x,i n t y)r e t u
7、 r n (x+y);m ai n ()i n t a=2,b=5,c=8;p r i n t f (3.O f n”,f u n (i n t)f u n (a+c,b),a-c);)程序运行后的输出结果是A)编译出错B)9C)21D)9.0(2 2)5 面的程序段运行后,输出结果是i n t i,j,x=O;s t at i c i n t a 8 8 ;f o r(i=0;i 3;i+)f o r(j=0;j 3;j+)a i j =2*i+j;f o r(i=0;i 8;i+)x+=a i j ;p r i n t f(d,x);A)9B)不确定值C)0D)18(23)若有语句:cha
8、r *l i n e 5 以 卜 叙述中正确的是A)定义l i n e 是 个数组,每个数组元素是个基类型为char 为指针变量B)定义l i n e 是 个指针变量,该变量可以指向个长度为5的字符型数组C)定义l i n e 是一个指针数组,语句中的*号称为间址运算符D)定义l i n e 是一个指向字符型函数的指针(24)下列程序执行后的输出结果是v o i d f u n c(i n t *a,i n t b )b 0=*a+6;m ai n ()i n t a,b 5;a=0;b 0=3;f u n c(&a,b);p r i n t f (%d n ,b 0);A)6B)7C)8D)
9、9(2 5)有如下程序m ai n ()char ch 2 5 =6937,“8254,*p 2;i n t i,j,s=0;f o r (i=0;i 2;i+)p i =ch i;f o r (i=0;i Qf;j+=2)s=10*s+p i j O;p r i n t f (%d n”,s);该程序的输出结果是A)69825B)63825C)6385D)693825(2 6)有以下程序v o i d s s (char *s,char t)(w hi l e (*s)i f (*s=t)*s=t-a +A;s+;m ai n ()char s t r l 100=abcd d f e f
10、d bd,c=d;s s (s t r l,c);p r i n t f (%s n,s t r l);)程序运行后的输出结果是A)A B CD D E F E D B DB)abcD D f e f D bDC)abcA A f e f A bAD)A bcd d f e f d bd(2 7)下面程序的输出结果是m ai n ()i n t a 10=1,2,3,4,5,6,7,8,9,10,*p=a;p r i n t f (p+2);A)3B)4C)1D)2(2 8)有如下程序:f t d e f i n e N 2f t d e f i n e M N+lf t d e f i n
11、e N UM 2*M+1m ai n ()i n t i;f o r (i=l;i =N UM;i+)p r i n t f (%d n ,i);该程序中的f o r循环执行的次数是A)5B)6C)7D)8(2 9)有以下程序:t t i n cl u d e u n i o n p w i n t i;char ch 2;a;m ai n ()a.ch 0=13;a.ch 1=0;p r i n t f a.i);程序的输出结果是A)13B)14C)208D)209(30)设有以下说明语句t y p e d e f s t r u ct i n t n;char ch 8;P E R;则下面
12、叙述中正确的是A)P E R 是结构体变量名B)P E R是结构体类型名C)t y p e d e f s t r u ct 是结构体类型D)s t r u ct 是结构体类型(31)下列程序的输出结果是#i n cl u d e s t d i o.hm ai n ()i n t i,a=0,b=0;f o r (i=l;i 10;i+)i f (i%2=0)a+:co n t i n u e;)b+;p r i n t f (a=%d,b=%d”,a,b);A)a=4,b=4B)a=4,b=5C)a=5,b=4D)a=5,b=5(32)下面程序段的运行结果是char s t r =A B
13、C,*p=s t r;p r i n t f (p+3);A)67B)0C)字符=的地址D)字 符 C(33)设有以下说明语句s t r u ct s t u(i n t a;f l o at b;s t u t y p e;则下面的叙述不正确的是A)s t r u ct 是结构体类型的关键字B)s t r u ct s t u 是用户定义的结构体类型C)s t u t y p e 是用户定义的结构体类型名D)a和b都是结构体成员名(34)f s e e k 函数的正确调用形式是A)f s e e k (文件指针,起始点,位移量)B)f s e e k (文件指针,位移量,起始点)C)f s
14、e e k (位移量,起始点,文件指针)D)f s e e k (起始点,位移量,文件指针(35)对于下述程序,在方式串分别采用w t 和 w b运行时,两次生成的文件TE ST的长度是t t i n cl u d e v o i d m ai n()F ILE *f p=f o p e n (TE ST,);f p u t c(/A ,f p);f p u t c(n ,f p);f p u t c(B ,f p);f p u t c(n7,f p);f p u t c(C ,f p);f cl o s e(f p);)A)7字节、7字节B)7字节、5字节C)5字节、7字节D)5字节、5字节
15、二 填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡【1】-【15】序号的横线上,答在试卷上不得分.(1)算法的基本特征是可行性、确定性、【1】和拥有足够的情报。(2)某二叉树中度为2 的结点有18个,则该二叉树 中 有 2 个叶子结点。(3)在面向对象的程序设计中,类描述的是具有相似性质的一组【3】o(4)通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为4 o(5)数据库管理系统常见的数据模型有层次模型、网 状 模 型 和【5】3种。(6)在sc a nf()函数调用语句中,可以在格式字符和%号之间加上 个星号,它的作用是跳过对 应的输入数据;当输入以下数据时,1
16、00 2 00 300 4 00 500 回车),下面语句的执行结果为【6】。ma inO int a,b,c;sc a nf(*%d%*d%d%d”,&a,&b,&c);printf(%d%d%d”,a,b,c);)(7)设有如下宏定义ttd efine M Y S W A P (z,x,y)z=x;x=y;y=z;以下程序段通过宏调用实现变量a,b 内容交换,请填空。floa t a=5,b=1 6,c;M Y S W A P (7 ,a,b);(8)阅读下面语句,则程序的执行结果是8 o#inc lu d e std io.h ma in()int a=-l,b=l,k;if(+a 0)
17、&!(b 4)printf C/%d n*,i);b rea k;printf C%d n*,i+);(1 1)函 数 v oid fu n(floa t*sn,int n)的功能是:根据以下公式计算s,计算结果通过形参指针sn传回;n通过形参传入,n的值大于等于0。请填空。S=ni=0(-f)i2 X i+lv oid fu n(floa t*sn,int n)floa t s=0.0,w,f=-1.0;int i=0;for(i=0;i=n f=1 1 *fw=f/(2*i+l)s+=w;1 2 =s;l1 2)以下程序从输入的1 0个字符串中找出最长的那个出,:inc lu d e 请填
18、空。#inc lu d e d efine N 1 0ma inOc ha r str N 81 ,*sp;int i;for(i=0;i N;i+)gets(str i);sp=str 0;for(i=l;i N;i+)if(strlen(sp)strlen(str i )1 3 ;printf(输出最长的那个串:n%s n,sp);printf(输出最长的那个串的长度:%d n*,strlen(sp);)(1 3)下列程序执行输出的结果是【1 4】。#inc lu d ef(int a)(int b=0;sta tic c=3;a=c+,b+;retu rn(a);ma inOint a=
19、2,i,k;for(i=0;i 2;i+)k=f(a+);printf(*%d n*,k);(1 4)有如图所示的双链表结构,请根据图示完成结构体的定义:I hea d d a ta rc hiI d stru c t a a int d a ta;1 5 nod e;练习题2(1)已知一棵二叉树前序遍历和中序遍历分别为A B D E G C FH和D B G E A C H F,则该二叉树的后序遍历为A)G E D H FB C AB)D G E B H FC AC)A B C D E FG HD)A C B FE D H G(2)树是结点的集合,它的根结点数目是A)有且只有1B)1或多于1
20、C)0或1D)至少2(3)如果进栈序列为el,e2,e3,e4,则可能的出栈序列是A)e3,el,e4,e2B)e2,e4,e3,elC)e3,e4,el,e2D)任意顺序(4)在设计程序时,应采纳的原则之一是A)不限制go to语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解(5)程序设计语言的基本成分是数据成分、运算成分、控制成分和A)对象成分B)变量成分C)语句成分D)传输成分(6)下列叙述中,不属于软件需求规格说明书的作用的是A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人
21、员进行需求分析(7)下列不属于软件工程的3 个要素的是A)工具B)过程C)方法D)环境(8)单个用户使用的数据视图的描述称为A)外模式B)概念模式C)内模式D)存储模式(9)将E-R 图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域(1 0)S Q L 语言又称为A)结构化定义语言B)结构化控制语言O 结构化杳询语言D)结构化操纵语言(1 1)以下不正确的叙述是A)在C 程序中,逗号运算符的优先级最低B)在C 程序中,A P H 和a p h 是两个不同的变量C)若a 和b 类型相同,在计算了赋值表达式a=b 后b 中的值将放入a 中,而b 中的值不变D)当从键盘输入数据
22、时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(1 2)请选出可用作C 语言用户标识符的是A)v oi d,def i n e,W O R DB)a 3 _ b 3,_ 1 2 3,I FC)F O R,a b c,C a s eD)2 a,D o,S i z eof(1 3)以下选项中,不能作为合法常量的是A)1.2 3 4 e0 4B)1.2 3 4 c 0.4C)1.2 3 4 e+4D)1.2 3 4 e0(1 4)已知i n t a;f l oa t b;所用的s c a n f 调用语句格式为:s c a n f (a%d,b=%f ,&a,&b);为了将数据3 和
23、2 5.0 8 分别赋给x 和y,正确的输入应当是A)3,2 5.0 8 B)a=3,b=2 5.0 8 C)a/3,b=2 5.0 8 D)a/3 b=2 5.0 8(1 5)在C 语言中,运算对象必须是整型数的运算符是A)%B)C)%和D)*(1 6)若有条件表达式(ex p)?a+:b-,则以下表达式中能完全等价于表达式(e xp)的是A)(e xp=O)B)(e xp!=O)C)(e xp=l)D)(e xp!=l)(1 7)设有以下程序段in t x=0,s=0;w hil e (!x!=0)s+=+x;p rin t f s);则A)运行程序段后输出0B)运行程序段后输出1O 程序
24、段中的控制表达式是非法的D)程序段执行无限次(1 8)请选出以下语句的输出结果p rin t f (z,%d n*,s t rl e n (t 0 6 5 xf f n );A)5B)1 4C)8D)输出项不合法,无正常输出(1 9)以下不正确的定义语句是A)d o u bl e x 5 =2.0,4.0,6.0,8.0,1 0.0);B)in t y 5 =0,1,3,5,7,9 ;C)char cl 1 ,2 ,3 ,4,,5 ;D)char c2 =r xl Of,z xaz J x8,;(2 0)设函数f u n 的定义形式为v o id f u n (char ch,f l o at
25、 x)则以下对函数f u n 的调用语句中,正确的是A)f u n C abc*,3.0);B)t=f u n(z D,1 6.5);C)f u n(z 6 5f,2.8);D)f u n(3 2,3 2);(2 1)下面判断正确的是A)char*a=chin a;等价于 char*a;*a=chin a”;B)char s t r 5:chin a;等价于char s t r 二 chin a;C)char*s=chin a”;等价于 char*s;s=chin a”;D)char c 4 =abc,d 4 =abc;等价于char c 4 =d 4=abc”;(2 2)若已定义:in t
26、a =0,1,2,3,4,5,6,7,8,9 ,*p=a,i;其 中 0 W i W 9,贝 i j 对a数组元素不正确的引用是A)a p-aB)*(&a i )C)p iD)a 1 0(2 3)以下程序的输出结果是v o id re v e rs e (in t a 口,in t n)in t i,t;f o r(i=0;i n/2;i+)t=a i;a i=a ;a n-l-i3 =t;)main()int b 10=1,2,3,4,5,6,7,8,9,10);int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=b i;printf(%d n ”,s);A)2
27、2B)10C)34D)30(2 4)阅读下列程序,则执行后的结果为#include stdio.hmain()int c 4=1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56;printf n”,c 2 2,*(*(c+1)+1);)A)3e,6B)62,5C)56,5D)3E,6(2 5)阅读卜.列程序,当运行函数时,输入asd af aa z67,则输出为4include#include#include int fun(char*str)int i,j=0;for(i=0;str i!=0 ;i+)if(str i!=)str j+=str i;str j
28、二 0 ;)main()(char str 81 ;int n;clrscr();printf(Input a string:;gets(s t r);puts(s t r);fun(s t r);printf s t r);)A)asdafaaz67B)asd af aa z67C)asdD)z67(2 6)以下程序的运行结果是define M IN (x,y)(x)(y)?(x):(y)main()int i=10,j=15,k;k=10*M1N(i,j);printf(%dn,k);)A)10B)15C)100D)1 5 0(2 7)设有以下语句:char x=3,y=6,z;z=x*y
29、 2;则z的二进制值是A)0 0 0 1 0 1 0 0B)0 0 0 1 1 0 1 1C)0 0 0 1 1 1 0 0D)0 0 0 1 1 0 0 0(2 8)若有以下说明和定义u n io n d t in t a;char b;d o u bl e c;d at a;以下叙述中错误的是A)d at a的每个成员起始地址都相同B)变量d at a所占内存字节数与成员c所占字节数相等C)程序段:d at a.a=5;p rin t f(%f n”,d at a,c);输出结果为5.0 0 0 0 0 0D)d at a可以作为函数的实参(2 9)设有以下说明语句t y p e d e
30、f s t ru ct in t n;char ch 8;P ER;则下面叙述中正确的是A)P E R 是结构体变量名B)P ER是结构体类型名C)t y p e d e f s t ru ct 是结构体类型D)s t ru ct 是结构体类型名3 0)下列说法中错误的是A)只能在循环体内使用bre ak 语句B)在循环体内使用bre ak 语句可以使流程跳出本层循环体,从而提前结束本层循环C)在w hil e 和d o w hil e 循环中,co n t in u e 语句并没有使整个循环终止D)co n t in u e 的作用是结束本次循环,即跳过本次循环体中尚未执行的语句,接着再次进
31、行循环判断(3 1)下面程序段的运行结果是char*s=abcd e”;s+=2;p rin t f s);A)cd eB)字 符 cC)字符/的地址D)无确定的输出结果(3 2)假定以下程序经编译和连接后生成可执行文件P RO G.EXE,如果在此可执行文件所在目录的DO S 提示符下键入:P RO G A BC DEFGII IJKL 0)p rin t f arg v arg c);p rin t f (n );)A)A BC DEFGB)IJHLC)A BC DEFGHIJKLD)IJKLA BC DEFGH(3 3)下面函数的功能是将指针t 2 所指向的线性链表,链接到t l 所指向
32、的链表的末端。假定t l 所指向的链表非空s t ru ct n o d e(f l o at x;s t ru ct n o d e *n e xt;co n n e ct (s t ru ct n o d e *t l,s t ru ct n o d e *t 2)if (t l-n e xt=N U LL)t l-n e xt=t 2;e l s e co n n e ct (,t 2);)要实现此功能则应该填入的选项是A)t l.n e x tB)+t l.n e x tC)t l-n e x tD)+t l-n e x t(3 4)C 语言结构体类型变量在程序运行期间A)TC 环境在
33、内存中仅仅开辟一个存放结构体变量地址的单元B)所有的成员一直驻留在内存中C)只有最开始的成员驻留在内存中D)部分成员驻留在内存中(3 5)已知函数的调用形式:f r e a d (b u f,s i z e,c o u n t,f p),参数b u f 的含义是A)一个整型变量,代表要读入的数据项总数B)一个文件指针,指向要读的文件C)个指针,指向要读入数据的存放地址D)个存储区,存放要读的数据项二 填空题(每空2 分 洪 30分)请将每一个空的正确答案写在答题P 1-1 5 序号的横线上,答在试卷上不得分.(1)数据结构分为逻辑结构与存储结构,线性链表属于【1】(2)在面向对象方法中,类之间
34、共享属性和操作的机制称为【2】。(3)耦合和内聚是评价模块独立性的两个主要标准,其 中 3 反映了模块内各成分之间的联系。(4)一个项目具有一个项目主管,一个项目主管可管理多个项目,则实体项目主管与实体项目的联系属于 1 的联系。(5)数据库设计分为以下6个设计阶段:需求分析阶段、【5】、逻辑设计阶段、物理设计阶段、实施阶段、运行和维护阶段。(6)如下程序片段:i n t a,b,c;p r i n t f (z/i n p u t a,b,c:);s c a n f (a 二%d,b 二/d,c=%d ,&a,&b,&c);欲使输出结果为1、2、3 (分别对应于a、b、c),输入数据的正确形
35、式为6 o(7)以下程序的运行结果是【7】。#d e f i n e M A X(a,b)(a b?a:b)+1m a i n ()(i n t i=6,j=8,k;p r i n t f (%d n”,M A X(i,j);)(8)以下程序输出的结果是8 om a i n ()i n t a=5,b=4,c=3,d;d=(a b c);p r i n t f (飞d n”,d);)(9)以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按山小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8
36、9 9 10 10 10删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10o请填空。tti n c l ud e ttd e f i n c N 80i n t f un (i n t a ,i n t n)i n t i,j=l:f or(i=l;i n;i+)i f (a j-1 9 a i )a j+=a i ;10;m a i n ()i n t a N=2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10,i,n=19;pri n tf (T h e ori g i n a l d a ta :n );f or(i=0;i n;i+)pri
37、n tf (绘3d”,a i );n=f un (a,n);pri n tf (n T h e d a ta a f te r d e l e te d :n );f or(i=0;i=0;-i)d=13;pri n tf b d );pri n tf ;)(1 2)以下程序的输出结果是【14】。voi d f un ()sta ti c i n t a=0;a+=2;pri n tf (先d,a);)m a i n ()i n t c c;f or(c c=l;c c t时返回正值,当s t时返回负值。请填空。m y _ c m p(c h a r*s,c h a r*t)(-wh i l
38、e (*s=*t)i f (*s=0f)re turn 0;+s;+t;re turn 1 5 ;)练习题3(1)已知棵二叉树前序遍历和中序遍历分别为ABDEGCFH和DBGEACHF,则该二叉树的后序遍历为A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG(2)树是结点的集合,它的根结点数目是A)有且只有1B)1或多于1C)0或1D)至少2(3)如果进栈序列为e l,e 2,e 3,e 4,则可能的出栈序列是A)e 3,e l,e 4,e 2B)e 2,e 4,e 3,e lC)e 3,e 4,e l,e 2D)任意顺序(4)在设计程序时,应采纳的原则之一是A)
39、不限制g ot。语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解(5)程序设计语言的基本成分是数据成分、运算成分、控制成分和A)对象成分B)变量成分C)语句成分D)传输成分(6)卜.列叙述中,不属于软件需求规格说明书的作用的是A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析(7)下列不属于软件工程的3 个要素的是A)工具B)过程C)方法D)环境(8)单个用户使用的数据视图的描述称为A)外模式B)概念模式C)内模式D)存储模式(9)将E-R 图转换到关系模式时,实体与联
40、系都可以表示成A)属性B)关系C)键D)域(1 0)S Q L 语言又称为A)结构化定义语言B)结构化控制语言C)结构化查询语言D)结构化操纵语言(1 1)以下不正确的叙述是A)在C 程序中,逗号运算符的优先级最低B)在C 程序中,A P H和ap h 是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(1 2)请选出可用作C 语言用户标识符的是A)v o i d,d e f i n e,W O R DB)a3 _b3,_1 23,IFC)F O R,-abc,C
41、as eD)2a,D o,S i z e o f(1 3)以下选项中,不能作为合法常量的是A)1.23 4 e 0 4B)1.23 4 e 0.4C)1.23 4 e+4D)1.23 4 e 0(1 4)已知i n t a;f l o at b;所用的s can f 调用语句格式为:s can f (a%d,b=%f,&a,&b);为了将数据3 和25.0 8 分别赋给x 和y,正确的输入应当是A)3,25.0 8 B)a=3,b=25.0 8 C)a/3,b=25.0 8 D)a/3 b=25.0 8(1 5)在C 语言中,运算对象必须是整型数的运算符是A)%B)C)%和D)*(1 6)若有
42、条件表达式(e x p)?a+:b,则以下表达式中能完全等价于表达式(e x p)的是A)(e x p-0)B)(e x p!=0)C)(e x p=l)D)(e x p!=l)(1 7)设有以下程序段i n t x=0,s=0;w h i l e (!x!=0)S+=-H-X;p r i n t f s);则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次(1 8)请选出以下语句的输出结果p r i n t f (%d n ,s t r l e n (t 0 6 5 x f f n );A)5B)1 4C)8D)输出项不合法,无正常输出(1 9
43、)以下不正确的定义语句是A)d o u bl e x 5 =2.0,4.0,6.0,8.0,1 0.0);B)i n t y 5 =0,1,3,5,7,9 ;C)ch ar cl 口=1 J 2 J 3 J 4 J 5 ;D)ch ar c2 =z x l 0r,x a,J x 8 );(20)设函数f u n 的定义形式为v o i d f u n (ch ar ch,f l o at x)则以下对函数f u n 的调用语句中,正确的是A)f u n C abc*,3.0);B)t=f u n(/Dz,1 6.5);C)f u n(;6 5 ,2.8);D)f u n(3 2,3 2);(2
44、 1)下面判断正确的是A)ch ar *a=ch i n a;等价于 ch ar *a;*a=ch i n a”;B)ch ar s t r 5 =ch i n a ;等价于ch ar s t r :ch i n a ;C)ch ar *s=ch i n a”;等价于 ch ar *s;s=“c hina”;D)c har c 4 =ab c”,d 4 =ab c;等价于c har c 4 =d 4 =ab c;(2 2)若已定义:int a =0,1,2,3,4,5,6,7,8,9),*p=a,i;其 中0Wi 9,则对a数组元素不正确的引用是A)a p-aB)*(&a i )C)p iD)
45、a 1 0(2 3)以下程序的输出结果是vo id r e ve r se (int a ,int n)int i,t;f o r (i=0;in/2;i+)t=a i;a i=a;a n-l-i=t;main()int b 1 0 =1,2,3,4,5,6,7,8,9,1 0 ;int i,s=0;r e ve r se (b,8);f o r (i=6;i1 0;i+)s+=b i ;pr intf (%d n ”,s);)A)2 2B)1 0C)3 4D)3 0(2 4)阅读下列程序,则执行后的结果为inc lud e std io.hmain()int c 4 =1,2,3,4,5,6
46、,7,3 4,2 1 3,5 6,6 2,3,2 3,1 2,3 4,5 6 ;pr intf (%x,%x r T,c 2 2 ,*(*(c+1)+1);A)3 e,6B)6 2,5C)5 6,5D)3 E,6(2 5)阅读下列程序,当运行函数时,输入asd af aa z 6 7,则输出为#inc lud e#inc lud e#inc lud e int f un(c har *str)int i,j=0;f o r (i=0;str i!=0 ;i+)if (str i!=)str j+=str i ;str j=0 ;)main()(c har str 8 1;int n;c lr
47、sc r ();pr intf (Input a str ing:;ge ts(str);puts(str);f un(str);pr intf (飞sn,str);)A)asd af aaz 6 7B)asd af aa z 6 7C)asdD)z 6 7(2 6)以下程序的运行结果是d e f ine MIN(x,y)(x)2;则z 的二进制值是A)0 0 0 1 0 1 0 0B)0 0 0 1 1 0 1 1C)0 0 0 1 1 1 0 0D)0 0 0 1 1 0 0 0(2 8)若有以下说明和定义unio n d t int a;c har b;d o ub le c;)d at
48、a;以下叙述中错误的是A)d ata的每个成员起始地址都相同B)变量d ata所占内存字节数与成员c 所占字节数相等C)程序段:d ata.a=5;pr intf (%f n,d ata,c);输出结果为5.0 0 0 0 0 0D)d ata可以作为函数的实参(2 9)设有以下说明语句ty pe d e f str uc t int n;c har c h 8;PE R;则下面叙述中正确的是A)P E R 是结构体变量名B)PE R是结构体类型名C)ty pe d e f str uc t是结构体类型D)str uc t是结构体类型名3 0)下列说法中错误的是A)只能在循环体内使用b r e
49、 ak语句B)在循环体内使用b r e ak语句可以使流程跳出本层循环体,从而提前结束本层循环C)在w hile 和d c r-w hile 循环中,c o ntinue 语句弁没有使整个循环终止D)c o ntinue 的作用是结束本次循环,即跳过本次循环体中尚未执行的语句,接着再一次进行循环判断(3 1)下面程序段的运行结果是c har *s=ab c d e”;s+=2;pr intf s);A)c d eB)字 符 c C)字 符 cr的地址D)无确定的输出结果(3 2)假定以下程序经编译和连接后生成可执行文件PROG.E X E,如果在此可执行文件所在目录的D OS提示符下键入:PR
50、OG A B C D E F G H 1 旭0)pr intf ar gv Lar ge);pr intf (n);A)A B C D E F GB)IJHLC)A B C D E F G HT JKLD)T JKLA B C D E F G H(3 3)卜.面函数的功能是将指针1 2 所指向的线性链表,链接到tl所指向的链表的末端。假定tl所指向的链表非空str uc t no d e f lo at x;str uc t no d e *ne x t;c o nne c t(str uc t no d e *tl,str uc t no d e *t2)(if (tl-ne x t=NU