第一范文网 - 专业文章范例文档资料分享平台

C语言程序设计期末考试卷及答案 

来源:用户分享 时间:2025/8/28 9:26:58 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

装装 C语言程序设计期末考试卷及答案

------ ----- ---- -

- ---- ---- -得分 阅卷人 复核人 - ---- -- --- - -- ---- ---一、单项选择题。从A、B、C、D四个选项中,选择一个最佳答案填入括号内( 每小题1分,- -- -- ---共计30分)。

- -2 号1------1.一个C语言程序的执行是从( )。

----学----------- -A)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 -- ------ --- ---B)本程序的main函数开始,到main函数结束

--- ----- ---- ---C)本程序的main函数开始,到本程序文件的最后一个函数结束 -- ---- ----- -D)本程序文件的第一个函数开始,到本程序的main函数结束

--- ----- --- ---2.下列选项中不属于- -...C语言关键字的是( )

。 ---- - A)switch B)printf C)default D)case

-- ---名3.设有语句 int a = 4; ,则执行了语句 a += a -= a * a; 后,变量a的值是( )。

第---姓第-- A)24

B) -24 C)4 D)16

--- - - 4.已知int i;float d;,则正确的表达式是( )。 --- --线-- -A)(int d) B)int(d)%i C)(int)d%i D)int(d%i)

----- --- ------ -5.已知int i,a;,执行语句i=(a=3*9,a/5),a+11; 后,变量i的值是( )。 -- ------ --- ----A)5

B)16

C)27 D)38

-- --- ------ ----6.下列选项中合法的字符型常量是( )。 --------级----A)\

B)'\\n'

C)\)a

-----班----------7.下面程序的运行结果是( )。 ---------------

------------------------------ #include void main( ) { int k = 15;

printf(\}

A)k = 15,k = 15,k = 15 B)k = 15,k = 17,k = 17 C)k = 15,k = 017,k = 0xf D)k = 15,k = 17,k = f

8.已知a,b,c为int类型,执行语句:scanf(\);使得a为10,b为20,c为30,以下不正确...

的输入形式是( )。 A)10 B)10 C)10,20,30 D)10 20 20 20 30 30 30

9.已知int x=1,y=2,z=3;,执行下列程序段后,输出的结果是( )。 if(x>y) z=x;x=y;y=z; printf(\A)1,2,3

B)2,3,3

C)2,3,1 D)2,3,2

10.若变量c为char类型,能正确判断出c为大写字母的表达式是( )。 A)'A'<=c<='Z' B)('A'<=c)||(c<='Z') C)(A<=c)&&(c<=Z) D)('A'<=c)&&(c<='Z')

11.有以下程序段:

int k=0; while(k=1) k++;

循环执行的次数是( )。

while A)无限次 B)有语法错,不能执行 C)一次也不执行 D)执行1次 s = s + a[i][i];

12.以下程序的输出结果是( )。

void main( ) {int x=1,a=0,b=0; switch(x) { case 0:b++; case 1:a++; case 2:a++;b++; }

printf(\}

A)a=1,b=0 B)a=1,b=1

C)a=2,b=1

D)a=2,b=2

13.若有定义int i = 1;,执行语句while ( i < 10 ) i++; 后,i的值为( A)9

B)10

C)11

D)12

14.有说明语句int a[ ]={1,2,3,4,5};,则数组a包括了( )个元素。 A)10 B)5

C)6 D)不确定

15.以下程序段执行后,输出结果是( )。

char str[]=\

A)5 B)6 C)7 D)13

16.若有以下定义:float t[5][4];,能正确引用t数组元素的表达式是( A)t[1][4] B)t[5][0] C)t[0][0] D)t[0,0]

17.执行下列程序段:

int i,s = 0;

int a[ ][3] = {{1,2},{3,4},{5,6}}; for ( i = 0;i < 3;i++ )

)。。 则s的值是( )。 A)5

B)6

C)12

D)21

18.下述对字符数组的描述中,错误..的是( )。 A)字符数组可以存放字符串

B)字符数组中的字符串可以整体输入输出

C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D)不可以用关系运算符对字符数组中的字符串进行比较

19.设有宏定义#define Y(x) (x)+ 2 ,则下面程序段的运行结果是( )。

int a = 2,b = 2,c = 1; printf(\A)7

B)8

C)9

D)10

20.若用数组名作为函数调用的实参,传递给形参的是( )。 A)数组的长度 B)数组第一个元素的值 C)数组中全部元素的值

D)数组的首地址

21.下面叙述中,不正确...的是( )。 A)在不同的函数中可以使用相同名字的变量 B)函数中的形式参数是局部变量

C)在一个函数内定义的变量只在本函数范围内有效

D)在一个函数内的复合语句中定义的变量在本函数范围内有效 22.若在程序中定义了以下函数:

float max( float a ,float b ) { return ( a>b?a:b); }

并将其放在主调函数之后,则在调用之前应该对该函数进行声明,以下选项中错误..

的 )声明是( )。

