C语言 复习题.doc
- 格式:doc
- 大小:87.49 KB
- 文档页数:4
C语言试卷复习题
一选择题
1、 C语言中函数体一般包括? ( D )
A)声明部分 B)执行部分
C)语句部分 D)声明部分和执行部分
2、 在下列符号中,可以选用作变量名的变量符号是? ( C )
A. case B. "cde C. e_a D. c&c
3、 若 x 为 float 型变量,且 x = 1234. 123,则 printf 3f", x)语句输出为? ( A )
A. 1234.123 B.-1234.123 C. 01234. 123 D. 1234.1230
4、 在组成C程序的若干个函数中。(B )
A. 只能有一个主函数,它可以由编程者自己命名
B. 只能有一个主函数,它被规定命名为main。
C. 可能有一个以上的主函数,它可以由编程者自己命名
D. 主函数可有可无,如果有,它被规定命名为main()
5、 以下叙述正确的是? ( C )
A. 在C程序中,每行只能写一条语句
B. 在C程序中,整数和实数都能准确无误地表示
C. 若float a;C程序中允许赋值a=10;所以实型变量可以存放整型数
D. 在C程序中,%只能用于整型数的运算
6、 若x为int型变量,则逗号表达式(x = 4*5,x*5,x+25)的结果为? ( D )
A. 20 B. 45 C. 100 D. 125
7、 有说明char w; int x; float y;double z;则表达式w*x+z-y值的数据类型为? ( B )
A. float B. double C.int D. char
8、 逻辑运算符两端运算对象的数据类型为? ( B )
A,只能是0和1 B.只能是0和非0的正数
C.可以是任何类型的数据 D.只能是整型的数据
9、 若有说明:inta[10];则对a数组元素的正确引用是? ( D )
A. a[10] B. a[3. 5] C. a(5) D. a[10T0]
10、 下面是一个初始化指针语句:int *pt=&a;其中指针变量的名字应该是? ( A ) B. *a C.
px D.
&a A.
pt
11、在C语言中逻辑”真”用什么表示?( C
A. TRUE B.大于1的数 C.非0正数 D.非0
12、 对输入语句scanf ("%d:%d:%d”, &x, &y, &z)的正确输入为?( A )
A. 1:2:3 B. 1, 2, 3 C. 1 2 3 D. 123
13、 在C语言中,字符型数据在内存中是以(D )形式存放的。
A.原码 B. BCD码 C.反码 D. ASCII码
14、 以下述叙不正确的是(D )
A, 一个C源程序可以由一个或多个函数组成
B, 一个C源程序必须包含一个main函数
C. C程序的基本组成单位是函数
D. 在C程序中注释说明只能位于…条语句的后面
15、 在C语言中,int, char,和short三种类型数据所占用的内存(C )
A.均为2个字节 B.由用户自己定义
C,由所用机器的机器字长决定 D.是任意的
二填空题
1、 C源程序的基本单位是函数 。
2、 一个C源程序中至少应包,含一个 主函数 。
3、 在一个C源程序中,注释部分二侧的分界符分别为 ⑴/* 和 ⑵*/ 。
4、 在C语言中,输入操作是由库函数 (l)scanf 完成的,输出操作是由库函数 (2)printf
完成的。
5、 设C语言中int类型数据占2个字节,则long类型数据占4个字节 个字节。
6、 若 a=6, b=4, c=3,则表达式 a&&b+c | | b~c 的值是 。
三看程序写结果
1、请问下面程序片段的输出结果是什么:
int x=5;
int y=10; printf( "%d\n” , x++);
11
四、 解答题
1、 有两个整数,它们在机器内的表示分别是:
1111 1111 1111 1111 0100
0000 0000 0000 0000 1010
请问这是哪两个整数的补码表示?
分别是・12和10的补码表示。
2、 请说明break与continue的区别。
break是结束当前循环,进入循环体的下一次循环。
continue是结束本次循环,跳过循环语句中尚未执行的语句,接着进行循环条件的判断。
五、 编程题
1、 写一个程序,求分段函数y=f(x)的值,f(x)的表达式为:
f 2 1
X -1 1
x<-l
f"子 -l<=x<=l
尤之+l x>l
#i ncIude
ma i n ()
(
f I oat x, y;
pr intf ( “请输入一个数:”);
scanf ( "%d”,&x);
i f (x<~1)
y 二 x*x~1;
eIse i f (x<=-1)
y 二 x*x;
else y = x*x+1;
}
2、 数组a有10个元素,分别是7, 3, 2, 5, 9, 1, 6, 10, 4, 8。请用冒泡法对数组中的元素进行升序 排序。
#i ncIude "std i o.h” #def i ne N 10
vo i d ma i n ()
{
int i, j,t;
int a[N] = {7, 3, 2, 5, 9, 1, 6, 10, 4, 8}:
for (i=0;i { for (j=N-1 ; j>i ; j—) if (a[j-1]>a[j]) { t = a[j-1]; a[j-1] = a[j]: a[j] = t; } } pr i ntf ("排序结果为:\n"); for (i = 0; i printf("%d", a[i]);