c语言程序设B复习题Word格式.docx
《c语言程序设B复习题Word格式.docx》由会员分享,可在线阅读,更多相关《c语言程序设B复习题Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
printf(“a=%d,b=%d,c=%d”,a,b,c);
}
A.a=20,b=30,c=20B.a=20,b=40,c=20
C.a=30,b=40,c=20D.a=30,b=40,c=30
10.逻辑运算表达式的返回值可能是
A.1B.2C.3D.4
11.多重if_else语句嵌套使用时,寻找与else配对的if方法是
A.缩排位置相同的if
B.其上最近的if
C.下面最近的if
D.其上最近的未配对的if
12.若有以下定义:
floatx;
inta,b,c=2;
则正确的switch语句是
A.switch(x)
{case1.0∶printf("
*\n"
);
case2.0∶printf("
**\n"
B.switch(int(x))
{case1∶printf("
case2∶printf("
C.switch(a+b)
case1+2∶printf("
D.switch(a+b)
casec∶printf("
13.在while(!
x)语句中的!
x与下面条件表达式等价的是:
______
A.x!
=0B.x==1C.x!
=1D.x==0
14.下面程序段的运行结果是
a=1;
b=2;
c=2;
while(a<
b<
c){t=a;
b=t;
c--;
printf(“%d,%d,%d”,a,b,c);
A.1,2,0B.2,1,0C.1,2,1D.2,1,1,
15.关于语句“for(表达式1;
表达式2;
表达式3)”下面说法中错误的是
A.for语句中的三个表达式可以同时省略
B.for语句可以用于循环次数不确定的情况
C.for语句中表达式2只能是关系表达式或逻辑表达式
D.for语句中表达式1和表达式3可以是逗号表达式
16.若有数组说明:
inta[10];
则对数组元素的正确引用是
A.a[10]B.a[3.5]C.a(5)D.a[5-3]
17.以下能对一维数组a进行正确初始化的语句是
A.inta[10]=(0,1)B.inta[]={}
C.int[10]a={1,2,3}D.inta[10]={0}
18.若用数组名作为函数的实参,传递给形参的是
A.数组的首地址B.数组第一个元素的值
C.数组中全部元素的值D.数组元素的个数
19.一个C语言程序是由
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
20.设有以下程序段:
#include<
stdio.h>
voidfun(intx,inty)
{
x+=y;
y=x-y;
x=x-y;
main()
intx=10,y=20;
fun(x+1,y);
printf(“%d,%d”,x,y);
该程序的输出结果是____。
A.20,11B.11,20C.10,20D.20,10
1.
C语言程序的执行,总是起始于_____。
A.程序中的第一条可执行语句
B.main函数
C.程序中的第一个函数
D.包含文件中的第一个函数
2.
C语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。
A.‘{‘和’}’B.‘[‘和’]’C.“/*”和”*/”D.“*/”和”/*”
3.以下不能定义为用户标识符是。
A.MainB._0C._intD.sizeof
4.
在C语言中,字符型数据在内存中以形式存放。
A.原码B.BCD码C.反码D.ASCII码
5.下列运算符中,要求运算对象必须是整数的是。
A./B.*C.%D.!
6.多重if_else语句嵌套使用时,寻找与else配套的if方法是。
A.上面最近的的if
B.其上最近的没有其他else配对的if
C.下面最近的if
D.同行上的if
7.下述表达式中,可以正确表示x≤0或x≥1的关系。
A.(x>
=1)||(x<
=0)B.x>
=1|x<
=0
C.x>
=1&
x<
=0D.(x>
=1)&
(x<
=0)
8.有以下程序
voidmain()
{chara='
a'
b;
printf("
%c,"
++a);
%c\n"
b=a++);
}
程序运行后的输出结果是
A.b,bB.b,cC.a,bD.a,c
9.逗号表达式(a=3*5,a*4),a+15的值是。
A.15B.60C.30D.不确定
10.有如下程序
voidmain()
{inti,sum;
for(i=1;
i<
=3;
sum++)
sum+=i;
printf(“%d\n”,sum);
}
该程序的执行结果是。
A.6B.3C.死循环D.0
11.有如下程序段
inta=14,b=15,x;
charc=’A’;
x=(a&
b)&
(c<
’B’);
执行该程序段后,x的值为()
A.tureB.falseC.0D.1
12.关系表达式a≤x<
b的正确描述是。
A.a<
=x<
bB.x>
=a&
x<
bC.x>
=a||x<
bD.!
(x<
a&
x>
=b)
13.C语言中规定函数的返回值的类型是由。
A.return语句中的表达式类型所决定
B.在定义该函数时所指定的函数类型所决定
C.调用该函数时系统临时决定
D.调用该函数时的主调用函数类型所决定
14.以下程序的输出结果是。
voidmain()
{intx=11,y=11;
printf("
%d,%d\n"
x--,--y);
A.11,11B.10,10C.10,11D.11,10
15.下列程序的输出结果是________。
inta=0,b=0,c=0;
if(++a>
0||++b>
0)
++c;
a=%d,b=%d,c=%d"
a,b,c);
A.a=0,b=0,c=0 B.a=l,b=l,c=1
C.a=l,b=0,c=1 D.a=0,b=1,c=1
16.有以下函数定义:
voidfun(intn,doublex){……} 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句
是。
A.fun(inty,doublem);
B.k=fun(10,12.5);
C.fun(x,n);
D.voidfun(n,x);
17.已定义c为字符型变量,则下列语句中正确的是。
A.c='
97'
;
B.c="
97"
C.c=97;
D.c="
a"
18.以下能正确定义一维数组的选项是。
A.intnum[];
B.#defineN100 intnum[N];
C.intnum[0..100];
D.intN=100;
intnum[N];
19.以下正确的函数声明形式是。
A.doublefun(intx,inty)B.doublefun(intx;
inty)
C.doublefun(intx,inty);
D.doublefun(intx,y)
20.以下有关switch语句的正确说法是________。
A.break语句是语句中必须的一部分
B.在switch语句中可以根据需要使用或不使用break语句
C.break语句在switch语句中不可以使用
D.在switch语句中的每一个case都要用break语句
二、填空题
1.C语言中用于选择结构的控制语句有语句和语句。
2.在C语言中,两个实型数据相加之和一定是。
3.设有intx=11;
则表达式x/3的值是。
4.C语言中的常量可以分为常量和常量。
5.格式化输入库函数为。
6.当程序中有某些功能模块结构相对独立,且该程序段会重复使用时,一般会使用来实现。
7.在C语言中,引用数组元素时,其数组下标的数据类型必须为。
8.switch语言中,通常用语句跳出分支结构。
9.在C语言中,假设一个int型数据在内存中点两个字节,则int型数据的取值范围是。
10.C语言程序经过编译和连接后生成的文件后缀名为。
1.在C语言中,基本的数据类型主要有、、三种。
2.C语言中用于格式化输出的函数是。
3.当一个函数返回值类型缺省的时候,则该函数返回值类型为类型。
4.定义一个整型一维数组array,数组长度为5,且初始化列表为{2,4,6},请写出初始化数组语句。
5.C语言中用0表示假,用表示真。
6.设有数组定义chararray[]="
China"
;
则数组array所占的空间为字节。
7.下面程序的功能是:
计算1到10(包括10)的奇数之和及偶数之和,请填空。
#include<
voidmain()
{inta,b,c,i;
a=0;
c=0;
for(i=0;
=10;
i+=2)
{a+=i;
_______;
c+=b;
偶数之和=%d\n"
a);
奇数之和=%d\n"
);
三、程序阅读题
1.#include<
voidmain()
{inta=97;
charb;
b=a-32;
%d,%c,%c"
b,b,'
b'
-32);
上述程序的运行结果为
2.#include<
inti,j;
for(i=0;
i++)
{
for(j=0;
j<
=2*i;
j++)
printf("
*"
printf("
\n"
=2;
=4-2*i;
3.#include<
intscore;
输入(0-100):
"
scanf("
%d"
&
score);
switch(score/10)
case10:
case9:
A!
break;
case8:
B!
case7:
C!
case6:
D!
default:
E!
若执行此程序时输入数字66,则结果为
4.#include<
inta[10]={55,53,72,26,97,12,36,5,48,62};
inti,x=a[0],y=a[0];
for(i=1;
=9;
if(a[i]<
x)
x=a[i];
if(a[i]>
y)
y=a[i];
%d,%d"
x,y);
5.#include<
sum(intx,inty)
{intz=0;
for(x;
=y;
x++)
z=z+x;
returnz;
intx=5,y=10;
%d\n"
sum(x+4,y));
1.写出下面程序段的输出结果。
intx=10,y;
x/=2;
y=x++%2;
x=%d,y=%d\n"
程序运行结果是。
2.写出下面程序段的输出结果。
inti;
{switch(i)
case1:
i+2);
case2:
i*i);
i+1);
3.写出下面程序段的输出结果。
intk;
for(k=1;
k<
5;
k++)
if(k%2)
else
#"
4.执行程序之后,输入2.5↙3.5↙3.0,下面程序段的输出结果是。
(↙表示回车)
floata[4]={1};
%f"
a[i]);
a[0]+=a[i];
a[0]);
5.写出下面程序段的输出结果。
intd=1;
voidfun(intp)
intd=5;
d+=p++;
d);
inta=3;
fun(a);
d+=a++;
四、简答题
1.简述C语言程序的三种基本结构
2.在VC++6.0环境下编写并运行C语言程序要经历哪几个步骤
3.画出求100以内奇数之和的程序流程图(不必写程序)
4.循环结构有哪几种形式,它们之间有什么不同
2.C语言的基本程序控制结构有哪几种?
3.简述"
s"
与'
s'
的区别。
4.C语言中函数调用时参数传递方式的有哪几种?
分别简述他们的传递方式。
五、编程题
1.编写程序输入两个数a和b,若a≤b,求a与b的积并显示,若a>
b,求其商并显示。
2.编写程序找出100到1000之间的所有“完数”。
所谓“完数”是指一个数恰好等于它的所有不同因子之和,因子为可以被这个数字整除的所有整数。
例如:
6=1+2+3
3.编程写出“求两个数的最大公约数”的函数,并书写main函数进行调用该函数。
1.从键盘上输入50个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩。
2.编写程序找出100到1000之间的所有“完数”。
3.写一个程序计算三角形的面积。
要求:
用一个函数判断输入的3个数是否为三角形的边,是三角形的边返回1,否则返回0;
再用一个函数输入三角形的3条边,计算三角形面积。
主函数中要求输入三条边的值,调用函数输出三角形的面积。
(海伦公式:
已知三角形三条边为a,b,c,p=(a+b+c)/2,三角形的面积
,实现根号运算调用函数sqrt,函数sqrt包含在math.h头文件中)。