A) float max( float a,b ); B) float max( float ,float ); C) float max( float a ,float b ); D) float max( float x ,float y ); 23.要使函数体内的某局部变量能保留函数前一次调用后的值,供下一次调用时继续使用,

该变量的存储类型应是( )。

A) auto B) extern C) static D) register 24.类型相同的两个指针变量之间不能..进行的运算是( )。 A)+

B)-

C)=

D)==

25.若有说明语句:int i, x[3][4] ;,则不能..将x[1][1]的值赋值给变量i的语句是( )。 A)i = *( *( x + 1 ) + 1 );

B)i = x[1][1]; C)i = *( *( x + 1 ) );

D)i = *( x[1] + 1 );

26.有如下程序段:

int a[6] = { 1,2,3,4,5,6 }; int m,*ptr; ptr = &a[0];

m = ( *ptr )*( *( ptr + 2 ) ) *( *( ptr + 4 ) ); 执行该程序段后,m的值为( )。 A) 15

B)48

C)24

D)8

27.设有定义:enum team{ my,your=4,his,her = his+10};

则枚举元素my、your、his、her的值分别是( )。 A)0 1 2 3

B)0 4 0 10

C)0 4 5 15 D)1 4 5 15

28.下面程序的运行结果是( )。

union myun

{ struct

{ int x,y,z; }u;

int k; }a;

void main( )

{ a.u.x = 4;

a.u.y = 5; a.u.z = 6; a.k = 0;

printf(\}

A)4

B)0

C)5

D)6

29.表达式11 & 18的值是( )。 A)0

B)1

C)2

D)27

30.当顺利执行了文件关闭操作后,fclose函数的返回值是( )。 A) 0 B)true

C) -1

D) 1

得分 阅卷人 复核人 二、填空题(每小题2分,共计20分)。

1.C语言源程序编译后生成 程序,然后经过连接生成可执行程序。 2.实型常量有两种表示方法:小数形式和 。

3.rewind函数的功能是 。

4. 若ch是字符型变量,与ch=getchar();功能相同的语句是 。5.以下程序段要使指针变量p指向一个整型的动态存储单元,请填空。

int * p;

p= malloc(sizeof(int));

6.已知:int *p,a = 2,b = 1;,则执行程序段p = &a;a = *p + b; 后,a的值为 。 7.已知:int x = 1, y = 2, z;,则执行z = x > y ? ++x : ++y;后,z的值为 。 8.当执行下面程序且输入:ABC<回车>时,输出的结果是 。

#include void main( )

{ char ss[10] =\

gets(ss);

printf(“%s\\n”,ss); }

9.下面程序的功能是用函数的递归调用求n!(n≥1),请填空。

float f(int n)

{ if (n==1) return(1);

else return ( ); } void main( )

{ int n;

scanf(\

printf(\

}

10.以下程序执行后的输出结果是 。

void main( )

{ int a = 3,b = 1,t;

t = ( a << 2 ) | b;

printf(\

}

得分 阅卷人 复核人 三、程序阅读题(每小题4分,共计20分)。 1.以下程序执行后的输出结果是 。

#include void main( ) { int i;

for ( i = 1;i <5;i++ )

putchar(‘#’);

}

2. 以下程序执行后的输出结果是 。 void main( )

{ int arr[10]={-1,2,3,4,-5,6,7,-8,9,0},i,k = 0;

for ( i = 0;i <10;i ++ )

if(arr[i]<0) k++;

printf(\

}

3.以下程序执行后的输出结果是 。 void fun(int a[10]) {int i,j,t; for (i=0;i<9;i++)

for (j=0;j<9-i;j++) if (a[j]>a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t; }

}

void main( ) {int i;

int a[10]={4,3,5,1,0,8,2,6,7,9}; fun(a);

for (i=0;i<10;i++) printf(\ printf(\}

4.以下程序执行后的输出结果是 。

#include struct stu

{ int x;

int *y;

}*p;

int a[2] = {10,20};

struct stu aa[2] = { 150,&a[0],250,&a[1]}; void main( )

{ p = aa;

printf(\-> x ); }

5.以下程序执行后的输出结果是 。

void swap( int *p1 ,int *p2)

{ int k; k = *p1;

*p1 = *p2; *p2 = k; }

void main( )

{ int a = 3,b = 6,*x = &a,*y = &b; swap( x,y );

printf(\

} 得分 阅卷人 复核人 四、程序改错题(共2小题,每正确修改一处错误得2分,共计10分)。 注意:不得增行或删行,写出改正后的程序行,使之能够得出正确的结果。

1.下列程序的功能是计算数列1,3,5,…,2n-1,…的前n项之和,其中n由键盘输入。void main( ) {int s=0,n,i=1;

scanf(\)该行有错误*/ do { s=s+i; i=i+2; }

while (i>2*n-1); /* 2)该行有错误*/ printf(\

搜索更多关于: C语言程序设计期末考试卷及答案  的文档
C语言程序设计期末考试卷及答案 .doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c06mnz3rvgt48fsc2a7r62i4cx3q5al00q7e_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top