江南大学现代远程教育 第一阶段练习题
考试科目:《C语言程序设计》第一章至第四章(总分100分)
学习中心(教学点) 批次: 层次: 专业: 学号: 号: : 得分:
一 单选题 (共20题 ,总分值40 ,下列选项中有且仅有一个选项符合题目要求,
请在答题卡上正确填涂。)
1. 已知ch是字符型变量,下面正确的赋值语句是( )。 (2 分) A. ch=‘123’;
B. ch=‘\\xff’;
C. ch=‘\\08’
D. ch=“\\”
2. 若变量都已正确说明,则以下程序段( )。
a=2;b=3;
printf(a>b?”***a=%d”:”###b=%d”,a,b); (2 分)
A. 没有正确的输出格式控制 C. 输出为:###b=2
B. 输出为:***a=2
D. 输出为:***a=2###b=2
3. 若变量都已正确说明,则以下程序段输出为( )。
a=10;b=50;c=30; if(a>b)a=b; b=c;c=a;
printf(“a=%d b=%d c=%d\\n”,a,b,c); (2 分)
A. a=10 b=50 c=10 B. a=10 b=30 c=10 C. a=50 b=30 c=10 D. a=50 b=30 c=50 4. 以下正确的描述是( )。 (2 分)
A. continue语句的作用是结束整个循环的执行 B. 只能在循环体和switch语句体使用break语句
C. 在循环体使用break语句或continue语句的作用相同 D. 从多层循环嵌套中退出时,只能使用goto语句
5. 若以下选项中的变量已正确定义,则正确的赋值语句是( )。 (2 分) A. x1=26.8%3
B. 1+2=x2
C. x3=0x12
D. x4=1+2=3
6. 假设a为float类型数,i为整型变量,则下述语句能将a中的数值保留小数点1位,即四
舍五入的是( )。 (2 分) A. a=(a*10+0.5)/100.0 C. a=int(a*10)/10.0
B. i=a*10+0.5,a=i/10.0 D. a=(a/100+0.5)*100.0
7. 设x和y均为int型变量,则执行下面的循环后,y值为( )。
for (y=1,x=1;y<=50;y++) { if ( x>=10) break;
if ( x%2==1) { x+=4; continue;}} (2 分)
A. 2
B. 4
C. 6
8. 以下不符合C语言语法的赋值表达式是( )。 (2 分) A. d=9+e,e++,d+9
B. k=i= =j
C. n1+=n2+3
9. 以下叙述中正确的是( )。 (2 分)
A. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误。B. 在C程序中,main()函数必须位于程序的最前面。 C. C语言本身没有输入输出语句。 D. C程序的基本单位是语句。
10. a的初值为10,执行表达式语句a+=a-=a*a;后,a的值为( )。A. -80
B. -180
C. -90
11. 在C语言中,逻辑值“真”用( )表示? (2 分) A. true
B. 正数
C. 非0整数
12. 若int类型占两个字节,则以下语句输出为( )。
int k=-1;
printf(\(2 分)
A. -1,-1
B. -1,65536
C. -1,32768
13. 以下程序输出的结果是( )。
#include <stdio.h> main()
{int i=0,j=0,a=6;
if((++i>0)||(++j>0))a++;
D. 8
D. a=b+c=a+7
2 分) D. -100
D. 非0的数
D. -1,65535
(printf(“i=%d,j=%d,a=%d\\n”,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. case (2 分)
A. –1<=a<=10 | 20<a<40
B. (–1<=a && a<=10)| (20<a && a<40) C. (–1<=a && a<=10)||(20<a && a<40) D. –1<=a<=10 || 20<a<40
19. 在C语言中,设a和x都为整型变量,执行赋值表达式x=(a=3,6*3)后,x的值为 ( )。 (2
分) A. 54
B. 3
C. 18
D. 21
B. -ac
C. _53
D. ab-c
18. 整型变量a的取值围为闭区间[-1,10]或开区间(20,40),则正确表示的逻辑表达式为( )。
20. 设有如下程序段,其结果是( )。
int a=100,b=100; for(;a!=b;++a,b++ ) printf(“---\\n”); (2 分)
A. 输出--- C. 死循环
B. 输出100行---
D. 该for循环一次也不执行
二 填空题 (共5题 ,总分值30 )
21.
以下程序实现求100~200,400~600间的全部素数,并以10个数一行的格式输出。 #include main()
{int m,k,I,n=0; for(m=101;m<=600;m+=2) {
if(m>200 _________ m<400> _________ ; k=sqrt(m); for(I=2;I<=k;I++) if(m% I= =0) _________ ;
if( _________ ) {printf(“%d”,m);n=n+1;} if(n= =0) printf(“\\n”); }
printf(“\\n”);
}
(6 分) 22. #include “stdio.h” main()
{ char c;scanf(“%c”,&c); switch (c-‘2’) { case 0:
case 1: putchar(c+4); case 2: putchar(c+4);break; case 3: 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个数。请填空。
#include <stdio.h> main()
{int f,f1,f2,I;
printf(“Fibonacci series :\\n”); f1=0;f2=________________________________; printf(“m,m,”,f1,f2);
for(I=3;I<=20; _________________________) { f=________________________________; printf(“m,”,f);
if(________________________________)