




已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
一、单项选择 (每题2分,共30分)1. 以下不合法的程序结构是_( )_ 。 A)只有一个主函数 B) 只有一个普通函数 C)一个主函数和一个普通函数 D)一个主函数和多个普通函数2以下选项中,均符合C常量形式的是_( )_ 。A) e5, 0123 B) 0xffce, n C) 02468, 0.1e-5 D) 0xfhc, 1233假定 int a=0, b=1; 表达式: !(a=0) & b-, a+b 的值是 ( ) 。A) 0 B) 1 C) 48 D) 494假定 int a=2, b=3, c=0; 表达式: (a=b1)+(a&!c)+b/a*2.0 的值是 ( ) 。 A) 2.0 B) 3.0 C) 4.0 D) 5.05设有定义:float a=2,b=4,h=3;以下C语言表达式与代数式计算结果不相符的是 ( ) 。A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b)6字符串“ab0128”的长度是 ( ) 。A) 4 B) 5 C) 6 D) 77以下不能正确表达三个非零变量a,b,c的和为零的表达式是_( )_ 。A)!(a+b+c)&a&b&c B)(a+b+c=0)&a&bC)!(a+b+c)*a*b*c D)(a+b+c=0)&!(a|b|c)8. 以下各循环语句中,不是无限循环的是_( )_ 。 A) for(k=-1; -10k0; ); B) for(i=1,j=10; i-j; i+,j-);C) for( k=1; k=10; k+); D) for( k=1; 0k10; k+) ;9. 以下程序的功能是_( )_ 。main( ) int i,s=0; for(i=1;ib) c=a,a=b,b=c; B) if(ab)c=a,a=b,b=c; C) if(ab) c=a;a=b;b=c; D) if(ab)c=a;a=b;b=c; 14.以下程序的功能是_( )_ 。 main() int i; float t=1,s=t; for( i=2; i5; i+) t= -t/i; s+=t; printf (n s=%f,s);A) 求 1/1-1/2+1/3-1/4 的值 B) 求 1/1!-1/2!+1/3!-1/4! 的值C) 求 -1/1+1/2-1/3+1/4 的值 D) 求 -1/1!+1/2!-1/3!+1/4! 的值15.以下程序的功能是_( )_ 。main() int a10=3,5,2,9,1,8,0,2,4,6,i,p=0,q=0; for(i=0;ip) p=ai; if(aiaq) q=i; printf(n %d,%d,p,q);A) 求最大值和最小值 B) 求最大值的位置和最小值的位置C) 求最大值的位置和最小值 D) 求最大值和最小值的位置二、程序阅读题 (每题4分,共40分)16.以下程序的运行结果是_( )_ 。main() int i,n=0; for( i=1; i=10; i+) if(!(i%2)&i%3) n+; printf (n n=%d,n);A) 2 B)4 C)6 D)8 17.以下程序的运行结果是_( )_ 。main() int a=-1, b=0, c = 1, m=0, n=0, k;k=(n=abba);printf (%d,%dn, k, m);A) 0, 0 B) 0, 1 C) 1, 0 D) 1, 118.以下程序的运行结果是_( )_ 。int a=3, b=5;f ( int a ) a+; b+=a;main() int a=6; f (a-1); printf(n %d,%d,a,b); A) 3,8 B) 3,11 C) 6,8 D) 6,1119. 以下程序的运行结果是_( )_ 。main() f ( int b, int x) int a2=2,4, x=5; x+;f (a,x); b0+=2;printf (“n %d,%d,%d”,x,a0,a1); b1+=3; A) 5,2,4 B) 6,4,7 C) 6,2,4 D) 5,4,720. 以下程序的运行结果是 ( ) 。main() int i, j, s1=0, s2=0, a33=1,2,3,4,5,6,7,8,9; for ( i=0; i3; i+ ) for ( j=i+1; j3; j+ ) s1 += aij; s2 += aji; printf ( n %d,%d,s1,s2 ); A) 26,34 B) 34,26 C) 11,19 D) 19,1121. 下面程序的输出结果是_( )_ 。struct st int num,score;main() int i; struct st a3=11,78,12,80,*p=a+1; (*p).score=90; for(i=0;i2;i+) printf( %d ,%d, ai.num,ai.score ); A) 11,78 12, 80 B) 11, 90 12, 80 C) 11,78 12, 90 D) 11,78 90, 8022假定运行以下程序时输入数据是1 2 3 4 5 6 7 8 9, 则运行结果是_( )_ 。main() int a33,i,j,s=0; for(j=0;j3;j+) for(i=0;i3;i+) scanf(%d,&aij); for(i=0;i3;i+) for(j=i;j3;j+) s+=aij; printf(n %d,s); A) 45 B) 34 C) 26 D) 1923以下程序的运行结果是_( )_ 。 int fun ( char *x, char *y) int n=0; while (*x=*y) & *x!=0) x+; y+; n+; return n;main() char a=abc123,b=abx23; printf(n %d, fun(a,b) );A) 2 B) 4 C) 5 D) 624以下程序的运行结果是_( )_ 。main() char a20=abc,b=”XYZpq12”,*p=a,*p1=b; for( ; *p; p+); for(; *p1; p1+) if(*p1X) *p+=*p1; *p=0; printf(n %s,a); A) 12 B) pq12 C) abc12 D) abcpq1225假定二进制文件f1.dat中存放2,3,4,5,6五个整数,则以下程序的运行结果是_( )_ 。 #include “stdio.h” main() int a,b;FILE *fp; fp=fopen(“f1.dat”, “rb”); fseek ( fp, sizeof(int), SEEK_SET) ; fread ( &a, sizeof(int), 1, fp ); fseek ( fp, sizeof(int), SEEK_CUR) ; fread ( &b, sizeof(int), 1, fp ); fclose(fp); printf(“n %d,%d”, a,b); A) 2,3 B) 2,4 C) 3,4 D) 3,5三、程序填充题 (每空3分,共30分) 选择适当的内容填在以下各程序的下划线处,以使程序完整。将一整数序列按奇数在前,偶数在后的顺序重新排放,并要求奇偶两部分分别有序。 void sort( int *a, int n) int *i, *j, t; for(i=a; ia+n-1; i+) for(j=i+1; j*j) (26) main() int i,t,n1=0,a10; /* n1 是记录奇数个数的变量 */ for( i=0;i10;i+) scanf (“%d”,a+i); for(i=0;i10;i+) if (ai%2) (27) sort( (28) ); /*对奇数排序*/ sort( (29) ); /*对偶数排序*/ for( i=0;i10;i+) printf(“ %4d”,ai); (26) A)t=ai; ai=aj; aj=t; B) t=*i; *i =*j; *j=t;C) ai=aj; aj= ai; D) t=i; i =j; j=i; (27) A) t=ai; ai=a0; a0=t; B) t=ai; ai=an1; an1=t; C) t=ai; ai=an1; an1+=t; D) an1+= ai; (28) A) a,10 B) a,10-n1 C) a,n1 D) a,5 (29) A) a,10-n1 B) a+n1,10 C) a+n1,n1 D) a+n1,10-n1找出整数m的所有因子,并依次存入以a为开始地址的内存单元中,函数返回因子的个数。int factor ( int m, int *a) int i,n; (30) ; for ( i=2; ia | a+1=b-, a+b 的值是 ( ) 。A) 0 B) 1 C) 4 D) 56设以下变量均为int类型,则值不等于7的表达式是( ) 。A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)7. 假定x和y为double型,则表达式x=2,y=x+3/2的值是( ) 。A)3.500000 B)3 C)2.000000 D)3.0000008. 以下各循环语句中,不是无限循环的是( ) .A) for(k=-1; -10k0; ); B) for(i=1,j=10; i-j; i+,j-);C) for( k=1; k=10; k+); D) for( k=1; 0k10; k+) ;9.以下正确的描述是( ) 。A)函数的定义可以嵌套,但函数的调用不可以嵌套B)函数的定义不可以嵌套,但函数的调用可以嵌套C)函数的定义和函数的调用均不可以嵌套D)函数的定义和函数的调用均可以嵌套10. 若有说明:int *p1, *p2,m=5,n;以下均是正确赋值语句的选项是( )。A)p1=&m; p2=&p1 ; B)p1=&m; p2=&n; *p1=p2 ;C)p1=&m; p2=p1 ; D)p1=&m; *p1=p2 ;11. 若有定义语句int s,i,j,n;,在以下循环语句中,不能正确计算自然数1-50中所有数之和的是( )。 A) for(s=0,i=1;i=50;) s+=+i; B) for(s=0,i=0;i=50;) s+=i+; C) for(s=0,i=1,j=50;i=j;i+,j-) s+=i+j; D) for(s=50,n=50;-n;) s+=n;12. 以下选项中正确的语句组是( ) 。A) char s ; s=NOTEBOOk! ; B) char *s; s=NOTEBOOK! ;C) char s10; s=NOTEBOOK! ; D) char *s; s=NOTEBOOK! ;13上机运行以下程序会出现一个错误,这个错误的性质是( ).main() int i,j,a=3,2,1,b=6,4,2,0; float s=0; for(i=0;i3;i+) j=bai; s+=1.0/j; printf(“n %f”,s); A) 数组说明语法错 B)数组元素引用语法错 C)分母为0运算错 D)数组元素引用下标超界错14字符串”ab112803”的长度是( ) 。A) 8 B) 9 C) 10 D) 13 15以下程序片段( ) 。main ( ) int x=0,y=1,z=0; if (x=y+z) printf(“*”); else printf(“#”);A)有语法错误,不能通过编译 B)输出:*C)可以编译,但不能通过连接,所以不能运行 D)输出:#二、程序阅读题 (每题4分,共40分)16.以下程序的运行结果是( )。main ( )int i,j,m,n;i=8; j=10; m=+i; n=j+;printf(“%d,%d,%d,%d”,i,j,m,n);A) 9,11,9,11 B) 9,11,8,11 C) 9,11,8,10 D) 9,11,9,10 17.以下程序的运行结果是( )#include void main() int a=-1, b=0, c = 1, m=0, n=0, k;k=(n=abba);printf (%d,%dn, k, m);A) 0, 0 B) 0, 1 C) 1, 0 D) 1, 118.以下程序的运行结果是( )#include void main() int a=0, b=30; do b-=a; if(b5); break; a+=5; while(a); printf (%d,%dn, a, b);A) 0,30B) 5,25 C) 10,15 D)15, 0 19. 以下程序的运行结果是( )#include#includevoid main()char a20 = 1230A4560, b=890K;strcat(a, b); printf(%sn, a);A) 12304560890K B) 12389 C)890K D)123456890K20.下面程序的输出结果是( )。main() int i, n=0;for( i=1; i20; i+) if ( i%3=0&i%5) n+;printf (“n %d”, n); A) 1 B) 5 C) 6 D) 721. 下面程序的输出结果是( )。main ( ) int k=1,n=2634 ;do k*= n%10 ; n/=10 ; while (n) ;printf(“%dn”,k);A)4362 B)144 C)15 D)43622以下程序的运行结果是( ) 。int a=3, b=5;f ( int a ) a+; b+=a;main() int a=6; f (a-1); printf(n %d,%d,a,b); A) 3,8 B) 3,11 C) 6,8 D) 6,1123以下程序的运行结果是( ) 。main() char a=”abcXYZ”; int i,j,k=0; for( i=0;ai;i+); for ( j=0; aj; j+) if ( ajak ) k=j; i- -; j=ai; ai=ak; ak=j; printf ( “%s”, a); A)abZXYc B) XbcaYZ C) cbaXYZ D) abcZYX24以下程序的运行结果是( ) 。main() f (int *x, int b) int a=3,b=5; f (&a, b); *x+=2; printf(“n %d,%d”,a,b); b+; A) 3,5 B) 5,6 C) 3,6 D) 5,525假定运行以下程序时输入数据是1 2 3 4 5 6 7 8 9, 则程序的运行结果是( ) 。main() int a33,i,j,s=0; for(j=0;j3;j+) for(i=0;i3;i+) scanf(%d,&aij); for(i=0;i3;i+) for(j=i;j3;j+) s+=aij; printf(n %d,s); A) 45 B) 34 C) 26 D) 19三、程序填充题 (每空3分,共30分) 选择适当的内容填在以下各程序的下划线处,以使程序完整。以下fun函数的功能是在N行M列的基本整型二维数组中,选出一个最大值作为函数的返回值。(设M、N已定义) int fun ( int aNM ) int i, j, row=0,col=0; for (i=0; iN; i+) for(j=0; j arowcol) (26) return ( (27) ); (26) A) aij=arowcol; B) i=row; j=col; C) row=j;col=i; D) row=i; col=j;(27) A) aij B) row, col C) arowcol D) a将给定的数k插入到数列a中,要求插入后仍有序。void insert(int k ) int a11=1,3,5,7,9,11,13,15,17,19 , sum=0, i, j ;for (i=0 ; ik) break;for ( (28) ) aj=aj-1; (29) ;(28) A) j=9; ji;j- B) j=10;ji;j- C) j=i+1;j10;j+ D) j=i+1;j=10;j+(29) A) ai=k B) a0=k C) aj=k D) return k用折半查找法查找整数k在数列a中的位置(数列a中的数按从小到大有序),若a中有与k相同的数则返回其位置(下标),否则返回-1。int search (int a, int n , int k) int i=0, j=n1, m; while (i=j) m= (i+j)/2; if (amk) (31) ; else (32) ; return (1); (30) A) i=m-1 B) i=m+1 C) j=m-1 D)j= m+1(31) A) i=m-1 B) i=m+1 C) j=m-1 D)j=m+1(32) A) return 1 B) return m C) return i D) return j求100至1000之间有多少个数其各位数字之和是5。 main() int i,s,k,count=0; for(i=100; i 1 D)k10(34) A)k/10 B)k%10 C)kk%10 D)kk/10(35) A)continue B)break C)count+ D)printf (“%d”,count)2012年春C考试B卷答案1-5BDCBD 6-10 CDABC 11-15ABCCB 16-20 DAABB21-25 BDDDB 26-30 DCBAB 31-35 CBBAC一、单项选择 (每题2分,共30分)1. 以下C语言标识符中,不合法的是 。A) _1 B) AaBc C) a_b D) -a2. 以下选项中可以用作C程序合法浮点型常量的是 。A) 1.1e0 B) 3.0e0.2 C) e9 D) 9.12e3. 若有定义语句:int x=12, y=8, z;,在其后执行语句z=0.9+x/y;,则z的值为 。A) 1.9 B) 1 C) 2 D) 2.44. 若有定义语句:int k1=10,k2=20;,执行表达式 (k1=k1k2) & (k2=k2k1)后,k1和k2的值分别为 。A) 0和1 B) 0和20 C) 10和1 D) 10和205. 若有定义语句int s,i,j,n;,在以下循环语句中,不能正确计算自然数1-100中所有数之和的是 。 A) for(s=0,i=1;i=100;) s+=+i; B) for(s=100,n=100;-n;) s+=n; C) for(s=0,i=1,j=100;i=j;i+,j-) s+=i+j; D) for(s=0,i=0;ib) c=a,a=b,b=c; B) if(ab)c=a,a=b,b=c; C) if(ab) c=a;a=b;b=c; D) if(ab)c=a;a=b;b=c; 9. 有以下函数(x和y均为指向字符串的指针)int fun(char *x, char *y) int n=0; while (*x=*y) & *x!=0) x+; y+; n+; return n;函数的功能是 。A) 查找x和y所指字符串中是否有0B) 统计x和y所指字符串中最前面连续相同的有效字符的个数C) 将y所指字符串赋给x所指存储空间D) 统计x和y所指字符串中相同的字符个数10. 若有定义语句:char *s1=”OK”, *s2=”ok”;,以下选项中,能够输出”OK”的语句是 。A) if (strcmp(s1,s2)=0) puts(s1); B) if (strcmp(s1,s2)!=0) puts(s2);C) if (strcmp(s1,s2)=1) puts(s1); D) if (strcmp(s1,s2)!=0) puts(s1);11. 设有定义:double x10, *p=x;,以下能给数组x下标为6 的元素从键盘读入数据的正确语句是 。A) scanf(“%f”, &x6); B) scanf(“%lf”, *(x+6);C) scanf(“%lf”,p+6); D) scanf(“%lf”,p6);12. 下列定义数组的语句中,正确的是 。A) int N=0;int xN; B) int x010; C) #define N 10 D) int x; int xN; 13. 以下选项中正确的语句组是 。A) char s ; s=BOOk! ; B) char *s; s=BOOK! ;C) char s10; s=BOOK! ; D) char *s; s=BOOK! ;14. 有定义语句:double a10, *s=a;,以下能够代表数组元素a3的是 。A) (*s)3 B) *s+3 C) *s3 D) *(s+3) 15. 有以下定义和语句struct workers int num; char name20; char c; struct int day; int month; int year;s;struct workers w, *pw;pw=&w;下面的语句正确的是 。A) *pw.year=1980; B) w.year=1980;C) pw-year=1980; D) w.s.year=1980;二、程序阅读题 (每题3分,共30分)16. 有以下程序#include void main() int a = 0, b = 0; printf(%d, , a+=+a); printf(“%dn” ,b -= a+);程序运行后的输出结果是_。A) 1, -1 B) 1, -2 C) 2, -1 D) 2, -217.有以下程序#include void main() int a=-1, b=0, c = 1, m=0, n=0, k;k=(n=abba);printf (%d,%dn, k, m);程序运行后的输出结果是_。A) 0, 0 B) 0, 1 C) 1, 0 D) 1, 118.有以下程序#include void main() int a=0, b=30; do b-=a; if(b5); break; a+=5; while(a); printf (%d,%dn, a, b);程序运行后的输出结果是_。A) 0,30B) 5,25 C) 10,15 D)15, 0 19.有以下程序#include void main() int x=1234,y=0; while(x) switch(x%10)default:y+=1;x/=10;case 2:y+;x/=10;case 4:y+=4;x/=10;break;case 3:y+=3;x/=10; printf(%d,y);程序运行后的输出结果是_。A) 7 B) 9 C) 12 D) 2020. 有以下程序#include#includevoid main()char a20 = ABCD0EFG0, b=IJ0K;strcat(a, b);printf(%sn, a);程序运行后的输出结果是_。A) ABCD0EFG0IJ0K B) ABCDIJ C) IJ0K D) ABCDIJ0K21. 有以下程序#include#define T 2.5#define A(x) T*x*xvoid main()int a = 1,b = 2;printf(%.1fn, A(a+b); 程序运行后的输出结果是_。A) 6.5 B)7.5 C) 22.5 D) 122.522. 有以下程序#include struct student int num; char name10; int score ;void f(struct student st) st.score+;void main()struct student st=200, “ChenChen”, 76;f(st);printf(“%d”, st.score);程序运行后的输出结果是_。A) 200B) 75C) 76 D) 7723.有以下程序#includevoid writeFile(char *filename) int a=2,b=3,c=4,d=5,e=6; FILE *fp;fp=fopen(filename, wb);fwrite(&a,sizeof(int),1, fp);fwrite(&b,sizeof(int),1, fp);fwrite(&c,sizeof(int),1, fp);fwrite(&d,sizeof(int),1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025自考专业(计算机信息管理)检测卷附答案详解【考试直接用】
- 2025自考公共课每日一练试卷含完整答案详解【夺冠】
- 2024-2025学年度燃气职业技能鉴定真题(考点提分)附答案详解
- 2024-2025学年度施工员试题预测试卷含完整答案详解【夺冠】
- 2024-2025学年度环卫垃圾处理工考试黑钻押题含答案详解(精练)
- 实验室消毒及意外处理流程试题(附答案)
- 水利设施管养人员考前冲刺练习【典型题】附答案详解
- 2025年吉林省珲春市中考数学模考模拟试题附完整答案详解【易错题】
- 2025年园林绿化作业人员每日一练试卷【易错题】附答案详解
- 2025高考通关考试题库附完整答案详解【名校卷】
- 锚杆施工合同范本
- 2024-2034年中国电力运维行业市场现状分析及竞争格局与投资发展研究报告
- 2024土建工程承包合同范
- 2019译林版高中英语全七册单词总表
- 中国近代史课件
- 2022年军队文职考试《数学1》真题-1
- 小学道德与法治-主动拒绝烟酒与毒品(第一课时)教学设计学情分析教材分析课后反思
- 五上3-2《用水计量时间》课件
- 常用截面惯性矩与截面系数的计算
- 供应商黑名单管理办法
- 单人心肺复苏技术操作考核评分标准
评论
0/150
提交评论