一、判断题 (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 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 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 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 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 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
相关推荐: