C语言练习题(带详解答案) 联系客服

发布时间 : 星期五 文章C语言练习题(带详解答案)更新完毕开始阅读969235c54128915f804d2b160b4e767f5acf80e1

continue;

printf(?s=%d count=%d\\n?,s,count);

5. 从键盘输入整数x的值,并输出y的值.

main()

{ float x,y;

scanf(?%d?,&x);

y=3.5+x;

printf(?y=%d?); }

正确的: int x; float y; printf(?y=%f?,y);

6 编程计算下面分段函数, 输入x, 输出y

x?0?x?1?y??2x?10?x?10

?3x?11x?10?main() { int x,y;

printf(?\\n Input x:\\n?);

scanf(?%d?, x); // 错误同上题scanf

if(x<0) y=x-1;

else if(x>=0||x<=10) // ||表示逻辑或,当左边表达式成立或者右边表达式成立时,

整个表达式成立。 &&表示逻辑与,当左边表达式和右边表达式同时成立时,整个表达式成立。此处用逻辑表达式来表示x的区间[0,10], 因此应改用逻辑与符号 y=2x-1; // C语言中乘号不能省略,且用*表示乘法运算

else

y=3x-1; // C语言中乘号不能省略,且用*表示乘法运算

printf(?y=%d?,&y); //printf与scanf不用,printf后面给出的是变量名列表或

表达式列表,无需地址符号

}

第一处改为:scanf(?%d?,& x); 第二处改为:x>=0&&x<=10 第三处改为:y=2*x-1; 第四处改为:y=3*x-1;

第五处改为:printf(?y=%d?,y);

7. 求100~300间能被3整除的数的和。

main() { int n;

long sum; / /若定义变量的语句有错误,常见考点有两个:(1)变量的类型,(2)在定义用于存放运算结果的变量时,一定要赋初值, 一般赋值0或者循环初值。

for(n=100,n<=300,n++) // for语句的格式,三个表达式之间用分号,且分号不可省略 {

if(n%3=0) // = 是赋值符号,用于将右边的值赋给左边的变量;== 是关系符

号,用来判断两个值是否相等 。改错中if后面表达式中的赋值符号是常见的考点。 sum=sum*n; }

printf(?%ld ?,sum); } 第一处改为:long sum=0;

第二处改为:for(n=100;n<=300;n++) 第三处改为:if(n%3==0) 第四处改为:sum=sum+n; 8. 求表达式c?ab的值

#include #include

int fun(int x, int y); main()

{ int a,b; float f;

scanf(?%d,%d?,a,b); //与改错第1题中的scanf错误相同 if(ab>0){ // C语言中乘号不能省略,且用*表示乘法运算

fun(a,b); // 调用带有返回值的函数,应将函数的返回值保存在变量里 printf(\ //与第6题中printf错误相同 }

else printf(?error!?);}

fun(x, y) // 定义函数的一般形式p173-174 { float result;

result = sqrt(a+b);

return; //return语句后面可以返回0、常量、变量和表达式的值。

} 第一处改为:if(a*b>0) 第二处改为:f= fun(a,b);

第三处改为:printf(\第四处改为:float fun(int x, int y)