c语言程序的设计(第四版)考试题_第1页
c语言程序的设计(第四版)考试题_第2页
c语言程序的设计(第四版)考试题_第3页
c语言程序的设计(第四版)考试题_第4页
c语言程序的设计(第四版)考试题_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

...wd......wd......wd...C程序设计〔第四版〕期末考试题本卷共有4道大题:一、单项选择题〔20道小题,共20分〕1、以下对C语言函数的有关描述中,正确的选项是()〔1分〕A、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B、C函数既可以嵌套定义又可以递归调用C、函数必须有返回值,否那么不能使用函数D、C程序中有关调用关系的所有函数必须放在同一个源程序文件中2、strcpy库函数用于复制一个字符串。假设有以下定义:char*str1="copy",str2[10],*str3="hijklmn";char*str4,*str5="abcd";那么对strcpy库函数的错误调用是()〔1分〕A、strcpy(str2,str1)B、strcpy(str3,str1)C、strcpy(str4,str1)D、strcpy(str5,str1)3、设有以下语句:charstr[4][12]={"aaa","bbb","ccc","ddd"};char*strp[4];inti;for(i=0;i<4;i++)strp[i]=str[i];假设0<=k<4,以下选项中对字符串的非法引用是()〔1分〕A、strpB、str[k]C、strp[k]D、*strp4、以下各选项企图说明一种新的类型名,其中正确的选项是()〔1分〕A、typedefv1int;B、typedefv2=int;C、typedefv1intv3;D、typedefv4:int;5、假设以下定义和语句:inta[]={1,2,3,4,5,6,7,8,9,0};int*p,i;p=a;0<i<10,那么对数组元素地址的正确表示是()〔1分〕A、&(a+1)B、a++C、&pD、&p[i]6、C语言标准库函数"fgets(string,n,fp)"的功能是()〔1分〕A、从文件fp中读取长度为n的字符串存入指针string指向的内存B、从文件fp中读取长度不超过n-1的字符串存入指针string指向的内存C、从文件fp中读取n个字符串存入指针string指向的内存D、从文件fp中读取不超过长度为n的字符串存入指针string指向的内存7、以下表达中不正确的选项是()〔1分〕A、在函数中,通过return语句传回函数值B、在函数中,可以有多条return语句C、在C中,main后的一对圆括号中也可以带有形参D、在C中,调用函数,必需在一条独立的语句中完成8、假设有以下定义:chara;intb;floatc;doubled;那么表达式a*b+d-c值的类型为()〔1分〕A、floatB、intC、charD、double9、以下表达中正确的选项是()〔1分〕A、输入项可以是一个实型常量,如:scanf("%f",3.5);B、只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");C、当输入一个实型数据时,格式控制局部可以规定小数点后的位数,例如:scanf("%4.2f",&d);D、当输入数据时,必须指明变量地址,例如:scanf("%f",&f);10、x、y、z被定义为int型变量,假设从键盘给x、y、z输入数据,正确的输入语句是()〔1分〕A、INPUTx、y、z;B、scanf("%d%d%d",&x,&y,&z);C、scanf("%d%d%d",x,y,z);D、read("%d%d%d",&x,&y,&z);11、假设变量都已正确定义,a=2;b=3;printf(a>b?"***a=%d":"###b=%d",a,b);那么程序段()〔1分〕A、没有正确的输出格式控制B、输出为:***a=2C、输出为:###b=2D、输出为:***a=2###b=212、设有如下的变量定义:inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;那么以下符合C语言语法的表达式是()〔1分〕A、a=a-=(b=4)*(a=3)B、x%(--3);C、a=a*3=2D、y=float(i)13、假设所有变量均为整型,表达式(a=2,b=5,a>b?a++:b++,a+b)的值是()〔1分〕A、7B、8C、9D、214、以下标识符中,不能作为合法的C用户定义标识符的是()〔1分〕A、ForB、printC、WORDD、sizeof15、以下合法的赋值语句是()〔1分〕A、x=y=100B、d--;C、x+y;D、c=int(a+b);16、在以下选项中,没有构成死循环的程序是()〔1分〕A、inti=100;whine(1){i=i%1001;if(i>100)break;}B、for(;;);C、intk=1000;do{k;}while(k>=1000);D、ints=36;while(s);--s;17、设a=1,b=2,c=3,d=4,那么表达式:a<b?a:c<d?b:d的结果为()〔1分〕A、4B、3C、2D、118、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m=(m<z)?m:z;那么该程序运行后,m的值是()〔1分〕A、4B、3C、2D、119、有定义语句:inta=4,b=5,c=6,x;,那么以下选项中各程序段执行后,x的值不为6的是()〔1分〕A、if(a<6)x=6;elseif(a<5)x=5;elsex=4;B、if(a<6)x=6;if(a<5)x=4;if(b<c)x=c;C、if(a<b)x=b;if(a<4)x=4;if(c<a)x=a;D、if(c<a)x=4;elseif(b<a)x=5;elsex=6;20、在宏定义#definePI3.14159中,用宏名PI代替一个()〔1分〕A、单精度数B、双数度数C、常量D、字符串二、填空题〔12道小题,共40分〕1、计算机中内存储器的最小存储单位是字节,一个整数占个字节〔2分〕--------------------------------------------------------------------------------2、一个算法应该具有以下特点:、确定性、有零个或多个输入、有一个或多个输出、有效性〔2分〕--------------------------------------------------------------------------------3、唯一的一个三目运算符是〔2分〕--------------------------------------------------------------------------------4、printf("%5.3f\n",123456.12345);输出为〔2分〕--------------------------------------------------------------------------------5、描述命题“A小于B或小于C〞的表达式为〔2分〕--------------------------------------------------------------------------------6、inti=0,s=0,a[10];while(i<10)s+=a[i++];等价于inti,s,a[10];for()〔2分〕--------------------------------------------------------------------------------7、一数组:a[0]=10,a[1]=20,a[2]=30,a[3]=40,a[4]=50,s是int型指针,s已指向a[4],现要使s指向a[2],那么s=〔2分〕--------------------------------------------------------------------------------8、变量分为全局和局部两种,变量离开了其所定义的函数,其存储单元就会被释放。〔2分〕--------------------------------------------------------------------------------9、将p定义为数组,数组元素类型为字符指针,数组大小为10,可写成:〔2分〕--------------------------------------------------------------------------------10、设已定义P为指向某一构造体类型的指针,如引用其成员可以写成,也可以写成(*P).成员名〔2分〕--------------------------------------------------------------------------------11、有一函数如下,编一程序,输入一个x值,输出y值。-1x<0y=0x=0+1x>0main(){intx,y;scanf("%d",&x);if(x<0)y=-1;elseif()y=0;y=1;printf("x=%d,y=%d\n",x,y);}〔8分〕--------------------------------------------------------------------------------12、一球从100米高度自由落下,每次落地后反弹跳回原高度的一半,再落下,求他在第10次落地时,共经过多少米第10次反弹多高main(){floatsn=100.0,hn=sn/2;intn;for(n=;n<=10;n++){sn=;hn=;}printf("%f%f",sn,hn);}〔12分〕--------------------------------------------------------------------------------三、判断题〔10道小题,共10分〕1、C程序中的注释局部可有可无,通常可以省略。〔1分〕正确错误2、传统流程图比N-S图更适于构造化程序设计。〔1分〕正确错误3、'A'和"A"是一样的。〔1分〕正确错误4、printf函数是C语言的标准输出函数。〔1分〕正确错误5、continue语句只能用于循环语句中。〔1分〕正确错误6、while语句的循环体不能是复合语句。〔1分〕正确错误7、s1,s2已定义成字符型数组,那么strcmp(s1,s2)==0和s1==s2是等价的。〔1分〕正确错误8、在C中函数可以返回任何类型。〔1分〕正确错误9、指针值加1就是指针向后移动一个字节。〔1分〕正确错误10、对构造体成员的引用可用如下形式:(*p).成员名。〔1分〕正确错误四、编程题〔4道小题,共60分〕1、编写程序,计算并输出下面级数前n项(n=80)的局部和。1-1/2+1/3-1/4+1/5+……+1/99-1/n(n由键盘输入,要求用循环做,非循环不给分。)〔15分〕必须将此题程序最后的运行结果填入下面的框中。否那么,该题以零分计!请将你解答此题所写的源程序粘贴到下面或者上载源程序--------------------------------------------------------------------------------2、编写程序,将从键盘上输入任意长度的字符串逆序打印出来。例如,将输入的"ABCDE"变换成"EDCBA"。(要求用循环做,非循环不给分。)〔15分〕〔此题不要求填写运行结果〕请将你解答此题所写的源程序粘贴到下面或者上载源程序#include<stdio.h>#include<string.h>intmain(){ inti; charstr[100]; gets(str); for(i=0;str[i];i++); for(i--;i>=0;i--) printf("%c",str[i]); return0;}----------------------------------------------

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论