ImageVerifierCode 换一换
格式:DOCX , 页数:26 ,大小:27.54KB ,
资源ID:9801255      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9801255.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C上总练习题与参考答案.docx)为本站会员(b****7)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

C上总练习题与参考答案.docx

1、C上总练习题与参考答案C+(上)总复习题第一、二章 习题一、选择题1下列符号串中不合法的C+语言标识符是 。A register B Turbo_C C auto_ D _1233若有整型变量a和c,c的当前值是5,则执行下列语句后a的值是 。a=2+(c+=c+,c+8,+c);c+=c+后c值为11,再自增为12A 13 B 14 C 15 D 164若有整型变量x的当前值是3,则执行下列语句的结果是 。docout(x-=2);while(!(-x); 输出1,3变为1后,为逻辑真,取反为假,退出循环A 输出值0 B 输出值1 C 输出值3和0 D 陷入死循环5从语法的角度来看,语句if

2、(a=b=c)x+;是 。用&或|连接逻辑表达式A正确的 B语法正确,但在编译是会有警告信息C语法上是错误的 D编译系统不会进行相关检查7数学式在C程序中对应正确的表达式为 。 Asqrt(x*x+y*y)/x*y BSQRT(x*x+y*y)/x*y Csqrt(x*x+y*y)/x/y) DSQRT(x*x+y*y)/(x*y)8设有变量说明:int x;则表达式(x=4*5,x*5),x+25的值为 。A20 B45 C100 D12510在C+语言中,下面符号串中,能用作变量名的标识符为 。 Aauto Bputs C-1*num D2-and11下面四个用户定义的标识符中,只有一个

3、是正确的。 A case B _53 C a&b D ab-c12在16位系统中,对整型变量int i=32767;+i的值是 。补码,有符号整数A -1 B 0 C -32768 D 3276814已知整型变量a和b的当前值分别为13和20,a|b的值是 。 A 0 B 1 C 4 D 2915在32位系统中求表达式s=10!的值时,变量s的类型应当是 。 A int B unsigned C long D以上三种都可以16下面的常量表示有一个是不正确的,不正确的是 。 A -0 B 0x203 C 55 D 10318如果有下列变理定义:char c=97;则coutc+d?a:b Dx

4、*=y+2525如果整型量a,b,c的值分别为5、4、3,则语句 if(a=b=c) c+;执行后c的值是 A,语法错误 B. 4 C.2 D. 3有warnning,但if结果为假26设标识符ch,a都被定义为字符型变量,以下赋值语句不正确的是_ B _A cha+3; B. chch+a; C.ch=c+h; D. ch+=ch-a28将变量a强制转换为具有b类型的数据,应表示为_ AC _。A.(b)a B.a(b) C.b(a) D.(a)b29有整型变量x ,y ,其中y!=0,下列 与x等价30已知整型变量a和b的当前值分别为13和16. a&b 的值是 A A.0 (位运算) B

5、.1 C .29 D.332C+将数据分为若干类型,定义数据类型实际给出了两方面的信息:定义该类型数据 B 。 A有效数字位数和数值表示范围 B占用多大存储空间和允许的运算 C数值和字符的不同表示以及适用范围 D适用范围和允许的运算33以下给出的标识符中 C 可用作合法的变量名。 A goto B $price C sum D 9kilo34设int a=l,b=2;那么执行表达式a+&+b;后a和 b的值分别是 D 。 A 1和2 B 2和2 C 1和3 D 2和336设整型变量X的值是5,则表达式2X5的值是 B 。 A 不确定 B 1 C 0 D 表达式非法37ab且ed的c+表达式描述

6、为 D 。 A ab,c=d B a!=b&c=d C a=!b&c=d D a!=b&cch B cinget(ch) C cinget(ch) D ch=get()39设有变量定义im x=100,y=1,Z,若执行语句Z=y0?+x:-x,变量z的值为 C 。 A 99 B 100 C 10l D 10241用#include 命令包含的文件是 C A 目标文件 B 可执行文件 C 源程序文件 D 二进制文件42若有a=13,b=5,c=3则a%b*c的值为 B A 6 B 9 C 7.8 D 844若有宏定义和变量说明如下: #define X 1 #define Y X+1 #def

7、ine Z Y*X/2 int ; =Y; 则执行以下语句后输出的结果是: B coutZ-; A 7 5 1 1 12 5 D 7 645设x=2;y=3;表达式x=y= =3运算后。x= A A 1 B 2 C 3 D 046一个可执行C+程序的开始执行点是 A 程序的第一条语句 B 包含文件的第一个函数 C 名为void main的函数 D 程序中的第一个函数49若变量已正确定义并赋值,符合c+语言语法的表达式是 A 。Aa=a+7; Ba=7+b+c,a+ Cint(1234) Da=a+7=c+b50在C+语言中,int、float和long int这3种类型数据所占用的内存是 。

