1、高级语言程序设计试卷 5姓名: 班级: 学号序号 一 二 三 四 五 总分得分一、 选择题(每小题 2 分,共 40 分)1、若 k,g 均为 int 型变量,则以下语句的输出为哪一项?( A )int k,g; k=017; g=111; printf(“%d,“,k); printf(“%xn“,g);A. 15,6f B. f,6f C. f,111 D. 15,1112、若有以下类型说明语句:char a; int b; float c; double d; 则表达式 a/b+d-c 的结果类型为 ( D )A、float B、char C、int D、double3、C 语言程序由什
2、么组成? CA. 子程序 B. 主程序和子程序 C. 函数 D. 过程4、设有 int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab)scanf(“%d“,y=x12?x+10:x-12; printf(“%dn“,y);A、0 B、22 C、12 D、108、在与 switch 语句配套的 case 语句中所使用的正确的表达式为( C )A、只能是常量 B、可以是变量或常量C、只能是常量或常量表达式 D、无论是常量还是变量,只要在执行时已有确定的值就行9、在调用一个函数的过程中直接或间接地调用函数本身,这就构成了函数的( B ) 。A. 迭代调用 B. 递归调用 C. 地址
3、传递 D. 任意调用10、getchar 函数可以从键盘输入一个( D )A)整型变量值 B)实型变量值 C)字符串 D)字符或字符型变量值11、以下程序的输出结果为( C )includemain() int a=010,b=10; printf(“%d,%dn”,a+,-b); A、10,10 B、8,10 C、10,9 D、8,912、下列程序执行后输出的结果为( D )includeabc() stdtic int x=0; +x; printf(“%d”,x);main() abc(); abc();abc();A、000 B、111 C、1,2,3 D、12313 若要定义 b 为
4、 5*10 的二维数组,正确的定义语句为( D )A、float b(5,10) B、float b5,10C、float 510 D、float b51014、这段程序运行的结果是(C ) 。main() printf(“C Programn“);A. C Program B.C Programn C. C Program D. “C program“15、若要定义 b 为 5*10 的二维数组,正确的定义语句为( D )A、float b(5,10) B、float b5,10C、float 510 D、float b51016、C 语言允许函数值类型的缺省定义,此时该函数值隐含的类型是(
5、B ) 。A)float 型 B) int 型 C) long 型 D) double 型17、以下程序的运行结果是( D )main()int x=1,y=2,z=3;z+=xy?+x:+y;printf(“%d”,z);A、1 B、2 C、3 D、618、在下列语句中,不正确的是( D )A、 c=2*max(a,b) B、m=max(a,max(b,c)C、printf(“%d”,max(a,b) D、int max(int x,int max(int y,int z)19、设整型变量 i=3,则执行语句 i+ -i- + -i-i-后,i 的值为(A )、 、 、 、20、已知有以下的
6、说明int a=8,1,2,5,0,4,7,6,3,9; 那么 a*(a+a3)的值为( D )A、2 B、1 C、8 D、0二、填空题(每空 1 分,共 20 分)1、C 语言提供了基本数据类型包括_int _、 _char_ 、_float_。2、若想建立一个名为 TEST 的 C 程序文件,经过编辑、编译、连接后,在磁盘上会产生三个扩展名为_test.c_、 _test.obj_、 _test.exe_的文件。3、变量的指针就是变量的_地址_、数组名则是该数组的_首元素的地址_。4、函数的实参与形参的个数应_相等_、类型应_匹配_、按顺序一一对应、以_值_的传递方式或_地址_的传递方式进
7、行数据的传递。5、C 程序的全部工作可由_函数_完成的,它是 C 程序的基本单位它由_声明部分_及_执行语句_组成。6、程序的三种基本结构为_顺序_、_循环_、_选择_。7、若定义 int a=4,b=0.12,c= 2 则表达式的!afor(i=0;ib)a=b;b=c;c=a;printf(“a=%d b=%d c=%dn“,a,b,c);4. 以下程序的运行结果_300,200,100_void f1(int x,int y,int z)x=111;y=222;z=333;main()int x=100,y=200,z=300;f1(x,y,z);printf(“%d,%d,%dn”,z
8、,y,x);四、程序填空题(每小题 6 分,共 12 分)1、下面程序段和功能是计算一个整数的绝对值,请填空。#include main() int x,y;printf(“Enter an integer:“);scanf(“%d“,y=x;if(yabsolute value:%dn“,x,y);2、下面这个程序的作用是统计公元 1 年到公元 2000 年的闰年个数。判断闰年的方法是:能被 400整除的年是闰年;除能被 400 整除的年以外,凡是能被 4 整除,但不能被 100 整除的年是闰年。其余年份是平年。请填空。includevoid main( )int year; int cou
9、nt=0;for(year=0;year=2000;year+)if( y%400= =0 )|(year%4= =0printf(“%d”,count);五、编程题(8 分)随机输入两个整数请按从大到小顺序输出(请用两种不同的方法编程) 。1.main() float a,b,t; scanf(“%f,%f”,if(ab) t=a; a=b; b=t;printf(“%f,%f”,a,b);2. main() float a,b,*p1,*p2,*p; scanf(“%f,%f”, p1=p2=if(ab) p=p1; p1=p2; p2=p;printf(“%f,%f”,*p1,*p2);