1、char s=China,*p; (考点:字符指针) p=s;则下列叙述正确的是( 16 ) 。16 (A) s和p完全相同 (B) *p与s0不等 (C) *p与 s0相等 (D) *s与p相等 2. 以下可以作为函数fopen中第一个参数的正确格式是(17)。(*考点:文件)17 (A) c:progfile1.dat (B) c:progfile1.dat (C) c:progfile1.dat (D) progfile1.dat 3. 若有定义:union data int i; float j; char s5;k;则在Turbo C 2.0环境中sizeof(k)的值是(18)。(
2、考点:共用体类型)18 (A) 2 (B) 5 (C) 11 (D) 0 4. 下面四个选项中,合法的用户自定义标识是( 19 )。标识符命名)19 (A) int (B) a_b3 (C) 3_bc (D) #mm 5. 已知结构体:( 20 )。存储类型extern)struct student char name20; struct int year; int month; birth; char sex;stu;20 (A) stu.birth=2009; (B) stu.year=2009;(C) stucent.birth.year=2009; (D) stu.birth.year
3、=2009; 6. 下面程序的输出结果是( 21 )。宏定义)# include # define M 4# define N 2*M+1# define K N/2-5void main() printf(%dn,K); 21 (A) 2 (B) 1 (C) 0 (D) 3 7. 有以下结构体及其变量的定义:struct node int data; struct node *next;*p,*q,*r;如图所示,指针p、q、r分别指向此链表中的三个连续结点。若要将q所指结点从链表中删除,使p所指结点与r所指结点连接,不能完成指定操作的语句是( 22 )。链表)22 (A) p-next=q
4、-next; (B) p-next=p-next-(C) p-next=r; (D) p=q- 8. 下列程序段中,不是无限循环的是( 23 )。循环语句)23 (A) (B) k=0; j=100; do while(1) +k; j=j%100+1; whiel(k-=0); if( j100 ) break;(C) (D) s=3333; for( ; ; );while(s%2+s+%2); 9. 不能把字符串Hello!赋给字符数组b的选项是( 24 )。字符数组赋值)24 (A) char b10= H,elo!0;(B) char b10; b=;(C) char b10; st
5、rcpy(b, );(D) char b10= 10. 若变量已正确定义并赋值,以下符合C语言语法的表达式是 ( 25 ) 。表达式)25 (A) a:=b+1 (B) a=b=c+2 (C) int 18.5%3 (D) a=a+7=c+b二、读程序回答问题 ( 每个选择3分,共45分 ) 1. 在下面程序中(考点:数组、函数(地址参数)、删除字符算法)void fun(char *s) int i,j; for(i=0,j=0;si!=i+) if(si0 & si9) sj=si; j+; sj= char s20=ab12cd34 fun(s); printf(%3d %3dn,siz
6、eof(s),strlen(s);%sn,s);(1) 第1个printf输出的结果为( 26 )。26 (A) 8 8 (B) 20 8 (C) 20 20 (D) 20 4(2) 第2个printf输出的结果为( 27 )。27 (A) abcd (B) ab12cd (C) 1234 (D) ab12cd34 2. 下列程序的输出结果是( 28 )。函数(地址参数和普通参数)、指针运算)void fun(char *c,int d) *c=*c+1; d=d+1; char a=A,b=a fun(&b,a);%c,%cn,a,b);28 (A) B,A (B) a,B (C) A,B
7、(D) A,b 3. 下列程序的输出结果是( 29 )。带参数的宏定义)# include stdio.h# define GOOD(y) 2.84+y# define PR(a) printf(n%d,(int)(a)# define PRINT(a) PR(a);putchar(n int x=2; PRINT(GOOD(5)*x);29 (A) 11 (B) 15 (C) 13 (D) 12 4. 下列程序运行后的输出结果是( 30 )。结构体类型、函数(普通参数)、全局变量和局部变量)struct tree int x; char *s;t;func(struct tree t) t.
8、x=10; t.s=computer return(0); t.x=1;minicomputer fun(t);%d,%sn,t.x,t.s);30 (A) 10,computer (B) 1,minicomputer(C) 1,computer (D) 10,minicomputer 5. 下列程序编译连接后生成可执行文件CAD.EXE,输入以下命令行:CAD FILE1 FILE2 ( 表示回车)程序的运行结果是( 31 )。命令行参数)void main(int argc,char *argv),argc); for(i=0;i=argc-1;%s,argvi);n31 (A) 2 (B
9、) 3 cadfile1file2 cadfile1file2(C) 2 (D) 3 CAD.EXEFILE1FILE2 CAD.EXEFILE1FILE2 6. 有下列程序:for循环嵌套、continue语句、break语句) int i,j,x=0;2; x+; for(j=0;j=1;i=i-2)(C) int fun(int n) (D)i-) 9. 有如下程序:数组、函数、静态存储类型)int fun(int *x,int n) static int s=0,i;n; s=s+xi; int x5=1,2,3,4,5,y4=6,7,8,9,s; s=fun(x,5)+fun(y,4
10、); (1) 程序的运行结果为( 38 )。38 (A) 15 (B) 30 (C) 45 (D) 60 (2) 若将fun函数中的static去掉,则程序的运行结果为( 39 )。39 (A) 15 (B) 30 (C) 45 (D) 6010. 有如下程序:循环、switch语句) char ch; while(ch=getchar()! switch(ch) case 1:2 putchar(ch+2);34 break; default: 若输入135,程序的运行结果为( 40 )。40 (A) 135 (B) 357 (C) 3357 (D) 3333557 注意: 请把下面“程序填
11、空”中各小题答案写在主观题答题纸上 每一个空只填一个语句或一个语句所缺的部分内容三、程序填空 ( 每空2分,共30分 ) 1. 函数fun的功能是:将nn(1n=10)方阵的下三角(包括对角线元素)m,例如:1 2 3 若m=2,则处理后的方阵为: 2 2 34 5 6 8 10 67 8 9 14 16 18在main函数中调用fun函数,并分行输出处理后的方阵。请填空。矩阵处理算法)void fun(int a10,int n,int m)= ; aij=aij*m; int w1010=1,2,3,4,5,6,7,8,9,m,i,j;m); fun( ,3,m);3;%4d,wij);
12、printf( ); 2. 下面程序的功能是输出所有的5位4倍反序数。说明:当一个5位整数的4倍刚好是其反序数,则称其为5位4倍反序数。例如21978的反序数是87912,而87912=4*21978,所以21978就是一个5位4倍反序数。输出结果为:21978 87912循环、逆置整数算法) long n,k,t,m,j=0; for(n=10000;=99999;n+) m=0; t=n; for(k=1;k= ;k+) ; ; if(m=4*n) %ld %ldn,n,m); 3. 下面程序的功能是:对一整型数组中下标是3的倍数的元素进行升序排序,其余元素保持不变。数组、排序算法) in
13、t a16=16,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1; int i,j,t;16; ) for(j=i+3; ) if( ) t=ai; ai=aj; aj=t;,ai); 4. 已知磁盘文件test.dat中有10个大于2的正整数,下列程序能判断和输出文件中10个数中的所有素数。文件、函数参数、判素数算法)int prime( ,int n) int i,j,k=0,flag=0; for(j=2;ai; if( =0) flag=0; flag=1; if(flag) =ai; k+; return k; int n,i,a10; FILE *fp; i
14、f(fp=fopen(test.datr)=NULL)Can not open the file! exit(0); for(n=0;10; fscanf(fp,an); n=prime(a,n);%3d fclose(fp); 5. 程序的功能是计算:s=1-12+123-1234+12345的值,请填空。循环、序列处理算法) int i,s=0,t=0,k=1;=5; t=t*10+ ; s=s+ ; k= ;s=%dn第二十七次等级考试 2007年10月 27 日1. 数组也是一种数据结构,一维数组就是一种顺序表结构。 ( 1 )2. 递归算法的程序结构比迭代算法的程序结构更为精炼。 (
15、 2 )3. 进程调度按一定的调度算法,从就绪队列中挑选出合适的进程。 ( 3 )4. 在单处理器系统中,程序的并发执行,实质上是程序的交替执行。 ( 4 )5. 数据的基本单位是数据元素。 ( 5 )6. 分页存储管理中,页面可以映射到不连续的内存块中。 ( 6 )7. 通道方式能实现外设与CPU之间直接进行数据交换。 ( 7 )8. 软件测试和软件调试没有任何区别。 ( 8 )9. 白盒测试方法一般适合用于系统测试。 ( 9 )10.瀑布模型的突出缺点是不适应用户需求的变化。1. 线性表不具有的特点是 ( 11 )。 11 (A) 随机访问 (B) 无须事先估计所需存储空间大小 (C) 插
16、入时不必移动元素 (D) 所需空间与线性表长度成正比2. 以下 ( 12 )不是实时操作系统的特点。 12 (A) 高可靠性 (B) 及时响应 (C) 中断管理 (D) 独立性3. 若当前进程因时间片用完而让出处理机时,该进程应转变为 ( 13 )状态。 13 (A) 运行 (B) 就绪(C) 等待 (D) 完成4. 以下( 14 ) 不是数据结构研究的主要问题。 14 (A) 数据元素之间的逻辑关系 (B) 数据元素之间的存储结构(C) 软件开发方法 (D) 实现操作的算法5. 软件开发中,模块设计的原则是 ( 15 )。 15 (A) 低偶合、高内聚 (B) 高偶合、高内聚 (C) 高偶合、低内聚 (D) 低偶合、低内聚 1. 以下程序的输出结果是( 16 ) 。逻辑运算、自增自减运算) int a=-1,b=4,k; k=(+a0)&(b-%d %d %dn,k,a,b);16 (A)0 0 4 (B) 1 0 3 (C) 0 0 3 (D) 1 0 4
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1