《C语言统考试卷》word版_第1页
《C语言统考试卷》word版_第2页
《C语言统考试卷》word版_第3页
《C语言统考试卷》word版_第4页
《C语言统考试卷》word版_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1、第 1页 共9页扬州大学试题纸(20102011学年第2学期) 全校理工类等专业统考 学院 课程 C及C+语言程序设计 (闭)卷注意:请用答题纸答题,将答案填于相应的题号内。否则不给分。请认真填写并仔细核对答题纸上的学院、系科、班级、学号及姓名等。请将试卷和答题纸分开上交。单选题(每小题2分,共30分)1以下叙述中,正确的是_。A. 在C程序中,注释只能位于一条语句的后面B. 可以在一个函数中定义另一个函数C. 对于标识符,C语言将不区分大小写D. 构成C语言源程序的基本单位之一是函数定义2下列表示中,不是C语言合法字符常量的是 。A. $ B. 065 C. 0 xff D. x2a3下列各

2、组表示中,均能作为C语言自定义标识符的是 。A. day, lotus_1_2_3, -x B. Abc, _above, IFC. MJohn, year , sum D. month, total, enum4设有声明语句“char ch;”,则下列选项中,不合法的赋值语句是 。A. ch=a+b; B. ch=0; C. ch=a+b; D. ch=7+9;5设有声明及初始化语句“int x=0,y=1;”,则执行语句“y=-x|+y;”后,变量y的值为_。A.0 B.1C.2 D.36C语言规定,函数返回值的类型由 。A. return语句中的表达式类型决定B. 调用该函数时的主调函数

3、类型决定C. 调用该函数时系统临时决定D. 定义该函数时所指定的函数类型决定7若有声明语句“char s10;”,则下列选项中,不能表示s1地址的是 。A. s+1 B. s+ C. &s0+1 D. &s18设有声明及初始化语句如下:static char s1 =ABCDEF; static char s2 =A,B,C,D,E,F;则下列选项中,叙述正确的是 。A. s1和s2完全相同 B. s1和s2的长度相等C. s1和s2不相同,s1是指针数组 D. s1数组长度比s2数组长9以下函数定义示意中,正确的是 。A. int fun(int a,static int b) B. flo

4、at fun(int a; int b) C. double fun(void) D. int fun(char a) 裁剪框学院_ 系_ 班级_ 学号_ 姓名_-装-订-线-10设有声明语句“char *s=ta08bc;”,则指针变量s指向的字符串所占内存单元的字节数是 。A. 3 B. 5 C. 6 D. 711下列判断正确的是 。A. char *a=China; 等价于char *a; *a=China;B. char str10=China; 等价于 char str10; str =China; C. char *s=China; 等价于 char *s; s=China;D.

5、char c4=abc,d4=abc; 等价于 char c4=d4=abc;12设有程序段:char s =China,*p; p=s;则下列叙述中,正确的是 。A. s和p完全相同B. 数组s中的内容和指针变量p中的内容相同C. s数组长度和p所指向的字符串长度相等D. *p与s0相等13下列程序段的运行结果是 。 char *p=rewind; p+=2; printf(%dn,strlen(p);A. 2B. 4 C. 6 D. 714设有结构类型定义及结构对象声明语句如下: struct pupil char name20; int age; int sex; pup5, *p=pu

6、p;则以下对scanf函数的调用语句中,错误的是 。A. scanf (%s, );B. scanf (%d, &pup0.age);C. scnaf (%d, &(p-sex);D. scanf (%d, p-age);15设有结构类型定义及结构变量声明语句如下: struct ex int x; float y; char z; example;则下列叙述中,错误的是_。A. struct是结构类型定义时的关键字B. example是结构类型名C. x, y, z都是结构成员名D. struct ex是结构类型第 2 页 共9页裁剪框第3页 共9页 二、填空题(每空1分,

7、共20分)1在C语言中,一个C源程序至少包含一个 (1) 函数。在程序执行时若未发生任何异常情况,则通常是在执行了 (2) 函数的最后一条语句或该函数中的return语句后,程序才会终止运行。2用于结构化程序设计的3种基本控制结构是顺序、 (3) 和 (4) 结构。3若有声明及初始化语句“float x=3.5;”,则表达式“(int) x+x”的类型为 (5) 。4若有声明及初始化语句“int a=30,b=7;”,则表达式“!a+a%b”的值是 (6) 。5设有声明及初始化语句“int a=3, b=5;”,则程序段“a+=b; b=a-b; a-=b;”的功能是 (7) 。6命题“当x的

8、取值在1,)和(20, 31)内为真,否则为假”的C语言表达式是 (8) 。7在C语言中,如果在函数内部声明局部变量时缺省了存储类别,则编译系统默认该变量的存储类别为 (9) (用C语言关键字表达)。8若有声明及初始化语句“char s10=China;”,则表达式sizeof(s)的值为 (10) ;表达式strlen(s)的值为 (11) 。9设有宏定义如下:#define WIDTH 8#define LENGTH WIDTH+4则执行程序段“int v; v=LENGTH*2;”后,v的值为 (12) 。10continue只能用在 (13) 语句中;case和default只能在 (

9、14) 语句中出现。11C语言规定,简单变量作实参时,它传递给对应形参的是变量的 (15) ;数组名作为实参时,传递给对应形参的是数组的 (16) 。12. 在C语言中,声明一个int型a数组的一般形式为:int aexp;其中exp表示所声明a数组的 (17) ,它可以是整型、字符型或枚举型的常量;引用a数组元素时,形如表达式ai中的i表示数组的 (18) ,它可以是常量、变量、表达式等,但必须有确定的值,若i不是整型值,编译系统将自动对其取整,取整后的范围应在 (19) 内。13. 设有以下声明语句:struct student int x; int *y; ;int dt4=1,2,3,

