C语言练习题(第一套).docVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C语言练习题(第一套)

C语言程序设计试题(第一套) 一、选择题下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的 (1) 若变量已正确定义并赋值,下面符合C语言语法的表达式是B) A) a:=b+1 B) a=b=c+2 C) int 18.5%3 D) a=a+7=c+b讲解:用排除法。A)中包含一个不合法的运算符“:=”,错;C)明显错;D)可分解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C规定:赋值号的左面只能是单个变量,不能是表达式或常量等。因此,正确答案是B),它实际上相当于:a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。() C语言中运算对象必须是整型的运算符是 A) %= B) / C) = D) 〈=讲解:正确答案是A)。C规定:取余运算符的运算对象必须是整型,复合运算符“%=”中包含%运算,它的运算对象也必须是整型。() 若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是 A) 1 B) 2 C) 2.0 D) 2.5讲解:该题的解答请参阅“整数除法的注意事项”和“逗号表达式”。正确答案是C)。() 若变量a、i已正确定义,且i已正确赋值,合法的语句是 A) a==1 B) ++i; C) a=a++=5; D) a=int(i);讲解:(A)中是一个表达式,因为缺少分号,所以不是语句;(C)错误;(D)若改为a=(int)i;则是合法的语句,小括号写错了位置,从另一个角度理解,(D)的写法应该是一个函数调用语句,函数名是int,小括号中的i是实参,这样的话,函数名int又是不合法的,因为C规定:用户标识符(包括函数名)不能是关键字,而int是一个关键字。所以,正确答案是(B),它相当于语句i=i+1;() 若有以下程序段, int c1=1,c2=2,c3; c3=1.0/c2*c1; 则执行后,c3中的值是 A) 0 B) 0.5 C) 1 D) 2讲解:因为运算表达式中有一个浮点型数据1.0,所以,运算结果应该也是一个浮点类型,只有(B)符合这一条件,仅根据这一点就可以确定(B)是正确答案。该语句的执行过程(1)先将c2的值2转换为2.0;(2)计算1.0/2.0,得到中间结果0.5;(3)将c1的值1转换为1.0;(4)计算0.5*1.0,得到结果0.5;(5)将0.5赋值给变量c3。() 有如下程序 main{ int y=3,x=3,z=1; printf(“%d %d\n”,(++x,y++),z+2); } 运行该程序的输出结果是 A) 3 4 B) 4 2 C) 4 3 D) 3 3讲解:printf函数输出两个表达式的值,第一个是(++x,y++),它是逗号表达式,它的值应该就是y++的值3(关于逗号表达式,请参阅中的一个专题的内容);第二个表达式是z+2,它的值为3。所以,正确答案是(D)。() 能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是 A) a=10 or a=0 B) a=0|a=10 C) a=10 a=0 D) a=10a=0 讲解:题目要求很明确,两个关系式a≥10和a≤0之间是“或”的关系,C语言中,逻辑“或”用运算符“||”,四个选项中只有(D)满足这一条件,它就是正确答案。() 有如下程序 main { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++ case 2: a++;b++; } printf(“a=%d,b=%d\n”,a,b); } 该程序的输出结果是 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2讲解:该题目的关键是要搞清楚该程序执行了哪几条语句。由于x的值等于1,所以switch结构中,程序从case 1后面的语句开始执行,又因为case 1后面的语句没有以break结束,所以程序要继续往下执行case 2后面的语句。所以,该程序共执行了这三条语句:a++;a++;b++;因此,变量a和b最后的值应该为2和1,正确答案为(A)。() 有如下程序 main { float x=2.0,y; if(x0.0) y=0.0; else if(x10.0) y=1.0/x; else y=1.0; printf(“%f\n”,y); } 该程序的输出结果是 A) 0.000000 B) 0.250000 C) 0.500000 D) 1.000000讲解:该题目测验你对if...else if结构的理解,比较简单。x的值满足x10.0的关系,所以程序将执行y=1.0/x;语句,y的值应该等于0.5。最后,用printf函数输出时,%f的输出格式为小数点后保留6位,所以,(C)是正确答案。() 有如

文档评论(0)

xy88118 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档