1、8. #include char c1,c2,c3,c4,c5,c6; scanf(%c%c%c%c,&c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2);%c%cn,c5,c6);程序运行后,若从键盘输入(从第1列开始)12345678y & y!=0); B.if(x0) x- C.if(y0) ; D.if(x+); else y+; else x+;10. 有以下程序 int i; for(i=1;i=40;i+) if(i+%11=0) if(+i%8=0) printf (%d,i);n); 执
2、行后的输出结果是_。A.22 B.24 C.32 D.4011.有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是_。A.if (ca) x=1; B.if (a3) x=3; else if (ba) x=2; else if (a2) x=2; else x=3; else x=1;C.if (a D.if (ab) x=b; if (a if (bc) x=c;1) x=1; if (ca) x=a;12. 执行下面程序片段的结果是_。 int x=23; doprintf(%2d,x-);while(!x); A.打印出321 B.打印出23
3、 C.不打印任何内容 D.陷入死循环 13. 有以下程序 int i, j;=3; for(j=i;j0); D.if(b=0)m=1;n=2;10.有以下程序 char k; int i;3; scanf(%ck); switch(k) case 0:anothern case 1numbern 程序运行时,从键盘输入:01,程序执行后的输出结果是_。A.another B.another C.another D.number number number number numberanother number11有以下计算公式若程序前面已在命令行中包含math.h文件,不能够正确计算上述公式
4、的程序段是_。A.if(x=0) y=sqrt(x); B.y=sqrt(x); else y=sqrt(-x); if(x D.y=sqrt(x=0?x:-x);if(x0|E0) fun(k-1);,k);A.5 4 3 2 1 B.0 1 2 3 4 5C.1 2 3 4 5 D.5 4 3 2 1 017.在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则_。A.称为函数的直接递归调用 B.称为函数的间接递归调用C.称为函数的循环调用 D.C语言中不允许这样的递归调用58. 有以下程序#include #define N 5#define M
5、N+1#define f(x) (x*M) int i1,i2; i1=f(2); i2=f(1+1); printf (%d %dn,i1,i2);程序的运行结果是_。A.12 12 B.11 7 C.11 11 D.12 759. 有以下程序char p=,bc,q=abc,sizeof(p),sizeof(q); A.4 4 B.3 3 C.3 4 D.4 360. 以下能正确定义一维数组的选项是_。A.int a5=0,1,2,3,4,5; B.char a=0,1,2,3,4,5;C.char a=ABC; D.int a5=012311. 若x是int型变量,且有下面的程序片段fo
6、r(x=3;x1;n-) s=s+1/n;%6.4fn程序运行后输出结果错误,导致错误结果的程序行是A.s=1.0; B.for(n=10;n-) C.s=s+1/n; D.printf( int i,j,x=0; for(i=0;2; x+; for(j=0;j+) if(j%2) continue; x+;x=%dnA.x=4 B.x=8 C.x=6 D.x=1231. 有以下程序string.hvoid f(char p10,int n) /* 字符串从小到大排序 */char t10; int i,j;n-1; for(j=i+1;n; if(strcmp(pi,pj)0) strcp
7、y(t,pi); strcpy(pi,pj); strcpy(pj,t); char p510=,aabdfgabbddcdbecd f(p,5);,strlen(p0);A.2 B.4 C.6 D.322. 有以下程序void swap1(int c0,int c1) int t;t=c00; c00=c10; c10=t;void swap2(int *c0,int *c1)t=*c0; *c0=*c1; *c1=t;int a2=3,5, b2=3,5;swap1(a,a+1); swap2(&b0,&b1);%d %d %d %dn,a0,a1,b0,b1);A.3 5 5 3 B.5
8、 3 3 5 C.3 5 3 5 D.5 3 5 333. 有以下程序char s=aeiou,*ps; ps=s;,*ps+4);程序运行后输出的结果是_。A.a B.e C.u D.元素s4的地址14.下面程序的功能是输出以下形式的金字塔图案: * * * * int i,j;=4; for(j=1;=4-i;j+)printf( for(j=1;=_;*在下划线处应填入的是_。A.i B.2*i-1 C.2*i+1 D.i+2fun(int x, int y)return(x+y); int a=1,b=2,c=3,sum; sum=fun(a+,b+,a+b),c+);,sum);A.
9、6 B.7 C.8 D.916.有以下程序void f(int v, int w) t=v; v=w; w=t; int x=1,y=3,z=2; if(xy) f(x,y); else if(yz) f(y,z); else f(x,z);%d,%d,%dn,x,y,z);执行后输出结果_。A.1,2,3 B.3,1,2 C.1,3,2 D.2,3,117. 设函数fun的定义形式为void fun(char ch,float x) 则以下对函数fun的调用语句中,正确的是_。A.fun(,3.0); B.t=fun(D,16.5);C.fun(65,2.8); D.fun(32,32);2
10、9. 有以下程序 FILE *fp; int i,a6=1,2,3,4,5,6; fp=fopen(d3.datw+b fwrite(a,sizeof(int),6,fp); fseek(fp,sizeof(int)*3,SEEK_SET); /*该语句使读文件的位置指针从文件头向后移动3个int型数据*/ fread(a,sizeof(int),3,fp); fclose(fp);i+) printf(%d,ai);A.4,5,6,4,5,6, B.1,2,3,4,5,6, C.4,5,6,1,2,3, D.6,5,4,3,2,1,30.有如下程序FILE *fp1; fp1=fopen(f
11、1.txtw fprintf(fp1, fclose(fp1);若文本文件f1.txt中原有内容为:good,则运行以上程序后文件f1.txt中的内容为_。A.goodabc B.abcd C.abc D.abcgood14. 有以下程序 int a=1,b; for(b=1;b=8) break; if(a%2=1)a+=5;continue; a-=3;,b);A.3 B.4 C.5 D.6int a=4;int f(int n) int t=0; static int a=5; if(n%2) int a=6; t+=a+; else int a=7; return t+a+; int
12、s=a,i=0; for(;i+) s+=f(i);A.24 B.28 C.32 D.3616. 有以下程序int fun(int n) if(n=1) return 1; else return(n+fun(n-1); int x;x=fun(x);执行程序时,给变量x输入10,程序的输出结果是_。A.55 B.54 C.65 D.4517. 以下叙述中错误的是_。A.C程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过return语句返回 D.函数形参的值也可以传回给对应的实参18. 有以下程序#define f(x) (x*x)i1=f(
13、8)/f(4); i2=f(4+4)/f(2+2);%d,%dnA.64,28 B.4,4 C.4,3 D.64,6419. 有以下程序 int a44=1,4,3,2,8,6,5,7,3,7,2,5,4,8,6,1,i,j,k,t;4; for(k=j+1;kaki) t=aji;aji=aki;aki=t; /*按列排序*/,aii);A.1,6,5,7, B.8,7,3,1, C.4,7,5,2, D.1,6,2,1,20.以下能正确定义一维数组的选项是_。A.int num B.#define N 100 C.int num0.100 D.int N=100; int numN int
14、 numN21. s1和s2已正确定义并分别指向两个字符串。若要求:当s1所指串大于s2所指串时,执行语句S;,则以下选项中正确的是_。A.if(s1s2) S; B.if(strcmp(s1,s2) S;C.if(strcmp(s2,s1)0) S; D.if(strcmp(s1,s2)22.有以下程序void fun(int *a,int i,int j) if(ij) t=ai;ai=aj;aj=t;i+; j-;fun(a,i,j); int x=2,6,1,8,i; fun(x,0,3);,xi);A.1 2 6 8 B.8 6 2 1 C.8 1 6 2 D.8 6 1 223.
15、在16位编译系统上,若有定义 int a=10,20,30,*p=&a;,当执行p+;后,下列说法错误的是_。A.p向高地址移了一个字节 B.p向高地址移了一个存储单元C.p向高地址移了两个字节 D.p与a+1等价24. 有以下程序float f1(float n) return n*n;float f2(float n) return 2*n; float (*p1)(float),(*p2)(float),(*t)(float),y1,y2;p1=f1; p2=f2; y1=p2(p1(2.0);t=p1; p1=p2; p2=t; y2=p2(p1(2.0);%3.0f,%3.0fn,y1,y2);A.8, 16 B.8, 8 C.16, 16 D.4, 825. 设有以下语句typedef struct TT char c; int a4;CIN;则下面叙述中正确的是_。A.可以用TT定义结构体变量 B.TT
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1