C语言题库第3章 算法和控制结构设计无答案Word格式文档下载.docx

上传人:b****5 文档编号:20582545 上传时间:2023-01-24 格式:DOCX 页数:48 大小:177.93KB
下载 相关 举报
C语言题库第3章 算法和控制结构设计无答案Word格式文档下载.docx_第1页
第1页 / 共48页
C语言题库第3章 算法和控制结构设计无答案Word格式文档下载.docx_第2页
第2页 / 共48页
C语言题库第3章 算法和控制结构设计无答案Word格式文档下载.docx_第3页
第3页 / 共48页
C语言题库第3章 算法和控制结构设计无答案Word格式文档下载.docx_第4页
第4页 / 共48页
C语言题库第3章 算法和控制结构设计无答案Word格式文档下载.docx_第5页
第5页 / 共48页
点击查看更多>>
下载资源
资源描述

C语言题库第3章 算法和控制结构设计无答案Word格式文档下载.docx

《C语言题库第3章 算法和控制结构设计无答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言题库第3章 算法和控制结构设计无答案Word格式文档下载.docx(48页珍藏版)》请在冰豆网上搜索。

C语言题库第3章 算法和控制结构设计无答案Word格式文档下载.docx

break;

b++;

case2:

case3:

a=%d,b=%d\n"

a,b);

6.以下程序的执行结果是(C)

main()