8、A均为4个字节 B由用户自己定义C由所用机器的机器字长决定的 D任意的51若a、b、c、d都是int类型变量且初值为0,以下选项中不正确的赋值语句是 C 。Aa=b=c=d=100; Bd+; Cc+b; Dd=(c=22)-(b+);二、填空题1设a、b、c都是整型,则a=b=c=5时,下列表达式的结果是a= 15 、b= 5 、c= 6 。a+=b+c+2数学表达式sin(30 o)+x2cos(20o)的C+语言表达式是 。2题:sin(30*3.14/180)+x*x*cos(20*3.14/180)4 main() int i=4,j=5,k=6;5题注意:1、 使用a&b时,无论b

9、为何值,输出的结果都一样;2、 使用(a&b)时,输出结果为1;3、 使用a&b时编译出错;4、 使用(a&b)时输出结果为0 i+&+j|+k; coutijk; 程序的输出是 566 。5 void main() int a=13,b=16; cout!ata&b; 程序输出为 0 13 。6 #define PR(x,y,z) coutxtytz=9%5+6%5; coutin; +i|+j&+k; PR(i,j,k); i+=j+; cout10?x+100:x-10 的值是 0 8若整型变量w=1,x=2,y=3,z=4,则条件表达式wx ? w : z y ? z : x的值为_4

10、_9int a=5,b=6,c=1,x=2,y=3,z=4;c=(a=cx)&(b=yz);问:执行上述程序后,b的值是_6_,c的值是_0_。10程序void main() int x,y,z; x=y=z=0; cout(x+&+y|z+)n; coutxtytz;程序第一行输出为 0 程序第二行输出为 1 0 1 11程序#define PR1(num) coutnum ; coutt#define PR2(a,b) PR1(a);PR1(b)#define PRINT(c,d) coutcdmain()int x=10,y=20,z=100;PR1(x);PR2(x,y);PRINT(

11、 hex , z);输出结果为 10 10 20 64 第三章 选择、循环结构一、选择题2当前整型变量i的值是10,执行下列switch语句后i的值是 13 。 switch(i) case 9: i+=1; case 10: i+=1; case 11: i+=1; defaule:i+=14下列关于break和switch语句的叙述中,正确的是 B 。Abreak是switch语句的一个成分B在语句switch中可以根据需要使用或不使用break语句C在语句switch中必须使用break语句D上述结论中两个正确的5设有程序段int x=10; while (x=0) x=x-1;则下面描

12、述中正确的是 C A while 循环执行10次 B 循环是无限循环 C 循环体语句一次也不执行 D 循环体语句只执行一次6退出一个循环语句(不终止函数的执行)的有效措施是: A A、break B、continue C、return D、exit7设整型变量x的当前值为3,执行以下循环语句后,输出的结果为: 7题输出是1 -2 do cout-=; while ( ! (-); 、0 B、1 -2 C、3 0 D、死循环,输出许多值10C+语言中 D 。A不能使用do-while语句构成的循环Bdo-whiIe语句构成的循环必须使用break语句才能退出Cdo-while语句构成的循环,当w

13、hile语句中的表达式值为非零时结束循环Ddo-while语句构成的循环,当while语句中的表达式值为零时结束循环二 填空题1有整型变量a、b,则下列for循环中的输入语句最少可执行 1 次,最多可执行 3 次for(a=0,b=0;b!=30&ab;2设整型变量I初值是1,则语句while(I+5);执行后I的值是 6 。3下面程序的执行结果输出 10 10 20 ,#define PR1(num) counum ; cout0; y-)if(y%3=0)cout -yt;5下面程序的执行结果是 死循环 。#includemain()int x=1,i=1;for(;x10)break;i

14、f(x%2)x+=3;continue;x=1;coutxin;6程序 #include6题这里将=0改为!=0了。不然会有语法错误本题是通过右移算类型所占的位数 void main() unsigned i; int count=1; i=0; while(i=1)!=0) count+; cout“count=”count=1)改为(i1)程序的结果是 死循环 。 不作上述修改,而将unsigned i;改为unsigned char i;;程序的输出结果是 count=8 。8int a,b; for(b=1,a=1;b=10) break; if(a%2=1) a+=5; contin

15、ue; a-=3; 问:执行上述程序段后,a的值是 10 ,b的值是 6 9void main() int m,n,x,y; cinxy; m=1;n=1; if(x0) m=m+1; if(xy) n=n+m; else if(x=y) n=5; else n=2*m; coutm0 与 xb) if (ac) couta; else cout b;cout”end”endl;问:执行上述程序后输出_3end_。11执行下列程序段后,变量n的值是: 12 int n=10;switch(n) case 9:n-=1; case 10:n+=1; case 11:n-; case 12:n+;

16、 default: +n;三 完善程序题1求f(X)=-x2/2!+x4/4!-x6/6+x8/8! 要求精度为十万分之一 #include #include void main() double x,y,t; int n=0; coutx t=1; y=0 ; while(fabs(t)1e-6)pow(-1,n)*x*x*fabs(t) / (2*n) / (2*n-1) n+; y+=(t= pow(-1,n)*pow(x,2*n)/(2*n) ); cout“y(“x”)=”yn; 2程序功能:在三个整数a,b和C中选出最大者,将该值输出。void main() im a,b,c,ma

17、x; coutabc: cout”a=:”atb:btc=cb&ac )max=a; else if( ba&bc )max=b; else max=c ; cout”最大数为:max=” max endi;3程序功能:用数字0和9之间不同的数字构造所有可能的三位数(个位、十位和百位上的数字各不相同),并统计出共有多少种。#includevoid main() int i,j,k,count=0; for(i=1;i= 9 ;i+) for(j=0;j= 9 ;j+) if( j=i )continue; else for(k=0;k=9;k+) if( k!=i&k!=j ) cout100

