admin 管理员组

文章数量: 1184232


2024年4月22日发(作者:边框图片大全简笔画 简单)

《C语言程序设计》期末考试试卷以及答案提示(共五篇)

第一篇:《C语言程序设计》期末考试试卷以及答案提示

一、单项选择题(本大题共20题,每题2 分,共40分)

1、以下不是C语言的特点的是 B。A、C语言简洁、紧凑

B、能够编制出功能复杂的程序(任何程序都可以,不算特点)C、

C语言可以直接对硬件进行操作 D、C语言移植性好

2、以下不正确的C语言标识符是 D

A、ABC B、abc C、a_bc D、ab.c(只能是字母,下划线,数字;

另外数字不可开头)

3、一个C语言程序是由 B。A、一个主程序和若干子程序组成 B、

函数组成 C、若干过程组成 D、若干子程序组成

4、一个算法应该具有“确定性”等5个特性,对另外4个特性的

描述中错误的是 B A、有零个或多个输入

B、有零个或多个输出(有一个或多个输出)C、有穷性

D、可行性

5、设变数a是整型,f是实型,i是双精度型,则表达式10+„a‟

+i*f值的数据类型为 C A、int B、float C、double D、不确定(低类

型要转换为高类型)

6、在C语言中,char型数据在内存中的存储形式是 D。A、补码

B、反码 C、源码 D、ASCII码

7、有如下程序,输入数据:12345M678<cR>后(表示回车),

x的值是 B。#include main(){ int x;float

y;scanf(“%3d%f”,&x,&y);} A、12345 B、123 C、45 D、345(由

scanf语句可知取三位数值给X)

8、若有以下定义int a,b;float x,则正确的赋值语句是 B。A、

a=1,b=2(少了分号)B、b++;C、a=b=5(句末少了分号)D、

b=int(x);(右侧要是确切的值)

9、以下程序的执行结果是 A。#include { int

i=10,j=10;printf(“%d,%dn”,++i,j--);} A、11,10 B、9,10 C、11,9

D、10,9(i是先加一再使用,j是先使用再减一)

10、巳知字母A的ASCII码是65,以下程序的执行结果是 D。

#include main(){ char c1='A',c2='Y';printf(“%d,%dn”,c1,c2);A、

A,Y B、65,65 C、65,90 D、65,89(输出ASCII代码)

11、下列运算符中优先级最高的是 C。

A、< B、十 C、% D、!=(算术,关系,逻辑,赋值)

12、设x、y和z是int型变数,且x=3,y=4,z=5,则下面表

达式中值为0的是A、‟x‟&&‟y‟ B、x<=y C、x||y+z&&y-z

D、!((x<y)&&!z ||1)

算术,关系,逻辑,赋值

13、判断char型变量cl是否为小写字母的正确表达式为 D。A、

‟a‟<=c1<=f‟z‟ B、(c1>=a)&&(c1<=z)C、(„a‟>=c1)(„z‟<=

c1)D、(c1>=‟a‟)&&(c1<=‟z‟)

14、字符串“a”在内存中占据的字节个数为 C。

A、0 B、1 C、2 D、3(字符串末尾默认还有一个结束字符„‟)

15、下面有关for循环的正确描述是 D。A、for循环只能用于循

环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达

式 C、在for循环中,不能用break语句跳出循环体

D、for循环体语句中,可以包含多条语句,但要用花括号括起来

16、下面程序的运行结果是 C。#include main(){int

num=0;while(num<=2){num++;printf(“%d ,num);} } A、1 B、1

2 C、1 2 3

。D D、1 2 3 4

17、以下描述正确的是 C。

A、由于do-while循环中循环体语句只能是一条可执行语句,所

以循环体内不能使用复合语句。(可以)

B、do-while循环由do开始,用while结束,在while(表达式)

后面不能写分号。(要)C、在do-while循环体中,一定要有能使

while后面表达式的值变成零(“假”)的操作。(有穷)D、do-

while循环中,根据情况可以省略while。(不可省)

