程序运行后的结果是
A)0 B)1 C)2 D)3
(40)以下程序 #include
{ FILE *fp;char str[10];
fp=fopen("myfile.dat","w"); fputs("abc",fp); fclose(fp); fp=fopen("myfile.dat","a+"); rewind(fp,"gd",28); rewind(fp);
fscanf(fp,"gs",str); puts(str); fclose(fp); }
程序运行后的输出结果是
A)abc B)28c C)abc28 D)因类型不一致而出错
二、填空题(每空2分,共30分)
请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
(1)一个队列的初始状态为空,先将元素A,CB,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为___【1】__。
(2)设某循环列队的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有___【2】__个元素。
(3)设二叉数如下:
A □
B □C □ D □F □E □G □H □
对该二叉树进行后序遍历的结果为【3】
(4)软件是 【4】 、数据和文档的集合。
二级C语言程序设计试卷 第9页 (共12页)
(5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学好和课号,则关系模式选课可以定义为:选课(学号, 【5】 ,成绩)。
(6)设x为int型变量,请写出一个关系表达式 【6】 ,用以判断x同时为3和7的倍数时,关系表达式的值为真。 (7)有以下程序 #include < stdio.h > main()
{ int a=1,b=2,c=3,d=0; if (a==1) if (b!=2)
if(c!=3) d=1; else d=2; else if(c!=3) d=3; else d=4; else d=5; printf("%d\\n",d); }
程序运行后的输出结果是: 【7】 。 (8)有以下程序 #include < stdio.h > main() { int m,n;
scanf("%d%d",&m,&n); while (m!=n)
{ while(m>n) m=m-n; while(m printf("%d\\n",m); } 程序运行后,当输入14 63<回车>时,输出结果是 【8】 (9)有以下程序 #include { int I,j,a[][3]={1,2,3,4,5,6,7,8,9}; for (i=1;i<3;i++) for(j=I;j<3;j++) printtf("%d",a[i][j]); printf("\\n"); } 二级C语言程序设计试卷 第10页 (共12页) 程序运行后的输出结果是 【9】 (10) 有以下程序 #include main() { int []={1,2,3,4,5,6},*k[3],i=0; while(i<3) { k[i]=&a[2*i]; printf("%d",*k[i]); i++; } } 程序运行后的输出结果是__________ (11) 有以下程序 #include main() { int a[3][3]={{1,2,3},{4,5,6},{7,8,9}}; int b[3]={0},i; for(i=0;i<3;i++) b[i]=a[i][2]+a[2][i]; for(i=0;i<3;i++) printf("%d",b[i]); printf("\\n"); } 程序运行后的结果是____________ (12) 有以下程序 #include for(i=n-1;i>0;i--) str[i]=str[i-1]; str[0]=temp; } main() { char s[50]; scanf("%s",s); fun(s); printf("%s\\n",s); 二级C语言程序设计试卷 第11页12页) (共 } 程序运行后输入:abcdef<回车>,则输出结果是____________ 13、以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出。请填空。 #include int x=256; printf("%d-%d-%d\\n", ,x/10,x/100); } 14、以下程序用以删除字符串中的所有的空格,请填空。 #include char s[100]={"our .tercher teach c language!"};int i,j; for( i=j=0;s[i]!=‘\\0’;i++) if(s[i]!=‘ ’) { s[j]=s[i];j++; } s[j]= ; printf("%s\\n",s); } (15)以下程序功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。 #include 二级C语言程序设计试卷 第12页 (共12页) int a[10],*p,*s; for(p=a;p-a<10;p++) scanf("%d",p); for(p=a,s=a;p-a<10;p++) if(*p>*s) s=_______________; printf("index=%d\\n",s-a); 参考答案 一、选择题: 01~05 ADBAC 06~10 BADCA 11~15 BADCC 16~20 DABCA 21~25 DDABD 26~30 ADBCC 31~35 ACBCC 36~37 BADAC 二、填空题: 1、A、B、C、D、E、F、5、4、3、2、1 2、15 3、EDBGHFCA 4、程序 5、课号 6、x%3==0&&x%7==0 7、4 8、7 9、123569 10、135 11、101418 12、fabcde 13、x 14、‘\\0'或者填写 0 15、p 二级C语言程序设计试卷 第13页 (共12页)
相关推荐: