admin 管理员组

文章数量: 1184232


2024年3月21日发(作者:css教程官方网站)

让知识带有温度。

C程序设计期末考试习题(含答案)

c语言程序设计期末试题A(含答案)

一、单项挑选题(挑选一个最佳答案,每题2分,共20分)

1.一个C程序的执行是从( )。

A) 本程序的main函数开头,到main函数结束

B) 本程序文件的第一个函数开头,到本程序文件的最后一个函

数结束

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

D) 本程序文件的第一个函数开头,到本程序main函数结束

2.下列选项中,不能用作标识符的是( )。

A) _1234_ B) _1_2 C) int_2_ D) 2_int_

3.以下定义语句中正确的是( )。

A) char a='A'b='B'; B) float a=b=10.0;

C) int a=10,*b= D) float *a,b=

4.设有以下定义:#define d 2

int a=0; double b=1.25; char c=’A’;

则下面语句中错误的是()。

第 1 页/共 39

千里之行,始于足下

A) a++; B) b++ C) c++; D) d++;

5.以下4个选项中,不能作为一条C语句的是( )。

A) {;} B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;

6.有以下定义语句 double a,b; int w; long c;

若各变量已正确赋值,则下列选项中正确的表达式是( )。

A) a=a+b=b++ B) w%(int)a+b) C) (c+w)%(int)a D) w=a==b;

7.设有定义:int n=0,*p=则以下选项中,正确的赋值语句是( )。

A) p=1; B) *q=2; C) q=p; D) *p=5;

8.设有定义:int a,*pa= 以下scanf语句中能正确为变量a读入数

据的是( )。

A) scanf(“%d”,pa) ; B) scanf(“%d”,a) ;

C) scanf(“%d”, D) scanf(“%d”,*pa);

9.若有说明:char

*language[]={”FORTRAN”,”BASIC”,”PASCAL”,”JAVA”,”C”};则表达

式*language[1]>*language[2]比较的是()。

A)字符B和字符P B) 字符串FORTRAN和字符串BASIC

C)字符F和字符B D) 字符串BASIC和字符串PASCAL

10.执行语句for(i=1;i++

第 2

页 /共 39

让知识带有温度。

void main()

{ char str[20]="C Language", c;

int i=0;

while((c=str[i])!='0')

{ i++;

#ifdef LETTER

if(c>='a'

else if(c=='z') c=c-25;

#else

if(c>='B'

else if(c=='A') c=c+25;

#endif

printf("%c",c); } }

执行后输出的结果是。

4.有以下程序

void fun(int *a,int i,int j) { int t;

if(i

第 3 页/共 39

千里之行,始于足下

【1】

int sumhw( char **p,int n);

char jughw(char *str);

void main(int argc,char *argv[])

{ int s;

if (argcb)max=a max=b

6、-14

三、读程序写结果(每题6分,共24分)

1、7 8 9

2、x=8,y=4

3、C Lbohvbhf

4、8 6 1 2 8 6 1 2

四、程序填空(每空1分,共8分)【1】#include

【2】argv+1

【3】*(p+i)

【4】flag= =’Y’

【5】str+n-1

第 4

页 /共 39

让知识带有温度。

【6】p1 【7】p2--

【8】p1 五、编程题(共30分)

1. (1)数组法(9分)

#include

#include

#define N 20

void inv(char str[],int n);

void main()

{char str[N];

gets(str);

inv(str,strlen(str));

puts(str);

}

void inv(char str[],int n)

{int i,j,temp;

for(i=0,j=n-1;i

#include

第 5 页/共 39

千里之行,始于足下

#define N 20

void inv(char *str,int n);

void main()

{char str[N];

gets(str);

inv(str,strlen(str));

puts(str);

}

void inv(char *str,int n)

{char *i,*j,temp;

for(i=str,j=str+n-1;i

int m;

void del_element(int num[],int n); void main()

{int num[10];

int i,n;

m=10;

for(i=0;i

第 6

页 /共 39

让知识带有温度。

main( )

{

int a = 1, b = 2, c = 3;

printf(“%d”, c>b>a);

}

A) 2 B) 1 C) 0 D) 3

3.以下正确的讲述是()

A) 在C语言中,main函数必需位于文件的开始

B) C语言每行中只能写一条语句

C) C语言本身没有输入、输出语句

D) 对一个C语言举行编译预处理时,可检查宏定义的语法错误

4.设有定义:int a,*pa= 以下scanf语句中能正确为变量a读入数

据的是()

A)scanf("%d",pa); B)scanf("%d",a);

C)scanf("%d", D)scanf("%d",*pa);

5.若有以下程序段,

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

第 7 页/共 39

千里之行,始于足下

则执行后,c3中的值是()

A) 0 B) 0.5 C) 1 D) 2

6.能正确表示规律关系:“a≥=10或a≤0”的C语言表达式是()

A) a>=10 or a=0|a=10

scanf(“%d,%d,%d%d”,

}

A)1 2 3 4 B)1 2 3,4 C) 1,2,3,4 D) 1,2,3 4

8.有以下程序段

main( )

{

int k=0;

while(k=1) k++;

}

则while循环执行的次数是()

A) 无限次 B) 有语法错,不能执行C) 一次也不执行 D) 执行1

第 8

页 /共 39

让知识带有温度。

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

#include

main( )

{

int a = 5, b = 4, c = 6, d;

printf(“%d”,d=a>b?(a>c?a:c): b);

}

A) 5 B) 4 C) 6 D) 不确定

