设有变量定义.doc_第1页
设有变量定义.doc_第2页
设有变量定义.doc_第3页
设有变量定义.doc_第4页
设有变量定义.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

(1) 设有变量定义:int a=5,b=4,c=3,d=2试写出计算表达式(-a=b+)?c-:+d 后,变量a、b、c、d的值。4,5,2,2(2) 设有如下程序段int a=2,b=5,c;c=21%9/(float)a+4/b*b;printf(“%dn”,c);试写出其输出结果。1(3) 写出程序的输出结果(假定类型unsigned int 的字长为16位)。#include Void main()unsigned int url=0x958,u2,u3; u2=(u1&0xFF00)4; printf(“%x%x%xn”,u2,u3,u2|u3);900059005(4) 假设x为int型变量,则执行x6;x+=x-=x*x;语句后x的值。-60(5) 执行赋值表达式x3*5,x*4,x+5后x的值。15(6) 若有说明:double a;则写出正确的输入语句。Scanf(“%lf”,&a);(7) 请写出判断一个字符型变量c是否是英文字母的条件表达式。c=A&c=a&c0)个学生按下列方法进行分班:每班k(k0)个学生,最后一个班若不足k人也单独编成一个班。试用C语言中的条件表达式表示所编班级个数。(n%k)?(n/k+1):(n/k)(9) 设有变量说明:int a=5,b=4,c=3,r1,r2;请写出执行下列语句后r1和r2的值。0,1r1=abc;r2=ab&bc;(10) 试写出下列算式的C语言表达式。pow(a,1/3.0)*sin(75*3.1416/180)/fabs(x-log(y)/log(2)(11) 设有如下程序:#include void main() int clock;float f;char cpu20; scanf(%4d%f%s,&clock,&f,cpu); printf(%d %.0f %sn,clock,f,cpu);假设输入数据流为200015.0 P4 is GOOD!,请写执行该程序后的输出结果。2000 15 P4(12) 设int a=12,试写出计算表达式a+=a/=a-=a*a以后的值。2(13) 写出如下程序段的输出结果。50,0,0,0int a=0,b=0,c=0,x;x=(a=50)&(b=0)&(c=100);printf(“%d,%d,%d,%dn”,x,a,b,c);(14) 下列程序的输出结果是什么?a=8,b=3main()int a=3,b=8;a=a+b;b=a-b;a=a-b;printf(“a=%d,b=%d”,a,b);(15) 下列程序的输出结果是什么?a=2,b=2main()int x=1,y,a=0,b=0;switch(x)case 1: for(y=0;y10;y+) switch(y) case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;printf(“a=%d,b=%d”,a,b);(16) 写出下列程序的输出结果。#include void main() char s=2473,c,i; for(i=0;c=si;i+) switch(c-0) case 2: case 3:putchar(c+4);continue; case 4:putchar(c+4);break; case 5:putchar(c+3); default:putchar(c+2); putchar(n); 6897(17) 阅读如下程序段,把其中的switch语句改写成先进等价的条件语句。int x,y;scanf(%d,&x);switch(x!=0) case 0:y=0;break; case 1:switch(x0) case 1:y=1;break; case 0:y=-1; int x,y;scanf(%d,&x);if(x!=0) if(x0) y=1; else y=-1; else y=0;(1) 编写程序实现从键盘输入两个整数赋给变量a和b,并输出a、b的值以及它们交换过后的值。#include void main()int a,b,temp;scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);temp=a;a=b;b=temp;printf(a=%d,b=%dn,a,b);(2) 用下列公式求的近似值,直到最后一项的绝对值小于10-4为止。main() int flags,n; double s; flags=1; n=1; s=1; for(;1.0/(2*n+1)1e-4;) flags=-flags; s+=flags/(float)(2*n+1); n+; printf(Pi=%lfn,4*s);(3) 的值可以使用下公式计算请编写程序计算的近似值,当公式中某一项的值小于eps(例如,eps=1e-5)时,停止计算并返回结果。main() int n; double eps=1e-5,t,s; n=1; t=1; s=0; for(;teps;) s+=t; t*=(float)n/(2*n+1); n+; printf(Pi=%lfn,2*s);(4) 编写函数fun,它的功能是:对于输入字符串s,先将s中的字符逆序放到字符串t中(t的初始值为空串),再把字符串s正序连接到字符串t后面(例如,若s为“ABCDE”,则最后生成的字符串t为“EDCEAABCDE”)。void fun(char s,char t80) int i,j; t=; for(i=0;si;i+); for(j=0;ji;j+) tj=si-j-1; ti=0; strcat(t,s);(5) 编写程序计算分支函数Y的值。if(x1)y=x*x*x+1;if(x0&x=1)y=x*x+1;(6) 设一维数组a的4个输入整数是1,2,3,4,则程序的输出是什么?#include stdio.h#define M 4void main() int i,j,k,m,a4; printf(Enter 4 numbers:); for(i=0;i0;i-) k=aM-1; for(j=M-1;j0;j-)aj=aj-1; a0=k; for(m=0;mM;m+)printf(%d,am); printf(n); 4123341223411234(7) 把程序的输出结果写在答卷纸的对应栏内#define N 6void main() int i,j,aN; for(i=1;i1;j-) aj+=aj-1; for(j=1;j=i;j+) printf(%4d,aj); printf(n); 11 11 2 11 3 3 11 4 6 4 1(8) 改错。下列程序功能是输入一个字符串,并将其中的字符a用字符串”shu”替代后输出。如输入为”123abcaHello”,则输出为”123shubcshuHello”。#01 #include #02 void main()#03 #04 int i;char line81;#05 scanf(%s,&line);scanf(“%s”,line);#06 for(i=0;linei!=n;i+)for(i=0;linei!=0;i+)#07 if(linei=a)#08 printf(%s,shu);#09 else#10 printf(%s,linei);printf(“%c”,linei);#11 (9) 改错。下列HIJATWVSTT程序实现对输入的长度小于100的英文字母串(空格表示结束)进行头尾相接,围成一个环,输出按顺时针方向出现的相邻两个递增字母及其个数(如下图中的HI,IJ,ST,总共出现3次)。#01 #include #02 void main()#03 #04 char s100;#05 int k,len,no;int k,len,no=0;#06 scanf(%s,s);#07 len=strlen(s);#08 slen=s0;#09 slen+=0;s+len=n;#10 for(k=0;klen;k+)for(k=1;klen;k+)#11 if(sk-1+1=sk)#12 #13 printf(%c %cn,sk-1,sk);#14 no+;#15 #16 printf(%dn,no);#17 (10) 设有一维数组说明char t5,存放A,B,C,D,E五个字母,请编写一个程序段,按以下格式输出结果。ABCDEBCDEACDEABDEABCEABCDvoid main() int i,j; char c,t5=ABCDE; for(i=0;i5;i+) for(j=0;j5;j+)printf(%c,tj); printf(n); c=t0; for(j=1;j1e-5;) s+=flags*t; n+; t=(float)(n-1)/(n*n); flags*=-1; printf(S=%lfn,s);(12) 描述函数conv()的功能,并写出下列程序的输出结果。void conv(int m) if(m=2) conv(m/2); printf(%d,m%2);void main() conv(13);将十进制数m按二进制形式输出。1101(13) 把程序的输出结果写在答卷纸的对应栏内#include void sort(int a,int n) int i,j,t; for(i=0;in-1;i+) for(j=i+1;jaj)t=ai,ai=aj,aj=t;delsame(int x,int n) int i,j,m=n; for(i=0;im;i+) while(xi=xi+1) for(j=i;jm;j+)xj=xj+1; m-; return m;void main() int x=74,4,35,4,65,65,72,74,35,i,m,n; n=sizeof(x)/sizeof(x0); sort(x,n); m=delsame(x,n); for(i=0;im;i+)printf(%3d,xi); printf(n);(a)函数sort()的功能是什么?(b)函数delsame()的功能是什么?(c)程序的输出是什么?函数sort()的功能是将有n个元素的数组a按从小到大的方式排列;函数delsame()的功能是将有n个元素的已排序的数组a中的值重复的元素删除掉;输出结果:4 35 65 72 74(14) 改错。输入10个正整数,计算其中的素数之和并输出结果(不考虑溢出情况)。#12 #include stdio.h#13 int sum(int *b,int m)#14 int s=0,is_prime(long);#15 while(m-)#16 if(is_prime(*b+)s+=*b;if(is_prime(*b+)s+=*(b-1);#17 return s;#18 #19 int is_prime(long m)#20 int k;#21 if(m=1)return 0;#22 if(m=2|m=3)return 1;#23 for(k=2;k*k=m;k+)#24 if(m%k=0)return 0;#25 else return 1;return 1;#26 #27 void main()#28 int x10,i;#29 for(i=0;i10;i+)scanf(%d,x+);for(i=0;i10;i+)scanf(%d,&xi);#30 printf(sum=%dn,sum(x,10);#31 (15) 改错。计算字符串s中最后一次出现子串t的地址,通过函数值返回,在主函数中输出此地址开始的字符串;若未找到,函数返回NULL(例如字符串s为“456712345678abcd”,当子串t为“567”时,输出为“5678abcd”;当t为“789”时,输出“Not found!”)。#18 #include #19 char *fun(char *s,t)char *fun(char *s,char *t)#20 char *p,*r,*a;#21 a=null;a=NULL;#22 while(*s)#23 p=s;r=t;#24 while(*r)#25 if(r=p)r+;p+;if(*r=*p)r+;p+;#26 else break;#27 if(*r=0)a=s;#28 s+;#29 #30 return a;#31 #32 void main()#33 char s100,t100,*p;#34 printf(nPlease enter string s:);scanf(%s,s);#35 printf(nPlease enter string t:);scanf(%s,t);#36 p=fun(s,t);#37 if(p)printf(nThe result is:%sn,p);#38 else printf(nNot found!n);#39 (16) 设有变量定义:struct rec int x; int y; s=4,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论