admin 管理员组

文章数量: 1184232


2024年3月21日发(作者:nginx反向代理路径)

2021-2022学年河南省郑州市全国计算机等

级考试C语言程序设计测试卷一(含答案)

学校:________ 班级:________ 姓名:________ 考号:________

一、单选题(12题)

1.若整型变量a、b、c、d中的值依次为2、2、3、4,则条件表达式a

A.1 B.2 C.3 D.4

2.若有定义“int w[3][5];”,则以下不能正确表示该数组元素的表达式是

()。

A.*(&w[0][0]+1) B.*(*w+3) C.*(*(w+1)) D.*(w+1)[4]

3. 有以下程序: #include <stdio.h> main() { char c1='1',c2='2';

c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); } 当运行时输入:a<

回车>后,以下叙述正确的是( )。

A.变量c1被赋予字符a,c2被赋予回车符

B.程序将等待用户输入第2个字符

C.变量c1被赋予字符a,c2中仍是原有字符2

D.变量c1被赋予字符a,c2中将无确定值

4.下面关于B树和B+树的叙述中,不正确的结论是()。

A.B树和B+树都能有效的支持顺序查找

B.B树和B+树都能有效的支持随机查找

C.B树和B+树都是平衡的多叉树

D.B树和B+树都可用于文件索引结构

5.

6. 有以下函数定义: void fun(int n,doub x) {……} 若以下选项中的变

量都已正确定义并赋值,则对函数fun的正确调用语句是( )。

(int y,double m);

B.k=fun(10,12.5);

(x,n);

fum(n,x);

7.当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。

r

8. 有以下程序: #include<stdio.h> main() {int c;

while((c=getchar())!='n') {switch(c-'3') {case 0: case 1:putchar(c+4); case

2:putchar(c+4);break; case 3:putchar(c+3); case 4:putchar(c+3);

break; }} printf("n");} 从第一列开始输入数据(<CR>代表…个回车

符):3845<CR>,则狴序输出结果为( )。

A.77889 B.77868 C.776810 D.7.78866e+007

9.设x=011050,则x=x&01252的值是( )。

A.1000

B.111111

C.0010

D.1100

10. 在软件生存周期中,能准确地确定软件系统必须做什么和必须具备

哪些功能的阶段是( )。

A.概要设计 B.详细设计 C.可行性分析 D.需求分析

11. 有以下程序段 char eh; int k; ch='a'; k=12; printf("%c,%d,

",ch,ch,k); printf("k=%dn",k); 已知字符a的ASCII码值为97,

则执行上述程序段后输出结果是

A.因变量类型与格式描述符的类型不匹配输出无定值

B.输出项与格式描述符个数不符,输出为零值或不定值

C.a,97,12k=12

D.a,97,k=12

12.快速排序在_____情况下最易发挥其长处。

A.被排序数据中含有多个相同排序码

B.被排序数据已基本有序

C.被排序数据完全无序

D.被排序数据中最大值和最小值相差悬殊

二、2.填空题(12题)

13. 请选出以下程序的输出结果 #include<stdio.h> main() { int a[]={1,

2,3,4},i; int x=0; for(i=0;i<4;i++) {sub(a,x);Printf("%d",

x);} printf("n");} sub(S,y) int *s,y; { static int t=3; y=s[t];t--;}

14. 以下程序运行后的输出结果是______。

main ( )

{

int a[4] ]4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};

int i=0.j=0,s=0;

while (i++<4 }

if (i == 2 || i == 4)continue;

j =0;

do

{

s += a[i] [j]:

j++;

} while (j<4);

}

printf ( "%dn", s);

}

void fun(int x, int y)

}

15. 下面程序的输出是【 】。

main()

{ enum em{em1=3,em2=1,em3};

char*aa[]={"AA","BB","CC","DD"};

printf("%s%s%sn",aa[em1],aa[em2],aa[em3]);

}

16. 设有下列宏定义:#define A 2

#define B A+3

则执行赋值语句;t=B*2;t为int型变量后的值是______。

17. 设有以下程序,为使之正确运行,请在横线中填入应包含的命令行。

(注:try_me() 函数在a:中有定义。)

