计算机等级考试练习题

更新时间:2023-11-22 10:43:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

计算机等级考试试卷 (二级 C语言程序设计)

一、程序阅读与填空

1.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】输入一个批整数(以零或负数为结束标记),求奇数和。

运行示例:

Enter integers:9 3 6 10 31 -1 Sum=43 【程序】

#include void main() { int x,odd;

printf(\ odd=0;

scanf(\

while( (1) ){

if( (2) ) odd=odd+x; (3) ; }

printf(\ (4) ); }

【供选择的答案】

(1)A、x>0 B、x>=0 C、x!=0 D、x<=0 (2)A、x%2!=0 B、x%2==0 C、x/2==0 D、x!=2 (3)A、scanf(\ B、scanf(\ C、x!=0 D、x=odd (4)A、sum B、odd C、x D、integer

2.阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序说明】输入一个正整数n,找出其中最小的数字,用该数字组成一个新数,新数的位数与原数相同。

Enter integers:2187 The new integer:1111 【程序】

#include int main()

{ int count=0,i,min_dig,n,new1=0; min_dig= (5) ; printf(\ scanf(\

do{ if(n

count++; }while(n!=0);

for(i=0; (7) ;i++) new1= (8) ; printf(\}

【供选择的答案】

(5)A、0 B、1 C、9 D、-1 (6)A、n=min_dig B、n=n C、n-- D、n=n/10 (7)A、i<= count B、i

Enter a string:Hello world! “HelloWorld!” includes “Hello” 【程序】

#include int in(char *s,char *t) { int i,j,k;

for(i=0;s[i]!='\\0';i++){ (9) if(s[i]==t[j]){

for(k=i;t[j]!='\\0';k++,j++)

if( (10) ) break; if(t[j]=='\\0') (11) ; } }

return 0; }

main()

{ char s[80];

printf(\ gets(s);

if( (12) ) printf(\ else printf(\}

【供选择的答案】

(9) A、j=i; B、j=0; C、i=j; D、; (10)A、s[k]!=t[j] B、s[k]==t[j] C、s[i]==t[k] D、s[i]!=t[j] (11)A、break B、return 1 C、continue D、return 0 (12)A、in(char *s,char *t) B、in(s,\ C、in(*s,*t) D、in(s,t)

4.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】

#include

#define T(a,b) ((a)!=(b))?((a)>(b)?1:-1):0 int f1()

{ int x=-10; return !x==10==0==1; } void f2(int n) { int s=0;

while(n--) s+=n; printf(\}

double f3(int n)

{ if(n==1) return 1.0; else return n*f3(n-1); }

main()

{ printf(\ printf(\ f2(4);

printf(\}

【问题】

(13)程序运行时,第1行输出 (13) 。

A、0 1 -1 B、1 -1 0 C、1 0 -1 D、-1 0 1 (14)程序运行时,第2行输出 (14) 。

A、10 B、-10 C、0 D、1 (15)程序运行时,第3行输出 (15) 。

A、0 10 B、-1 10 C、-1 6 D、0 6 (16)程序运行时,第4行输出 (16) 。

A、1.0 B、24.0 C、120. 0 D、6.0

5.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】

程序1

#include main()

{ int i,j,n=4;

for(i=1;i

for(j=1;j<=2*(n-i)-1;j++) putchar('*'); putchar('\\n'); } }

程序2

#include

main()

{ char str[80]; int i; gets(str); for(i=0;str[i]!=0;i++)

if(str[i]<='9' && str[i]>='0') str[i]='z'-str[i]+'0'; puts(str); } 【问题】

(17)程序1运行时,第1行输出 (17) 。

A、** B、**** C、*** D、***** (18)程序1运行时,第2行输出 (18) 。

A、** B、**** C、*** D、***** (19)程序2运行时,输入135,输出 (19) 。

A、bdf B、ywu C、864 D、135 (20)程序2运行时,输入086,输出 (20) 。

A、zrt B、aig C、913 D、086

6.阅读下列程序并回答问题,在每小题提供的若干可选答案中,挑选一个正确答案。 【程序】

#include main() { int i,j;

char *s[4]={\ for(i=3;i>=0;i--) for(j=3;j>i;j--)

printf(\}

【问题】

(21)程序运行时,第1行输出 (21) 。

A、tinue B、ak C、nt D、while (22)程序运行时,第2行输出 (22) 。

A、uer B、le C、ak D、nt (23)程序运行时,第3行输出 (23) 。

A、ile B、eak C、int D、nue (24)程序运行时,第4行输出 (24) 。

A、tinue B、break C、while D、point 二、程序编写

1.输入100个学生的计算机成绩,统计不及格(小于60分)学生的人数。 2.按下面要求编写程序:

(1)定义函数f(n)计算n+(n+1)+?+(2n-1),函数返回值类型是double。

(2)定义函数main(),输入正整数n,计算并输出下列算式的值。要求调用函数f(n)计算n+(n+1)+?+(2n-1)。

s?1?111????? 2?33?4?5n?(n?1)???(2n?1)3.猜数游戏:计算机产生一个1~1000之间的随机整数,用户输入一个正整数,判断是否与计算机产生的随机数相同。若猜中,输出所猜次数和该数,若没猜中,输出“Sorry,you are failed!”,用户一共有10次猜数的机会。

编号函数int Guess(int n)完成猜数功能:参数n是计算机产生的随机数,用户输入一个所猜的正整数x,判断是否与n相等,若x与n相等,返回所猜次数;若x比n小,输出“too small!”;若x比n大,输出“too big!”。没猜中可以继续,但最多可猜10次,若10次都没猜中,则返回0。 #include #include int Guess(int n) { }

void main()

{ int n,count; n=rand()00+1; count=Guess(n);

if(count==0)printf(“Sorry,you are failed!\\n”); else printf(“Congratulation!You guess %d time,the number is %d\\n”,count,n); }

4.利用循环语句编写程序,计算11+111+211+311+……+2011并输出结果。 5. 设有未完成的函数:

Char getchar(char c)

{ chars[ ]=”9038571426” …… }

字符串s中无序的存储了10个数字字符,没有重复。函数的功能是:

(1)如果字符c不是数字字符,函数原样返回该字符; (2)在s中查找字符c并返回其在s中的前一个字符。如果该字符位于s的最前面(字符?9?),则返回最后一个字符?6?。 例如;

getchar(?4?)得到字符?1?,getchar(?T?)得到字符?T? 请设计并完成改函数。

6.输出小于2012的最大10 个素数,如2011,2003,1999,1997,1993………等。 7.设有正整数a和b,其中:(1)a<50,b<50;(2)a-2*b等于7;(3)a*a+9*b等于2011,求满足条件的a、b的值(说明a、b的值唯一)。

本文来源:https://www.bwwdw.com/article/21pv.html

Top