18、以下对一维整形数组a的正确说明是 D。(数组数要事先明

确)A、int a(10);B、int n=10,a[n];C、int n;D、int

a[10];scanf(“%d”,&n);

int a[n];

19、以下对二维数组a的正确说明是 C。

A、inta[3][];(后面不跟时不可省)B、float a(3,4);C、double

a[1][4];D、float a(3)(4);(中括号)

20、若二维数组a有m列,则在a[i][j]前面的元素个数为 B。

(数组从0,0开始)A、j*m+i B、i*m+j C、i*m+j-1 D、i*m+j+1

二、填空题(本大题共10空,每空2分,共20分)

1、结构化设计中的三种基本结构是 顺序结构、分支结构(或者

选择结构,判断结构)、循环结构。

2、在C语言中的实型变量分为两种类型,它们是 单精度型(或:

float型)和 双精度型(或;double型]。

3、当a=5,b=4,c=2时,表达式 a>b!= c的值是 1。

4、下列程序运行后的输出结果是 * * * * * * * * * *

#include main(){ int i,j;for(i=4;i>=1;i-

-){printf(“* ”);for(j=1;j<=4-i;j++)printf(“* ”);printf(“n”);} }

5、若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,

a[1][2]得到的初值是,a[2][1]得到的初值是 0 6。

6、在C语言中,二维数组元素的内存中的存放顺序是 按行主顺

序存放。

三、程序分析题(本大题共2题,每题4分,共8分,描述程序

功能并写出程序执行结果)

1、#include main(){int

a,s,n,count;a=2;s=0;n=1;count=1;while(count<=7){n=n*a;s=s+n

;++count;} printf(“s=%d”,s);} 功能:计算2的一次方到7次方的和

并赋值给s输出,结果为s=254

2、#include main(){int

a=[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;for(i=0;i<3;i++)for(j=0;

j<3;j++)if(i==j)sum=sum+a[j];printf(“sum=%dn”,sum);} 输出二

维数组a[3][3]={{1,3,5};{7,9,11};{13,15,17}}的对角线的和赋值给sum

输出,结果:sum=27

四、程序设计题(本大题共4题,每题8分,共32分)

1、编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄

氏温度,屏幕就显示对应的华氏温度,输出取两位小数。转换公式:

F=(C+32)×9/5。#include Void main(){ Float F,C;Printf(“please

enter the temperature

C:”);Scanf(“%f”,&C);F=(C+32)*9/5;Printf(“F=%7.2fn”,F);}

2、试程序设计判断输入的正整数是否既是5又是7的正倍数。若

是,则输出yes;否则输出no。#include Void main(){ int

x;Printf(“please

printf(“non”);}

3、判断数m是否为素数(只能被1和它本身整除的整数)?

#include #include Void main(){ Int i,k,m;Printf(“please enter an

integer

number:”);Scanf(“%d”,&m);k=(int)sqrt(m);for(i=2;i<=k;i++){if

(m%i==0)printf(“%d is not a prime numbern”,&m);Break;}

If(i>k)Printf(“%d is a prime number.n”);}

4、对15个数进行排序,按从小到大的顺序输出。

《C语言程序设计》期末考试试卷(A卷)评分标准及标准答案

一、单项选择题(本大题共20题,每题2 分,共40分)

1、B

2、D

3、B

4、B

5、C

6、D

7、B

enter an

integer:”);Scanf(“%d”,&x);If(x%35==0)printf(“yesn”);Else

8、B

9、A

10、D

11、C

12、D

13、D

14、C

15、D

16、C

17、C

18、D

19、C 20、B

二、填空题(本大题共10空,每空2分,共20分)

1、顺序结构 分支结构 循环结构

2、单精度型(或:float型)双精度型(或;double型]

3、1

4、* * * * * * * * * *

5、0 6

6、按行主顺序存放

三、程序分析题(本大题共2题,每题4分,共8分)

能正确表达出题目的含义、要求,即可得分,部分正确可按比例得

