资源描述
高级语言程序设计试卷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)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、指出下面不合法的标志符( 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 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;
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<stdil.h>
abc()
{ static int x=0; ++x; printf("%d",x);}
main()
{ abc(); abc();abc();}
A、000 B、111 C、1,2,3 D、123
13、下列程序的输出结果为( C )
main()
{ int a[5]={2,4,5,6,10},*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<stdio.h>
main()
{ int a=010,b=10; printf(“%d,%d\n”,a++,--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”的赋值方式正确的是( 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、结构中每一个成员所需的内存量 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语言的数组名是一个___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. 将二维数组行列元素互换,存在另一个数组中,并输出。请将横线中所缺语句补全。
#include <stdio.h>
main()
{ int a[2][3]={{1,2,3},{4,5,6}};
int b[3][2],i,j;
printf("array a:\n");
for(i=0;i<=1;i++)
{ for(j=0;j<=2;j++)
{ printf("%5d",a[i][j]);
b[j][i]=a[i][j] ;
}
printf("\n");
}
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<b)
if(b!=15)
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)
n-=m;
}
printf(“m=%d\n”,m);
4. 该程序的输出结果是: Turbo C++
#include <string.h>
#include <stdio.h>
void main()
{ char destination[25];
char blank[] = " ", c[]= "C++",
turbo[] = "Turbo";
strcpy(destination, turbo);
strcat(destination, blank);
strcat(destination, c);
printf("%s\n", destination);
}
四、程序填空题(每小题6分,共12分)
1、下面程序段和功能是计算一个整数的绝对值,请填空。
#include <stdio.h>
main()
{ int x,y;
printf("Enter an integer:");
scanf("%d",&x);
y=x;
if(y<0)
y=-y ;
printf("\ninteger:%d--->absolute value:%d\n",x,y);
}
2、下面这个程序的作用是统计公元1年到公元2000年的闰年个数。判断闰年的方法是:能被400整除的年是闰年;除能被400整除的年以外,凡是能被4整除,但不能被100整除的年是闰年。其余年份是平年。请填空。
#include<stdio.h>
void main( )
{
int year; int count=0;
for(year=0;year<=2000;year++)
if(( y%400= =0 )||(year%4= =0&& y%100!=0 ))
count++ ;
printf(“%d”,count);
}
五、编程题(8分)
展开阅读全文