C语言程序设计试卷(含答案)

…………………………………………密…………………………………………封…………………………………………线…………………………………………… 班级: 学号: 姓名: 2015年春季学期

《C语言程序设计》试卷A

题号 一 分数 二 三 四 总分 if(x!=10) printf(\

程序运行时,输入的值在哪个范围才会有输出结果( )。 A)不等于10的整数 B)大于3且不等于10的整数 C)大于3或等于10的整数 9、有以下程序

#include main()

{ int a=1,b=2,c=3,d=0; if (a==1 && b++==2)

if (b!=2||c--!=3) printf(\

else printf(\else printf(\程序运行后输出结果是( )。 A)1,2,3 B)1,3,2 C)1,3,3

D)3,2,1

10、以下程序段中的变量已正确定义 for(i=0;i<4;i++,i++)

for(k=1;k<3;k++); printf(\程序段的输出结果是( )。 A)********

B)**** C)** D)*

11、写出下面程序的输出结果( )。

D)1086

#include int main (void)

{int i,j,x,y,m;

int a[3][3]={{1,3,12},{14,9,1},{9,0,4}}; m=a[0][0]; x=0; y=0;

for(i=0;i<3;i++) for(j=0;j<3;j++) if(m

printf(\return 0;}

第 1 页 共 7 页

D)小于3的整数

一.选择(每道小题2分,合计30分)

1、以下选项中合法的标识符是( )。 A)1_1

B)1-1

C)_11

D)1_ _

2、若函数中有定义语句:int k;,则( )。 A)系统将自动给k赋初值0 C)系统将自动给k赋初值-1 A)o115

B)0118

B)这时k中的值无定义 D)这时k中无任何值

D)115L

3、以下选项中,能用作数据常量的是( ) 。

C)1.5e1.5 C)x*=(1+x)

4、设有定义:int x=2;,以下表达式中,值不为6的是( )。 A)x*=x+1 是( )。 A)123.141593 A)1083

B)12 3.141593

C)12,3.141593

D)123.1415930

6、把2进制数10000111101转化为十进制数为( )。

B)1084 C)1085

7、以下是if语句的基本形式: if(表达式) 语句 其中\表达式\。 A)必须是逻辑表达式

B)必须是关系表达式 D)可以是任意合法的表达式

C)必须是逻辑表达式或关系表达式 8、有以下程序

#include main()

{ int x; scanf(\

if(x<=3); else

B)X++,2*x

D)2*x,x+=2

5、程序段:int x=12; double y=3.141593;printf(\的输出结果

A)14 B)13 C)12 D)11 12、写出下面程序的输出结果( )。 float k1;float k2;

}a[2]={{\

#include int main(void)

{int a[]={1,4,7,10,13}; int y=1,i,*p; p=&a[1];

for(i=0;i<3;i++) y+=*(p+i); printf(\A)22 B)24 C)26 D)28 13、写出下面程序的运行结果( long fib(int n) {if(n>2)

return(fib(n-1)+fib(n-2)); else return(2);} #include int main(void)

{printf(\return 0;}

A)3 B)4 C)5 D)6 14、写出下面程序的运行结果( #include int f(int a) {int b=0;

static c=3;a=c++,b++; return a;} int main(void) {int a=2,i,k;

for(i=0;i<2;i++) k=f(a++); printf(\

A)2 B)3 C)4 D)5 15、写出下面程序的输出结果( #include \int main(void) {struct student { char name[10];

)。 )。 )。 printf(\:%s total=%f\return 0;}

A) name:wang total=170.000000 B) name:wang total=150.000000 C) name:zhang total=170.000000 D) name:zhang total=150.000000

二、填空(每题2分,共计20分)

1、将下列不同进制的数从大到小排列:(110110010)2 、(208)10 、(322)8 、(A8)16________________ ____。

2、把十进制数121转化为2进制数为 。

3、定义int a=20;,写出执行下列语句后a的值: a/=a+a _______。 4、下面程序的输出结果为 。 #include int main(void)

