C语言程序设计第1阶段练习题.docx
《C语言程序设计第1阶段练习题.docx》由会员分享,可在线阅读,更多相关《C语言程序设计第1阶段练习题.docx(11页珍藏版)》请在冰豆网上搜索。
C语言程序设计第1阶段练习题
)。
(2分)
C.ch=08'D.ch=
B.输出为:
***a=2
D.输出为:
***a=2###b=2
)。
C.a=50b=30c=10D.a=50b=30c=50
江南大学现代远程教1第一阶段练习题
考试科目:
《C语言程序设计》第一章至第四章(总分100分)
学习中心(教学点)批次:
层次:
专业:
学号:
身份证号:
姓名:
得分:
单选题(共20题,总分值40,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)
1.已知ch是字符型变量,下面正确的赋值语句是(
A.ch='123';B.ch=xff';
2.若变量都已正确说明,则以下程序段()。
a=2;b=3;
printf(a>b?
”***a=%d":
”###b=%d",0?
b分)
A.没有正确的输出格式控制
C.输出为:
###b=2
3.若变量都已正确说明,则以下程序段输出为(
a=10;b=50;c=30;
if(a>b)a=b;
b=c;c=a;
printf(“a=%db=%dc=%da,b,c);(2分)
A.a=10b=50c=10B.a=10b=30c=10
4.以下正确的描述是()。
(2分)
A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循环体内使用break语句或continue语句的作用相同
D.从多层循环嵌套中退出时,只能使用goto语句
5.若以下选项中的变量已正确定义,则正确的赋值语句是()。
(2分)
B.
A.x1=26.8%3
6.假设a为float
1+2=x2C.x3=0x12D.x4=1+2=3
即四
类型数,i为整型变量,则下述语句能将a中的数值保留小数点1位,
舍五入的是(
B.i=a*10+0.5,a=i/10.0
D.a=(a/100+0.5)*100.0
y值为()。
A.a=(a*10+0.5)/100.0
C.a=int(a*10)/10.0
7.设x和y均为int型变量,则执行下面的循环后,
for(y=1,x=1;y<=50;y++){if(x>=10)break;
if(x%2==1){x+=4;continue;}}(2分)
A.2B.4
8.以下不符合C语言语法的赋值表达式是(
)。
C.6
(2分)
D.8
A.d=9+e,e++,d+9B.k=i==j
9.以下叙述中正确的是()。
(2分)
C.n1+=n2+3
D.a=b+c=a+7
A.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
B.在C程序中,main()函数必须位于程序的最前面。
C.C语言本身没有输入输出语句。
D.C程序的基本单位是语句。
10.a的初值为10,执行表达式语句a+=a-=a*a;后,a的值为(
)。
(2分)
A.-80B.-180
11.在C语言中,逻辑值“真”用()表示?
C.-90
(2分)
D.-100
A.trueB.正数
12.若int类型占两个字节,则以下语句输出为(
C.非0整数
)。
D.非0的数
intk=-1;
printf("%d,u%\n",k,k);(2分)
A.-1,-1B.-1,65536
13.以下程序输出的结果是(
C.-1,32768
D.-1,65535
)。
#includevstdio.h>
main(){inti=0,j=0,a=6;
if((++i>O)IK++j>°))a++;printf(“i=%d,j=%d,a=R%d,i,j,a);
}(2分)
A.i=0,j=0,a=6
B.i=1,j=1,a=7
C.i=1,j=0,a=7
D.i=0,j=1,a=7
14.设x=3,y=-4,z=6
,下面表达式的结果是(
)。
!
(x>y)+(y!
=z)||(x+y)&&(y-z)(2分)
A.0
B.1
C.-1
D.
6
15.C语言程序由(
)组成。
(2分)
A.子程序
B.过程
C.函数
D.
主程序与子程序
16.右有代数表达式
(5ae)/(bc),则不正确的
C语言表达式()。
(2分)
A.a/b/c*e*5
B.5*a*e/b/c
C.5*a*e/b*c
D.
a*e/c/b*5
17.下列有四个用户定义的C语言标识符,只有一个是正确的,正确的是()。
(2分)
A.caseB.-acC._53D.ab-c
18.整型变量a的取值范围为闭区间[-1,10]或开区间(20,40),则正确表示的逻辑表达式为
()。
(2分)
A.-v=av=10|20vav40
B.(—v=a&&av=10)|(20va&&av40)
C.(—v=a&&av=10)||(20va&&av40)
D.-1v=av=10||20vav40
19.在C语言中,设a和x都为整型变量,执行赋值表达式x=(a=3,6*3)后,x的值为()。
(2分)
A.54B.3C.18D.21
20.设有如下程序段,其结果是()。
inta=100,b=100;
for(;a!
=b;++a,b++)
printf(“T;)(2分)
A.输出---
C.死循环
B.输出100行---
D.该for循环一次也不执行
填空题(共5题,总分值30)
21.
以下程序实现求100〜200,400〜600间的全部素数,并以10个数一行的格式输出
#include
main()
{intm,k,I,n=0;
for(m=101;mv=600;m+=2)
{
if(m>200m<400>k=sqrt(m);
for(l=2;lv=k;l++)
if(m%l==0)
"%d‘,m);n=n+1;}
if(){printf(
if(n%10==0)printf(n");“}
printf(n");
(6分)22.#include“stdio.h”
main()
{charc;scanf(“%c,&c);
switch(c-‘2')
{case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
default:
putchar(c+2);break;}
printf(n”");}
当分别输入1,2,5时,输出为、
、。
(6分)
23.描述一个算法可用自然语言、、计算机语言、
几种形式。
(6分)
24.斐波纳契数列中头两个数是0和1,从第三个数开始,每个数等于前两个数的和,即:
0,1,1,2,3,5,8,13,21,等。
求斐波纳契数列的前20个数。
要求每行输出5个数。
请填空。
#includevstdio.h>
main()
{intf,f1,f2,I;
printf(“Fibonacciseries:
);
f1=0;f2=;
printf(“%6d,%6d,”,f1,f2);
for(I=3;Iv=20;)
{f=;printf(“%6d,”,f);
if()
printf(n”);
f1=f2;f2=;
}
printf(n”);
}(6分)
25.有以下程序
#includevstdio.h>
main()
{charch1,ch2;
intn1,n2;
ch1=getchar();ch2=getchar();
n1=ch1-‘O';n2=n1*10+(ch'20');
printf(“i%d,n2);
}
程序运行时输入:
12v回车〉,执行后输出结果是。
(6分)
三编程题(共2题,总分值30)
26.采用二分法求方程2(x3)-4(x2)+3x-6=0在(-10,10)之间的根。
(15分)
27.
c***c
水*档**;
D***rt*D
利用循环实现打印以下图形。
(15分)
一单选题(共20题,总分值40,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。
)
1.答案:
B
解析过程:
2.答案:
C
解析过程:
3.答案:
B
解析过程:
4•答案:
B
解析过程:
5.答案:
C
解析过程:
6.答案:
B
解析过程:
7•答案:
B
解析过程:
8.答案:
D
解析过程:
9.答案:
C
解析过程:
10.答案:
B
解析过程:
11.答案:
D
解析过程:
12.答案:
D
解析过程:
13.答案:
C
解析过程:
14.答案:
B
解析过程:
15.答案:
C
解析过程:
16.答案:
C
解析过程:
17.答案:
C
解析过程:
18.答案:
C
解析过程:
19.答案:
C
解析过程:
20.答案:
D解析过程:
二填空题(共5题,总分值30)
21.答案:
&&,continue,break,l>k
解析过程:
22.答案:
3,66,87
解析过程:
23.答案:
流程图,伪代码
解析过程:
24.答案:
1,l++,f1+f2,l%5==0,f
解析过程:
25.答案:
12
解析过程:
三编程题(共2题,总分值30)
26.答案:
#include"stdio.h"
#include"math.h"
main()
{floata=-10,b=10,ab,fa,fab,fb;fa=a*((2*a-4)*a+3)-6;
do{ab=(a+b)/2;
fab=ab*((2*ab-4)*ab+3)-6;
if((fa*fab)>0)
{a=ab;fa=fab;}
else{b=ab;fb=fab;}
}while(fabs(fab)>=1e-5);
printf("方程的根为%.2f",ab);
}
解析过程:
27.答案:
#include"stdio.h"
main()
{intl,j,k;charm='A:
for(l=0;lv=4;l++)
{for(j=0;jv=3-I;j++)
printf("");
for(k=0;kv=2*I;k++)if(k==0||k==2*I)printf("%c",m+I);
else
printf("*");
printf("\n");}
for(I=0;Iv=3;I++)
{for(j=0;jv=I;j++)
printf("");
for(k=0;kv=6-2*I;k++)if(k==0||k==6-2*l)printf("%c",m+3-I);
elseprintf("*");
printf("\n");
}}
解析过程: