1、D.当输入数据时,必须指明变量地址, scanf(“%f”,&15设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是_D_ A.把x和y按从大到小排列 B.把x和y按从小到大排列 C.无确定结果 D.交换x和y中的值 _D_ 以下程序的输出结果是16.main() int a=12,b=12; printf(“%d,%dn”-a,+b); A.10 10 B.12 12 C.11 10 D.11 13 17.以下程序运行后,输出结果是_C_ char*s=abcd;s+=2;printf(_x001D_n,s) A.cde B.字符c的ASCII码 C.字符c的地址 D
2、.出错 18.以下程序的输出结果是_C_ int m=5; if(m+5)printf(%dn,m);else printf(%dn,m-) A.7 B.6 C.5 D.4 19.当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为_B_ if(ab) if(cd)x=1; else if(ac) if(b回车ABCdef在执行以下程序时,如果从键盘输入:20.#include char ch;while(ch=getchar()!=n) if(ch=&chaz)ch=ch-32 printf(“%c”,ch);printf(“n”);A.ABCdef B.abcDEF C.abc
3、 D.DEF 21.下面能正确进行字符串赋值操作的语句是_A_ A.char s5=“ABCDE” B.char s5=A,BCDE;C.char *s;s=“ABCDEF”; D.char *s;scanf(“%s”,s);22.当执行以下程序段时,描述正确的选项是_A_ x=-1; do x=x*x; while(!x);A.循环题将再执行一次 B.循环题将执行两次 C. 循环题将执行无限次 D.系统提示有语法错误 23.执行以下程序后,输出结果是_D main() int y=10;doy-;while(-y);printf(“%dn”,y-);A.-1 B.1 C.8 D.0 24.在
4、下列选项中,没有构成死循环的程序是_C_ A.int i=100; B.for(;);while(1) i=i&100+1; if(i100) break; C.int k=1000; D.int s=36;do+k;while(k=1000); while(s); -s;25.执行语句:for(i=1;i+4;后,变量i的值是_C_ A.3 B.4 C.5 D.不定 26.以下程序运行后,如果从键盘输入ABCDE,则输出结果为_ string.hfunc(char str) int num=0;while(*(str+num)!0)num+;return(num);char str10,*p
5、=str;gets(p);printf(“%dn”,func(p);A.8 B.7 C.6 D.5 _ 回车,则输出结果为运行以下程序后,如果从键盘输入27.china0) +argv;printf(“%s”,*argv);A. CHINA BEIJING SHANGHAI B. FILE1 CHINA BEIJING D.F C B C.C B S _ 29.下面程序的运行结果是main() ”char ch7=“65ab21int i,s=0;i+=2) 9 for(i=0;chi0chi=; 0 s=10*s+chi-,s); ” printf(“%dn D.62 B.6521 C.6
6、A.12ab56 30.运行下面的程序,如果从键盘输入: ab c 回车def_ 则输出结果为#include#define N 6 char cN;int i=0;for(; iN; ci=getchar(),i+ );for(i=0;ii+) putchar(ci);”n“printf(A.a B.a C.ab D.abcdef b b c d c d e d f 31.以下程序运行后,输出结果是_ ss(char *s) char*p=s;while(*p)p+;return(p-s);char *a= “abded”;int i;i=ss(a);printf(“%dn”,i);_ 以下
7、程序运行后输出结果是32.#includefunc(int a,int b) static int m=0,i=2;i+=m+1;m=i+a+b;return(m);int k=4,m=1,p;,p); “%d”p=func(k,m);printf(,p); %d”p=func(k,m);printf(“ D.8,8 C.8,17 B.8,16 A.8,15 33.以下程序运行后,输出结果是_ #define PT 5.5 #define S(x) PT*x*x int a=1,b=2;printf(“%4.1fn”,S(a+b);A.49.5 B.9.5 C.22.0 D.45.0 34.以
8、下程序运行后,输出结果是_ static char a=”ABCDEFGH”,b=”abCDefGh”;char *p1,*p2;int k;p1=a;p2=b;for(k=0;k=7;k+) if(*(p1+k)=*(p2+k) printf(“%c”, *(p1+k);A.ABCDEFG B.CDG C.abcdefgh D.abCDefGh 35.以下程序执行后,a的值是_. int a,k=4,m=6,*p1=&k,*p2=&m; a=p1=& printf(“%d,n”,a);A.4 B.1 C.0 D 运行时出错,a无定值 36.以下程序运行后,输出结果是_ int d=1;fun
9、(int p) int d=5;d+=p+;,d); “%d” printf( int a=3;fun(a);d+=a+;D.44 C.95 A.84 B.99 _ ,输出结果是37.以下程序运行后main() ,*p2; 825”693”,”char ch25=“int i,j,s=0;2;i+) pi=chi;i+) j+=2) pij0; s=10*s+pij-0 ,s); ”printf(“%dn D.693825 C.33 B.22 A.6385 _ ,输出结果为38.若有以下程序段int *pp,*p,a=10;p=&a; pp=&p;,*pp);” printf(“%d D.pp
10、的地址的地址C.a B.p A.10 的地址 所指的结点插q分别指向图中所示的结点,则不能将p,q39.若已建立以下的链表结构,指针_ 入到链表末尾的一组语句为 next Data NULL b a c q p A.q-next=NULL; p=p-next; p-next=q; B.p=p-q-next=p-p- C.p=p-next=p; D.p=(*p).next;(*q).next=(*p).next;(*p).next=q;40.以读写的方式打开一个已有的文件filel,下面有关fopen函数正确的调用方式为_ A.FILE *fp; fp=fopen(“filel”,”r”);B.
11、FILE *fp; fp=fopen(“filel”,”r+”);C.FILE *fp; fp=fopen(“filel”,”rb”);D.FILE *fp; fp=fopen(“filel”,”rb+”);二.填空题 1.设有变量定义:int a=5,b=4;则表达式(-ab+)?-a;b+的值为_ 2.某C编译系统规定,int型数据占2字节,则定义: struct node int x; long y; z;后,sizeof(z)=_ 3.设有变量定义: int a10=1,2,3,4,5,6,7; int *p=a; 则表达式*+p的值为_ 下列程序用于计算4.23i/i!+.的近似值。
12、/2!+x /3!s=1+x+x .+x#includeint i=0;float s,t=1.0,x;scanf(“”,&x); s=t=1.0;while(fabs(t)1.0e-5) i+; t=_; s+=t;printf(“s=%fn”,s);5.下面程序用于将输入的三个数从小到大排序输出。 void main() int a,b,c,x,y; scanf(“%d%d%d”,&a,&b,&c); if(_) x=a;y=b;else x=b;y=a; if(_) x=c; else if(yc) y=c;printf(“%d,%d,%d”,y,a+b+c-x-y,x);6.以下程序将
13、输入的一行字符串中的字母全部变成大写输出。 #includestri=0),译成s(2=s=16)进制表示形式的字符串。char trans(unsigned int d,int s) char digits=”0123456789ABCDEF”; char buf17;int i=16;if (s16) return(0);bufi= do buf-i=digitsd%s; ( ); while ( );printf(“%s”,&bufi);main() int s,d;scanf(“%d,%d”,&s,&d); printf(“M=”,d);trans(d,s);printf(“ %dn”
14、,s );三阅读下列程序,写出结果;程序1 int i,x;scanf(“%d”,& for (i=2;x%i;i+); printf(“%dn”,i=x);运行后,从键盘输入3,运行结果为: ; ( ) 从键盘输入4,运行结果为:( ;2 程序main() int i;for (i=1;6; $printf( if (i%2) “”else continue; ); “printf(#” &n”“printf( (运行结果为: )3 程序int n3,i,j,k;for (i=0;3;i+) ni=0; k=2;k; for (j=0;j=k;j+) nj=ni+1; printf(“%dn
15、”,nk);运行结果为:( ) 程序4 long f(int n) long s; if (n=1)|(n=2) s=2; else s=n+f(n-1); return s;main() long x;x=f(4);printf(“%dn”,x);程序5 main() int m,n,i;m=5;n=7;i=1; if (i%m=0)&(i%n=0) printf(“%dn”,i); break;i+;while (i!=0);四编程题 1、找出1100之间的全部“同构数”。所谓“同构数”是指一个数,他出现在他的平方数的右端。如6的平方是36,6就是同构数。 。、编程实现二维数组()的转置(即行列互换)2 、按下述递归定义编写一个计算幂级数递归函数。3 n =0 1 = n xn-1 x* x
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1