程序运行结果练习题
- 格式:doc
- 大小:68.00 KB
- 文档页数:3
第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是( D )。
main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf("%d\n",s);}A.自然数1~9的累加和 B.自然数1~10的累加和C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和2、以下关于for语句的说法不正确的是( A )。
A. for循环只能用于循环次数已经确定的情况B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用break跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是( d )。
A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环4、以下程序程序的执行后的输出结果是( c )。
main(){int i,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);}A.7 5 3B. 3 5 7C.3 6 9D.7 5 15、以下程序运行后的输出结果是( A )。
void fun(char*s){ while(*s){ if(*s%2==0) printf(“%c”,*s); s++;}}main(){ char a[]={“good”};fun(a);printf(“\n”);}注意:字母a的ASCⅡ码值为97A.dB.goC.godD.good6、已知 int t=0; while(t=1){...} 则以下叙述正确的是( B )。
A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while(!x!=0)s+=++x;printf("%d",s); 则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为( C )。
python程序练习题集1.#输⼊a,b,c,d4个整数,计算a+b-c*d的结果a=input("please input a nimber:")b=input("please input a number:")c=input("please input a number:")d=input("please input a number:")print a+b-c*d输出结果:please input a nimber:3please input a number:3please input a number:3please input a number:3-32.#计算⼀个12.5m*16.7m的矩形房间的⾯积和周长a=12.5b=16.7s=a*bc=a+a+b+bprint "⾯积是%f,周长是%f"%(s,c)输出结果是⾯积是208.750000,周长是58.4000003.#怎么得到9/2的⼩数结果>>> float(9/2)4.04.#python计算中7*7*7*7.可以有多少种写法第⼀种:>>> 7*7*7*72401第⼆种:>>>pow(7,4)2401第三种:>>>7**424401第四种:>>> eval("%s*%s*%s*%s"%(7,7,7,7))2401第五种:>>> a=7>>> for i in range(3):... a*=7...>>> a2401第六种:>>> "*7"*4'*7*7*7*7'>>> "*7"*4[1:]Traceback (most recent call last)File "<stdin>", line 1, in <modTypeError: 'int' object has no at>>> ("*7"*4)[1:]'7*7*7*7'>>> eval(("*7"*4)[1:])2401第七种:>>> a=['7']*4>>> "*".join(a)'7*7*7*7'>>> eval("*".join(['7']*4))5.#写程序将温度从华⽒温度转换为摄⽒温度。
循环程序设计习题与答案模块三循环程序设计习题及答案一、填空题1、当在数据处理中要重复执行相同的操作时,宜采用程序结构来实现。
2、循环的 3 要素是、、。
3、在循环语句体中包含另一个循环语句的用法称为。
4、执行循环语句体中的break 语句后将使用包含它的循环语句。
5 、要结束当前正在执行循环体语句而直接进入下一循环周期,需要执行语句。
6、在for 语句中表达式允许省略,但不能少,语句for( ; ;) ;构成的是循环。
7、在for 语句中,省略表达式 2 时,则循环为循环。
8、执行语句for(i=1;i++<4; );后变量i 的值是。
9、要使用循环程序提前结束本次循环周期并开始下一个循环周期,应在循环体内有条件使用语句。
10、在每次循环周期均要执行一次的语句,称为。
11、for 语句括号内的3 个表达式的作用分别是、和循环控制变量的更新。
二、选择题1、若k 为整形变量,则while 循环共循环()。
k=5;while(k>=0) k-1;A、无限循环B、6 次C、5 次D、4 次2、与while( ! n) ; 中表达式!dn 等价的是()。
A、dn>=0 B 、dn!=0C、dn == 0D、dn != 13、以下程序段,while 循环执行的次数是()int k=0;while( k == 1) k++;A、无限次B、有语法错,不能执行C、一次也不执行D、执行 1 次4、在C语言中,当do while 语句中的条件为()时,结束该循环。
A、0B、1C、TRUED、非05、下面程序段的输出结果是()do{ b-=a;a++;}while(b--<0);A、10,-1B、2,8C、9,0D、4,-36、以下描述正确的是()A、由于do while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B、do while 循环由do 开始,用while 结束,在while( 表达式)后面不能写分号C、在do while 循环体中,一定要有能使while 后面匠值变为零的操作D、do while 循环中,根据情况可以省略while7、若有如下程序段,其中s、a、b、c 均已定义为整型变量,且a、c 均已赋值(c大于0)。
顺序结构程序设计习题一、选择题:(以下各题□代表空格。
)1.以下程序运行的结果是:#include <stdio.h>int main(){int m=5,n=10;printf(“%d,%d\n”,m++,--n);}A)5,9 B)6,9 C)5,10 D)6,102.以下程序运行的结果是:#include <stdio.h>int main(){int a=201,b=012;printf(“%2d,%2d\n”,a,b);return 0}A)01,12 B)201,10 C)01,10 D)20,013.有定义语句int a,b;若要通过语句scanf(“%d,%d,”&a,&b);使变量a得到数值6,变量b得到数值5,下面输入形式,错误的是:A)6,5<回车> B)6,□□<回车>C)6 5<回车> D)6,<回车>5<回车>4.设有如下程序:#include <stdio.h>int main(){char ch1=’A’,ch2=’a’;printf”%c\n”,(ch1,ch2));return 0;}则以下叙述正确的是:A)程序的输出结果为大写字母A;B)程序的输出结果为小写字母a;C)运行时产生错误信息;D)格式说明符的个数少于输出项个数,编译出错。
5.以下程序运行的结果是:#include <stdio.h>int main(){int x1=0xabc,x2=oxdef;x2-=x1;printf(“%X\n”,x2);return 0;}A)ABC B)0XABC C)0X333 D)3336.以下程序输出的结果是:#include <stdio.h>int main(){ printf(“\n*s1=%15s*”,”chinabeijing”);printf(“\n*s2=%-5s*”,”chi”);}A)*s1=chinabeijing□□□*S2=**chi*B)*s1=chinabeijing□□□**s2=chi□□*C)*s1=*□□chinabeijing**s2=□□chi*D)*s1=□□□chinabeijing**s2=chi□□*7.已有定义int a=-2;和输出语句:printf(“%8lx”,a);以下正确的描述是:A)整形变量的输出格式符只有%d一种;B)%x是格式符的一种,它可以适应与任何一种类型的数据;C)%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度。
1.下面是一个加法程序,程序运行时等待拥护从键盘输入两整数,然后求出它们的和并输出之。
观察运行结果(程序输出),上机验证该程序。
#include <stdio.h>void main(){int a,b,c;printf(“Please input a,b;”);scanf(“%d,%d”,&a,&b);c=a+b;printf(“%d+%d=%d\n”,a,b,c);}2.下面的程序用来求三个数的平均值,上机验证该程序。
main(){float a,b,c,average;printf(“Please input a b c:”);scanf(“%f%f%f”,&a,&b,&c);average=(a+b+c)/3;printf(“The average value is :%f\n”,average);}练习题C语言基本语法知识一、选择题(1)以下叙述中错误的是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(2)以下叙述中错误的是A)C语句必须以分号结束B)复合语句在语法上被看作一条语句C)空语句出现在任何位置都不会影响程序运行D)赋值表达式末尾加分号就构成赋值语句(3)以下能正确定义且赋初值的语句是A)int n1=n2=10; B)char c=32;C)float f=f+1.1; D)double x=12.3E2.5;(4)设有定义:int k=1,m=2; float f=7;,则以下选项中错误的表达式是A)k=k>=kB)-k++C)k%int(f) D)k>=f>=m(5)有以下程序段int k=0,a=1,b=2,c=3; k=ac ? c:k;执行该程序段后,k的值是A)3 B)2 C)1 D)0(6)以下选项中可作为C语言合法常量的是A)-80.B)-080C)-8e1.0D)-80.0e(7).以下不能定义为用户标识符的是A)MainB)_0C)_intD)sizeof(8)以下选项中,不能作为合法常量的是A)1.234e04 B)1.234e0.4C)1.234e+4 D)1.234e09)有以下程序main(){int m=12,n=34;printf("%d%d",m++,++n); 12 35 m=13 printf("%d%d\n",n++,++m); 35 14}程序运行后的输出结果是A)12353514 B)12353513C)12343514 D)12343513(10)有以下程序main(){int m=3,n=4,x;x=-m++; x= 3 m =4x=x+8/++n; x= 3+8/4= 5printf("%d\n",x);}程序运行后的输出结果是A) 3 B) 5 C) -1 D) -2(11)以下符合C语言语法的实型常量是A) 1.2E0.5B) 3.14.159EC) .5E-3D) E15(12) 若以下选项中的变量已正确定义,则正确的赋值语句是A) x1=26.8%3B) 1+2=x2C) x3=0x12D) x4=1+2=3;(13) 设有以下定义int a=0;double b=1.25;char c=‟A‟;#define d 2则下面语句中错误的是A) a++; B) b++ C) c++; D) d++;实验二整型、浮点型、字符型数据使用1.编程序,输出如下图形:*********************#include <stdio.h>int main(){int i;int j;for(i=1;i<=5;i++){for(j = 1;j<=i;j++){printf("*");}printf("\n");}}2.编写程序,实现下面的输出格式和结果:a= 5,b= 7,a-b=-2,a/b= 71%c1=COMPUTER,c2=COMP ,c3= COMPx=31.19,y= -31.2,z=31.1900s=3.11900e+001,t= -3.12e+001#include <stdio.h>int main(){int a = 5;int b = 7;printf("%d\n",a-b);printf("%2.0f%%\n",(float)a/b*100);char c1[] = "COMPUTER",c2[]="COMP",c3[]="COMP";printf("%s %s %s\n",c1,c2,c3);float x = 31.19,y=-31.2,z=31.1900;printf("%5.2f %4.1f %7.4f",x,y,z);}3.编写程序,输入变量x值,输出变量y的值,并分析输出结果。
一、选择题1. 以下程序的运行结果是。
#include<stdio.h>int fun(int n){int m=0,f=-1,i;for(i=1;i<=n;i++){m=m+i*f;f=-f;}return m;}int main(){printf("m=%d\n",fun(10));return 0;}A.m=5 B.m=-6 C.m=6 D.m=-52. C语言规定,简单变量作为实参时,它和对应形参之间的数据传递方式是。
A.地址传递B.单项值传递C.由实参传给形参,再由形参传回给实参D.由用户指定传递方式3. 以下程序有语法性错误,有关错误原因的正确说法是。
#include<stdio.h>int main(){int G=5,k;void prt_char ( );...k=prt_char(G);...}A.语句void prt_char( ); 有错,它是函数调用语句,不能用void说明B.变量名不能使用大写字母C.函数说明和函数调用语句之间有矛盾D.函数名不能使用下划线4. 以下程序的运行结果是。
#include<stdio.h>int fun(int a,int b){if(a>b) return (a+b);else return (a-b);}int main(){int x=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf("%d\n",r);return 0;}A.-16 B.-17 C.17 D.165. 以下程序的功能是计算函数F(x,y,z) = (x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。
#include<stdio.h>#include<math.h>float f(float,float);int main( ){float x,y,z,sum;scanf("%f%f%f",&x,&y,&z);sum=f( )+f( );printf("sum=%f\n",sum);return 0;}float f(float a,float b){float value;value=a/b;return value;}A.x-y, x+y B.x+y, x-y C.z+y, z-y D.z-y, z+y A.x-y, x+y B.x+y, x-y C.z+y, z-y D.z-y, z+y 6. 以下程序可选出能被3整除且至少有一位是5的两位数,打印出所有这样的数及其个数。
1.阅读下列程序,写出运行结果:x=int(input("请输入一个整数:"))for i in range(1,x):if x%i==0:print(i, end="")#end=”"表示输出当前行的所有内容后输出一个空格,且不换行程序运行后,输入:8运行输出结果是: 1242.阅读下列程序,写出运行结果:def fib(m):nl=1n2=1for i in range(3, m+1):t=nl+n2nl =n2n2=treturn tprint(fib(5))运行结果:23.阅读下列程序,写出运行结果:sum=0data=[34,5,9,41,78,2]for i in data:if i%2==0:sum=sum+iprint(sum)运行结果:1144.阅读下列程序,写出运行结果:a,b=1,1n=int(input(请输入一个大于等于3的正整数n:))for i in range(n-2):c=a+ba=bb=cprint(c)运行结果:85.阅读下列程序,写出运行结果:i=0sum=0t=1while sum<10:i=i+1t=t*isum=sum+tprint(sum)运行结果:336.阅读下列程序,写出运行结果:n=36s=0for i in range(2,n):if n % i == 0:s=s+iprint(s)运行结果:547.阅读下列程序,写出运行结果:s=1for i in range(1,10,3):s=s*iprint(s)运行结果:288.阅读下列程序,写出运行结果:m=9n=6C=m-nwhile c !=n:m=nn=cif m<n:m,n=n,mc=m-nprint(c)运行结果:39.阅读下列程序,写出运行结果:m=int(input("请输入一个正整数:"))x=my=mfor i in range(9):n=int(input("请输入一个正整数:"))if n>x:x=nif n<y:y=nprint(x,y)程序运行后,依次输入:12 35 9 11 2 3 88 13 19 29 55运行结果:88 910.阅读下列程序,写出运行结果。
第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是( D )。
main( ){ int i,s=0; for(i=1;i<10;i+=2)s+=i+1;printf("%d\n",s);}A.自然数 1~9的累加和B.自然数 1~10 的累加和C.自然数 1~9中的奇数之和D.自然数 1~10 中的偶数之和2、以下关于 for 语句的说法不正确的是( A )。
A. for循环只能用于循环次数已经确定的情况B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用 break 跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若 i和 k 都是 int 类型变量,有以下 for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是(d)。
A. 循环体执行两次B.循环体执行一次C.循环体一次也不执行D. 构成无限循环4、以下程序程序的执行后的输出结果是(c)。
main(){int i,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++) printf(“%d”,t[2 -i][i]);}A.753B.357C.369D.7515、以下程序运行后的输出结果是( A )。
void fun(char*s){ while(*s){ if(*s%2==0)printf(“%c”,*s);s++;}}main(){ char a[]={“good”};fun( a) ;printf(“ n”);}注意:字母 a 的 ASCⅡ码值为 97A.dB.goC.godD.good6、已知 int t=0 ; while ( t=1 ){...}则以下叙述正确的是( B)。
A)循环控制表达式的值为 0B)循环控制表达式的值为 1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while (!x!=0 ) s+=++x;printf ( "%d",s );则A)运行程序段后输出0B)运行程序段后输出 1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设 i ,j ,k 均为 int型变量,则执行完下面的 for 语句后, k 的值为( C)。
实验七函数程序设计(二)练习1.用递归方法解决猴子吃桃子的问题(P129习题6.10)。
运行结果:1534练习2.编写一个程序,其中包含一个子函数,功能为删除字符串中指定的某个字符,并显示删除后的字符串。
子函数要求:形式为:vo id delete_string(cha r str[],char ch);运行结果示例:练习3.编写一个程序,其中包含一个子函数,功能为求出一个二维数组(从键盘读入)中每列的最小元素,并依次放入一个一维数组中。
例:子函数要求:形式为:vo id fun(int tt[M][N],int pp[N]);(其中,tt是一个M行N列的二维数组,pp为存放结果的一维数组。
)*练习4.编写一个程序,功能为将一个无序数组b(包含5个元素)中的每个元素插入另一个有序数组a (包含10个元素)中的适当位置,使插入后的数组a依然有序。
其中,包含3个子函数,各函数要求如下:●子函数1:功能为读入一包含n个元素的数组;形式为:voi d i np ut(int a[],i nt n);●子函数2:功能为将一个数值x插入到包含n个元素的有序数组中;●形式为:voi d ins ert(int a[],i nt n,int x);●子函数3:功能为输出一包含n个元素的数组;形式为:voi d o ut p ut(int a[],i nt n);实验八指针程序设计(一)练习1.用指针变量的处理方法编写一个程序,功能为读入一组(10个)数据后,逆向输出。
程序要求:练习2.用指针变量的处理方法编写一个程序,功能为将数组s(共10个元素,由随机数生成)中的数据位置两两对倒,并输出结果。
程序要求:程序中对数组的处理全部使用指针方式。
练习3.用指针变量的处理方法编写一个子函数,功能为从键盘读入一个已经排好序的数组(共10个数),再输入一个数,将此数按次序规律将它插入到数组中后输出结果。
函数要求:实参为指针变量,形参为数组名,且形式为:vo id insert(int x[ ], int m);其中:形参m为要插入的数据;函数无返回值。
C语言程序设计试题_练习题一、选择题:(20分,每题2分)1.以下不正确的C语言标识符是()。
A.ABCB.abcC.a_bcD.ab.c2.C程序是由构成的。
A.主程序与子程序B.主函数与若干子函数C.一个主函数与一个其它函数D.主函数与子函数3.以下说法中正确的是:A.在C语言中,实参与其对应的形参各占独立的存储单元;B.在C语言中,实参与其对应的形参共占同一个存储单元;C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D.在C语言中,形参是虚拟的,不占存储单元。
4.设n=3;则n++的结果是()。
A.2B.3C.4D.55.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。
A.0B.1C.2D.36.凡是函数中未指定存储类别的局部变量其隐含的存储类别是()。
A.自动(auto)B.静态(tatic)C.外部(e某tern)D.寄存器(regiter)7.在while(某)语句中的某与下面条件表达式等价的是:A.某==0B.某==1C.某!=1D.某!=08.若有以下说明和语句:tructworker{intno;~char某name;}work,某p=&work;则以下引用方法不正确的是()。
A.work.noB.(某p).noC.p->noD.work->no9.以下对二维数组进行正确初始化的是()。
A.inta[2][3]={{1,2},{3,4},{5,6}};B.inta[][3]={1,2,3,4,5,6};C.int a[2][]={1,2,3,4,5,6};D.inta[2][]={{1,2},{3,4}};10.二维数组a有m列,则在a[i][j]之前的元素个数为:A)j某m+iB)i某m+jC)i某m+j-1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1.#include<tdio.h>main(){inti=16,j,某=6;j=i+++1;某某=i=j;printf(“%d,%d\n”,j,某);}运行结果是:2.#include<tdio.h>#include<math.h>main(){inta=1,b=4,c=2;float某=10.5,y=4.0,z;z=(a+b)/c+qrt((double)y)某1.2/c+某;printf(“%f\n”,z);}运行结果是:3.#include<tdio.h>main(){inta,b,c,d;a=c=0;b=1;d=20;if(a)d=d-10;eleif(!b)if(!c)d=25;eled=15;printf(“d=%d\n”,d);}运行结果:4.main(){inti=10;witch(i){cae9:i+=1;cae10:i+=1;cae11:i+=1;}printf(“%d”,i);}运行结果:5.#include<tdio.h>main(){inta[]={1,2,3,4},i,j,=0;j=1;for(i=3;i>=0;i--){=+a[i]某j;j=j某10;}printf("=%d\n",);}运行结果:6.func(int某){某=20;}main(){int某=10;func(某);printf(“%d”,某);}运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。