fun(s);
puts(s); }
当执行程序时从键盘上输入Hello Beijing<回车>,则程序的输出结果是 A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing
(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。 #include
void fun(int x[N]) { int i=0;
while(i 在程序中下划线处应填入的是 A)x+i B)&x[i+1] C)x+(i++) D)&x[++i] (31)有以下程序 #include { char a[30],b[30]; scanf(\ gets(b); printf(\ } 程序运行时若输入: how are you? I am fine<回车> 则输出结果是 A)how are you? B)how I am fine are you? I am fine C)how are you? I am fine D)how are you? (32)设有如下函数定义 int fun(int k) { if (k<1) return 0; else if(k==1) return 1; else return fun(k-1)+1; } 若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是 A)2 B)3 C)4 D)5 (33)有以下程序 #include { if (x!=y) return ((x+y)/2); else return (x); } main() { int a=4,b=5,c=6; printf(\ } 程序运行后的输出结果是 A)3 B)6 C)8 D)12 (34)有以下程序 #include { static int x=1; x*=2; return x; } main() { int i,s=1; for(i=1;i<=3;i++) s*=fun(); printf(\ } 程序运行后的输出结果是 A)0 B)10 C)30 D)64 (35)有以下程序 #include { int k=5,j=2; printf(\} 程序运行后的输出结果是 A)197 B)143 C)33 D)28 (36)设有定义:struct {char mark[12];int num1;double num2;} t1,t2;,若变量均已正确赋初值,则以下语句中错误的是 A)t1=t2; B)t2.num1=t1.num1; C)t2.mark=t1.mark; D)t2.num2=t1.num2; (37)有以下程序 #include { int x,y;}dt[2]={1,2,3,4}; main() { struct ord *p=dt; printf(\ } 程序运行后的输出结果是 A)1,2 B)4,1 C)3,4 D)2,3 (38)有以下程序 #include struct S { int a,b;}data[2]={10,100,20,200}; main() { struct S p=data[1]; printf(\ } 程序运行后的输出结果是 A)10 B)11 C)20 D)21 (39)有以下程序 #include main() { unsigned char a=8,c; c=a>>3; printf(\ } 程序运行后的输出结果是 A)32 B)16 C)1 D)0 (40)设fp已定义,执行语句fp=fopen(\后,以下针对文本文件file操作叙述的选项中正确的是 A)写操作结束后可以从头开始读 B)只能写不能读 C)可以在原有内容后追加写 D)可以随意读和写 二、填空题 (1)有序线性表能进行二分查找的前提是该线性表必须是 【1】 存储的。 (2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为 【2】 。 (3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为 【3】 测试。 (4)实体完整性约束要求关系数据库中元组的 【4】 属性值不能为空。 (5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称 【5】 是关系A的外码。 (6)以下程序运行后的输出结果是 【6】 。 #include a=(int)((double)(3/2)+0.5+(int)1.99*2); printf(\} (7) 有以下程序 #include { int x; scanf(\ if(x>15) printf(\ if(x>10) printf(\ if(x>5) printf(\ } 若程序运行时从键盘输入12<回车>,则输出结果为 【7】 (8)有以下程序(说明:字符0的ASCII码值为48) #include { char c1,c2; scanf(\ c2=c1+9; printf(\ } 若程序运行时从键盘输入48<回车>,则输出结果为 【8】 (9)有以下函数 void prt(char ch,int n) { int i; for(i=1;i<=n;i++) printf(i%6!=0?\ } 执行调用语句prt('*',24);后,函数共输出了 【9】 行*号。 (10)以下程序运行后的输出结果是 【10】 。 #include { int x=10,y=20,t=0; 。 。 if(x==y)t=x;x=y;y=t; printf(\ } (11)己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。请填空。 void fun(int a[N],int k) { int i; for(i=k;i } (12)有以下程序,请在 【12】 处填写正确语句,使程序可正常编译运行。 #include { double x,y,(*p)(); scanf(\ p=avg; printf(\ } double avg(double a,double b) { return((a+b)/2);} (13)以下程序运行后的输出结果是 【13】 。 #include { int i,n[5]={0}; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf(\ printf(\ } (14)以下程序运行后的输出结果是 【14】 。 #include { char *p; int i; p=(char *)malloc(sizeof(char)*20); strcpy(p,\ for(i=6;i>=0;i--) putchar(*(p+i)); printf(\ } (15)以下程序运行后的输出结果是 【15】 。 #include { FILE *fp; int x[6]={1,2,3,4,5,6},i; fp=fopen(\ fwrite(x,sizeof(int),3,fp); rewind(fp); fread(x,sizeof(int),3,fp); for(i=0;i<6;i++) printf(\ printf(\ fclose(fp); } 参考答案 一、选择题 : 1-5 ABDDB 6-10 ACDCB 11-15 ADAAA 16-20 ADCAD 21-25 BDBCD 26-30 CDCCC 31-35 BBBDB 36-40 CDDCB 二、填空题 : 【1】 有序 【2】 DEBFCA 【3】 单元 【4】 主键 【5】 D 【6】 3 【7】 1217 【8】 09 【9】 4 【10】 20 0 【11】 i-1 【12】 double avg(double,double);或double avg(double a,double b); 【13】 13715 【14】 emoclew 【15】 123456