admin 管理员组

文章数量: 1087139


2024年4月21日发(作者:css弹性布局自动换行)

2021-2022学年山东省日照市全国计算机等

级考试C语言程序设计真题一卷(含答

案)

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

一、单选题(12题)

1.有以下程序

main( )

{

int i;

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

switch(i)

{

case 1: printf("%d",i);

case 2: printf("%d",i);

default: printf("%d",i);

}

}

执行后输出的结果是

A.11122 B.12 C.12020 D.120

2.

3.

4.采用折半查找法查找长度为n的线性表时,每个元素的平均查找长度

为()。

A.O(n2) B.O(nlog2n) C.O(n) D.O(log2n)

5. 以下程序输出的结果是#include<stdio.h>#include<string.h>

main(){ char w[][10]={"ABCD","EFGH","IJKL","MNOP"},k;for(k=1;

k<3;k++)printf("%sn",&w[k][k]);}

FGH KL EFG U M JK O KL

6.若以下选项中的变量全部为整型变量,且已正确定义并赋值,则语法

正确的switch语句是( )。

(a+9) {case cl:y=a-b; case c2:y=a+b; }

a*b {case l0:x=a+b; default:y=a-b; }

(a+b) {casel:case3:y=a+b;break; case0:case4:y=a-b; }

(a*a+b*b) {default:break; case 3:y=a+b;break; case 2:y=a-

b;break; }

7. 下面函数的功能是 ( ) int funl(char * X) { char * y

=X; whar(* y + + ); return (y - x - 1);}

A.求字符串的长度 B.比较两个字符串的大小 C.将字符串x复制到字符

串y中 D.将字符串x连接到字符串y后面

8.

有以下程序

执行程序时,给变量X输入l0,程序的输出结果是( )。

A.55 B.54 C.65 D.45

9.下列字符数组初始化语句中,不正确的是( )。

c[]=goodmorning;

c[20]="goodmorning";

c[]={a,b ,c ,d);

c[]={"ffgoodmorning"};

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

A.1000

B.111111

C.0010

D.1100

11.设S为一个长度为n的字符串,其中的字符各不相同,则S中的互

异的非平凡子串(非空且不同于S本身)的个数为()。

A.2n-1 B.n2 C.(n2/2)+(n/2) D.(n2/2)+(n/2)-1

12.

二、2.填空题(12题)

13. 源程序文档化要求程序应加注释。注释一般分为序言性注释和【 】。

14. 数据的安全性是指保护数据以防止【 】用户的使用造成的数据泄密

和破坏。

15. 以下程序的输出结果是【 】。

#include <stdio.h>

#deftne JFT(x)x*x

main()

{ int a,k=3;

a=++JFT(k+1);

printf("%d",a);

}

16. 设在主函数中有以下定义和函数调用语句,且fun函数为void类型;

请写出fun函数的首部【 】。要求形参名为b。

main()

{double [10][22];

int n;

......

fun(s);

}

17. 以下程序的输出结果是【 】。

float fun(int x,int y)

{ return(x+y);}

main()

{ int a=2,b=5,c=8;

printf("%3.0fn",fun((int)fun(a+c,b),a-c));}

18. 下面函数用来求两个单精度数之和,并通过形参将结果传回,请填

空。

void sub(float x,float y, 【 】z)

{【 】=x+y;}

19. 设Y是int型变量,请写出判断Y为奇数的关系表达【 】。

20. 在一个容量为32的循环队列中,若头指针front=3,尾指针rear=2,

则该循环队列中共有 ______个元素。

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

main()

{ int x,a=1,b=2,c=3,d=4;

x=(a<b)? a:b;x=(x<c)? x:c;x=(d>x)? x:d;

pfintf("%dn",x);

}

22. 在ER图中,矩形表示【 】。

23. 下述函数用于统计—行字符中的单词个数,单词之间用空格分隔。

word_num(str)

char str[];

{int,num=O,word=O;

for(i=0;str[i]!=【 】;i++)

if(【 】=")wprd=0

else if(word=O)

{

word=1:

【 】;

}

return(num);

}

24. 在循环中,continue语句与break语句的区别是:______语句只是结

束本次循环,然后进行循环的条件判定。

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

25.请编写函数fun,函数的功能是:将大于形参m且紧靠m的k个素

数存入xx所指的数组中。例如,若输入17,5,则应输出:19,23,

29,3l,37。

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

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

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

26. 请编写函数fun( ),其功能是:将所有大于1小于整数m的素数存

入xx所指数组中,素数的个数通过k传回。

例如,输入25,则应输出2 3 5 7 11 13 17 19 23。

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

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

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

试题程序:

#include<conio.h>

#include<stdio.h>

void fun(int m,int *k,int xx[ ])

{

}

main( )

{

int m,n,zz[100];

clrscr( );

printf("/nPlease enter an integer number between 10 and 100:");

scanf("%d",&n);

fun(n,&m,zz);

printf("nnThere are%d prime numbers

less than %d:",m,n);

for(n=0;n<m;n++)

printf("n %4d",zz[n]);

}

27. 请编写一个函数fun,其功能是:将ss所指字符串中所有下标为奇

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

例如,若输入“abc4EFg”,则应输出“aBc4EFg”。

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

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

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

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

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

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

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

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

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

试题程序:

#include <conio.h>

#include <stdio.h>

#include <string.h>

void fun(char *ss)

{

}

main()

{

char tt[81];

clrscr();

printf("nPlease enter an string within 80 characters:n");

gets(tt);

printf("nnAfter changing, the stringn %s", tt);

fun(tt);

printf("nbecomesn%sn",tt);

}

29. 编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在

aa数组中,函数返回所求出的素数的个数。

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

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

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

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

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

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

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

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

语句。


本文标签: 函数 语句 循环 编写 字符串