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

下载本文档

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

文档简介

1、C程序设计(第四版)期末考试题 本卷共有4道大题:一、单项选择题(20道小题,共20分)1以下对C语言函数的有关描述中,正确的是()(1分)A、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B、C函数既可以嵌套定义又可以递归调用C函数必须有返回值,否则不能使用函数D、C程序中有关调用关系的所有函数必须放在同一个源程序文件中2、strcpy 库函数用于复制一个字符串。若有以下定义:char *str1="copy" ,str210,*str3="hijklmn" ; char *str4 ,*str5="abcd"

2、则对 strcpy 库函数的错误调用是()(1分)A strcpy(str2C strcpy(str4,str1) B 、strcpy(str3 , str1),str1) D 、strcpy(str5 , str1)3、 设有以下语句:char str412="aaa","bbb","ccc","ddd"; char *strp4; int i ;for(i=0 ; i<4 ; i+) strpi=stri;若0<=k<4,下列选项中对字符串的非法引用是()(1分)A strp B、strkC

3、strpk D 、*strp4、 以下各选项企图说明一种新的类型名,其中正确的是()(1分)A typedef v1 int; B 、typedef v2=int;C typedef v1 int v3; D 、typedef v4: int;5、 若以下定义和语句:int a=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 &p D、&pi6、C语言标准库函数"fgets(string,n,fp)"的功能是()(

4、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、 若有以下定义:char a;int b; float c;double d;则表达式 a

5、*b+d-c 值的类型为()(1分)A、float B 、intC、char D、double9、以下叙述中正确的是()(1分)A、输入项可以是一个实型常量,如:scanf("%f" ,3.5) ; B、只有格式控制,没有输入项,也能正确输入数据到内存,例如:scan f("a=%d ,b=%d");C当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&d) ; D、当输入数据时,必须指明变量地址,例如:scanf("%f" ,&f);10、 x、y、z被定

6、义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是()(1分)A、INPUT x、y、乙 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、输出为:

7、* * * a=2C输出为:# # # b=2 D 、输出为:* * * a=2# # # b=212、 设有如下的变量定义:int i=8,k,a,b;u nsig ned long w=5;double x=1.42,y=5.2; 则以 下符合C语言语法的表达式是()(1分)A a=a-=(b=4)*(a=3) B 、x%(-3);C a=a*3=2 D、y=float(i)13、假设所有变量均为整型,表达式 (a=2,b=5,a>b? a+ : b+,a+b)的值是()(1分) A 7 B、8C 9 D、214、 以下标识符中,不能作为合法的C用户定义标识符的是()(1分)A Fo

8、r B、printC WORD D sizeof15、 以下合法的赋值语句是()(1分)A x=y=100 B、d-;C x+y; D、c=int(a+b);16、 在下列选项中,没有构成死循环的程序是()(1分)A int i=100; whine(1) i=i%1001; if (i>100)break ; B、for (;);C int k=1000; do k ; while(k>=1000); D、int s=36; while(s) ; -s ;17、设 a=1,b=2,c=3,d=4, 则表达式:a<b?a:c<d?b:d 的结果为()(1 分)A 4 B

9、、318、 假定 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 4 B、3C 2 D、119、 有定义语句:int a=4,b=5,c=6,x;,则以下选项中各程序段执行后,x的值不为6的是 ()(1 分)A、if (a<6) x=6; else if (a<5) x=5; else x=4; B if (a<6) x=6; if (a<5) x=4; if (b<c) x=c;C i

10、f (a<b) x=b; if (a<4) x=4; if (c<a) x=a; D、 if (c<a) x=4; else if (b<a) x=5;else x=6;20、在宏定义#define PI 3.14159 中,用宏名PI代替一个()(1分)A、单精度数B、双数度数C常量D、字符串二、填空题(12道小题,共40分)1、计算机中内存储器的最小存储单位是字节,一个整数占个字节(2 分)2、一个算法应该具有以下特点:、确定性、有零个或多个输入、有一个或多个输出、有效性(2分)3、唯一的一个三目运算符是(2 分)4、printf("%5.3fn&q

11、uot;,123456.12345);输出为(2分)5、描述命题“ A小于B或小于C'的表达式为(2分)6、int i=0,s=0,a10; while (i<10) s+=ai+;等价于int i,s,a10; for()(2分)7、已知一数组:a0=10,a1=20,a2=30,a3=40,a4=50,s是 int 型指针,s 已指向a4,现要使s指向a2,则s=(2 分)8、变量分为全局和局部两种,变量离开了其所定义的函数,其存储单元就会被释放。(2 分)9、将p定义为数组,数组元素类型为字符指针,数组大小为10,可写成:(2分)(*P).10、设已定义P为指向某一结构体类

12、型的指针,如引用其成员可以写成,也可以写成 成员名(2 分)11、有一函数如下,编一程序,输入一个x值,输出y值。-1x<0y= 0x=0+1x>0main () int x,y;scan f("%d",& x);if (x<0)y = -1;else if () y = 0;y = 1;prin tf("x=%d,y=%dn",x,y);(8 分)12、一球从100米高度自由落下,每次落地后反弹跳回原高度的一半,再落下,求他在第 10次落地时,共经过多少米?第10次反弹多高?main ()float sn=100.0,h n=

13、s n/2;int n;for(n=;n<=10 ;n+)sn=;hn=;prin tf("%f%f',s n,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

14、已定义成字符型数组,则strcmp(s1,s2)=0和s仁=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 分)必须将本题程序最后的运行结果填入下面的框中。否则,该题以零分计请将你解答本题所写的源程序粘贴到下面或者上载源程序&qu

15、ot;ABCDE'变2、编写程序,将从键盘上输入任意长度的字符串逆序打印出来。例如,将输入的 换成"EDCBA"。(要求用循环做,非循环不给分。)(15 分)(本题不要求填写运行结果) 请将你解答本题所写的源程序粘贴到下面或者上载源程序#i nclude<stdio.h>#in clude<stri ng.h>int mai n()int i; char str100; gets(str); for(i=0;stri;i+);for(i-;i>=0;i-)prin tf("%c",stri); return 0;3、编写程序,用牛顿切线法求方程f(x)= xA3/2+2xA2-8=0(其中A表示幕运算)在区间0 ,2上的近似实根r,迭代初值自选,精确到0.0001。提示:计算公式为x=x-f(x)/f(x)(15 分)

温馨提示

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

评论

0/150

提交评论