{int a=3,b=4,c=5,k; k=c>a>b && c||c/b; printf(\return 0;}

5、下面程序的输出结果为 。 #include int main(void) {int k=5,b=2; k*=b+++3;

printf(\return 0;}

6、下面程序的输出结果为 。 #include int main(void) {int a,b,k;

k=(a=2,b=5,a>b?a++:b++,a+b); printf(\return 0;}

7、下面程序的输出结果为 。 #include int main(void)

第 2 页 共 7 页

{int a=2,b=3;

float x=3.5,y=2.5,k;

k=(float)(a+b)/2+(int)x%(int)y; printf(\return 0;}

8、下面程序的输出结果为 。 #include int main(void) {int a,b,c,d,x;

a=c=0; b=x=1; d=10; if(a) d=d-5; else if(!b) if(!c) x=5; else x=25;

printf(\return 0;}

9、下面程序的输出结果为 。 #include int main(void) {int a=0;

if(a=1) a+=10; printf(\return 0;}

10、下面程序的输出结果为 。 #include int main(void)

{int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y)

{ case 0: a++; break; case 1: b++; break;} case 2: a++;b++; break; case 3: a++;b++;}

printf(\return 0;}

三、简答(1、2题每题5分,3题10分,共计20分)

1、简述程序设计的一般过程。

2、简述软件开发的生命周期。

3、通过你对本课程的学习,谈谈你对C语言的理解。

第 3 页 共 7 页

四、编程(1、2题每题7分,3、4题每题8分,共计30分)

1、编程解决货物征税问题。价格在1万元以上的征5%,5000元以上1万元以下的征3%,1000元以上5000以下的征2%,1000元以下的免税,读入货物价格,计算并输出税金。

2、编程实现下面的功能:输出1~500中能被7除余5、被5除余3、被3除余2的数(每行输出5个数)。

3、编程实现下面的功能:把从键盘输入的字符串逆序存放并输出。

4、编写程序实现下面的功能:主函数接受键盘输入的年、月、日,通过子函数计算该日是该年的第几日。

第 4 页 共 7 页

2015学年春季学期

《C语言程序设计》试卷A答案

一、选择(每题2分,共计30分)

1—5 CBDDA 6—10 CDBCD 11—15 AABCD 二、填空(每题2分,共计20分)

1、(110110010)2 、 (322)8 、(208)10、(A8)16 2、1111001 3、0 4、1 5、25 6、8 7、3.50 8、d=10,x=1 9、a=11 10、a=2,b=1 三、简答(1、2题每题5分,3题10分,共计20分) 1、简述程序设计的一般过程。

(1) 分析问题。提出解决问题的可行方案。

(2) 确定算法。针对提出的可行方案确定解决问题、完成任务的每一个细节步骤。 (3) 编程。使用程序设计语言把上述算法严格地描述出来(即写成程序),输入到计算机里并存盘。

(4) 在计算机上运行并调试这个程序。如果在运行过程中发现了错误,就仔细分析出错的原因,然后更正错误。再次运行该程序,直到程序准确无误并得到正确的输出结果为止。 (5) 总结。写出书面报告。 2、简述软件开发的生命周期。

一个软件的生存周期包括以下几个阶段: (1) 问题定义与需求分析。 (2) 总体设计(或称概要设计)。 (3) 详细设计。

(4) 编写程序和单元测试。 (5) 综合测试和确定运行。 (6) 系统维护。

3、通过你对本课程的学习,谈谈你对C语言的理解。

C语言是一种成功的系统描述语言,用C语言开发的UNIX操作系统就是一个成功的范例;同时C语言又是一种通用的程序设计语言,在国际上广泛流行。世界上很多著名的计算公司都成功的开发了不同版本的C语言,很多优秀的应用程

序也都是用C语言开发的,它是一种很有发展前途的高级程序设计语言。 (1) C是中级语言。它把高级语言的基本结构和语句与低级语言的实用性结合起来。C 语言可以像汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。

(2) C是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。 (3)C语言功能齐全。具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。另外C语言也具有强大的图形功能,支持多种显示器和驱动器。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。

(4)C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要硬件进行操作的场合,明显优于其它解释型高级语言,有一些大型应用软件也是用C语言编写的。C语言具有绘图能力强,可移植性,并具备很强的数据处理能力,因此适于编写系统软件,三维,二维图形和动画。它是数值计算的高级语言。

(5)C语言文件由数据序列组成,可以构成二进制文件或文本文件。 四、编程(1、2题每题7分,3、4题每题8分,共计30分)

1、编程解决货物征税问题。价格在1万元以上的征5 %,5000元以上1万元以下的征3%,1000元以上5000以下的征2%,1000元以下的免税,读入货物价格,计算并输出税金。 #include \int main() { int m;

float s,t; scanf(\ if(m <= 1000)

t = 0;

t = (m - 1000) * .02; else if(m >1000 && m <= 5000)

第 5 页 共 7 页

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4