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中的值16.以下程序的输出结果是_D_main()int a=12,b=12; printf(“%d,%dn”-a,+b);A.10 10 B.12 12 C.11 10 D.11 1317.以下程序运行后,输出结果是_C_char*s=abcd;s+=2;printf(%1dn,s)A.cde B.字符c的ASCII码 C.字符c的地址 D.出错18.以下程序的输出
2、结果是_C_int m=5; if(m+5)printf(%dn,m);else printf(%dn,m-)A.7 B.6 C.5 D.419.当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为_B_ if(ab) if(cd)x=1; else if(ac) if(bd)x=2; else x=3; else x=6; else x=7;A.1 B.2 C.3 D.620.在执行以下程序时,如果从键盘输入:ABCdef,则输出为_B_#include char ch;while(ch=getchar()!=n)if(ch=&ch=a&=z)ch=ch-32 printf(“%
3、c”,ch);printf(“n”);A.ABCdef B.abcDEF C.abc D.DEF21.下面能正确进行字符串赋值操作的语句是_A_A.char s5=“ABCDE” B.char s5=A,B,C,D,E;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(-
4、y);printf(“%dn”,y-);A.-1 B.1 C.8 D.024.在下列选项中,没有构成死循环的程序是_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.以下程序运行后,如果从键盘输入ABCDEfunc(char str)int num=0;while(*(str+num)!=0)num+;retur
5、n(num);char str10,*p=str;gets(p);printf(“%dn”,func(p);A.8 B.7 C.6 D.527.运行以下程序后,如果从键盘输入china0)+argv;printf(“%s”,*argv);A. CHINA BEIJING SHANGHAI B. FILE1 CHINA BEIJINGC.C B S D.F C B29.下面程序的运行结果是_char ch7=“65ab21”; int i,s=0; for(i=0;chi=0&chi=9;i+=2) s=10*s+chi-0; printf(“%dn”,s);A.12ab56 B.6521 C.
6、6 D.6230.运行下面的程序,如果从键盘输入:ab cdef则输出结果为_#define N 6char cN;int i=0;for(; iN; ci=getchar(),i+ );for(i=0;ii+) putchar(ci);A.a B.a C.ab D.abcdef b b c d c d e d f31.以下程序运行后,输出结果是_ss(char *s) char*p=s;while(*p)p+;return(p-s);char *a= “abded”;int i;i=ss(a);printf(“%dn”,i);32.以下程序运行后输出结果是_func(int a,int b)
7、static int m=0,i=2;i+=m+1;m=i+a+b;return(m);int k=4,m=1,p;p=func(k,m);printf(“%d”,p);A.8,15 B.8,16 C.8,17 D.8,833.以下程序运行后,输出结果是_#define PT 5.5#define S(x) PT*x*xint a=1,b=2;printf(“%4.1fn”,S(a+b);A.49.5 B.9.5 C.22.0 D.45.034.以下程序运行后,输出结果是_static char a=”ABCDEFGH”,b=”abCDefGh”;char *p1,*p2;int k;p1=a
8、;p2=b;for(k=0;kpijnext=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.FILE *fp; fp=fopen(“filel”,”r+”);C.FILE *fp; fp=fopen(“filel”,”rb”);D.FILE *fp; fp=fopen(“fil
9、el”,”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.下列程序用于计算 s=1+x+x2/2!+x3/3!.+xi/i!+.的近似值。math.hint i=0;float s,t=1.0,x;scanf(“%1f”,&x);s=t=1.0;while(fabs(t)1.0e-5) i+;
10、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(y y=c;printf(“%d,%d,%d”,y,a+b+c-x-y,x);6.以下程序将输入的一行字符串中的字母全部变成大写输出。 #includestri=0),译成s(2=s=16)进制表示形式的字符串。char trans(unsigned int d,int s) char digits
11、=”0123456789ABCDEF”; char buf17;int i=16;if (s16) return(0);bufi=0;do buf-i=digitsd%s; ( );while ( );printf(“%s”,&bufi);int s,d;scanf(“%d,%d”,&s,&d);printf(“%4d=”,d);trans(d,s);printf(“ %dn”,s );三阅读下列程序,写出结果;程序1 int i,x;scanf(“%d”,& for (i=2;x%i;i+); printf(“%dn”,i=x); 运行后,从键盘输入3,运行结果为:( );从键盘输入4,运行
12、结果为:程序2int i;for (i=1;6; if (i%2) printf(“$”); else continue;printf(“#”);printf(“&n”);运行结果为:( )程序3int 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”,nk);程序4long f(int n) long s; if (n=1)|(n=2) s=2; else s=n+f(n-1); return s; long x;x=f(4);printf(“%dn”,x);程序5 int m,n,i;m=5;n=7;i=1;do if (i%m=0)&(i%n=0) printf(“%dn”,i); break;i+;while (i!=0);四编程题1、找出1100之间的全部“同构数”。所谓“同构数”是指一个数,他出现在他的平方数的右端。如6的平方是36,6就是同构数。2、编程实现二维数组()的转置(即行列互换)。3、按下述递归定义编写一个计算幂级数递归函数。xn
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1