分,否则不得分。

1、功能:求S=0+2+4+8+16+32+64+128 和。输出结果:

s=254

2、功能:出矩形阵a的主对角在线的元素之和。输出结果:27

四、程序设计题(本大题共4题,每题8分,共32分)

能正确表达出题目的含义、要求,且格式正确,即可得满分,不

要求形式完全相同。部分正确可按比例得分,否则不得分。

1、#include main(){ float c,f;printf(“input

c:”);…………………………………………….2分

scanf(“%f”,&c);…………………………………………….2分

f=(c+32.0)*9.0/5.0;…………………………………………….2

printf(“F=%.2f n ”,f);…………………………………………….2分 }

2、#include main(){int

else 分

x;scanf(“%d”,&x);…………………………………………….2

if(x%5==0&&x%7==0)…………………………………………….2

printf(“yes”);…………………………………………….2

printf(“no”);…………………………………………….2分 }

3

….2

、# include # include main(){int

}

m,i,k;scanf(“%dn”,&m);k=sqrt(m);…………………………………………

分 for(i=2;i<=k;i++)…………………………………………….2

is a

{if(m%i==0)break;…………………………………………….2

if(i>k)printf(“m

number!n”);…………………………………………….2分 }

4、# include main(){int i,j,a[15],t;printf(“input 15

numbers:n”);for(i=0;i<15;i++)scanf(“%d”,&a);………………………

…………………….2分

for(j=0;j<15;j++)…………………………………………….2

for(i=0;i<15-j;i++)…………………………………………….2分

if(a>a){t=a;a=a;a=t;} …………………………………………….2分

for(i=0;i<15;i++)printf(“%6d”,a);}

第二篇:武汉理工大学《C语言程序设计》期末考试试卷(A卷)

武汉理工大学《C语言程序设计》期末考试试卷(A卷)(2011

级各专业)

一、单项选择题(本大题共20题,每题2 分,共40分)

1、以下不是C语言的特点的是。

A、C语言简洁、紧凑

B、能够编制出功能复杂的程序

C、C语言可以直接对硬件进行操作

D、C语言移植性好

prime

2、以下不正确的C语言标识符是 A、ABC B、abc C、a_bc D、

ab.c

3、一个C语言程序是由。

A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成

D、若干子程序组成

4、一个算法应该具有“确定性”等5个特性,对另外4个特性的

描述中错误的是 A、有零个或多个输入

B、有零个或多个输出 C、有穷性

D、可行性

5、设变量a是整型,f是实型,i是双精度型,则表达式

10+‘a’+i*f值的数据类型为 A、int B、float C、double D、不确

6、在C语言中,char型数据在内存中的存储形式是。A、补码 B、

反码 C、源码 D、ASCII码

7、有如下程序,输入数据:12345M678<cR>后(表示回车),

x的值是。#include main(){ int x;float y;scanf(“=%f”,&x,&y);} A、

12345 B、123 C、45 D、345

8、若有以下定义int a,b;float x,则正确的赋值语句是。A、

a=1,b=2

B、b++;

C、a=b=5

D、b=int(x);

9、以下程序的执行结果是。#include {

int i=10,j=10;printf(“%d,%dn”,++i,j--);

} A、11,10 B、9,10 C、11,9 D、10,9

10、巳知字母A的ASCII码是65,以下程序的执行结果是。

#include main(){

char c1='A',c2='Y';printf(“%d,%dn”,c1,c2);A、A,Y B、65,65

C、65,90 D、65,89

11、下列运算符中优先级最高的是。A、< B、十 C、% D、!=

12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表

达式中值为0的是。A、’x’&&’y’

B、x<=y

C、x||y+z&&y-z

D、!((x<y)&&!z ||1)

13、判断char型变量cl是否为小写字母的正确表达式为。

A、’a’<=c1<=f’z’

B、(c1>=a)&&(c1<=z)C、(‘a’>=c1)(‘z’<=c1)D、

(c1>=’a’)&&(c1<=’z’)

