1、高级语言程序设计试卷4 姓名: 班级: 学号 序号 一 二 三 四 五 总分 得分 一、 选择题(每小题2分,共40分) 1、c语言的函数主体必须用以下( C )符号括起来 A、( ) B、“ ” C、{ } D、/* */ 2、若有以下类型说明语句:char a; int b; float c; double d; 则表达式a/b+d-c的结果 类型为 ( D ) A)float B)char C)int D
2、)double 3、判断char型变量c1是否为大写字母的正确表达式( C ) A、 ’A’<=c1<=’Z’ B、 (c1>=’A’)&(c1<=’Z’) C、 (c1>=’A’)&&(c1<=’Z’) D、 (‘a<=c1’)AND(‘Z’>=c1) 4、下面哪个表达式的值为4( D ) A、11/3 B、11.0/3 C、(float)11/3 D、(int)(11.0/3+0.5) 5、在C语言中逻辑“真”等价于以下( A ) A、不等于0的数 B、大于0的数 C、小于0的数 D、整数1 6、指出下面不
3、合法的标志符( A ) A、3ab B、ABC C、a_3 D、_stu2 7、该源程序执行后,假如输入2,5,屏幕上显示什么( C ) void main() { int a,b,sum; scanf("%d,%d",&a,&b); sum=a+b; printf("sum=%3d\n",sum); } A、sum=%d\n B、7 C、sum= 7 D、sum=21 8、c语言在上机调试时,编译源程序和执行程序时应按下面哪些键( D ) A、F6、F9
4、 B、F8、Alt+F9 C、Ctrl+F6,F9 D、F9,Ctrl+F9 9、在调用一个函数的过程中直接或间接地调用函数本身,这就构成了函数的__ B 。 A. 迭代调用 B. 递归调用 C. 地址传递 D. 任意调用 10、getchar 函数可以从键盘输入一个(D ) A)整型变量值 B)实型变量值 C)字符串 D)字符或字符型变量值 11、下列程序的运行结果为( A ) main() { int a,b,c; a=7;b=8;c=9; if(a>7) a=b,b=c;c=a;
5、printf("a=%d b=%d c=%d\n",a,b,c);}
A、a=7 b=8 c=7 B、a=7 b=9 c=7 C、a=8 b=9 c=7 D、a=8 b=9 c=8
12、下列程序执行后输出的结果为( D )
#include
6、p;
p=a; printf("%d",*(P++)); printf("%d",*p); }
A、44 B、22 C、24 D、4 2
14、这段程序运行的结果是 C
main()
{ printf("\\C Program\\\n");}
A. C Program B.C Program\n C. \C Program\ D. "\\C program\\"
15、以下程序的输出结果为( C )
#include
7、b); } A、10,10 B、8,10 C、10,9 D、8,9 16、若a为整型变量,且有以下语句 ( D ) a=-017L; printf("%d\n",a); 则下面哪个说法是正确的? A. 赋值不合法 B. 输出值为-17 C. 输出为不确定值 D. 输出值为-15 17、C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是 B A)float型 B) int 型 C) long型 D) double型 18、已知学生记录描述如下,下面对结构体成员”computer”的赋
8、值方式正确的是( C ) struct student { int num; char name[8]; struct {folat math; folat engl; float computer; }mark ; } std ; A) student . computer=84 B) mark . computer=84 C) std . mark . computer=84 D) std . computer=84 19、当定义一联合体变量时系统分配给它的内存是( C ) A、结构中每一个成员所
9、需的内存量 B、结构中最后一个成员所需的内存量 C、结构体成员中占内存量最大者所需的容量 D、结构体中各成员所需内存量的总和 20、已知有以下的说明 int a[]={8,1,2,5,0,4,7,6,3,9}; 那么a[*(a+a[3])]的值为( D ) A、2 B、1 C、8 D、0 二、填空题(每小题2分,共20分) 1、若已知a=10,b=15,c=0,则表达式a*b||c的运算结果为____1_____。 2、程序的三种基本结构为_____顺序_______、______选择_______、____循环_______。 3、C语言的数组
10、名是一个___int______常量,不能对它进行加减和赋值等运算。 4、static char a[ ]= "I am a boy",则a数组在内存中存储时最后一个字符是 ‘\0’ 。 5、若用以下形式表示for循环语句:for(表达式1;表达式2;表达式3) 循环体语句, 则执行语句for(i=0;i<3;i++) printf("*");时,表达式1执行__1__次,表达式3执行__3___次。 6、int (*pf)( );表示pf是一个指向 函数 的指针变量,该函数的返回值为 int 。 三、程序分析题(第小题4分,共20分) 1. 将二维数组行列
11、元素互换,存在另一个数组中,并输出。请将横线中所缺语句补全。
#include
12、 printf("array b:\n"); for(i=0;i<=2;i++) { for(j=0;j<=1;j++) printf("%5d",b[i][j]); printf("\n"); } } 2. 以下程序的执行结果是: -1 main() { int x=100,a=10,b=20; int v1=5,v2=0; if(a
13、 if(!v1) x=1; else if(v2) x=10; x=-1; printf(“%d”,x); } 3.该程序的输出结果为多少 m=37;n=13; 结果为 m=1 while(m!=n) { while(m>n) m=m-n; while(n>m)
14、 n-=m;
}
printf(“m=%d\n”,m);
4. 该程序的输出结果是: Turbo C++
#include
15、 printf("%s\n", destination);
}
四、程序填空题(每小题6分,共12分)
1、下面程序段和功能是计算一个整数的绝对值,请填空。
#include
16、个程序的作用是统计公元1年到公元2000年的闰年个数。判断闰年的方法是:能被400整除的年是闰年;除能被400整除的年以外,凡是能被4整除,但不能被100整除的年是闰年。其余年份是平年。请填空。
#include