______

main( )

{ printf("n");

try_me( );

printf("n");}

18. 子程序通常分为两类:【 】和函数,前者是命令的抽象,后者是为

了求值。

19. 以下程序运行后的输出结果是【 】。

main()

{ int a,b,c;

a=10;b=20;c=(a%b<1)||(a/b>1);

printf("%d%d%dn",a,b,c) ;

}

20. 下列程序的输出结果是______。

#include<stdio.h>

sb(int s[].int b)

{static int n=3;

b=s[n];

n--;

return(b);

}

main()

{ int s[]={1,5,6,8);

int i,x=0;

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

{x=sb(s,x);

printf(:%d",x);

}

printf("n");

}

21. 以下程序运行后的输出结果是【 】。

main()

{

int x=0210;

printf("%Xn",x);

}

22. 数据库管理系统常见的数据模型有层次模型、网状模型和【 】3种。

23. 请在以下程序第一行的下划线处填写适当内容,使程序能正确运行。

【 】 (double,double);

main()

{ double x,y;

scanf("%1f%1f",&x,&y);

printf("%1fn",max(x,y));

}

double max(double a,double B)

{ return(a>b ? a:b);}

24. 若从键盘输入58,则以下程序输出的结果是【 】。

main()

{ int a;

scanf("%d",&a);

if(a>50)printf("%d",a);

if(a>40)printf("%d",a);

if(a>30)printf("%d",a);}

三、3.程序设计题(10题)

25. 请编写函数fun(),它的功能是计算下列级数和,和值由函数值返回。

S=1-x+x2(上标)/2!-x3(上标)/3!+…+ (-1*x) n(上标)/n!

例如,当n=15,x=0.5时,函数值为0.606531。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括

号中填入所编写的若干语句。

试题程序:

#include<conio.h>

#include<stdio.h>

#include<math.h>

double fun(double x, int n)

{

}

main()

{

clrscr();

printf("%f ",fun (0.5,15));

}

26.请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9

整除的所有自然数的倒数之和。

例如,在主函数中从键盘给n输入20后,输出为:s=0.583333。注

意:要求n的值不大于100。

部分源程序在文件PROGl.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括

号中填入你编写的若干语句。

27. 请编写一个函数fun,它的功能是:根据以下公式求π的值(要求满

足精度0.0005,即某项小于0.0005时停止迭代):

程序运行后,如果输入精度0.0005,则程序输出为3.140578。

注意:部分源程序存在文件PROGl.C文件中。请勿改动主函数main

和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干

语句。

28. 请编写一个函数,函数的功能是删除字符串中的所有空格。

例如,主函数中输入“asd af aa z67”,则输出为“asdafaaz67”。

注意:部分源程序在文件PROGl.C中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括

号中填入你编写的若干语句。

29. 请编写函数fun,函数的功能是求出二维数组周边元素之和,作为函

数值返回。二维数组中的值在主函数中赋予。

例如:二维数组中的值为:

1 3 5 7 9

2 9 9 9 4

6 9 9 9 8

1 3 5 7 0

则函数值为61。

注意:部分源程序存在文件PROGl.C文件中。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括

号中填入你编写的若干语句。

30. 请编写函数fun(),它的功能是计算:

s=(ln(1)+ln(2)+ln(3)+…+ln(m))

0.5

在C语言中可调用log(n)函数求ln(n)。

例如,若m的值为20,则fun()函数值为6.506583。

注意:部分源程序给出如下。

请勿改动主函数main 和其他函数中的任何内容,仅在函数fun 的花括

号中填入所编写的若干语句。

试题程序:

#include <conio. h>

#include <stdio. h>

#include <math.h>

double fun(int m)

{

}

main ()

{

clrscr ();

printf ("%fn ", fun (20));

}

31. 请编写一个函数fun(),它的功能是:将ss所指字符串中所有下标为

奇数位置的字母转换为大写(若该位置上不是字母,则不转换)。

例如,若输入abc4Efg,则应输出aBc4EFg。

注意:部分源程序给出如下。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括

号中填入所编写的若干语句。

试题程序:


本文标签: 函数 输出 输入 字符 程序