14、字符串“a”在内存中占据的字节个数为。A、0 B、1 C、2

D、3

15、下面有关for循环的正确描述是。

A、for循环只能用于循环次数已经确定的情况

B、for循环是先执行循环体语句,后判定表达式 C、在for循环

中,不能用break语句跳出循环体

D、for循环体语句中,可以包含多条语句,但要用花括号括起来

16、下面程序的运行结果是。#include main(){int

num=0;while(num<=2){num++;printf(“%d ,num);

} } A、1

B、1 2

C、1 2 3

D、1 2 3 4

17、以下描述正确的是。

A、由于do-while循环中循环体语句只能是一条可执行语句,所

以循环体内不能使用复合语句。

B、do-while循环由do开始,用while结束,在while(表达式)

后面不能写分号。

C、在do-while循环体中,一定要有能使while后面表达式的值

变成零(“假”)的操作。

D、do-while循环中,根据情况可以省略while。

18、以下对一维整形数组a的正确说明是。

A、int a(10);B、int n=10,a[n];

C、int n;D、int a[10];scanf(“%d”,&n);

int a[n];

19、以下对二维数组a的正确说明是。

A、inta[3][];B、float a(3,4);

C、double a[1][4];D、float a(3)(4);20、若二维数组a有m列,

则在a[i][j]前面的元素个数为。A、j*m+i

B、i*m+j

C、i*m+j-1

D、i*m+j+1

二、填空题(本大题共10空,每空2分,共20分)

1、结构化设计中的三种基本结构是、、。

2、在C语言中的实型变量分为两种类型,它们是 和。

3、当a=5,b=4,c=2时,表达式 a>b!= c的值是。

4、下列程序运行后的输出结果是。

#include main(){ int i,j;for(i=4;i>=1;i-

-){printf(“* ”);for(j=1;j<=4-i;j++)printf(“* ”);printf(“n”);} }

5、若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,

a[1][2]得到的初值是,a[2][1]得到的初值是。

6、在C语言中,二维数组元素的内存中的存放顺序是。

三、程序分析题(本大题共2题,每题4分,共8分,描述程序

功能并写出程序执行结果)

1、#include main(){int

a,s,n,count;a=2;s=0;n=1;count=1;while(count<=7){n=n*a;s=s+n

;++count;} printf(“s=%d”,s);}

2、#include main(){int

a=[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;for(i=0;i<3;i++)for(j=0;

j<3;j++)if(i==j)sum=sum+a[i][j];printf(“sum=%dn”,sum);}

四、编程题(本大题共4题,每题8分,共32分)

1、编写摄氏温度、华氏温度转换程序。要求:从键盘输入一个摄

氏温度,屏幕就显示对应的华氏温度,输出取两位小数。转换公式:

F=(C+32)×9/5。

2、试编程判断输入的正整数是否既是5又是7的正倍数。若是,

则输出yes;否则输出no。

3、判断数m是否为素数(只能被1和它本身整除的整数)?

4、对15个数进行排序,按从小到大的顺序输出。

武汉理工大学《C语言程序设计》期末考试试卷(A卷)(2011

级各专业)

评分标准及标准答案

一、单项选择题(本大题共20题,每题2 分,共40分)

1、B

2、D

3、B

4、B

5、C

6、D

7、B

8、B

9、A

10、D

11、C

12、D

13、D

14、C

15、D

16、C

17、C

18、D

19、C 20、B

二、填空题(本大题共10空,每空2分,共20分)

1、顺序结构 分支结构 循环结构

2、单精度型(或:float型)双精度型(或;double型] 3、1

4、*

* *

* * *

* * * * 5、0 6

6、按行主顺序存放

三、程序分析题(本大题共2题,每题4分,共8分)

能正确表达出题目的含义、要求,即可得分,部分正确可按比例得

分,否则不得分。

1、功能:求S=0+2+4+8+16+32+64+128 和。输出结果:

s=254

2、功能:出矩形阵a的主对角线上的元素之和。输出结果:27

