答案:B
34) 有以下程序 main()
{ int a[]={1,2,3,4,5,6,7,8,9,0},*p; for(p=a;p
程序运行后的输出结果是
A)1,2,3,4,5,6,7,8,9,0, B)2,3,4,5,6,7,8,9,10,1, C)0,1,2,3,4,5,6,7,8,9, D)1,1,1,1,1,1,1,1,1,1, 答案:A
35) 有以下程序 #define P 3
void F(int x){ return (P*x*x); } main()
{ printf(\程序运行后的输出结果是
A)192 B)29 C)25 D)编译出错 答案:D
36) 有以下程序 main()
{ int c=35; printf(\程序运行后的输出结果是 A)0 B)70 C)35 D)1 答案:C
37) 以下叙述中正确的是
A)预处理命令行必须位于源文件的开头 B)在源文件的一行上可以有多条预处理命令 C)宏名必须用大写字母表示 D)宏替换不占用程序的运行时间 答案:D
38) 若有以下说明和定义 union dt
{int a; char b; double c;} data; 以下叙述中错误的是
A)data的每个成员起始地址都相同
B)变量data所占内存字节数与成员c所占字节数相等
C)程序段: data.a=5;printf(\输出结果为 5.000000 D)data可以作为函数的实参 答案:C
39) 以下语句或语句组中, 能正确进行字符串赋值的是
A)char *sp; *sp=\ C)char s[10]; *s=\ 答案:D
40) 设有如下说明 typedef struct ST
{ long a; int b; char c[2];} NEW; 则下面叙述中正确的是
A)以上的说明形式非法 B)ST是一个结构体类型 C)NEW是一个结构体类型 D)NEW是一个结构体变量
答案:C
41) 有以下程序 main()
{ int a=1,b;
for(b=1;b<=10;b++) { if(a>=8) break;
if(a%2==1) {a+=5; continue;} a-=3; }
printf(\ }
程序运行后的输出结果是 A)3 B)4 C)5 D)6 答案:B
42) 有以下程序 main()
{ char s[]=\ p=s;
printf(\ }
程序运行后的输出结果是 A)15 B)16 C)12 D)59 答案:A
43) 有以下函数
fun(char *a, char *b)
{ while((*a!='\\0')&&(*b!='\\0')&&(*a==*b)) {a++;b++;}
return (*a-*b); }
该函数的功能是
A)计算a和b所指字符串的长度之差 B)将b所指字符串复制到a所指字符串中 C)将b所指字符串连接到a所指字符串后面 D)比较a和b所指字符串的大小 答案:D
44) 有以下程序 main()
{ int num[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j; for(i=0;i<4;i++)
{ for j=1;j<=i;j++) printf(\
for(j=_____;j<4;j++) printf(\ printf(\ } }
若要按以下形式输出数组右上半三角 1 2 3 4 6 7 8 11 12 16
则在程序下划线处应填入的是 A)i-1 B)i C)i+1 D)4-i 答案:B
45) 有以下程序
point(char *p){ p+=3; } main()
{ char b[4]={'a','b','c','d'},*p=b; point(p); printf(\ }
程序运行后的输出结果是 A)a B)b C)c D)d 答案:A
46) 程序中若有如下说明和定义语句 char fun(char *); main()
{ char *s=\ ... }
以下选项中对函数fun的正确调用语句是
A)(*f1)(a); B)*f1(*s); C)fun(&a); D)ch=*f1(s); 答案:A 47)
A)p->next=q->next; B)p->next=p->next->next; C)p->next=r; D)p=q->next; 答案:D
48) 以下对结构体类型变量td的定义中 , 错误的是 A)typedef struct aa {int n; float m; }AA; AA td;
B)struct aa { int n; float m; }td;
struct aa td; C)struct { int n; float m; }aa;
struct aa td; D)struct { int n; float m; }td;
答案:C
49) 以下与函数 fkeek(fp,0L,SEEK_SET) 有相同作用的是 A)feof(fp) B)ftell(fp) C)fgetc(fp) D)rewind(fp) 答案:D
50) 有以下程序
#include
void WriteStr(char *fn, char *str) { FILE *fp;
fp=fopen(fn,\ }
main()
{ WriteStr(\ WriteStr(\ }
程序运行后, 文件t1.dat中的内容是
A)start B)end C)startend D)endrt 答案:B
二、填空题 (每空 2 分, 共 40 分)
请将每一个空的正确答案写在答题处【1】至【20】。
1) 某二叉树中度为2的结点有18个, 则该二叉树中有【1】个叶子结点。 本小题第1空答案:19
2) 在面向对象方法中, 类的实例称为【2】。 本小题第1空答案:对象
3) 诊断和改正程序中错误的工作通常称为【3】。
本小题第1空答案:调试 或 程序调试 或 软件调试 或 Debug 或 调试程序 或 调试软件 4) 在关系数据库中, 把数据表示成二维表, 每一个二维表称为【4】。 本小题第1空答案:关系 或 关系表
5) 问题处理方案的正确而完整的描述称为【5】。 本小题第1空答案:算法 或 程序 或 流程图
6) 以下程序运行时若从键盘输入:10 20 30<回车>。输出结果是【6】。 #include
{ int i=0,j=0,k=0;
scanf(\ }
本小题第1空答案:10 30 0
7) 以下程序运行后的输出结果是【7】。 #define S(x) 4*x*x+1 main()
{ int i=6,j=8;
printf(\ }
本小题第1空答案:81
8) 以下程序运行后的输出结果是【8】。 main()
{ int a=3,b=4,c=5,t=99;
if(b
本小题第1空答案:4 5 99
9) 以下程序运行后的输出结果是【9】。 main()
{ int a,b,c;
a=10;b=20;c=(a%b<1)||(a/b>1); printf(\ }
本小题第1空答案:10 20 0
10) 以下程序运行后的输出结果是【10】。 main()
{ char c1,c2;
for(c1='0',c2='9';c1 本小题第1空答案:0918273645 11) 已知字符A的ASCII代码值为65, 以下程序运行时若从键盘输入: B33<回车>。则输出结果是【11】。 #include { char a,b; a=getchar();scanf(\ a=a-'A'+'0'; b=b*2; printf(\ } 本小题第1空答案:1 B 12) 以下程序中, fun函数的功能是求3行4列二维数组每行元素中的最大值。请填空。 void fun(int i,int, int(*)[4],int *); main() { int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i; fun(3,4,a,b); for(i=0;i<3;i++) printf(\ printf(\ } void fun(int m, int n, int ar[][4], int *br) { int i,j,x; for(i=0;i for(j=0;j