欢迎来到装配图网! | 帮助中心 装配图网zhuangpeitu.com!
装配图网
ImageVerifierCode 换一换
首页 装配图网 > 资源分类 > DOC文档下载
 

C程序设计第四版第四章练习题

  • 资源ID:136821959       资源大小:76.50KB        全文页数:9页
  • 资源格式: DOC        下载积分:10积分
快捷下载 游客一键下载
会员登录下载
微信登录下载
三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
二维码
微信扫一扫登录
下载资源需要10积分
邮箱/手机:
温馨提示:
用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
支付方式: 支付宝    微信支付   
验证码:   换一换

 
账号:
密码:
验证码:   换一换
  忘记密码?
    
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

C程序设计第四版第四章练习题

第四章 习题一、选择题1)以下是if语句的基本形式: if(表达式)语句其中"表达式"B)DA)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式2)以下选项中,值为1的表达式是(B )。A)1-'0' B)1-'0'C)'1'-0 D)'0'-'0'3)若a是数值类型,则逻辑表达式(a=1)|(a!=1)的值是:AA)1 B)0 C)2 D)不知道a的值,不能确定4)若变量已正确定义,在if (W)printf(“%dn”,k);中,以下不可替代W的是AA)ab+c B)ch=getchar() C)a=b+cD)a+5)设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是A)C    A)if(x+);         B)if(x>y&&y!=0);     C)if(x>y) x- -    D)if(y<0) ;      else y+;         else x+;6) 以下选项中,当x为大于1的奇数时,值为0的表达式D      A)x%2=1  B)x/2  C)x%2!=0  D)x%2=07) 设有条件表达式:(EXP)?i+;j-,则以下表达式中(EXP)完全等价的是B   A)(EXP= =0)    B)(EXP!=0)     C)(EXP= =1)    D)(EXP!=1)8) 在以下给出的表达式中,与while(E)中的(E)不等价的表达式是CA)(!E=0) B) (E>0|E<0) C) (E=0) D) (E!=0) 9)若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x+):(y+)中的条件表达式(x-y)等价的是( C )。A)(x-y>0)B)(x-y<0)C)(x-y<0|x-y>0)D)(x-y=0)10) 若有表达式(w)?(-x):(+y),则其中与w等价的表达式是 (D  )A)w=1   B) w=0  C) w! =1  D) w! =011) 设有定义: int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是CA)if(a>b) c=a,a=b,b=c; B)if(a>b)c=a,a=b,b=c;C)if(a>b) c=a;a=b;b=c; D)if(a>b)c=a;a=b;b=c;12) 已知字母A的ASC代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是( D)BA)kk>='A'&&kk<='Z' B)!(kk>='A'kk<='Z') C)(kk+32)>='a'&&(kk+32)<='z' D)isalpha(kk)&&(kk<91) 13)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)B     A)isupper(c)                     B)A<=c<=ZC)A<=c&&c<=Z               D)c<=(2-32)&&(a-32)<=c14) 当变量c的值不为2、4、6时,值也为“真”的表达式是BA)(c=2)(c=4)(c=6) B)(c>=2&&c<=6)(c!=3)(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&&c<=6)&&(c%2!=1) 15) 若变量已正确定义,有以下程序段 C)Bint a=3,b=5,c=7; if(a>b) a=b; c=a; if(c!=a) c=b; printf("%d,%d,%dn",a,b,c); 其输出结果是 A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7 16)有以下程序includemain()int  a=1,b=0;if(!a) b+;else  if(a=0)if(a)b+=2;else  b+=3;printf(”%dn”,b);程序运行后的输出结果是D)A    A)0     B)1     C)2      D)317)在嵌套使用if语句时,C语言规定else总是( C )。A)和之前与其具有相同缩进位置的if配对B)和之前与其最近的if配对C)和之前与其最近的且不带else的if配对D)和之前的第一个if配对18)下列叙述中正确的是( D )。A)break语句只能用于switch语句B)在switch语句中必须使用defaultC)break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句19)以下选项中与if(a=1) a=b;else a+;语句功能不同的switch语句是:C)BA)switch(a) B)switch(a=1) case 1:a=b;break; case 0 : a=b;break; default : a+; case 1 : a+; C)switch(a) D)switch(a=1) default : a+;break; case 1:a=b;break; case 1:a=b; case 0: a+; 20) 有以下程序段int  a,b,c;a=10;b=50;c=30;if(a>b) a=b,b=c; c=a;printf(“a=%d b=%d c=%d”,a,b,c);程序的输出结果是  (B)A  )A)a=10 b=50 c=10    B) a=10 b=50 c=30 C) a=10 b=30 c=10 D) a=50 b=30 c=5021) 有以下程序D#include <stdio.h>main()  int  x=1,y=2, z=3;     if(x>y)     if (y<z)  printf(“%d”,+z);     else     printf(“%d”,+y);     printf(“%dn”,x+);程序运行结果是A)331   B)41  C) 2 D)1 22) 以下程序段中,与语句: k=a>b?(b>c?1:0):0;功能相同的是AA)if(a>b)&&(b>c) k=1;  else k=0;B)if(a>b)|(b>c) k=1;  else k=0;C)if(a<=b)k=0;  else if(b<=c) k=1;D) if(a>b) k=1;   else if(b>c) k=1;   else k=0;23)有以下程序 #include<stdio.h>main()intx;scanf("%d",&x);if(x<=3);elseif(x!=10)printf("%dn",x);程序运行时,输入的值在哪个范围才会有输出结果BA)不等于10的整数B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数24)有如下嵌套的if语句(d)C if(a<b) if(a<c) k=a; else k=c; else if(b<c) k=b; else k=c;以下选项中与上述if语句等价的语句是(A) k=(a<b)?a:b;k=(b<c)?b:c;(B) k=(a<b)?(b<c)?a:b):(b<c)?b:c);(C) k=(a<b)?(a<c)?a:c):(b<c)?b:c);(D) k=(a<b)?a:b;k=(a<c)?a;c25)以下叙述中正确的是C      A)break语句只能用于switch语句体中      B)continue语句的作用是:使程序的执行流程跳出包含它的所有循环      C)break 语句只能用在循环体内和switch语句体内      D)在循环体内使用break语句和continue语句的作用相同 26) 有以下程序      main()      int k=5,n=0;      Do      switch(k)      case 1: case 3:n+=1; k-;break;    default: n=0;k-; case 2: case 4:n+=2;k-;break; printf(“%d”,n);while(k>0&&n<5); 程序运行后的输出结果是      A)235  B)0235  C)02356  D)235627)有以下计算公式  若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是B      A)if(x>=0) y=sqrt(x);            B)y=sqrt(x)else y=sqrt(-x);              if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x);            D)y=sqrt(x>=0?x:-x);  If(x<0)y=sqrt(-x);28)有以下程序 #include<stdio.h>main()inta=1,b=2,c=3,d=0;if(a=1&&b+=2)if(b!=2|c-!=3)printf("%d,%d,%dn",a,b,c);elseprintf("%d,%d,%dn",a,b,c);elseprintf("%d,%d,%dn",a,b,c);程序运行后输出结果是A)1,2,3 B)1,3,2 C)1,3,3 D)3,2,129)有以下程序      main()              int a=0,b=0,c=0,d=0;       if(a=1) b=1;c=2;       else d=3;       printf(“%d,%d,%d,%dn”,a,b,c,d);             程序输出      A)0,1,2,0  B) 0,0,0,3  C)1,1,2,0  D)编译有错30)若有定义:float x=1.5; int a=1,b=3,c=2;则正确的switch语句是 C      A)switch(x)B) switch(int)x);       case 1.0: printf(“*n”);case 1: printf(“*n”);       Case 2.0: printf(“*n”);case 2: printf(“*n”);       C) switch(a+b) D) switch(a+b)        case 1: printf(“*n”); case 1: printf(*n”);       case 2+1: printf(“*n”); case c: printf(“*n”); 31)有以下程序 #include <stdio.h> main() int x=1,y=0,a=0,b=0; switch(x) case 1: switch(y) case 0: a+; break; case 1: b+; break; case 2: a+; b+; break; case 3: a+; b+; printf(“a=%d,b=%dn”,a,b); 程序的运行结果是 DA)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1 32)若有定义语句int a, b;double x;则下列选项中没有错误的是CA)switch(x%2)               B)switch(int)x/2.0case 0: a+; break;            case 0: a+; break; case 1: b+; break;             case 1: b+; break; default : a+; b+;             default : a+; b+;                               C)switch(int)x%2)        D)switch(int)(x)%2)case 0: a+; break;            case 0.0: a+; break; case 1: b+; break;              case 1.0: b+; break;default : a+; b+;              default : a+; b+;                                 二、填空题1)在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为 【非0 】 时表示逻辑值“真”。2)已有定义:char c= ;int a=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【 0 】。 3)设x为int型变量,请写出一个关系表达式 【 】 ,用以判断x同时为3和7的倍数时,关系表达式的值为真。4)以下程序运行后的输出结果是【1 0 】#include <stdio.h>main()  int x=20;   printf("%d ",0<x<20);   printf("%dn",0<x&&x<20);5)以下程序运行后的输出结果是 【1 】 。main() int x,a=1,b=2,c=3,d=4; x=(a<b)?a:b; x=(x<c)?x:c; x=(d>x)?x:d; printf("%dn",x);6) 以下程序的运行结果是【#& 】 。      main()      int a=2,b=7,c=5;      switch(a>0)      case 1:switch(b<0)       case 1:printf(“”); break;       case 2: printf(“!”); break;              case 0: switch(c=5)       case 0: printf(“*”); break;       case 1: printf(“#”); break;       case 2: printf(“$”); break;             default : printf(“&”);            printf(“n”);      7)以下程序用于判断a,b,c能否构成三角形,若能输出YES,若不能输出NO。当a,b,c输入三角形三条边长时,确定a,b,c能构成三角形的条件是需要同时满足三条件:a+b>c,a+c>b,b+c>a。请填空。    main()        float a,b,c;    scanf(“%f%f%f”,&a,&b,&c);if(_【a+b>c&&a+c>b&&b+c>a 】_)printf(“YESn”);/*a,b,c能构成三角形*/  else printf(“NOn”);/*a,b,c不能构成三角形*/ 8) 以下程序的功能是:输出a、b、c三个变量中的最小值.请填空。#include<stido.h>main() int a,b,c,t1,t2;scanf("%d%d%d",&a,&b,&c);t1=a<b? _【a;b 】_ _;t2=c<t1? _【c:t1 】_ _;printf("%dn",t2);9)有以下程序#include < stdio.h >main() int a=1,b=2,c=3,d=0;if (a=1) if (b!=2) if(c!=3) d=1; else d=2; else if(c!=3) d=3; else d=4; else d=5; printf(%dn,d);程序运行后的输出结果是: 【4 】 。

注意事项

本文(C程序设计第四版第四章练习题)为本站会员(沈***)主动上传,装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知装配图网(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!