第 1 頁:試題 |
第 4 頁:參考答案 |
(34)有以下程序
#include
int f(int x)
{ int y;
if(x==0||x==1) return(3);
y=x*x-f(x-2);
return y;
}
main()
{ int z;
z=f(3); printf("%d\n",z);
}
程序的運行結果是
A)0
B)9
C)6
D)8
(35)下面程序段的運行結果是
char str[]="ABC",*p=str;
printf("%d\n",*(p+3));
A)67
B)0
C)字符′C′的地址
D)字符′C′
(36)若有以下定義:
struct link
{ int data;
struct link *next;
} a,b,c,*p,*q;
且變量a和b之間已有如下圖所示的鏈表結構:
指針p指向變量a,q指向變量c。則能夠把c插入到a和b 之間并形成新的鏈表的語句組是:
A)a.next=c; c.next=b;
B)p.next=q; q.next=p.next;
C)p->next=&c; q->next=p->next;
D)(*p).next=q; (*q).next=&b;
(37)對于下述程序,在方式串分別采用"wt"和"wb"運行時,兩次生成的文件TEST的長度分別是
#include
void main()
{ FILE *fp=fopen("TEST",);
fputc(′A′,fp);fputc(′\n′,fp);
fputc(′B′,fp);fputc(′\n′,fp);
fputc(′C′,fp);
fclose(fp); }
A)7字節(jié)、7字節(jié)
B)7字節(jié)、5字節(jié)
C)5字節(jié)、7字節(jié)
D)5字節(jié)、5字節(jié)
(38)變量a中的數(shù)據(jù)用二進制表示的形式是01011101,變量b中的數(shù)據(jù)用二進制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運算是
A)a^b
B)a|b
C)a&b
D)a<<4
(39)下面的程序段運行后,輸出結果是
int i,j,x=0;
static int a[8][8];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=2*i+j;
for(i=0;i<8;i++)
x+=a[i][j];
printf("%d",x);
A)9
B)不確定值
C)0
D)18
(40)下列程序執(zhí)行后的輸出結果是
void func(int *a,int b[])
{ b[0]=*a+6; }
main()
{ int a,b[5];
a=0; b[0]=3;
func(&a,b); printf("%d\n",b[0]);}
A)6
B)7
C)8
D)9
二、填空題
請將每一個空的正確答案寫在答題卡序號的橫線上,答在試卷上不給分。
(1)測試的目的是暴露錯誤,評價程序的可靠性;而 【1】 的目的是發(fā)現(xiàn)錯誤的位置并改正錯誤。
(2)某二叉樹中度為2的結點有18個,則該二叉樹中有 【2】 個葉子結點。
(3)當循環(huán)隊列非空且隊尾指針等于隊頭指針時,說明循環(huán)隊列已滿,不能進行入隊運算。這種情況稱為 【3】 。
(4)在關系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個 【4】 。
(5)在計算機軟件系統(tǒng)的體系結構中,數(shù)據(jù)庫管理系統(tǒng)位于用戶和 【5】 之間。
(6)以下程序的輸出結果是 【6】 。
main()
{ char c=′z′;
printf("%c",c-25); }
(7)閱讀下面語句,則程序的執(zhí)行結果是 【7】 。
#include "stdio.h"
main()
{ int a=-1,b=1,k;
if((++a<0)&&!(b--<=0))
printf("%d,%d\",a,b);
else printf("%d,%d\n",b,a);}
(8)下列程序的輸出結果是 【8】 。
main()
{ int i;
for(i=1;i+1;i++)
{ if(i>4)
{ printf("%d\n",i);
break; }
printf("%d\n",i++);}}
(9)以下程序的定義語句中,x[1]的初值是 【9】 ,程序運行后輸出的內(nèi)容是 【10】 。
#include
main()
{ int x[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;
for(i=0;i<4;i++)
{ p[i]=&x[2*i+1];
printf("%d",p[i][0]);
}
printf("\n");)
}
(10)以下程序的輸出結果是 【11】 。
#include
void swap(int *a, int *b)
{ int *t;
t=a; a=b; b=t;
}
main()
{ int i=3,j=5,*p=&i,*q=&j;
swap(p,q); printf("%d %d\N,*p,*q))
}
(11)以下程序的輸出結果是 【12】 。
main()
{ char s[]="ABCD", *p;
for(p=s+1; p
(12)以下程序的輸出結果是 【13】 。
float fun(int x,int y)
{ return(x+y);}
main()
{ int a=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}
(13)有如下圖所示的雙鏈表結構,請根據(jù)圖示完成結構體的定義:
lhead data rchild
struct aa
{ int data;
【14】 }node;
(14)fseek函數(shù)的正確調用形式是 【15】 。
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |