2010-2011-2《C程序设计》期中测验试卷

更新时间:2023-10-01 09:12:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

精品文档 你我共享

中国计量学院现代科技学院2010 ~ 2011 学年第 二 学期

《 C程序设计 》课程期中考试试卷

考生姓名: 学号: 专业: 班级: 装 订 线

题序 得分 评卷人 一 二 三 四 五(1) 五(2) 总分 试题一:判断题(打√ 和×每小题1分,共10分)

1.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果。( ) 2.C语言中关系运算符!=、= =、>和<的运算优先级不相同。( ) 3.函数调用中,形参只有在被调用时才被创建(分配存储单元)。( ) 4.任何变量都必须要定义其类型。( ) 5.表达式 !x 等价于 x!=1 。( )

6.C的double类型数据在其数值范围内可以表示任何实数。( ) 7.C语言程序的三种基本结构是顺序结构、选择结构和嵌套结构。( ) 8.在C程序中,用整数0表示逻辑值“假”。( ) 9.表达式0195是一个八进制整数。( )

10.C程序的执行从main函数开始,所以main函数必须放在程序最前面。( )

试题二:单项选择题(每小题1分,共12分)

1.下列定义中, 定义的变量可以存放-123.4。

A、long a; B、unsigned int b; C、int d; D、float c ; 2.已知 int x=10 , ch=’A’ , y=0 ,则表达式x>=y&&ch<’B’&&!y的值是 。 A、0 B、1 C、“假” D、“真” 3.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将 。

A、生成可执行文件 B、生成目标文件 C、输出运行结果 4.能正确定义符号常量的是 。

A、#define n=10 B、#define n 10 C、#define n 10; D、#DEFINE N 10 5.执行语句“a=b--&&++c||--d;”(各变量当前值均为1)后,变量a、b、c、d值为 。

A、 1、0、2、1

B、 1、0、1、1

C、 1、0、2、0

D、 0、0、2、0 D、自动保存源文件

知识改变命运

精品文档 你我共享

6.根据函数fun,调用fun(fun(3))的返回值是 。

int fun(int x) { int k=1; x+=k--; return x; } A、3

B、5

C、6

D、4

7.C语言中,char数据类型在内存中的存储形式是 。

A、原码

B、反码

C、补码

D、ASCII码

8.以下程序运行时,从键盘输入:12<回车>,程序执行后的输出结果是 。

void main( ) { char k ; int i ; for ( i=1; i<3; i++) { scanf(“%c”,&k) ;

switch( k )

{ case ‘1’: printf(“yes#”);

case ‘2’: printf(“no#”);

} } }

A、yes# no#yes# B、yes# no# no# C、yes# no#

D、no# yes#

9.有变量定义int a=9;语句a+=a-=a+a;执行后,变量a的值是 。 A、18

B、9

C、-18

D、-9

10.下列语句中,可以输出26个大写英文字母的是 。

A、for(a=’A’;a<=’Z’;printf(“%c”,++a)); B、for(a=’A’;a<’Z’;a++)printf(“%c”,a)); C、for(a=’A’;a<=’Z’;printf(“%c”,a++)); D、for(a=’A’;a<’Z’;printf(“%c”,++a));

11.函数fun的功能是计算xn并返回。下列能正确调用函数fun计算3.4的语句是 。

#include void main()

{ int a; double x=3.4, y; double fun( int n, double x); …… }

A、fun(a,x);B、y=fun(x,a);C、y=fun(x);D、printf(“%f\\n”,fun(a,x));

a知识改变命运

精品文档 你我共享

12.已定义变量 int a = 10 , b = 0 ; 下列程序段的输出结果是 。 if ( a>15 ) b=1; else if ( a<2 ) b=2; else b=3; printf(“%d”,b); 装 订 线 A、3

B、2

C、1

D、0

试题三:阅读程序填空(3题,共12个单项选择填空,每空2分,共24分)

1.【程序说明】输入一个整数,将它逆序输出。要求定义并调用函数reverse(long number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。

运行示例:

Enter an integer: -123 After reversed: -321 【程序】

#include void main( ) { long in;

long reverse(long number); printf(\ scanf(\

printf(\}

long reverse(long number) { int flag; (2) ;

flag = number < 0 ? -1 : 1; if( (3) ) number = - number; while(number != 0){ res = (4) ; number /= 10; }

return flag*res; }

【供选择的答案】 (1)A、reverse() (2)A、res = 0 (3)A、number>0 (4)A、number

C、number/10

2.【程序说明】输入2个正整数m和n(1<=m

B、in

C、reverse(in) C、number!=0

D、reverse D、res

B、long res B、number<0

C、long res = 0

D、number==0

B、res*10 + number D、res*10 + number/10

知识改变命运

精品文档 你我共享

数以及这些素数的和。要求定义和调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。

运行示例:

Enter m, n: 1 10 count = 4, sum = 17 【程序】

#include #include int prime(int m) { int i, n;

if (m == 1) return (5) ; n = sqrt(m);

for(i = 2; i <= n; i++)

if (m%i == 0) return (6) ;

return (7) ; } main( )

{ int count = 0, i, m, n, sum = 0; printf(\ scanf(\for(i = m; i <= n; i++) if( (8) ){ sum += i; count++; }

printf(\}

【供选择的答案】 (5) A、1 (6) A、m (7) A、m

3.【程序说明】输入一个正整数n(n>=2),输出菲波那契(Fibonacci)序列的前n项,

每行输出6个数。菲波那契(Fibonacci)序列:1,1,2,3,5,8,13,……,数列的前两个数都是1,从第三个数开始,每个数是前两个数之和。 运行示例: Enter n :10

1 1 2 3 5 8 13 21 34 55 【程序】

B、m B、1 B、1

C、m == 1 C、0 C、0

D、0 D、n D、i==n

(8) A、prime(i)!=0 B、prime(i)==0 C、i==prime(i) D、!prime(i)

知识改变命运

精品文档 你我共享

#include main( )

{ int count, i, n, x1, x2, x; printf(\

装 订 线 scanf(\x1 = x2 = 1;

printf(\ (9)

for ( i = 1; i <= n-2; i++ ) {

(10) ;

printf(\

count++ ;

if ( (11) )

printf(\x1 = x2 ; (12) ; } }

【供选择的答案】 (9) A、count = 2 (10) A、x1=x1–x2 (11) A、count/6==0 (12) A、x=x1+x2

B、count = 0 B、x=x1+x2

B、count%6!=0 B、x2 = x1;

C、count = 1 C、x=x1

D、count = -1 D、x = 2 D、x2 = x;

C、count%6==0 D、count/6!=0 C、x = x2;

试题四:阅读程序,选择运行结果(3题,共12个单项选择,每空2分,共24分)。

1.【程序】

#include void main( ) { int k;

for(k = 5; k > 0; k--){ if(k==3)

continue; /* 第6行 */ printf(\ } }

(1) 程序的输出是 (1) 。

A、5 4 3 2 1 A、5 4 3 2 1 A、5 4 3 2 1

B、5 4 2 1 B、5 4 2 1 B、5 4 2 1

C、5 4 D、3

(2) 。

C、5 4 D、3 C、5 4 D、3

(2) 将第6行中的continue改为break后,程序的输出是

(3) 将第6行中的continue删除(保留分号)后,程序的输出是 (3) 。 (4) 将第6行全部删除后,程序的输出是 (4) 。

知识改变命运

本文来源:https://www.bwwdw.com/article/x1vd.html

Top