C语言练习作业及参考答案 联系客服

发布时间 : 星期四 文章C语言练习作业及参考答案更新完毕开始阅读241043b685254b35eefdc8d376eeaeaad1f316d4

b = !'a'; b = !0; c = 1&&2; c = a&&2; d = a||2; d = a||c; return(0); } 运行结果 0 1 1 1 0 1 0

(3)

printf(\printf(\printf(\printf(\printf(\printf(\

#include int main() {

int op1,op2,result; char operato;

scanf(\ operato=getchar(); while(operato!='='){

scanf(\ switch(operato){

case '+': result =op1+op2;break; case '-': result =op1-op2;break; case '*': result =op1*op2;break; case '/': result =op1/op2;break; default: result =0; }

op1= result;

operato=getchar(); }

printf(\ return(0); }

程序运行时,

输入2*3?4=,输出: 输入2+1/4=,输出:

输入1+2*5?10/2=,输出:

9 / 13

(4)

#include int main() {

float a=2.5,b=3.4; int c,d; c=(a>b);

printf(\ d=(c==0);

printf(\ return(0); }

运行结果

(5)

#include int main() {

int testnum,remainder;

printf(\ scanf(\ remainder=testnum%2; if(remainder==0)

printf(\ else

printf(\ return(0); }

运行结果

(6)

#include int main() {

int i;

scanf(\ switch(i) {

case1:

case2:putchar('i');

case3:printf(\ default:printf(\

}

return(0);

10 / 13

}

运行结果

(7)下面程序运行时,分别输入‘5’、‘D’、‘w’和‘!’后的输出结果是什么?

#include int main() {

char c;

scanf(\ if(c>='0'&&c<='9') printf(\

else if(c>='A'&&c<='Z') printf(\ else if(c>='a'&&c<='z') printf(\ else

printf(\ return(0); }

运行结果

2、写程序

(1) 有一分段函数如下:

?2x3?y??x?1??2x?写程序实现,输入x值,输出y值。

(?5?x?0)(x?0)(0?x?10)

(2)编写程序实现,输入一个整数,判断它能否被3、5、7整除,并输出以下信息之一:

1)同时被3、5、7整除;

2)能被其中两个数整除(要指出是哪两个数); 3)能被其中一个数整除(要指出是哪个数); 4)不能被3、5、7中任意一个整数整除。 (3) 某幼儿园收2岁到6岁的儿童,2、3岁儿童进小班,4岁儿童进中班,5、6岁儿童进大班,用switch语句编程实现,输入一个儿童的年龄,输出该儿童应当进入的班级。 (4)编程实现,输入4个整数,按从小到大的顺序输出。

(5)给一个不多于5位的正整数,要求:①求出它是几位数;②分别打印出每一位数字;③按逆序打印出各位数字,例如原数为321,应输出123。

(6) 企业发放的奖金根据利润提成。利润I低于或等于10万元的,奖金可提10%;利润高于10万元,低于20万元(100000

11 / 13

100000元的部分,可提成7.5%;200000

要求:(1)用if语句编程序;(2)用switch语句编程序。

(7)编写程序实现功能:输入整数a和b,若a2+b2>100,则输出a2+b2之和的百位以上的数字,否则直接输出a2+b2的和。

(8)编写程序判断输入的正整数是否既是5又是7的整数倍。若是则输出“yes”,否则输出“no”。

二、单项选择题

1、“基本结构”不具有以下特点( ) A. 只有一个入口,只有一个出口 B. 没有死循环 C. 没有永远执行不到的语句 D. 不允许退出循环 2、 在流程图中,菱形框表示的操作是( ) A. 数据的输入输出 B. 程序的开始 C. 条件判断 D. 赋值 3、以下程序的运行结果是( ) #include main()

{int m=5,n=10;

printf(\}

A. 5,9 B.6,9 C. 5,10 D.6,10 4、逻辑运算符两侧的数据类型( )

A. 只能是0和1 B. 只能是0或非0正数 C. 只能是整型或字符型数据 D. 可以是任何类型的数据 5、下列关系表达式结果为假的是( )

A. 0!=1 B. 2<=8

C. (a=2*2)= =2 D. y=(2+2)= =4 6、下列运算符中优先级最低的是( )

A. ?: B. += C. >= D. = =

12 / 13

5、下面四个选项中,均是合法整型常量的选项是_______。

A)160 B)-0xcdf C)-01 D)-0x48a -0xffff 0la 986,012 2e5 011 0xe 0668 0x

6、下面正确的字符常量是_______。 A)“c” B)‘\\” C) ‘W’ D) ‘’

7、若有代数式3ae/bc,则不正确的c语言表达式是_______。 A)a/b/c*e*3 B) 3*a*e/b/c C)3*a*e/b*c D)a*e/c/b*3

8、sizeof(float)是_______。 A)一个双精度型表达式 B)一个整型表达式

C) 一个单精度型表达式 D)一个不合法的表达式

9、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为_______。

A)int B)float C)double D)不确定

10、在C语言中,char型数据在内存中的存储形式是_______。 A)补码 B)反码 C)原码 D)ASCII码

11、设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是_______。

A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100. 0 C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0

12、设以下变量均为int类型,则值不等于7的表达式是。 A)(x=y=6,x+y,x+1) B)(x=y=6,x+y,y+1) C)(x=6,x+1,y=6,x+y) D)(y=6,y+1,x=y,x+1)

13 / 13