书籍《c语言程序设计》复习纲要参考答案.docx
《书籍《c语言程序设计》复习纲要参考答案.docx》由会员分享,可在线阅读,更多相关《书籍《c语言程序设计》复习纲要参考答案.docx(137页珍藏版)》请在冰豆网上搜索。
书籍《c语言程序设计》复习纲要参考答案
2013年《C语言程序设计》复习纲要
1、考试题型:
选择、操作、填空、改错、编程
2、考试知识点范围:
基本数据类型、表达式
输入输出语句
选择结构
循环结构
数组(一维数组、二维数组、字符数组、字符串)
函数(函数定义、声明、函数调用、函数参数、全局变量和局部变量、静态变量)
指针(指针的概念、指针和一维数组)
结构体和联合体(基本概念)
3、主要算法
(1)求和、积
(2)用公式求和
(3)求最大最小值
(4)数列(斐波那契数列)
(5)最大公约数和最小公倍数
(6)求素数
(7)求水仙花数
判断能否被整除
1.在考生文件夹下,要求程序的功能是:
求[1,1000]之间既能被3整除又能被5整除的整数之和,将结果存入变量s中。
部分源程序存在文件中。
请在main()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。
注意:
main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。
运行并调试程序,然后将源程序文件提交。
特别提示:
必须将计算结果存入变量s中。
#include"stdio.h"
intmain()
{
inti;
ints;
/***********begin***********/
s=0;
for(i=0;i<=1000;i++)
if(i%3==0&&i%5==0)
s=s+i;
/************end************/
printf("s=%d\n",s);
return0;
}
2.在考生文件夹下,要求程序的功能是:
求[m,n]之间既不能被7整除也不能被5整除的整数之和,m和n的值由键盘输入。
例如,如果m和n的值分别为10和20,则计算结果为:
106。
部分源程序存在文件中。
请在fun()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。
注意:
main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。
运行并调试程序,然后将源程序文件提交。
#include"stdio.h"
intfun(intm,intn)
{
/***********begin***********/
inti;
ints;
s=0;
for(i=m;i<=n;i++)
if(i%7!
=0&&i%5!
=0)
s=s+i;
returns;
/************end************/
}
intmain()
{
ints;
intm,n;
printf("Entermn:
\n");
scanf("%d%d",&m,&n);
s=fun(m,n);
printf("s=%d\n",s);
return0;
}
3.在考生文件夹下,要求程序的功能是:
求[1,n]之间所有不能被3整除的整数之和,n的值由键盘输入。
例如,如果输入12,则输出结果为:
48
部分源程序存在文件中。
请在fun()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。
注意:
main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。
运行并调试程序,然后将源程序文件提交。
#include"stdio.h"
#include"stdlib.h"
intfun(intn)
{
/***********begin***********/
inti;
ints;
s=0;
for(i=1;i<=n;i++)
if(i%3!
=0)
s=s+i;
returns;
/***********end***********/
}
intmain()
{
intn;
printf("Entern:
\n");
scanf("%d",&n);
printf("s=%d\n",fun(n));
return0;
}
用公式求和
1.在考生文件夹下,给定程序的功能是:
按下面的公式求sum的值。
1111
sum=1+——+——+——+……+——
234100
请将运算结果存入变量sum中。结果保留3位小数。
部分源程序存在文件中。请在TC环境中打开该程序文件,
在main()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句。
main()函数中的最后一行和main()函数后面的程序学生不必阅读,但不要进行任何改动,也不要改动其它位置的任何内容。
保存、运行并调试程序,最后将源程序文件提交。
特别提示:
一定要将计算结果存入变量sum中。
#include"stdio.h"
#include"stdlib.h"
intmain()
{
doublesum;
/***********begin***********/
inti;
sum=0.0;
for(i=1;i<=100;i++)
sum=sum+1.0/i;
/************end************/
printf("sum=%.3f\n",sum);
return0;
}
2.在考生目录下,要求程序的功能是:
按下面的公式求s的近似值:
11111
s=1+——+——+——+——+……+———
3*35*57*79*9n*n
部分源程序存在文件中,n的值由键盘输入。
请在fun()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。
注意:
main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。
运行并调试程序,然后将源程序文件提交。
#include"stdio.h"
doublefun(intn)
{
/***********begin***********/
inti;
doublesum=0.0;
for(i=1;i<=n;i+=2)
sum=sum+1.0/(i*i);
returnsum;
/************end************/
}
intmain()
{
doubles;
intn;
printf("Entern:
\n");
scanf("%d",&n);
s=fun(n);
printf("s=%.4f\n",s);
return0;
}
3、试题要求:
在考生目录下,要求程序的功能是:
按下面的公式求sum的近似值,直到最后一项的项值小于1e-6为止,请将计算结果存入变量sum中。
11111
sum=1+——+——+——+——+……+——————
3*35*57*79*9(2n-1)(2n-1)
部分源程序存在文件中。
请在main()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。
注意:
main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。
运行并调试程序,然后将源程序文件提交。
特别提示:
必须将计算结果存入变量sum中。
#include"stdio.h"
intmain()
{
doublesum;
/***********begin***********/
inti;
doubleitem;
sum=0.0;
i=1;item=1.0;//求出第一项
while(item>=1e-6)//若条件符合
{
sum=sum+item;//将item加到sum上
i=i+1;//求下一项
item=1.0/((2*i-1)*(2*i-1));
}
/************end************/
printf("sum=%.3f\n",sum);
return0;
}
4.在考生文件夹下,给定程序的功能是:
按下面的公式求sum的值。
sum=1-2+3-4+5-6+……+99-100
部分源程序存在文件中。请在TC环境中打开该程序文件,
在main()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句。
main()函数中的最后一行和main()函数后面的程序学生不必阅读,但不要进行任何改动,也不要改动其它位置的任何内容。
保存、运行并调试程序,最后将源程序文件提交。
#include"stdio.h"
#include"stdlib.h"
intmain()
{
intsum;
/***********begin***********/
inti,sign;//sign表示正负符号
sum=0;
sign=1;//第一项符号为正
for(i=1;i<=100;i++)
{
sum=sum+sign*i;
sign=sign*(-1);//以后每一项符号都变反
}
/************end************/
printf("sum=%d\n",sum);
return0;
}
5、在考生文件夹下,给定程序的功能是:
按下面的公式求sum的值。
sum=m+(m+1)+(m+2)+(m+3)+……+(n-1)+n
例如,如果m和n的值分别为1和100,则计算结果为5050。
部分源程序存在文件中。请打开该程序文件,
在fun()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句。
main()函数中的最后一行和main()函数后面的程序学生不必阅读,但不要进行任何改动,也不要改动其它位置的任何内容。
保存、运行并调试程序,最后将源程序文件提交。
#include"stdio.h"
intfun(intm,intn)
{
/***********begin***********/
/************end************/
}
intmain()
{
intm,n,t;
printf("请输入m,n:
\n");
scanf("%d,%d",&m,&n);
if(m>n)
{t=m;m=n;n=t;}
printf("sum=%d\n",fun(m,n));
return0;
}
6.在考生文件夹下,给定程序的功能是:
按下面的公式求sum的值。
sum=m-(m+1)+(m+2)-(m+3)+……+(n-1)-n
例如,如果m和n的值分别为1和100,则计算结果为-50。
部分源程序存在文件中。请在TC环境中打开该程序文件,
在fun()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句。
main()函数中的最后一行和main()函数后面的程序学生不必阅读,但不要进行任何改动,也不要改动其它位置的任何内容。
保存、运行并调试程序,最后将源程序文件提交。
#include"stdio.h"
#include"stdlib.h"
fun(intm,intn)
{
/***********begin***********/
inti,sign,sum;
sum=0;
sign=1;//sign表示符号,第一项为正
for(i=m;i<=n;i++)
{
sum=sum+i*sign;
sign=-sign;
}
returnsum;
/************end************/
}
intmain()
{
intm,n,t;
printf("Enterm,n:
\n");
scanf("%d,%d",&m,&n);
if(m>n)
{t=m;m=n;n=t;}
printf("sum=%d\n",fun(m,n));
return0;
}
7.在考生文件夹下,给定程序的功能是:
按下面的公式求前n项的项值,n的值由键盘输入。结果保留3位小数。
1111
sum=1-——+——-——+……+(-1)^(n-1)——
234n
例如:
当n=100时,输出结果为
部分源程序存在文件中。请在TC环境中打开该程序文件,
在fun()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句。
main()函数中的最后一行和main()函数后面的程序学生不必阅读,但不要进行任何改动,也不要改动其它位置的任何内容。
保存、运行并调试程序,最后将源程序文件提交。
#include"stdio.h"
#include"stdlib.h"
doublefun(intn)
{
doublec;
/***********begin***********/
inti,sign;
c=0.0;sign=1;
for(i=1;i<=n;i++)
{
c=c+sign*1.0/i;
sign=-sign;
}
/***********end***********/
returnc;
}
intmain()
{
doublesum;
intn;
printf("Entern:
\n");
scanf("%d",&n);
sum=fun(n);
printf("sum=%.3f\n",sum);
return0;
}
8.在考生文件夹下,给定程序的功能是:
按下面的公式求sum的近似值,直到最后一项的项值小于1e-6为止。
1111
sum=1-——+——-——+……+(-1)^(n-1)——
234n
部分源程序存在文件中。请在TC环境中打开该程序文件,
在main()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句。
main()函数中的最后一行和main()函数后面的程序学生不必阅读,但不要进行任何改动,也不要改动其它位置的任何内容。
保存、运行并调试程序,最后将源程序文件提交。
#include"stdio.h"
#include"math.h"
#include"stdlib.h"
intmain()
{
doublesum;
/***********begin***********/
inti,sign;
sum=0.0;i=1;sign=1;
while(1.0/i>=1e-6)
{
sum+=sign*1.0/i;
i=i+1;
sign=-sign;
}
/************end************/
printf("sum=%.3f\n",sum);
return0;
}
9.在考生文件夹下,要求程序的功能是:
按下面的公式求s的近似值,直到最后一项的项值绝对值小于,结果保留4位小数。
1111
sum=1-——+——-——+……+(-1)^(n-1)————
3572n-1
请将计算结果保存到变量sum中。
部分源程序存在文件中。
请在main()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。
注意:
main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。
运行并调试程序,然后将源程序文件提交。
特别提示:
必须将计算结果保存到变量sum中。
#include"stdio.h"
#include"math.h"
#include"stdlib.h"
intmain()
{
doublesum;
/***********begin***********/
intn,sign;
doubleitem;
sum=0.0;
n=1;sign=1;item=1;
while(fabs(item)>=0.00001)
{
sum=sum+item;
n=n+1;
sign=-sign;
item=sign*1.0/(2*n-1);
}
/***********end***********/
printf("sum=%.4f\n",sum);
return0;
}
10.在考生文件夹下,要求程序的功能是:
按下面公式,求π的近似值,直到最后一项中的分数小于1e-6为止。
π1111
—=(1+——)*(1+——)*(1+——)*(1+——)+……
21*33*55*77*9
部分源程序存在文件中,请将计算结果存入变量pi中。
请在main()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。
注意:
main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。
运行并调试程序,然后将源程序文件提交。
特别提示:
必须将计算结果存入变量pi中。
#include"stdio.h"
#include"math.h"
#include"stdlib.h"
intmain()
{
doublepi;
floati;
/***********begin***********/
floatitem;
i=1;pi=1.0;
item=1.0/3;//第一项的分数部分
while(item>=1e-6)
{
pi=pi*(1+item);
i=i+1;
item=1/((2*i-1)*(2*i+1));
}
pi=pi*2;
/************end************/
printf("pi=%.5f\n",pi);
return0;
}
11、在考生文件夹下,要求程序的功能是:
按下面公式的前200项,求π的近似值:
π1111
—=(1+——)*(1+——)*(1+——)*(1+——)*……
21*33*55*77*9
部分源程序存在文件中,请将计算结果存入变量pi中。
请在main()函数中的/*******begin********/与/********end*********/
之间填入你编写的若干语句,存盘并运行,直到得出正确结果。请勿改动其它位置的任何内容。
注意:
main()函数中的最后一行以及main()函数后面的内容,考生不必阅读,但千万不要对这些内容作任何改动。
运行并调试程序,然后将源程序文件提交。
特别提示:
必须将计算结果存入变量pi中。
#include"stdio.h"
intmain()
{
doublepi;
longinti;
/***********begin***********/
floatitem;
pi=1.0;
for(i=1;i<=200;i++)
{
item=1/((2*i-1)*(2*i+1));
pi=pi*(1+item);
}
pi=pi*2;
/************end************/
printf("pi=%.5f\n",pi);
return0;
}
字符串字符数组
1.在考生文件夹下,给定程序的功能是:
求指定字符在字符串中出现的次数并