- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言程序设计题目及解答-03
一、判断题?(10分)
1. 条件运算符“?:”的优先级高于赋值运算符。2分
2. 复合语句是由多条语句组成的,因此它不是一条语句。2分
3. if语句一定要结合else使用。2分
4. if语句可以嵌套使用,出现多个if和else时,可以使用递缩格式决定if和else的配对。
5. if(x0){if(x-1) y=-1;}else y=1;与if(x0)if(x-1) y=-1;else y=1;执行效果是一样的。2分
二、选择题?(50分)
1.有以下程序:
#include stdio.h
int main( )
{
int i=1,j=1,k=2;
if((j++ || k++) i++ )
printf(%d,%d,%d,i,j,k);
return 0;
}
执行后输出结果是:???[C] 2分
A. 1,1,2?????B. 2,2,1?????C. 2,2,2?????D. 2,2,3
2.若运行时给变量x输入12,则以下程序的运行结果是( )。?[B] 2分
#include stdio.h
int main ()
{
int x,y;
scanf(%d,x);
y=x12 ?(x+10):(x-12);
printf(%d,y);
return 0;
}
A. 12?????B. 0?????C. 22?????D. 10
3.若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( )。[B]
A. (exp==0)?????B. (exp!=0)?????C. (exp==1)?????D. (exp!=1)
4.当把以下4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是( )。???[D] 2分
A. k%2?????B. k%2==1?????C. (k%2) !=0?????D. !k%2==1
5.若有定义语句:int x=3,y=2,z=1;表达式 z*=(xy?++x:y++)的值是( )。???[D] 2分
A. 0?????B. 1?????C. 2?????D. 4
6.现在有以下定义,int a;double b;float c;char k;则下面的表达式a/b+c-k值的类型为:()。?[B] A. int?????B. double?????C. float?????D. char
7.若w=1,x=2,y=3,z=4,则条件表达式wx?w:yz?y:z的结果为( ).???[D] 2分
A. 4?????B. 3?????C. 2?????D. 1
8.能正确表示a和b同时为正或同时为负的逻辑表达式是______。???[D] 2分
A. (a=0||b=0)(a0|| b0)?????B. (a=0b=0)(a0b0)????
?C. (a+b0)(a+b=0)???? ?D. a*b0
9.设ch是char型变量,其值为A,且有下面的表达式
ch=(ch=Ach=Z)?(ch+32):ch
上面表达式的值是______。???[B] 2分
A. A?????B. a?????C. z?????D. z
10.下面程序
main()
{ int x=100, a=10, b=20, ok1=5, ok2=0;
if(ab)
if(b!=15)
if(!ok1) x=1;
else if(ok2) x=10;
x=-1;
printf(%d,x);
}
的输出是______。???[A] 2分
A. -1?????B. 0?????C. 1?????D. 不确定的值
11.设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是___。??[D] 2分
A. 6.500000?????B. 6?????C. 5.500000?????D. 6.000000
12.表达式:10!=9的值是______。???[D] 2分
A. true?????B. 非零值?????C. 0?????D. 1
13.若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是______。???[C] 2分
A. 1?????B. 2?????C. 2.0?????D. 2.5
14.有如下程序
main()
{ int y=3,x=3,z=1;
printf(%d %d\n,
文档评论(0)