10.下面是对数组a的初始化,其中不正确的是()

A)a[5]={"ABCD"} B)a[5]={'A','B','C','D'}

C)a[5]="" D)a[5]="ABCDE"

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

1.结构化程序设计中的三种基本结构是 [1] 、 [2] 、

2.C程序的基本组成单位是 [4] 。

3.标识符的第一个字符必需是 [5] 或 [6] 。

4.实常数123.457的规范化指数表示形式是 [7] 。

5.表达式7/2的结果是[8]。表达式7%2的结果是[9]。

第 9 页/共 39

[3] 。

千里之行,始于足下

6.定义一个整型数组a[10],则下标最大的数组元素为 [10] 。

7.在函数的递归调用过程中,要使递归过程不是无限制举行下去,

必需具有 [11] 。

8.C语言提供了 [12] 命令用来实现“文件包含”的操作。

9.已知:char c[ ]={“china”};将字符数组c中囫囵字符串一次输出

的语句书写格式为 [13] 。

10.表达式4>3

printf("%c,%d",ch,ch+3);

}

2. main( )

{

int a = 10;

printf(“%d ”, ++a);

printf(“%d ”, a--);

}

3.main( )

{ int t=1;

for(i=1 ; i1)

第 10

页 /共 39

让知识带有温度。

3.编写程序输出下列形式的杨辉三角形的前10行。(10分) 1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

……

C语言模拟试卷二答案及评分标准

一、单项挑选题(每小题1分)

1. A

2. C

3. D

4. A

5. B

6. D

7. D

8. A

9. C 10. D

第 11 页/共 39

千里之行,始于足下

二、填空题(每空2分)

1.挨次结构、挑选结构、循环结构。

2.函数

3.字母、下划线

4. 1.23457e2或1.23457E2

5.3、1

6.a[9]

7.使递归结束的条件

8.#include

(“%s”,c)

10.0

11.全局变量、局部变量

三、计算题(要求写出步骤)(每题4分)

1.

a-=a*a a=a-a*a a=12-144= -132

a+=-132 a=a+(-132) a=-132-132= -264

2. 1.0/2+3%2=0.5+1=1.5

第 12

页 /共 39

让知识带有温度。

四、读下列程序,写出程序的运行结果(每题3分)

1.1.A,68

2.2.1111

3.3.24

4.4.8,4

五、程序填空:

1.*m

2.*m=*n

3. temp

4. x,y

5. i=i+2

6. m=i*t

7. t=-t

六、编程题

1.

main()

{

(每空2分)

第 13 页/共 39

千里之行,始于足下

int i;

float t=1,s=0;

for(i=1;i

main( )

{ int m=7,n=4;

float a=38.4,b=0.4,x;

x=m/2+n*a/b+1/2;

printf(''%fn'',x);

}

A、22

B、387.000000

C、27

D、26

76、下面程序的运行结果是(C )。

main( )

{ int cl=2,c2=0;

while(!c2- -)

第 14

页 /共 39

让知识带有温度。

printf(''%d%d'',cl- -,c2);

}

A、陷入死循环

B、不输出任何内容

C、输出2 -1

D、输出20

77、下面程序的运行结果是(B)。

int m=4,n=6;

max(int x,int y)

{ int max;

max=x>y?x:y;

return(max);

}

main( )

{ int m=10;

printf(''%dn'',max(m,n));

}

第 15 页/共 39

千里之行,始于足下

A、4

B、10

C、6

D、5

78、下面程序的运行结果是(B )。

fun(int p)

{ int k=1;

static t=2;

k=k+1;

t=t+1;

return(p*k*t);

}

main( )

{ int x=4;

fun(x);

printf(''%dn'',fun(x));

}

第 16

页 /共 39

让知识带有温度。

A、4

B、32

C、30

D、16

79、阅读下面的程序:

main( )

{ char ch;

scanf(''%c'',

if(ch>='a'

printf(''%c'',ch);

}

若输入字符为:e,则程序运行结果为( A )。

A、E

B、A

C、e

D、z

80、下面程序的运行结果是(B)。

第 17 页/共 39

千里之行,始于足下

main( )

{ static int a[3][3]={{3,2,1},(4,5,6),{-2,9,1}};

int i,j,sum=0;

for(i=0;i

void fun(int x)

{

putchar('0'+(x% 10));

fun(x/10);

}

main( )

{

printf(''n'');

fun(1234);

}

A、4321

B、321

C、21

第 18

页 /共 39

让知识带有温度。

D、1

86、设已定义i和k为int类型变量,则以下for循环语句(B)。

for(i=0,k=-1;;i++,k++)

printf(''* * * *n'');

A、推断循环结束的条件不合法

B、是无限循环

C、循环一次也不执行

D、循环只执行一次

87、下列程序段挑选项中,使i的运行结果为4的程序段是(D)。

A、int i=0,j=0;

B、int i=1,j=70;

(i=3,(j++)+i); j=i=((i=3) *2);

C、int i=0,j=1;

D、int i=1,j=1;

(j= =1)?(i=1):(i=3); i+=j+=2;

89、阅读以下程序(最左边是附加的行号)。

1)#include

第 19 页/共 39

千里之行,始于足下

2)main( )

3){ float s[5];

4)int i,k=0;

5)for(i=0;i=20)break;

if(b%3= =1)

b+3;

continue;

}

b-=5;

}

A、7

B、8

C、

D、10

93、下面的程序中(

1)#include

2)main( )

C )有错误。

第 20

页 /共 39


本文标签: 程序 函数 语句 结果 文件