C语言程序设计习题集(1)PPT课件_第1页
C语言程序设计习题集(1)PPT课件_第2页
C语言程序设计习题集(1)PPT课件_第3页
C语言程序设计习题集(1)PPT课件_第4页
C语言程序设计习题集(1)PPT课件_第5页
已阅读5页,还剩166页未读 继续免费阅读

下载本文档

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

文档简介

21.05.2020,精选,1,C程序设计习题,21.05.2020,精选,2,C语言程序设计习题,第一章程序设计基本概念,第二章C程序设计的初步知识,第三章顺序结构,第四章选择结构,第五章循环结构,第六章字符型数据,第七章函数,第八章指针,21.05.2020,精选,3,C语言程序设计习题,第九章数组,第十章字符串,第十一章对函数的进一步讨论,第十二章C语言中标识符的作用域和存储类,第十三章编译预处理和动态存储分配,第十四章结构体、共用体和用户定义类型,第十五章位运算,第十六章文件,21.05.2020,精选,4,1.2C语言源程序文件的后缀是_,经过编译后,生成文件的后缀是_,经过连接后,生成文件的后缀是_。,第一章程序设计基本概念,1.1在TURBOC环境中用RUN命令运行一个C程序时,所运行的程序的后缀是。,.EXE,1.3结构化程序由、和三种基本结构组成。,.C,.OBJ,.EXE,顺序,选择(分支),循环,21.05.2020,精选,5,第二章C程序设计的初步知识,一、选择题,2.1以下选项中正确的整型常量是。A)12.B)-20C)1,000D)456,2.2以下选项中正确的实型常量是A)0B)3.1415C)0.329*102D).871,2.3以下选项中不正确的实型常量是A)2.607E-1B)0.8103e2C)-77.77D)456e-2,2.4以下选项中不合法的用户标识符是A)abc.cB)fileC)MainD)PRINTF,2.5以下选项中不合法的用户标识符是A)_123B)printfC)A$D)Dim,21.05.2020,精选,6,2.6C语言中运算对象必需是整型的运算符是A)%B)/C)!D)*,2.7可在C程序中用作用户标识符的一组标识符是A)voidB)as_b3C)ForD)2cdefine_123-abcDOWORDIfcaseSIG,关键字,不能有-,数字开头,2.8若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7;B)a=7+b+c,a+C)int(12.3%4)D)a=a+7=c+b,语句,不是表达式,要求整型数,号前是变量,21.05.2020,精选,7,2.10以下叙述中正确的是)在C程序中无论整数还是实数,只要在允许的范围内都能准确无误的表示。)C程序由主函数组成。)C程序由函数组成。)C程序由函数和过程组成。,2.9以下叙述中正确的是)a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量允许赋值整型值。)在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。)执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。)已有a=3,b=5。当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。,21.05.2020,精选,8,2.11TURBOC中int类型变量所占字节数是A)1B)2C)3D)4,2.12不合法的八进制数是A)0B)028C)077D)01,2.13不合法的十六进制数是A)oxffB)0XabcC)0 x11D)0 x19,二、填空题,2.14若k为int整型变量且赋值11。请写出运算k+后表达式的值A)_和变量k的值B)_。,2.15若x为double型变量,请写出运算x=3.2,+x后表达式的值A)_和变量x的值B)_。,11,12,4.2,4.2,21.05.2020,精选,9,2.16函数体由符号_开始,用符号_结束。函数体的前面是部分,其后是部分。,2.17C语言中的标识符可分为_、和预定义标识符三类。,2.18在C语言程序中,用关键字_定义基本整型变量,用关键字_定义单精度实型变量,用关键字_定义双精度实型变量。,2.19把a1、a2定义成单精度实型变量,并赋初值1的定义语句是。,2.20C程序中定义的变量,代表内存中的一个。,定义说明,执行语句,关键字,用户标识符,int,float,double,floata=1,b=1;,不能用floata=b=1;,存储单元,21.05.2020,精选,10,2.21表达式3.5+1/2的计算结果是_。,2.22对以下数学式,写出三个等价的C语言表达式_、。abc,2.23表达式s=10应当读做“_”。,2.24计算机中内存储器的最小存储单位称_,其中能容纳的数是_。,2.25通常一个字节包含_个二进制位。在一个字节中能存放的最大(十进制)整数是_,它的二进制数的形式是_;最小(十进制)整数是_,它的二进制数的形式是_。,.,不是4.5!,a*b/c,a/c*b,b/c*a,条件:a,b,c是实数,S赋值为10,bit(位),127,01111111,-128,10000000(补码),21.05.2020,精选,11,2.27在C语言中整数可用_进制数、_进制数和_进制数三种数制表示。,2.26当计算机用两个字节存放一个整数时,其中能存放的最大(十进制)整数是_、最小(十进制)整数是_,它的二进制数的形式是。,0111111111111111/1000000000000000,32767,-32768,10,8,16,三、上机改错题(读者最好在TURBOC环境下上机试一试,以便熟悉出错信息)。,2.28请指出以下C程序的错误所在#includestdio.h;main();/*mainfunction*/floatr,s;/*/*risradius*/,/*sisareaofcircular*/*/r=5.0;s=3.14159*r*r;printf(“%fn”,s),“,”,运行结果:78.539749,21.05.2020,精选,12,2.29请指出以下C程序的错误所在#includestdio.hmain/*mainfunction*/floata,b,c,v;/*a,b,caresides,visvolumeofcube*/a=2.0;b=3.0;c=4.0v=a*b*c;printf(“%fn”,v),(),;,;,运行结果:24.000000,【2-28】(正确)#include“stdio.h”main()/*mainfunction*/floatr,s;/*risradius,sisareaofcircular*/r=5.0;s=3.14159*r*r;printf(%fn,s);,21.05.2020,精选,13,【2-29-2】(正确)#includemain()/*mainfunction*/floata,b,c,v;/*a,b,caresides,visvolumeofcube*/a=2.0;b=3.0;c=4.0;v=a*b*c;printf(%fn,v);,21.05.2020,精选,14,第三章顺序结构,一、选择题,3.1若a、b、c、d、都是int类型变量且初值为0,以下选项中不正确的赋值语句是。A)a=b=c=d=100;B)d+;C)c+b;D)d=(c=22)-(b+);,3.2以下选项中不是C语句的是。A)inti;i+;printf(“%dn”,i);B);C)a=5,c=10D);,3.3以下合法的C语言赋值语句是。A)a=b=58B)k=int(a+b);C)a=58,b=58D)-i;,3.4以下程序的输出结果是。A)0B)1C)3D)不确定的值main()intx=10,y=3;printf(“%dn”,y=x/y);,应为(int)(a+b);,21.05.2020,精选,15,3.5若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是。A)read(a,b,c);B)scanf(“%d%d%d”,a,b,c);C)scanf(“%D%D%D”,3.6若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c赋予33,以下不正确的输入形式是。A)10B)10.0,22.0,33.0C)10.0D)10222222.033.03333scanf(“%f%f%f”,3.7若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是。A)a=a+b,b=a-b,a=a-b;B)t=a,a=b,b=t;C)a=t;t=b;b=a;D)t=b;b=a;a=t;,21.05.2020,精选,16,3.8若变量已正确定义,以下程序段的输出结果是。)输出格式说明与输出项不区配,输出无定值B)5.170000C)5.168000D)5.169000 x=5.16894;printf(“%fn”,(int)(x*1000+0.5)/(float)1000);,3.9若有以下程序段,c3中的值是。A)0B)1/2C)0.5D)1intc1=1,c2=2,c3;c3=c1/c2;,3.10若有以下程序段,其输出结果是A)0,0,-10B)0,0,5C)-10,3,-10D)3,0,-10inta=0,b=0,c=0;c=(a-=a-5),(a=b,b+3);printf(“%d,%d,%dn”,a,b,c);,(int)(x*1000+0.5)=(int)(5169.44)=51695169/1000.0=5.169,21.05.2020,精选,17,3.11当运行以下程序时,在键盘上从第一列开始输入9876543210(此处代表Enter),则程序的输出结果是。A)a=98,b=765,c=4321B)a=10,b=432,c=8765C)a=98,b=765.000000,c=4321.000000D)a=98,b=765.0,c=4321.0main()inta;floatb,c;scanf(“%2d%3f%4f”,3.12以下程序的输出结果是A)a=%2,b=%5B)a=2,b=5C)a=%d,b=%dD)a=%d,b=%dmain()inta=2,b=5;printf(“a=%d,b=%dn”,a,b);,输出,21.05.2020,精选,18,3.13若int类型占两个字节,则以下程序段的输出是。A)-1,-1B)-1,32767C)-1,32768D)-1,65535inta=-1;printf(“%d,%un”,a,a);,-补码:1111111111111111,3.14以下程序段的输出是A)*496*B)*496*C)*000496*D)输出格式符不合法intx=496;Printf(“*%-06d*n”,x);,“*%06d*n”:输出*000496*,3.15以下程序段的输出是A)|3.1415|B)|3.0|C)|3|D)|3.|floata=3.1415;Printf(“|%6.0f|n”,a);,3.16以下程序段的输出是A)|2345.67800|B)|12345.6780|C)|12345.67800|D)|12345.678|printf(“|%10.5f|n”,12345.678);,突破场宽!,21.05.2020,精选,19,3.17以下程序段的输出是A)*0000057.66*B)*57.66*C)*0000057.67*D)*57.67*floata=57.666;pirntf(“%010.2fn”,a);,3.18若从终端输入以下数据,要给变量c赋以283.19,则正确的输入语句是A)scanf(“%f”,283.1900,scanf中禁用”%*.*f”!,3.19若变量已正确说明,要求用以下语句给a赋予3.12、给b赋予9.0,则正确的输入形式是(代表空格)A)3.129.0B)a=3.12b=9C)a=3.12,b=9D)a=3.12,b=9scanf(“a=%f,b=%f”,21.05.2020,精选,20,3.20以下程序的输出结果是A)98B)89C)66D)以上三个都不对#include“math.h”main()doublea=-3.0,b=2;printf(“%3.0f%3.0fn”,pow(b,fabs(a),pow(fabs(a),b);,2|-3|,|-3|2,二、填空题,3.21若有以下定义,请写出以下程序段中输出语句执行后的输出结果。(1)_(2)(3)_inti=-200,j=2500;printf(“(1)%d%d”,i,j);printf(“(2)i=%d,j=%dn”,i,j);printf(“(3)i=%dnj=%dn”,i,j);,-2002500,i=-200,j=2500,i=-200j=2500,21.05.2020,精选,21,3.22变量i、j、k已定义为int类型并有初值0,用以下语句进行输入时:scanf(“%d”,当执行第一个输入语句,从键盘输入:12.3表示Enter键则变量i、j、k的值分别是_、_、_。,12,0,0,3.23复合语句在语法上被认为是_。空语句的形式是。,一条语句,;,3.24C语句的最后用_结束。,;,3.25以下程序段,要求通过scanf语句给变量赋值,然后输出变量的值。写出运行时给k输入100,给a输入25.81,给x输入1.89234时的三种可能的输入形式_、_、_。intk;floata;doublex;scanf(“%d%f%lf”,10025.811.8923410025.811.8923410025.811.89234,21.05.2020,精选,22,3.26以下程序段的输出结果是。intx=0177;printf(“x=%3d,x=%6d,x=%6o,x=%6x,x=%6un”,x,x,x,x,x);,x=(0177)8=127=(0000000001111111)2=(007F)16,x=127,x=127,x=177,x=7F,x=127,3.27以下程序段的输出结果是。intx=0177;printf(“x=%-3d,x=%-6d,x=$%-06d,x=$%06d,x=%06dn”,x,x,x,x,x);,x=127,x=127,x=$127,x=$000127,x=%06d,3.28以下程序段的输出结果是。doublea=513.789215;printf(“a=%8.6f,a=%8.2f,a=%14.8f,a=%14.8lfn”,a,a,a,a);,a=513.789215,a=513.79,a=513.78921500,a=513.78921500,21.05.2020,精选,23,三、编程题和改错题,3.29以下程序多处有错。要按下面指定的形式输入数据和输出数据时,请对该程序做相应的修改。maindoublea,b,c,s,v;printf(inputa,b,c:n);scanf(“%d%d%d”,a,b,c);s=a*b;/*计算长方形面积*/v=a*b*c;/*计算长方体体积*/printf(“%d%d%d”,a,b,c);printf(“s=%fn”,s,”v=%dn”,v);当程序执行时,屏幕的显示和要求输入形式如下:inputa,b,c:2.02.03.0此处的2.02.03.0是用户输入的数据a=2.000000,b=2.000000,c=3.000000此处是要求的输出形式s=4.000000,v=12.000000,21.05.2020,精选,24,【3-29】(正确)main()floata,b,c,s,v;printf(inputa,b,c:);scanf(%f%f%f:,【3-29】(错误)maindoublea,b,c,s,v;printf(inputa,b,c:n);scanf(“%d%d%d”,a,b,c);s=a*b;v=a*b*c;printf(“%d%d%d”,a,b,c);printf(“s=%fn”,s,“v=%dn”,v);,当程序执行时,屏幕的显示和要求输入形式如下:inputa,b,c:2.02.03.0此处的2.02.03.0是用户输入的数据a=2.000000,b=2.000000,c=3.000000此处是要求的输出形式s=4.000000,v=12.000000,21.05.2020,精选,25,3.30编写程序,把560分钟换算成用小时和分钟表示,然后进行输出。,【参考答案】main()inth,m;h=560/60;m=560%60;printf(%dh:%dm,h,m);getch();,3.31编写程序,输入两个整数:1500和350,求出它们的商数和余数并进行输出。,【参考答案】main()intm,n;printf(inputm,21.05.2020,精选,26,3.32编写程序,读入三个双精度数,求它们的平均值并保留此平均值小数后一位数,对小数点后第二位数进行四舍五入,最后输出结果。,【参考答案】main()doublex,y,z,s;printf(inputx,y,z:);scanf(%lf%lf%lf,21.05.2020,精选,27,3.33编写程序,读入三个整数给a、b、c,然后交换它们中的数,把a中原来的值给b,把b中原来的值给c,把c中原来的值给a。,【参考答案】main()inta,b,c,t;printf(Inputa,b,c:);scanf(%d%d%d,21.05.2020,精选,28,第四章选择结构,一、选择题,4.1下列运算符中优先级最高的运算符是A)!B)%C)-=D)if(ab)if(b0)c=0;elsec+=1;printf(“%dn”,c);,4.6以下程序的输出结果是:A)1B)2C)3D)4main()intw=4,x=3,y=2,z=1;printf(“%dn”,(wx?w:zy?z:x);,21.05.2020,精选,30,4.7若执行以下程序时从键盘上输入3和4,则输出结果是A)14B)16C)18D)20main()inta,b,s;scanf(“%d%d”,3,4,16,4,21.05.2020,精选,31,4.9运行以下程序后,输出A)#B)if(k100)printf(“%dn”,a100);elseprintf(“%dn”,a0)B)!0,xc)b=a;a=c;c=b;,3,2,2,4.20若变量巳正确定义,以下语句段的输出结果是_。x=0;y=2;z=3;switch(x)case0:switch(y=2)case1:printf(“*”);break;case2:printf(“%”);break;case1:switch(z)case1:printf(“$”);case2:printf(“*”);break;default:printf(“#”);,*#,加一个break,什么结果?,21.05.2020,精选,35,三、编程题,4.21请将以下语句改写成switch语句。if(a30)m=1;elseif(a40)m=2;elseif(a50)m=3;elseif(a60)m=4;elsem=5;,【参考答案】main()inta,m;printf(inputa:);scanf(%d,case4:m=3;break;case5:m=4;break;default:m=5;printf(a,m=%d,%d,a,m);getch();,21.05.2020,精选,36,4.22编写程序,输入一位学生的生日(年:y0、月:m0、日:d0);并输入当前的日期(年:y1、月:m1、日:d1);输出该生的实足年龄。,【参考答案】main()intage,y0,m0,d0,y1,m1,d1;printf(ninputastedentbirthday(yy-mm-dd):);scanf(%d-%d-%d,21.05.2020,精选,37,【4-25-1参考答案】main()intx,y;printf(ninputx:);scanf(%d,【4-25-参考答案】main()intx,y;printf(ninputx:);scanf(%d,21.05.2020,精选,38,【4-25参考答案】main()intx,y;printf(ninputx:);scanf(%d,【4-25-4参考答案】main()intx,y;printf(ninputx:);scanf(%d,21.05.2020,精选,39,第五章循环结构,一.选择题,5.1以下程序段的输出结果是A)9B)1C)11D)10intk,j,s;for(k=2;k6;k+,k+)s=1;for(j=k;j6;j+)s+=j;printf(“%dn”,s);,K=2s=1s=1+(2+3+4+5)K=4s=1s=1+(4+5)=10K=6退出,5.2以下程序段的输出结果是A)12B)15C)20D)25inti,j,m=0;for(i=1;i79n788n777n=7退出,5.4以下程序段的输出结果是A)1B)30C)12D)死循环intx=3;doprintf(“%3d”,x-=2);while(!(-x);,x=3进入循环执行x-=2打印判定!0是真执行x-=2打印判定!(-2)是假结束循环,21.05.2020,精选,41,5.5以下程序的输出结果是A)15B)14C)不确定D)0main()inti,sum;for(i=1;i0;y-)if(y%3=0)printf(“%d”,-y);continue,y=10y9整除打印86整除打印53整除打印20退出,21.05.2020,精选,42,5.7若x是int型变量,以下程序段的输出结果是A)*3B)#3C)#3D)*3#4#4*4*4#5*5*5#5for(x=3;x6;x+)printf(x%2)?(“*%d”):(“#%dn”),x);,x=3打印*3x=4打印#4+回车x=5打印*6x=6退出,5.8以下程序的输出结果是A)*#*#*#$B)#*#*#*$C)*#*#$D)#*#*$main()inti;for(i=1;i+c)j+;dok+;while(ad+);,for:a=10b=5,6,7,8,9,10i=5while:a=10c=6,7,8,9,10j=4dowhile:k=16d=510k=6,5,4,6,5.12以下程序段的输出结果是。intk,n,m;n=10;m=1;k=1;while(k=n)m*=2;printf(“%dn”,m);,死循环,While语句中k和n都不变,无限循环,5.13以下程序段的输出结果是_.main()intx=2;while(x-);printf(“%dn”,x);,-1,While语句中对x是先判后减,当x=0时结束循环,然后x=-1,打印出来,21.05.2020,精选,45,5.14以下程序段的输出结果是_.inti=0,sum=1;dosum+=i+;while(i5);printf(“%dn”,sum);,16,sum+0=1i5i=1sum+1=2i5i=2sum+2=4i5i=3sum+3=7i5i=4sum+4=11i5i=5sum+5=16i=5(退出)i=,5.15有以下程序段:s=1.0;for(k=1;k=n;k+)s=s+1.0/(k*(k+1);printf(“%fn”,s);请填空,使下面的程序段的功能完全与之等同。s=0.0;_;k=0;dos=s+d;_;d=1.0/(k*(k+1);while(_);printf(“%fn”,s);,d=1,k+,k=0,xamin,21.05.2020,精选,47,三编程题,5.17编写程序,求1-3+5-7+-99+101的值。,【参考答案】main()inti,s=1,k=-1;for(i=1;i=0,21.05.2020,精选,58,6.22请编写程序统计输入的行数,输入用EOF结束.,【参考答案】#includemain()intflag,k=0;charch;while(ch=getchar()!=EOF)if(ch=10)k+;flag=0;elseflag=1;if(flag=1)k+;printf(nThelinenumberis%dn,k);getch();,21.05.2020,精选,59,6.23请编写程序统计输入的一行中小写字母的个数.,【参考答案】#includemain()intk=0;charch;while(ch=getchar()!=10)if(ch=a,6.24请编写输入以下图案的程序,图案的行数由输入的值确定.ABBBCCCCCDDDDDDDEEEEEEEEE,【参考答案】#includemain()inti,j,n;printf(Inputlinenumber:);scanf(%d,21.05.2020,精选,60,第七章函数,一、选择题,7.1以下说法中正确的是A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main函数中定义C)C语言程序总是从main函数开始执行D)C语言程序中的main函数必须放在程序的开始部分,7.2以下函数的类型是A)与参数x的类型相同B)void类型C)int类型D)无法确定fff(floatx)printf(%dn,x*x);,7.3以下函数调用语句中,含有的实参个数是A)1B)2C)4D)5func(exp1,exp2),(exp3,exp4,exp5);,21.05.2020,精选,61,7.4以下程序的输出结果是A)11B)20C)21D)31func(inta,intb)intcc=a+b;returnc;main()intx=6,y=7,z=8,r;r=func(x-,y+,x+y),z-);printf(%dn,r);,7.5以下程序的输出结果是A)-1B)0C)1D)2main()inti=2,p;p=f(i,i+1);printf(%d,p);intf(inta,intb)intc;c=a;if(ab)c=1;elseif(a=b)c=0;elsec=-1;return(c);,21.05.2020,精选,62,7.6以下程序的输出结果是A)0B)1C)6D)无定值fun(inta,intb,intc)c=a*b;main()intc;fun(2,3,c);printf(%dn,c);,缺少return语句,7.7以下程序的输出结果是A)5.500000B)3.000000C)4.000000D)8.25doublef(intn)inti;doubles;s=1.0;for(i=1;i=n;i+)s+=1.0/i;returns;main()inti,m=3;floata=0.0;for(i=0;ieps;n+)s+=t;t=n*t/(2*n+1);return(2.0*_);,n=1,s,7.12以下函数用以求x的y次方.请填空.doublefun(doublex,inty)inti;doublez=1;for(i=1;i_;i+)z=_;returnz;,=y,z*x,21.05.2020,精选,66,7.13以下程序的功能是计算S=K!.请填空.longf(intn)inti;longs;s=_;for(i=1;i=n;i+)s=_;returns;main()longs;intk,n;scanf(%d,1,s*i,0,f(k),21.05.2020,精选,67,三、程序调试和编程题,7.14以下fun函数用以判断n是否是素数,fun函数中有逻辑错,请调试改正.fun(intn)intk,yes;for(k=2;k=n/2;k+)if(n%k=0)yes=0;elseyes=1;returnyes;,21.05.2020,精选,68,7.15编写函数intmymod(inta,intb)用以求a被b除之后的余数.,【参考答案】main()inta,b;printf(Inputa,21.05.2020,精选,69,【参考答案】floatfun(intn)return(1.0/n);main()inti,n,k=1;floats=0.0;printf(Inputn:);scanf(%d,7.16编写程序求:1-1/2+1/3-1/4+1/5-1/6+1/7-.+1/n,21.05.2020,精选,70,7.17编写函数,根据整型形参m的值,计算如下公式的值.t=1-1/2*2-1/3*3-.-1/m*m例如,若m=5,则应输出0.536389.,【参考答案】floatf(intm)floatt=1.0;inti;for(i=2;i=m;i+)t-=1.0/(i*i);returnt;main()intn;printf(Inputn:);scanf(%d,21.05.2020,精选,71,7.18编写函数用以求表达式x*x-5*x+4,x作为参数传送给函数,调用此函数求:y1=2*2-5*2+4y2=(x+15)*(x+15)-5*(x+15)+4y3=sinx*sinx-5*sinx+4,21.05.2020,精选,72,第八章指针,一、选择题,8.1若有定义:intx,*pb;则在以下正确的赋值表达式是A)pb=,8.3以下程序的输出结果是A)5,2,3B)-5,-12,-7C)-5,-12,-7D)5,-2,-7voidsub(intx,inty,int*z)*z=y-x;main()inta,b,c;sub(10,5,sub(10,5,int*pk=,8.已知指针P的指向如上图所示,则表达式*+P的值是A)20B)30C)21D)31,8.7已知指针P的指向如上图所示,则表达式+*P的值A)20B)30C)21D)31,*(p=main()inta=25;prtv(,8.9以下程序的输出结果是A)运行出错B)100C)a的地址D)b的地址main()int*k,*a,b=100;a=,k,a,B=100,21.05.2020,精选,75,8.11以下程序的输出结果是A)9.000000B)1.500000C)8.000000D)10.500000voidsub(floatx,float*y,float*z)*y=*y-1.0;*z=*z+x;main()floata=2.5,b=9.0,*pa,*pb;pa=,sub(9.0-2.5,2.5,2.5)*y=2.5-1.0=1.5*z=1.5+6.5=8.0,8.0,21.05.2020,精选,76,21.05.2020,精选,77,二、填空题,8.13以下程序段的输出结果是_.int*var,b;ab=100;var=,110,8.14以下程序的输出结果是_.intast(intx,inty,int*cp,int*dp)*cp=x+y;*dp=x-y;main()inta,b,c,d;a=4;b=3;ast(a,b,71,a=4,b=3,c=?,d=?,4,3,x,y,cp,dp,c=7,d=1,21.05.2020,精选,78,8.15若有定义:charch;(1)使指针p可以指向变量ch的定义语句是。(2)使指针p可以指向变量ch的赋值语句是。(3)通过指针p给变量ch读入字符的scanf函数调用语句是。(4)通过指针p给变量ch赋字符的语句是。(5)通过指针p输出ch中字符的语句是。,char*p=ch;(char*p;p=),p=,scanf(“%c”,p);,*p=ch;*p=a;,printf(“%c”,*p);,8.16若有五个连续的int类型的存储单元并赋值如图,且p和s的基本类型皆为int*p已指向存储单元a1.(1)通过指针p,给s赋值,使其指向最后一个存储单元a4的语句是_.(2)用以移动指针s,使之指向中间的存储单元a2的表达式是_.(3)已知k=2,指针s已指向存储单元a2,表达式*(S+k)的值是_.(4)指针s已指向存储单元a2,不移动指针s,通过s引用存储单元a3的表达式是_.(5)指针s指向存储单元a2,p指向存储单元a0,表达式s-p的值是_.(6)若p指向存储单元a0,则以下语句的输出结果是_.for(i=0;i*a)max=*b;if(*bmax)max=*c;if(*cmin)min=*c;*a=max;*c=min;,main()inta,b,c;printf(“Inputa,b,c:”);scanf(%d%d%d,21.05.2020,精选,81,第九章数组,一、选择题,9.1若已定义:inta=0,1,2,3,4,5,6,7,8,9,*p=a,i;其中0i=9,则对a数组元素的引用不正确的是A)ap-aB)*(printf(%dn,*(p+2);,21.05.2020,精选,82,初始值n0=0n1=0i=j=010i=0,j=112i=1,j=032i=j=133,9.4以下程序的输出结果是A)不确定的值B)3C)2D)1main()intn2=0,i,j,k=2;for(i=0;ik;i+)for(j=0;ik;j+)nj=ni+1;printf(“%dn”,nk);,循环次,i,j从0到1,但k=2无变化,因此nk为不确定值,9.5以下程序的输出结果是A)17B)18C)19D)20main()inta=2,4,6,8,10,y=1,x,*p;p=,y=1+4+6+8=19,21.05.2020,精选,83,9.6以下程序的输出结果是A)6B)8C)4D)2main()inta=2,4,6,8,*p=a,i;for(i=0;i4;i+)ai=*p+;printf(%dn,a2);,ai值未变,9.7以下程序的输出结果是A)720B)120C)24D)6f(intb,intn)inti,r=1;for(i=0;i=n;i+)r=r*bi;returnr;main()intx,a=2,3,4,5,6,7,8,9;x=f(a,3);printf(%dn,x);,R=1*2*3*4*5=120,21.05.2020,精选,84,9.8以下程序中若第一个printf语句输出的是194,则第二个printf语句的输出结果是A)212B)204C)1a4D)1a6main()inta=1,2,3,4,5,6,7,8,9,0,*p;p=a;printf(%xn,p);printf(%xn,p+9);,2*9=18个字节,打印194(16进制),+)12(16进制),1a6,9.9以下程

温馨提示

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

评论

0/150

提交评论