18、*i+10*j+k,; count+; coutendl”Total=”countendl;第四章 函数习题一、 选择题5在一个源文件中定义的全局变量的作用域为 A 全局变量默认(缺省)的作用域是D,但是不加“缺省”时的答案是AA、文件的全部范围 B、本程序的全部范围 C、本函数的全部范围D、从定义该变量的位置开始至本文件的结束6设函数声明语句中的参数表为(int &a,int &b,int C),函数体中a,b,C三个变量的值都发生变化;主函数中调用此函数的实参表为(x,y,z),调用函数语句执行后,以下叙述正确的是 A 。 A)变量x和y的值发生变化 B)变量x和y的值不发生变化 C)变量

19、x、y、z的值都发生变化 D)只有变量z的值发生变化7变量的有效范围与其定义的位置有关, B ,其作用域在整个源程序文件中都有效。 A、在第一个函数中定义的变量 B、在定义第一个函数之前所定义的变量 C、在主函数中定义的变量 D、在函数中定义的静态变量9判断两个字符串s1和s2是否相等,应当使用 D 、if (s1=s2) 、if (s1=s2) 、if (strcmp(s1,s2) 、if (!strcmp(s1,s2) (相等为0)10在程序执行过程中,该程序的某一个函数func()中说明的static型变量V有这样的特性: B A、V存在于func()被调用期间且仅能被func()所用

20、B、V存在于整个程序执行过程且仅能被func()所用 C、V存在于func()被调用期间且可被所有函数所用 D、V存在于整个程序执行过程且可被所有函数所用二、填空题1执行下面程序共产生 4 行输出,第一行输出和最后一行输出分别是 6 及 6 。#includevoid f(int);void main() f(3); void f(int n)static int s=5;int a=5;if(n!=0) s+;a+;coutsta;f(n-1); 33题一、 改正错误1、 A行处少一个分号“;”2、 在main前加void二、 运行结果 3 , 1 , 5 void f(int b, int

21、 t) int m; if(bt) m=(b+t)/2; coutmn; f(b,m-1);f(m+1,t) /A main() f(1,6);4题一、 改正错误1、 改main为void main2、 cout处多了一个(二、 运行结果: 程序正确,结果是 x=69执行以上程序后,第一行的输出是 ,第二行的输出是 ,最后一行的输出是 。4程序(共2分) # define A 3 main() int a; # define B(a) (A+1)*a) a=3*(A+B(5); cout(“x=”a”n”; 程序是否正确(是或否) ;若程序错,则原因是(或程序正确, 则输出结果是): 。6程序

22、6题一、 改正错误: 改main为void main二、 运行结果:6和10 int f(int x) int y=1; static int z=1; z+=z+y+; return(z+x); main() coutf(3)n; coutf(3)n; 执行以上程序后,第一和第二行的输出分别是 和 。7程序 #include int m=10; int f(int x,int y) int m=5; m+=x*y; return m; void main() int a=6,b=7; coutf(a,b)/mn; 执行以上程序后,输出结果 4 。8void f(int a) if(a0) c

23、out“-”; a=-a; cout char(a%10+0); if(a=a/10)!=0)f(a);main() int a=-3567; f(a); coutn; a=3456; f(a); cout“n”;执行以上程序后,输出结果的第一行是 7654 ;第二行是 -6543 。9题一、 改正错误1、 添加原型声明:fun1(int,int);二、 运行结果8和179#includevoid main() int k=4,m=1,p; p=fun1(k,m); coutp; p=fun1(k,m); coutpendl;fun1(int x,int y) static int m=0,i=2; i+=m+1; m=i+x+y; return m;问: 程序执行后输出的结果为 , 10void main()10题一、 改正错误:1、 原型声明f(int); 运行结果1、 7和172、 7和20 int w=2,k; for(k=0;k3;k+) w=f(w); coutwn;f(int x) int y=0; /*static*/ int z=3; y+; z+; return(x+y+z);问题1:执行程序后,输出的第一个数是_,最后一个数是_。问题2:如果把对static的注解改为static定义,输出的第一个数是_,最后一个数是_。11int fun(in

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1