第一范文网 - 专业文章范例文档资料分享平台

C语言程序设计题目及解答-03

来源:用户分享 时间:2025/11/28 2:01:18 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

一、判断题 (10分)

1. 条件运算符“?:”的优先级高于赋值运算符。2分

2. 复合语句是由多条语句组成的,因此它不是一条语句。2分 3. if语句一定要结合else使用。2分 4. if语句可以嵌套使用,出现多个if和else时,可以使用递缩格式决定if和else的配对。 5. if(x<0){if(x<-1) y=-1;}else y=1;与if(x<0)if(x<-1) y=-1;else y=1;执行效果是一样的。

二、选择题 (50分) 1.有以下程序: #include int main( ) {

int i=1,j=1,k=2;

if((j++ || k++) &&i++ ) printf(\ 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 int main () {

int x,y;

scanf(\ y=x>12 ?(x+10):(x-12); printf(\

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*=(x>y?++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,则条件表达式w

8.能正确表示a和b同时为正或同时为负的逻辑表达式是______。 [D] 2分 A. (a>=0||b>=0)&&(a<0|| b<0) B. (a>=0&&b>=0)&&(a<0&&b<0) C. (a+b>0)&&(a+b<=0) D. a*b>0

2分

9.设ch是char型变量,其值为A,且有下面的表达式 ch=(ch>='A'&&ch<='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(a

if(b!=15) if(!ok1) x=1; else if(ok2) x=10; x=-1;

printf(\ }

的输出是______。 [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] 2分 A. 3 4 B. 4 2 C. 4 3 D. 3 3 15.有如下程序段 int a=14,b=15,x; char c='A';

x=(a && b) && (c<'B');

执行该程序段后,x的值为______。 [D] 2分

A. true B. false C. 0 D. 1

16.下列关于单目运算符++、--的叙述中正确的是______。 [D] 2分 A. 它们的运算对象可以是任何变量和常量

B. 它们的运算对象可以是char型变量和int型变量,但不能是float型变量 C. 它们的运算对象可以是int型变量,但不能是double型变量和float型变量

D. 它们的运算对象可以是char型变量、int型变量和float型变量

17.设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是______。 [C] 2分

A. x=x*100+0.5/100.0; B. x=(x*100+0.5)/100.0 C. x=(int)(x*100+0.5)/100.0; D. x=(x/100+0.5)/100.0;

18.设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为______。 [C] 2分

A. 0 B. 1 C. 2 D. 3

19.以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是______。 [A] 2分 A. 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;

20.若变量c为char类型,能正确判断出c为小写字母的表达式是 [D] 2分

A. 'a'<=c<= 'z' B. (c>= 'a')||(c<= 'z') C. ('a'<=C)and ('z'>=c) D. (c>= 'a')&&(c<= 'z') 21.若x是单精度实型变量,表达式 (x = 10/4) 的值是() [B] 2分

A. 2.5 B. 2.0 C. 3 D. 2

22.已定义ch为字符型变量,以下赋值语句中错误的是______ . [C] 2分 A. ch=100; B. ch='\\x15' C. ch='\\'; D. ch=NULL;

23.若有说明 int x,y;不能实现以下函数关系的程序段是______ . [B] 2分 y=-1 (x<0)

y=0 (x=0) y=1 (x>0)

A. if (x<0) y= -1 ;else if(x= =0) y=0; else y=1; B. y= -1; if (x!=0) if (x>0) y=1; else y=0; C. y=0; if (x>=0) {if (x>0) y=1;} else y= -1;

D. if (x>=0) if (x>0) y=1; else y=0; else y= -1;

24.两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是() [A] 2分 #include int main(void) { int x;

scanf (\

if (x++>5) printf(\ else printf(\

return 0; }

A. 7和5 B. 6和4 C. 7和4 D. 6和5 25.下列程序的输出结果是() [B] 2分 #include void main( ) {

int a=0;

if(a=1) a+=10; printf(\}

A. a=10 B. a=11 C. a=1 D. a=0 三、程序填空题 (10分)

功能:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润

高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?

#include void main() {

long int i;

int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf(\ bonus1=__(1)__;

bonus2=bonus1+100000*0.075; bonus4=bonus2+200000*0.05; bonus6=bonus4+200000*0.03; bonus10=bonus6+400000*0.015;

if(i<=100000) bonus=i*0.1;

else if(__(2)__) bonus=bonus1+(i-100000)*0.075;

else if(400000>=i) bonus=bonus2+(i-200000)*0.05;

else if(600000>=i) bonus=bonus4+(i-400000)*0.03; else if(i<=1000000)

bonus=bonus6+(i-600000)*0.015; else

bonus=bonus10+__(3)__; printf(\}

(1)答案 4分 100000*0.1 (2)答案 3分 200000>=i (3)答案

3分

(i-1000000)*0.01

四、程序设计题 (30分) 1. 温度转换(2) 10分 题目描述

华氏温度F和摄氏温度C是两种最常见的表示温度的方法,他们之间的转化公式如下:C=5/9*(F-32)。 输入描述

输入数据包含一个字符(仅限F或者C)和一个温度值,字符F或者C分别表示对应的温度是华氏温度或摄氏温度。 输出描述

请计算并输出转换后的另外一种温度,输入和输出数据格式参见样例,小数点后要求保留2

搜索更多关于: C语言程序设计题目及解答-03 的文档
C语言程序设计题目及解答-03.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c4fbmj8rnqu4uc568dlzp_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top