四、编程题(本大题共4题,每题8分,共32分)

能正确表达出题目的含义、要求,且格式正确,即可得满分,不

要求形式完全相同。部分正确可按比例得分,否则不得分。

1、#include main(){ float c,f;printf(“input

c:”);…………………………………………….2分

scanf(“%f”,&c);…………………………………………….2分

f=(c+32.0)*9.0/5.0;…………………………………………….2分

printf(“F=%.2f n ”,f);…………………………………………….2分 }

2、#include main(){int

else 分

x;scanf(“%d”,&x);…………………………………………….2

if(x%5==0&&x%7==0)…………………………………………….2

printf(“yes”);…………………………………………….2

printf(“no”);…………………………………………….2分 }

3

….2分

、# include # include main(){int

m,i,k;scanf(“%dn”,&m);k=sqrt(m);…………………………………………

for(i=2;i<=k;i++)…………………………………………….2

{if(m%i==0)break;…………………………………………….2分

} if(i>k)printf(“m is a

prime

number!n”);…………………………………………….2分 }

4、# include main(){int i,j,a[15],t;printf(“input 15

numbers:n”);for(i=0;i<15;i++)scanf(“%d”,&a[i]);……………………

……………………….2分

for(j=0;j<15;j++)…………………………………………….2分

for(i=0;i<15-j;i++)…………………………………………….2分

if(a[i]>a[i+1]){t=a[i];a[i]=a[i+1];a[i+1]=t;} ……………………………

……………….2分 for(i=0;i<15;i++)printf(“m”,a[i]);}

第三篇:《C语言程序设计》2011-2012-2B答案

河南理工大学学期

《C语言程序设计》笔试试卷(B卷)

一、单项选择题(每题1分,共50分),在每小题列出的四个选项

中只有一个选项是符合题目要求的,请在答案卡上将正确答案所对应

选项的字母涂黑。

1.A2.B3.A4. D5. C6.D7.B8.D9.D10.B

11.B12.A13.B14.B15.D16.A17.C18.D19.C20.B

21.C22.A23.C24.C25.C26.A27.D28.A29.C30.A

31.C32.C33.C34.B35.A36.D37.B38.D39.D40.A

41.B42.B43.B44.C45.B46.C47.A48.B49.A50.C

二、填空题(每空2分,10个空,共20分)。

51.2652.353.154.‘’是指向整型二维数组行的指针变量,

每行有10个元素。56.#define57.递归58.;(分号)59.5.360.12

三、程序阅读试题(共10题,每题3分,共30分)

61.a10=1,c8=101,dc=b

62.852

k=4,y=0

63.m=82,j=7

64.下面程序的输出结果是____。

ABCD

BCD

CD

D

66.s=-13,count=2

67.123

68.1 2 3 6 7 9

output is:

67821543910

70.12

《C语言程序设计》试卷 第1页(共1页)

第四篇:C语言程序设计考试题答案

1、已知int i, x[3][4];则不能将x[1][1]的值赋给变量i的语句是

______(分数:2 分)

A.i=*(*(x+1))B.i=x[1][1] C.i=*(*(x+1))D.i=*(x[1]+1)标准答案是:

A。

2、当c的值不为0时,在下列选项中能够将c的值赋给变量a、

b的是______.(分数:2 分)

A.a=c=b;B.(a=c)&&(b=c);C.c=b=a;D.(a=c)||(b=c);标准答案是:

B。

3、函数的功能是交换变量x和y中的值,且通过正确调用返回交

换的结果。能正确执行此功能的函数是______。(分数:2 分)

(int *x, int *y){ *x=*x+*y;*y=*x-*y;*x=*x-*y;} (int

x, int y){ int t;t=x;x=y;y=t;} (int *x, int *y){ int

*p;*p=x;*x=*y;*y=*p;} (int *x, int *y){ *x=*y;*y=*x;} 标准答案

是:A。

4、若x=2,y=3则x||y的结果是______(分数:2 分)


本文标签: 程序 循环 C语言