2007-05-29 11:11
一、填空与选择
1.C语言从源程序的书写到上机运行输出结果要经过__________四个步骤。
2.C语言的表达式与语句的区别在于__________.
3.C语句_________ (有、没有)输入、输出语句。
4.结构化程序的编写有__________三种程序结构。
5.表达式10/3*9%10/2的值是__________.
6.设有“int x=2,y”说明,则逗号表达式“y=x+5,x+y”的值是________.
7.设有“int x=1”,则“x>0?2*x+1: 0”表达式的值是__________.
8.变量Y满足以下两条件中的任意一个:①能被4整除,但不能被100整除;②能被400整除。请用逻辑表达式表示所给条件。_____
9.逻辑运算符“&&、||、 !”中的优先级是______
10. C语言是由__________基本单位组成的。
A.过程 B.语句 C.函数 D.程序
11.有如下语句: X+Y*Z>39 && X*Z||Y*Z是什么表达式__________
A.算术表达式 B.逻辑表达式 C.关系表达式 D.字符表达式
12.下面几种说法中哪个是正确的?_________
A.else语句需与它前面的if语句配对使用;
B.else语句需与前面最接近它的if语句配对使用;
C.else语句需与前面最接近它,且没有和其它else语句配对的if语句配对;
D.以上都正确。
13.有说明语句:char a[ ]=“this is a book”。请问该数组到底占了几个字节?
A.11 B.12 C.14 D.15
14.设整型变量a为5,使b不为2的表达式是_________
A. b=a/2 B. b=6-(——a) C. b=a%2 D.b=a>3?2:1
15.设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是________
A.0 B.2 C.-4 D. 4
16.执行语句“x=(a=3,b=a——)”后,x,a,b的值依次为________
A. 3, 3, 2 B. 3,2,2 C.3,2,3 D.2,3,2
17.如果X=5,执行语句X*=X+=X*3后,则X的值为_________
A.100 B. 400 C. 450 D. 900
18.下列常量中哪个是不合法的________
A.2e32.6 B. 0.2e-5 C. “basic” D. 0x4b00
19.下列标识符错误的是_______
A. x1y B._123 C. 2ab D. _ab
20. c语言中int型数-8在内存中的存储形式为_____
A.1111111111111000 B.1000000000001000
C.0000000000001000 D.1111111111110111
二、读程序(结果写在试卷的右边)
1. 写出下列程序段的输出结果:
main()
{int x=5; int y=10;
printf(“%d\n”,x++);
printf(“%d\n”,++y); }
2. 下面程序的输出结果是什么?
#include “stdio.h”
main()
{ int x=3;
switch(x)
{ case 1:
case 2:printf(“x<3\n”);
case 3:printf(“x=3\n”);
case 4:
case 5:printf(“x>3\n”);
default:printf(“x unknow\n”); } }
3.根据源程序,写出相应的数学表达式
#include “stdio.h”
main()
{ int x,y;
scanf(“%d”,&x);
if (x<0) y= -1;
else if (x= = 0)
y=0;
else y=1;
printf(“x=%d,y=%d\n”,x,y); }
4. 读出下列程序的输出结果:
main()
{ int a=1,b=1,c=1;
printf(“%d,%d,%d\n”,a,b,c)
a+=b+=++c;
printf(“%d,%d,%d\n”,a,b,c);
printf(“%d,%d,%d\n”,a++,——b,++c);
printf(“%d,%d,%d\n”,a,b,c); }
三、程序填空:(根据题意,将空缺的语句补上。)
1.下列程序的功能是计算圆的面积,将程序补充完整。
#define PI = 3.14159
main()
{ float r,s;
printf(“Enter a number r:”);
________
s=PI*r*r
_________; }
2.该程序完成的功能是求1+2+3+…+10的累加和,并进行累加和的输出打印。变量sum是存放累加值的。
#include “stdio.h”
main()
{ ____
i=1,sum=0;
for(; i<=10;)
{ sum+=i;
______ }
printf(“%d\n”,sum);}
四、改错
求Fibonacci数列40个数。这个数列有如下特点:第1,2 两个数为1,1.从第3个数开始,该数是其前面两个数之和。即:
F1=1 (n=1) F2=1 (n=2) Fn=Fn-1+Fn-2 (n≥3)
程序如下,请改正:
main()
{ long int f1,f2
int i;
f1=f2=1;
for (i=1, i<=20 , i- -);
{ printf(“%12ld %12ld”,f1,f2);
if (i%4=0) printf(“\n”);
f1=f1+f2
f2=f2+f1; } }
五、编程
1.给定一个正整数,判断它是否能同时被3、5、7整除。
2.计算分段函数:
3.从键盘录入10个数到数组A,请将它们进行由小到大的排序(方法不限)。
自考365
2018-04-04
自考365
2019-01-01
自考365
2019-11-01