C语言程序设计复习指导文档格式.docx
《C语言程序设计复习指导文档格式.docx》由会员分享,可在线阅读,更多相关《C语言程序设计复习指导文档格式.docx(10页珍藏版)》请在冰豆网上搜索。
![C语言程序设计复习指导文档格式.docx](https://file1.bdocx.com/fileroot1/2022-11/15/eb4cf7a8-1d85-44be-94fd-e89cb410385d/eb4cf7a8-1d85-44be-94fd-e89cb410385d1.gif)
,i);
}
例2:
请编程计算1-1/2+1/3-1/4+1/5-...+1/99。
(精确到小数点后3位)。
(0.698)
{inti,t=1;
floats=0;
for(i=1;
i<
=99;
i++)
{s=s+1.0*t/i;
t=-t;
%.3f"
s);
getch();
例3:
1+1/3+1/9+1/27…+1/n>
1.489时最小的n。
(n=81)
{inti;
i=i*3)
{s=s+1.0/i;
if(s>
1.489)
例4:
求4*(1-1/3+1/5-1/7+…)的值,直到最后一项的绝对值小于10的负6次方为止。
(3.141594)
#include"
math.h"
{longi,t=1;
fabs(1.0*t/i)>
=0.000001;
t=-t;
%f"
4*s);
2、穷举法的应用
百钱百鸡问题。
例2:
大作业本单价4元,中作业本单价2元,小作业本单价1元,当天共卖出大中小作业本30本,每种至少卖出1本,金额100元,问大中小作业本共有几种组合情况。
(3)
{
inta,b,c,s=0;
for(a=1;
a<
=30;
a++)
for(b=1;
b<
=30-a;
b++)
{
c=30-a-b;
if(a+b*2+c*4==100)s++;
printf("
\n%d"
3、迭代法的应用
已知一个数列的前三个数是1,2,3,从第四个数起,每个数都是前三个数之和。
下面的程序是求出该数列的第15个数。
程序可能有错误,如有错误请改正,将运算结果填入文本框。
(4841)
inta[15]={1,2,3},i=4;
while(i=15)
{a[i]=a[i-1]+a[i-2]+a[i-3];
i=i+1;
a[15]);
4、拆数技巧的应用
计算各位数字之和等于30的4位偶数的个数。
回文数。
5、求素数、完数、水仙花数等。
例:
已知函数f是判断素数的函数。
编写程序计算500-1000之间素数的和。
(54591)
f(longn)
longi,j=n/2;
if(n<
2)return0;
for(i=2;
=j;
if(n%i==0)return0;
return1;
longi,s=0;
for(i=500;
=1000;
if(f(i))s=s+i;
%ld"
getch();
二、选择题
习题三一、二2、三3
习题四一、二
习题五一、二、三1、2、4、7
习题六一、二
习题七一
已知宏定义#defineSQ(x)x*x,执行语句printf("
10/SQ(3));
后的输出结果是____。
A)1B)3C)9D)10
【1.1】
以下不正确的C语言标识符是____。
A)intB)a_1_2C)ab1exeD)_x
【1.2】以下是正确的C语言标识符是____。
A)#defineB)_123C)%dD)\n
【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是____。
A)print B)i\am C)Pxq D)str_l
_3d one_half My->
book Cpp
oodb start$it line# pow
aBc 3pai His.age while
【1.4】下面各选项组中,均是C语言关键字的组是____。
A)auto,enum,includeB)switch,typedef,continue
C)signed,union,scanfD)if,struct,type
【1.5】下列不属于C语言关键字的是_____。
A)defaultB)registerC)enumD)external
【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。
A)程序文件的开始B)程序文件的最后
C)它所调用的函数的前面D)程序文件的任何位置
【1.7】下列关于C语言的叙述错误的是____
A)大写字母和小写字母的意义相同
B)不同类型的变量可以在一个表达式中
C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型
D)同一个运算符号在不同的场合可以有不同的含义
【1.8】在C语言中,错误的int类型的常数是____。
A)32768B)0C)037D)0xAF
【1.9】执行语句printf("
%x"
-1);
屏幕显示____。
A)-1B)1C)-ffffD)ffff
【1.11】已知longi=65539;
执行语句printf("
A)65539B)-3C)3D)程序不能执行
【1.12】在C语言中,整数-8在内存中的存储形式是____。
A)1111111111111000B)1000000000001000
C)0000000000001000D)1111111111110111
【1.13】C语言中字符型(char)数据在内存中的存储形式是____。
A)原码B)补码C)反码D)ASCII码
【1.14】将字符g赋给字符变量c,正确的表达式是____。
A)c=\147B)c="
\147"
C)c='
\147'
D)c='
0147'
【1.15】下列转义字符中错误的一个是____。
A)'
\000'
B)'
\0014'
C)'
\x111'
D)'
\2'
【1.16】将空格符赋给字符变量c,正确的赋值语句是____。
A)c='
\0'
B)c=NULLC)c=0D)c=32
【1.17】已知:
chara='
\70'
则变量a中____。
A)包含1个字符B)包含2个字符C)包含3个字符D)说明非法
【1.18】字符串"
\"
EOF\n=-\61\"
"
的长度是____。
A)8B)9C)14D)非法字符串
【1.19】字符串"
A)0B)1C)2D)非法字符串
【1.20】已知:
chara;
intb;
floatc;
doubled;
执行语句"
c=a+b+c+d;
后,变量c的数据类型是____。
A)intB)charC)floatD)double
【1.21】温度华氏和摄氏的关系是:
C=(5/9)(F-32)。
已知:
floatC,F;
由华氏求摄氏的正确的赋值表达式是____。
A)C=5/9(F-32)B)C=5*(F-32)/9
C)C=5/9*(F-32)D)三个表达式都正确
【1.22】逗号表达式"
(a=3*5,a*4),a+15"
的值是____。
A)15B)60C)30D)不确定
【1.23】如果inta=1,b=2,c=3,d=4;
则条件表达式"
b?
a:
c<
d?
c:
d"
A)1B)2C)3D)4
【1.24】为求出s=10!
的值,则变量s的类型应当为____。
A)intB)unsigedC)longD)以上三种类型均可
【1.25】已知inti=10;
表达式"
20-0<
=i<
=9"
A)0B)1C)19D)20
【1.26】已知intx=1,y;
执行语句y=++x>
5&
&
++x<
10;
后变量x的值是____。
【1.27】为判断字符变量c的值不是数字也不是字母时,应采用下述表达式____。
A)c<
=48||c>
=57&
=65||c>
=90&
=97||c>
=122
B)!
(c<
=122)
C)c>
=48&
=57||c>
=65&
=90||c>
=97&
D)!
(c>
【1.28】已知inta[3][2]={3,2,1};
则表达式"
a[0][0]/a[0][1]/a[0][2]"
A)0.166667B)1C)0D)错误的表达式
【1.29】已知intx=1,y=1,z=1;
x+++y+++z++"
A)3B)4C)5D)表达式错误
【1.30】用十进制表示表达式"
12|012"
A)1B)0C)12D)14
【1.31】已知以下程序段____:
inta=3,b=4;
a=a^b;
b=b^a;
则执行以上语句后a和b的值分别是____。
A)a=3,b=4B)a=4,b=3C)a=4,b=4D)a=3,b=3
【1.32】在位运算中,操作数每右移一位,其结果相当于____。
A)操作数乘以2B)操作数除以2C)操作数除以16D)操作数乘以16
【1.33】已知chara=222;
执行语句a=a&
052;
后,变量a的值是____。
A)222B)10C)244D)254
【1.34】已知二进制数a是00101101,如果想通过整型变量b与a做异或运算,使变量a的高4位取反,低4位不变,则二进制数b的值应是____。
A)11110000B)00001111C)11111111D)00000000
【1.35】已知inta=15,执行语句a=a<
<
2以后,变量a的值是____。
A)20B)40C)60D)80
【1.36】已知intx=5,y=5,z=5;
执行语句x%=y+z;
后,x的值是____。
A)0B)1C)5D)6
【1.37】使用语句scanf("
x=%f,y=%f"
&
x,&
y);
输入变量x、y的值(□代表空