10、4;struct student a4=10, &dt3, 20, &dt2, 30, &dt1, 40, &dt0, *p=a;则表达式*(+p)-y的值为 (20) 。裁剪框第 3 页 共8页第4页 共9页 阅读程序写出结果(每小题4分,共20分)1. 以下程序运行的结果是 。#include void main ( ) int a,b,c,d; a=c=0; b=1; d=20; if (a) d=d-10; else if (!b) if (!c) d=15; else d=25; printf(d=%dn, d ); 2. 以下程序的运行结果是 。void main( ) print

11、f(%4d, f(3); printf(%4d, f(5);int f(int a) int b=1; static c=1; b=b*a; c=c*a; return c/b;3下列程序运行的结果是_。#define EXCH(a,b) int t;t=a;a=b;b=t;void swap(int a,int b) int t; t=a; a=b; b=t; void main( ) int x=5, y=9 ; EXCH(x,y) ; swap(x,y); printf(x=%d,y=%dn,x,y);4. 运行下列程序,屏幕上的输出结果是_4 3 2_。#includemain() e

12、num colorred,green,blue; char *s=01233210001; int i,j,k; i=j=k=0; while(*s) switch(*s-0) case red: i+;break; case green:j+;break; case blue: k+;break; s+; printf(%d %d %dn,i,j,k);裁剪框第 4 页第 5 页 共9页5下列程序的运行结果是 。#include #include void main ( ) char a = Internet, b = Extranet; int k,n; n=strlen(a)strlen

13、(b)?strlen(a):strlen(b); for (k=0; kn; k+) if (*(a+k)=*(b+k) printf(%c, *(a+k);完善程序题(每空1分,共30分)1以下程序的功能是从键盘输入10个整数,并检查整数3是否包含在这些数据中,若包含3,则显示出第一个3出现的位置,请完善程序。 void main ( ) int data10, j=0; while (j10) scanf(%d, (1) ); j+; for( j=0;j10;j+) if( (2) ) printf(3 is in the position of %dn,j); break; if( (

14、3) )printf(not found!n); 2下列程序的功能是字符串的复制。函数void cs(char s, char t)的功能是将字符串t复制到s指向的字符数组中。请完善程序。 #include void cs(char s, char t ) int i=0; while( (4) ) i+ ; void main() char a20,b10; gets(b); cs ( (5) ); puts(a); 裁剪框3用牛顿迭代法(切线法)求方程3x3-3x2+x-1=0在x0=2附近的实根。即求f(x)= 3x3-3x2+x-1在x0=2附近与x轴的交点。其中牛顿迭代公式为: 以下

15、程序中函数float newtoon(float x)是利用上述的迭代公式求方程在x附近的根,当前后两次求出值的差的绝对值小于10-6迭代中止;函数float F(float x)的功能是求f(x);函数float F1(float x)求f(x)在x处的导数。 (6) float F(float x) return 3*x*x*x-3*x*x+x-1; float F1(float x) return 9*x*x-6*x+1; float newtoon(float x) float x0; do (7) ; x=x0- (8) ; while( fabs(x-x0)=1e-6 ); ret

16、urn x; main() float x0=2; printf(“The result =%.2fn”, (9) ); 4下列程序中,函数int hailstones(int a,int n)的功能是:以n为“种子”,按下列条件生成一个数列并依次存入a指向的数组中。条件为:(1)该数列的第1项为n;(2)以后每一项根据前一项生成,若前一项(ni)是偶数,则下一项(ni+1)为:ni+1= ni /2;否则下一项为:ni+1=3ni+1;(3)若ni是1,则数列结束。用这种方法产生的数称为冰雹数。hailstones函数返回冰雹数(包含1)的个数。main函数中,通过调用hailstones函

17、数生成冰雹数,按每行6个输出数列中的每一个数。#define N 100int hailstones(int a,int n) int i=0; while (n!=1) a (10) =n; if (n%2) (11) ; else n=n/2; ai=1; return (12) ;main() int aN,n,count,i; scanf(%d,&n); count=hailstones(a,n); for(i=0;icount;i+) if( (13) )printf(n); printf(%5d,ai); printf(ncount=%dn,count);第 6 页 共9页裁剪框第

18、 7 页 共9页裁剪框 5在一行文本中查找给定的单词。一行文本有字母和分隔符组成,分隔符包括若干空格、逗号、句号和换行符。一个单词有若干个连续字母组成。 main函数中word数组存放欲查找的单词。find_word函数完成在t字符串中查找单词w的功能,先从t串中找出一个单词,再与w进行比较,最后如果找到则返回单词w在t串中第一次出现的位置,否则返回-1。 #include #include #include main() char text80=“I will pass the examination in the summer holiday.”,word20; int t; puts(“

19、enter a word to be found:”); gets(word); t=find_word( (14) ); if( t!=-1 ) printf(“The word %s in text . It locates in %d.n”,word,t); else printf(“not found!n”); int find_word(char t , char w ) char s20; int i , j , k=0; for( i=0; ti!=0; i+) if(isalpha(ti) /* isalpha函数的功能是判断ti是否是字母,若是则返回值1,否则返回值0*/ f

20、or(j=0; isalpha(ti+j); j+) sj = (15) ; /* 生成一个单词串 */ sj = (16) ; if ( (17) ) return i ; i=i+j; return -1; 6下列程序的功能是:寻找并输出11至999之间的整数m,它满足m、m2、m3均为回文数。例如m=11,m2=121,m3=1331皆为回文数,故m=11是满足条件的一个数。函数int value(long m)的功能是判断m是否是回文数,如是,则函数返回值1,否则返回值0。请完善程序。 #include int value( long m ) long x=0,n=m; while(

21、m ) x=x*10+ (18) ; m= (19) ; if( (20) ) return 1; else return 0; 第 8 页 共9页 void main() long int m; for (m=11; m1000;m+) if(value(m)&value(m*m)&value(m*m*m) printf(m=%4ld,m*m=%7ld,m*m*m=%10ldn,m,m*m,m*m*m); getch();7以下程序中,函数float fun(int m)的功能是计算s=s1+s2+s3+s4的值,其中s1、s2、s3、s4用下列公式计算。请完善程序以达到要求的功能。算法提示

22、:#include float fun(int m) int i,n; float s,t; for(n=1, (21) ; n=m; n+) t=1; for(i=1;i5;i+) t= (22) ; s+=t; (23) ;main() float s; s=fun(50); printf(%f,s); getch();裁剪框8运行以下程序后输出结果为“20,y”,请完善程序使其完成此功能。#include struct n int x; char c; ;func(struct n *b) (24) =20; (25) =y; void main() struct n a=10,x; func( (26) ); printf(%d,%c,a.x,a.c); 9.下列程序中,函数void selsort(int a,int n)的功能是用直接选择排序算法对a指向的n个待排序数进行从小到大排序;main函数中,声明并初始化了一个整型数组,现欲通过调用selsort函数实现将数组中的前5个元素(a0a4)和后5个

温馨提示

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

评论

0/150

提交评论