在以下关于C语言的叙述中,正确的说法是():(1分)
A、C语言比汇编语言快 B、C语言比FORTRAN语言快
C、C语言比FORTRAN语言和汇编语言都快 D、C语言比FORTRAN语言慢
2、假定x和y均为double类型,则表达式x=2,y=x+3/2的值是():(1分)
A、3.500000 B、3
C、2.000000 D、3.000000
3、有如下程序段:int w=1; x=2; y=3; z=4; m =(w<x) ? w : x; m =(m<y) ? m : y; m =(m<z) ? m : z; 该程序段执行后,m的值是:(1分)
A、4 B、3
C、2 D、1
4、从下列选项中选择不会引起二义性的宏定义是()(1分)
A、#define CUBE(x) x*x*x B、#define CUBE(x) (x)*(x)*(x)
C、#define CUBE(x) (x*x*x) D、#define CUBE(x) ((x)*(x)*(x))
5、以下错误的描述是()(1分)
A、break语句不能用于循环语句和switch语句外的任何其它语句 B、在switch语句中使用break语句或continue语句的作用相同
C、在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环 D、在循环语句中使用break语句是为了跳出循环体,提前结束循环
6、若已定义: int a[]={0,1,2,3,4,5,6,7,8,9}, *p=a, i; 其中 0 ≤ i ≤ 9, 则对a数组元素不正确的引用是()(1分)
A、a[p-a] B、*(&a[i])
C、p[i] D、a[10]
7、以下程序的输出结果是:main( ) { int num=0; while (num<=2) { num++; printf(“%d”,num); } }(1分)
A、1234 B、123
C、12 D、1
8、strlen( ”\\\018a,0\””)的值为():(1分)
A、11 B、8
C、7 D、6
9、以下程序:main( ) {int x=5; if (x--<5) printf(“%d\n”, x); else printf(“%d\n”, x++); },程序运行后,输出结果是():(1分)
A、3 B、4
C、5 D、6
10、若int w=1, x=2, y=3, z=4;则条件表达式“w>x?w:y<z?y:z”的结果为();(1分)
A、4 B、3
C、2 D、1
二、简答题
1、用选择法对数组中20个实数进行排序。
2、编写程序,计算并输出下面级数前n项中(n=50)偶数项的和。
1*2*3+2*3*4+3*4*5+……+n*(n+1)*(n+2)+…
3、写一程序:输入一个正整数,按十进制位从低到高输出。
4、 编写程序,用双循环结构输出下列三角形:
1 1 1 1 1 1 1
1 1 1 1 1
1 1 1
1
5、写程序完成文件显示功能,把命令行参数作为文件名,显示指定文件内容,要求在显示时加上行号。
6、编写函数求整数m 的所有素数因子,并输出。例如:m为120时,输出的素数因子为:2,2,2,3,5。
三、编程题
1、递归有什么特点?
2、如何理解指针?
3、写出函数的语法结构
4、写出冒泡排序法的过程
5、写出条件运算符的语法,并写出其运算步骤
6、C语言的预处理有哪几种?各有什么作用?