{intx=0,s=0;

while(!

x!

=0)s+=++x;

printf("

%d"

s);

A.无限循环B.0

C.1D.语法错误

 

7.以下程序的运行结果是(B)。

{

inti=1,sum=0;

while(i<

10)sum=sum+1;

i++;

i=%d,sum=%d"

i,sum);

8.有以下程序,程序运行后的输出结果是(B)

intmain()

inti,j,m=1;

for(i=1;

i<

3;

i++)

{for(j=3;

j>

0;

j--)

{if(i*j>

3)break;

m*=i*j;

printf(“m=%d\n”,m);

A.m=2B.m=6

C.m=4D.m=5

return0;

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

{intx,i;

for(i=1;

i<

=100;

i++)

{x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf(“%d“,x);

printf(“\n”);

10.有以下程序,程序运行后的输出结果是(D)

#include<

{

charb,c;

inti;

b='

a'

;

c='

A'

for(i=0;

6;

if(i%2)putchar(i+b);

 elseputchar(i+c);

}

\n"

);

11.C语言中while和do-while循环的主要区别是(B)。

12.若有定义语句inta,b;

doublex;

则下列选项中没有错误是(B)

13.设j和k都是int类型,则下面的for循环语句(C)。

for(j=0,k=0;

j<

=9&

&

k!

=876;

j++)scanf("

%d"

&

k);

A.最多执行9次

B.循环体一次也不执行

C.最多执行10次

D.是无限循环

14.下列程序的输出为(C)。

{inty=10;

while(y--);

y=%d\n"

y);

15.以下程序的功能是:

按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:

{intn,k;

floatscore,sum,ave;

sum=0.0;

for(n=1;

n<

=10;

n++)

for(k=1;

k<

=4;

k++)

{

scanf("

%f"

score);

sum+=score;

ave=sum/4.0;

NO%d:

%f\n"

n,ave);

上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。

这条语句是(B)

16.在下述程序中,判断i>

j共执行了多少次(C)

inti=0,j=10,k=2,s=0;

for(;

;

i+=k;

if(i>

j)

s);

s+=i;

A.4B.8

C.6D.7

17.有如下程序

floatx=2.0,y;

if(x<

0.0)y=0.0;

elseif(x<

10.0)y=1.0/x;

elsey=1.0;

%f\n"

该程序的输出结果是(A)

18.以下for循环的执行次数是for(x=0,y=0;

(y=123)&

(x<

4);

x++);

(A)。

19.以下程序的执行结果是(A)

intnum=0;

while(num<

=2)

num++;

printf("

%d,"

num);

20.该程序的输出结果是(B)

{intx=1,a=0,b=0;

switch(x)

{case0:

b++;

a++;

a=%d,b=%d"

21.执行下列程序片段时输出的结果是(C)。

intx=13,y=5;

x%=(y/=2));

22.设a、b和c都是int变量,且a=3,b=4,c=5;

则以下的表达式中,值为0的表达式是(C)

23.运行以下程序后,输出的结果是(A)

{intk=-3;

if(k<

=0)

****\n"

elseprintf("

24.已知有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,

正确的数据输入方式是(A)。

inta1,a2;

charc1,c2;

%d%c%d%c"

a1,&

c1,&

a2,&

c2);

25.有以下程序段

charname[20];

intnum;

name=%snum=%d"

name;

num);

当执行上述程序,并从键盘输入:

name=Lilinum=1001<

回车>

后,name的值(C)

26.有以下程序,程序运行后的输出结果是(D)

inta=1,b=2;

a<

8;

a++){b+=a;

a+=2;

printf(“%d,%d\n”,a,b);

27.以下叙述正确的是(C)

28.有以下程序

%d,%c,%d,%c"

a1,c1,a2,c2);

若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,

程序输出结果是:

12,a,34,b则正确的输入格式是(以下_代表空格,<

CR>

代表回车)(C)

29,假定所有变量均已正确定义,下面语句段执行后的x的值是(B)

a=b=c=0;

x=35;

if(!

a)x--;

elseif(b)x++;

if(c)x=3;

elsex=4;

30.若有定义:

inta,b;

通过语句scanf(“%d;

%d”,&

a,&

b);

能把整数3赋给变量a,5付给变量b的输入数据是(C)

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

{inti,sum=0;

for(i=1;

sum+=i;

printf("

sum);

32.以下描述中正确的是(D)。

33.执行语句for(i=1;

i++<

4;

后变量i的值是(D)

34.inta=3,b=2,c=1;

if(a>

b>

c)a=b;

elsea=c;

则a的值为(C)

35.若i和k都是int类型变量,有以下for语句

  for(i=0,k=-1;

k=1;

k++)printf("

*****\n"

下面关于语句执行情况的叙述中正确的是(A)

36.程序段:

intx=12;

doubley=3.141593;

printf(“%d%8.6f”,x,y);

的输出结果是(C)

37.下面有关for循环的正确描述是(D)。

38.if语句的基本形式是:

if(表达式)语句,以下关于"

表达式"

值的叙述中正确的是(B)

39.以下程序段中的变量已正确定义

i++,i++)

*"

程序段的输出结果是(A)

40.以下不是无限循环的语句为(C)。

二、填空

1.以下程序输出x,y,z三个数中的最小值。

intmain()

intx=4,y=5,z=8;

intu,v;

u=x<

y?

_____;

v=u<

z?

____;

printf(“%d”,v);

【参考答案】x:

yu:

z

2.下面程序按公式求和并输出结果,请填空使程序完整。

____;

intk;

for(k=1;

k<

=100;

k++)

s+=k;

=50;

s+=k*k;

=10;

s+=_____;

printf(“sum=%lf\n”,s);

【参考答案】doubles=01.0/k

3.下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数,请填空使程序完整。

intn,k=1,s=0,m;

for(n=1;

n<

n++)

k=1;

s=0;

_____;

while(_____)

k*=m%10;

s+=m%10;

_____;

if(k>

s)printf(“%d”,n);

【参考答案】m=nm!

=0m/=10

4.下面程序段的功能是计算1000!

的末尾有多少个零,请填空使程序完整。

inti,k;

for(k=0,i=5;

i<

=1000;

i+=5)

m=i;

k++;

m=m/5;

k);

【参考答案】m%5==0

5.写出数学式子

的C语言表达式_____

【参考答案】x<

0?

1:

(x==0?

0:

-1)

x==0?

(x>

-1:

1)

x>

6.以下程序的功能是:

从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。

floats;

floatgmax,gmin;

s);

gmax=s;

gmin=s;

while(_____)

if(s>

gmax)

if(_____)

\ngmax=%f\ngmin=%f\n"

gmax,gmin);

【参考答案】s>

=0s<

gmin

7.continue语句的作用是结束__本次___循环

8.用break语句可以使程序流程跳出switch语句体,也可以在循环结构中止__本层__循环体

9.C语言三个循环语句分别是__while___语句,___dowhile__语句和__for__语句。

10.至少执行一次循环体的循环语句是__dowhile___

11.将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式y%4==0&

y%100!

=0||y%400==0_____

12.switch语句中,如果没有与该值相等的标号,并且存在default标号,则从__Defalut___开始执行,直到switch语句结束。

13.C语言的语法规定:

else子句总是与__之前的,最近的,没有配对的___的if相结合,与书写格式无关。

14.一个表达式要构成一个C语句,必须加__分号;

___表示结束。

15。

算法的特点主要包括:

确定性、有穷性、足够多的情报(输入输出)、可行性。

三、程序设计

1./*编写函数fun,它的功能是:

计算和输出下列级数的和。

S=1/(1x2)+1/(2x3)+...1/(nx(n+1)),

例如,当n=10时,函数值为0.909091。

注意:

部分源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

试题程序:

*/

stdlib.h>

doublefun(intn)

/*************Begin************/

/*************End*************/

FILE*wf,*in;

intn;

fun(10));

/******************************/

wf=fopen("

out40.dat"

"

w"

in=fopen("

in40.dat"

r"

fscanf(in,"

n);

fprintf(wf,"

fun(n));

fclose(in);

fclose(wf);

/*****************************/

2./*请编写函数fun,其功能是计算并输出如下多项式的值:

Sn=l+1/1!

+1/2!

+1/3!

+1/4!

+…+1/n!

例如,若主函数从键盘给n输入15,则输出为S=2.718282。

n的值要求大于1但不大于100。

/***********Begin*************/

/***********End****************/

doubles;

FILE*out,*in;

\nInputn:

"

s=fun(n);

s=%f\n"

s);

/******************************/

in31.dat"

out=fopen("

out31.dat"

fprintf(out,"

fclose(out);

3./*请编写一个函数fun,它的功能是:

计算并输出给定整数n的所有因子(不包括1与自身)之和。

规定n的值不大于1000。

例如,若主函数从键盘给n输入的值为856,则输出m为sum=763。

intfun(intn)

/************Begin************/

/************End***************/

intn,sum;

Inputn:

"

&

sum=fun(n);

sum=%d\n"

sum);

in33.dat"

out33.dat"

fun(123));

fun(456));

fun(789));

fun(147));

fun(258));

4./*请编写函数fun,它的功能是:

计算并输出n(包括n)以内所有能被5或9整除的自然数的倒数之和。

例如,若主函数从键盘给n输入20后,则输出为s=0.583333。

n的值要求不大于100。

/************Begin*************/

/************End***************/

intn;

doubles;

scanf("

\n\ns=%f\n"

in34.dat"

out=fopen("

out34.dat"

fprintf(out,"

fclose(out);

5.请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

math.h>

intfun(intt)

/**************Begin************/

/**************End*************/

n=1000;

n=%d,f=%d\n"

n,fun(n));

in39.dat"

out39.dat"

while(!

feof(in))

6./*编写函数fun,它的功能是:

根据以下公式求P的值,结果由函数值带回。

m与n为两个正整数且要求m>

n。

    m!

  P=─────

  n!

(m-n)!

例如:

m=12,n=8时,运行结果为495.000000。

请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。

*/

floatfun(intm,intn)

/**********Begin**********/

/**********End***********/

FILE*out,*in;

intm,n;

in=fopen("

in57.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1