首页 程序结构

程序结构

举报
开通vip

程序结构程序结构 一、单项选择题 1.设 a=3,b=4执厅”printf(”%d,%d”,(a,b),(b,a));”的输出是( ) ①3,4 ②4,3 ③3, 3 ④4,4 2.使用“Scanf("X=%f,y=%f",&x,&y)”,要使 X,y均为1.25,正确的输入是( ) ①1.25,1.25 ②1.25 1.25 ③x=1.25,y=1.25 ④X=1.25 y=1.25 3.设有int i=010,j=10;则执行“printf("%d,%d\n",++i,j--);”的输出是( ) ①ll, 10 ②9,...

程序结构
程序结构 一、单项选择 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 1.设 a=3,b=4执厅”printf(”%d,%d”,(a,b),(b,a));”的输出是( ) ①3,4 ②4,3 ③3, 3 ④4,4 2.使用“Scanf("X=%f,y=%f",&x,&y)”,要使 X,y均为1.25,正确的输入是( ) ①1.25,1.25 ②1.25 1.25 ③x=1.25,y=1.25 ④X=1.25 y=1.25 3.设有int i=010,j=10;则执行“printf("%d,%d\n",++i,j--);”的输出是( ) ①ll, 10 ②9,10 ③ 010, 9 ④ 10, 9 4.设a,b为字符型变量,执行"scanf("a=%c,b=%c",&a,&b)"后使a为'A',b为'B',从键盘上的正确输入是( ) ①’A”B’ ②’A’,’B’ ③A=A,B=B ④a=A b=B 5.设X、y、Z、t均为int型变量,则执行以下语句后,t的值为( ) x=y=z=1;t=++x||++y&&++z; ①不定值 ②2 ③l ④0 6.设x、y、z均为int型变量,则执行以下语句后,x、y, z的值为( ) X=1; y=0; Z=2; y++&&++Z ||++ X; ①2、l、3 ②2、0、3 ③2、l、3 ④2、1、2 7.假定所有变量均已正确定义,下列程序段运行后X的值是( ) a=b=c=0; x=35; if(!a)x--; else if(b); if(c)x=3; else x=4; ①34 ② 4 ③ 35 ④ 3 9.下列语句中,句法错误的是(不考虑语义)( ) ① while(x=y) 5 ; ② do x++ while(x==10) ; ③while(0); ④do 2; while(a==b); 10,循环语句“for(x=0, y=0;(y!=123)||( x<4);x++);”的循环执行( ) ①无限次 ②不确定次 ③4次 ④3次 11.若i、j已定义为int类型,则以下程序段中的内循环体的执行次数是( ) for( i=5; i; i--) for(j= 0; j<4;j++){……} ①20 ② 24 ③ 25 ④ 30 12.假定a和b为int型变量,则执行以下语句后b的值为( ) a=1; b=10; do b-=a; a++; }while<(b--<0); ①9 ②-2 ③-1 ④8 13.设x和y为int型变量,则执行下面的循环后,y的值为( ) for(y=l, x=l; y<=50; y++){ if(x>=10) break; if(x%2= =1){ x+=5; continue;} X -= 3; } ①2 ②4 ③6 ④8 14.在C语言中,下列说法中正确的是( ) ①不能使用“do语句while(条件)”的循环 ②“do语句While(条件)”的循环中必须使用“break”语句退出循环 ③“do语句while(条件)”的循环中,当条件非0时将结束循环 ④“do语句while(条件)”的循环中,当条件为0时将结束循环 15.若有以下程序段,W和k都是整型变量,则不能与该程序段等价的循环语句是( ) W= k; LB: if(w==0) goto LE; w - -; printf("*"); goto LB; LE: ①for(w=k;w!=0;W--)printf("*"); ② w= k; While(W--!=0) Prinif(”* ”); ③ w= k; do{w--; prinif(“*”); } while( W!= 0); ④ for(w=k;W;--W) printf("*"); 二、填充题 1.结构化程序设计规定的三种基本结构是________结构,选择结构和_______结构。 【解】结构化程序设计的三种基本控制结构是顺序结构、选择结构和循环结构。 2.若有定义“int a=25,b=14, c=19;”,以下语句的执行结果是______。 if a++<=25&&b--<=2&&c++) prinif("***a=%d,b=%d,c=%d\n", a,b,c); else printf(”###a=%d,b=%d,c=%d\n”, a, b,c); 【解】问题所给的if语句中,条件a++<=25&&b--<=2&&c++是先求逻辑与的第一个运算分量,它是一个关系式,关系成立。接着判定第二个逻辑与运算分量,又是一个关系式,由于变量b的值是14,b不小于等于2,运算分量的关系式不成立,导致if语句的条件为假,执行else部分。在求且语句的条件时,计算了2个逻辑与分量,使变量a的值增了1,变量 b的值被减了1。所以输出内容是:###a=26,b=13,c=19。 3.以下两条if语句可合并成一条if语句为_____________。 if(a<=b) x=1; else y=2; if(a>b)printf("****y=%d\n" ,y); else printf( "####x=%d\n" ,x); 【解】在以上两条if语句中,两个条件刚巧相反。若将前一个if语句的第一个成分语句与第二个if语句的第二个成分语句合并;第一个if语句的第二个成分语句与第二个if语句的第一个成分语句合并,写成一条if语句如下: if(a<=b){x=1;printf("####x=%d\d,x);} else{ y=2; printf("****y=%d\n",y);} 4.设 i,j,k均为 int型变量,则执行完下面的for语句后,k的值为_______。 for(i=0,j=10;i<=j;i++,j--)k=i+j; 【解】该 for语句以i为0、j为10初始化,循环条件是 i<=j,每次循环后 i增 1、j减 1,循环体是将 i与j的和赋给k。这样变量 k将保存的是最后一次赋给它的值。一次循环后 i为 l。j为 9,二次循环后 i为 2.j为 8,……,五次循环后 i为 5.j为5,继续第六次循环,将 i与 j的和10存于 k后,i为 6、j为 4,结束循环。所以循环执行后 k为10。 5.下列程序的功能是输入一个整数,判断是不是素数,若为素数输出1,否则输出0,请为程序填空。 main() {int i,X,y=1; scanf(”%d”,&x); for(i=2;i<=x/2;i++) if________________ { y=0; break; } printf(”%d\n”,y); } 【解】为判数x是否是素数,预置变量y的值为1(x可能是素数),然后用循环,用2至x/2的整数i测试对X的整除性,若能被其中的某个整数整除,则X是合数,置y的值为0(不是素数),结束测试循环。若都不能整除,则X为素数。i能否整除X,可用求余运算X%i等于0来判定。所以程序中的空框可填X% i==0。测试 X为素数的代码可写成: y=l; for( i=2; i<=x/2; i++) if(x%i==0){ y=0; bleak; } 三、程序分析题  1.阅读程序,写出运行结果。 main() { int a=10, b=4,C=3; if(a<b)a=b; if(a<C) a=C; printf("%d,%d,%d\n", a,b,c); } 【解】程序中,第一个if语句if(a main() { float f,c;/*变量定义*/ printf(”输入F氏温度”); scanf(”%f,&f); c= 5.0*(f-32.0)/9.0; printf(”对应的C氏温度%6.2f\n”,c); } 2.编一个程序,输入一个整数,输出其符号(若≥0,输出1;若<0输出-1)。 【解】程序可用if语句判断输入数的符号,并控制输出1或-l。程序如下: # include main() { int c;/*变量定义*/ printf("输入一个整数"); scanf(” %d”, &c); if(C>=0) printf("1\n"); else printf("-l\n"); } 3.编一个程序,输入X的值,按下列公式计算并输出y的值。 X(X≤l) y= {2x-l(l<x<10) 3X-11(10≤X) 【解】输入x,按公式计算y。这可用一个嵌套的if语句分段判断并计算出y的值。然后输出y值。程序如下: # include<stdio.h> main() { int x,y;/*变量定义*/ printf(”输入一个整数”); scanf(”%d”,&x); if( x<=l) y=X; else if(x<10)y=2*x-l; else y=3*X-11; printf(”y=%d\ n”, y); } 4.编一个程序,输入三个单精度数,输出其中最小数。 【解】设最小数存于变量min中,为求三个数中的最小数,可分以下多步完成,先预置min为x,然后分别将其余两个数逐一与min比较,当它们中的某个值比存于min中的值更小时,就用它们更新min。写出程序如下: # include main() { float X,y,Z,min;/*变量定义*/ printf("输入三个单精度浮点数"); scanf("%f%f%f", &x,&y,&Z); min =x; if(min>y) min= y; if(min>Z) min=Z; printf("浮点数%f,%f,%f中的最小值是%f\n",X,y,Z,min); } 5.编一个程序,求出所有各位数字的立方和等于1099的3位数。 【解】找出所有各位数字的立方和等于1l99的3位整数。3位整数是100至999范围内的整数,设分别用a,b,c存储3位数的百位、十位和个位的数字,程序用三重循环求出a,b,c的立方和为1099的3位数a*100+b*10+c。程序如下: # include main() { int a,b, c;/*变量定义*/ for(a=1; a<=9;a++) for(b=0; b<=9; b++) for(c=0;c<=9;c++) if(a*a*a+b*b*b+c*c*c==1099) printf("%d\n",(10*a+b)*10+c); } 若用一个变量i表示3位数,循环体将3位数变量i分拆出它的百位、十位和个位共3个数字,然后判这三个数字的立方和是否是1099,若是就输出该变量的值。程序如下: # include main() { int i,a,b, c;/*变量定义*/ for (i=100;i<=999;i++) { a=i/100; b=(i%100)/10; /*或b=(i/10)%l0*/ c=i%10; if(a*a*a+b*b*b+c*c*c==1099) printf("%d\n", i); } } 6.编一个程序,输入10个整数,统计并输出其中正数、负数和零的个数。 【解】输入10个整数,统计其中正数、负数和零的个数。程序引入3个计数器变量,用于统计大于以小于0和等于0的整数的个数。开始时,这3个计数器都置0,然后用循环逐一输入10个整数,并判定当前输入的整数是大于0,或小于0,或等于0,并按判定结果累加相应计数器。最后,程序输出这3个计数器的值。程序如下: # include main() { int i,d,n,z,p;/*变量定义*/ n=Z=p=0; for(i=1;i<=10;i++) { print(" 输入第%d个整数", i); scanf("%d",&d); if(d<0)n++; else if(d>0)p++; else z++; } printf("负数有%d个,正数有%d个,零有%d个。\n",n,p,z); }
本文档为【程序结构】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_559298
暂无简介~
格式:doc
大小:44KB
软件:Word
页数:6
分类:工学
上传时间:2011-07-08
浏览量:29