1.1 Hello world.
让我们用C语言向世界问好。 最早的程序基本是这个样子的: 程序一: #include
printf(\} 程序二: #include
printf(\ return 0; }
上面的程序你任意模仿一个,看看是否可以通过?如果你能通过这个简单的程序,那就让我们继续完成后面的习题吧。 输入:无 输出:Hello world. #include
printf(\}
1.2 Welcome to Beijing.
让我们来练习如何显示多行文字。 输入:无
输出:就是下面的那段文字。 #include
{printf(\printf(\printf(\}
1.3 练习最简单的printf和scanf
printf函数和scanf函数是C语言中最常用的函数之一,下面让我们练习一下吧。 输入:整型变量x的值。
输出:输出整型变量x对应的十进制、八进制和十六进制形式。 认真观察-1的八进制和十六进制输出,请想想是为什么。 #include
scanf(\printf(\
- 1 -
printf(\printf(\return 0; }
1.4 练习两个整数之间的运算 背景:基本练习。
输入:接受两个整数,每个整数之间使用空格分隔。例如输入格式为:123 444 输出:分别输出进行+、-、*、/、*之后的运行结果。 #include
scanf(\ printf(\ printf(\ printf(\ printf(\ printf(\ return 0; }
1.5 学习打印你的第一个图形
背景:我们已经学习了printf函数,这里给出了一个小程序,它运行的结果是输出一个由星号(*)组成的4*4的正方形。 程序如下: #include
printf(\ printf(\ printf(\ printf(\ return 0; }
要求:按照上面的程序范例,编写一个小程序,要求输出的是 4 行由*号组成的等腰三角形。 输入:无。 输出:指定图形。 #include
printf(\ *\\n\ printf(\ ***\\n\ printf(\ printf(\ return 0; }
2.1 整型数的表示范围
- 2 -
编写一个循环程序,输入 N 值,输出 N 的阶乘。关于循环程序怎么编写,可以参考教材第3章P66页的例题4.2和第5章P82的例题5.1的内容。注意整型数的表示范围,如果当输入的 N 比较大时,例如 N 等于 20 时,输出怎么是负数了?自己想明白吧! #include
scanf(\if(N<=16) {for (i=1;i<=N;i++) sum=sum*i; printf(\} if(N>=17)
printf(\}
2.2 求正弦函数值
已知求正弦 sin(x) 的近似值的多项式公式为:
sin(x) = x - x3/3! + x5/5! - x7/7!+ …… + (-1)n x2n+1/(2n+1)! + …
编写程序,要求输入 x (单位是弧度)和ε,按上述公式计算 sin(x) 的近似值,要求计算的误差小于给定的ε。 此题当然要用到循环语句,到第5章去找个猫来照着画吧,循环的终止条件就是本次计算出来的正弦函数值和上次计算的值的差小于给定的ε。求两个值的差时,要求出其绝对值,使用库函数fabs(),头文件在math.h里。
友情提示:给定的误差值ε越小,计算的精度越高,但是要注意喽,给的精度太高,你的程序会成为死循环。如果出现死循环的情况,可以用
{ float x,eps,s,y=0,y0,t; int n,j;
scanf(\ n=t=j=1; s=x; do { y0=y;
if (n%2==0) y=y-s/t; else y=y+s/t; s*=x*x; t*=(j+1)*(j+2); j+=2; n++;
} while(fabs(y0-y)>eps); printf(\system(\
- 3 -
return 0; }
2.3 判断输入的字符的类型
我们将字符分为五类:大写字母、小写字母、数字、控制字符、其他字符。
编写程序,从键盘输入一个字符,输出字符所属的类型:大写字母时输出capital letters, 小写字母时输出small letters,数字是输出figures,其他字符时输出 others。 #include
c = getchar ( ); if (c < 0x20)
printf (\ else if (c >= '0' && c <= '9') printf (\ else if (c >= 'A' && c <= 'Z')
printf (\ else if (c >= 'a' && c <= 'z')
printf (\ else
printf (\}
3.1 找零钱
假定有 5 角、 1 角、 5 分、 2 分和 1 分共 5 种硬币,在 给顾客找硬币时,一般都会尽可能地选用硬币个数最小的方法。 例如,当要给某顾客找 7 角 2 分钱时,会给他一个 5 角, 2 个 1 角 和 1 个 2 分的硬币。试编写一个程序,输入的是要找给顾客的零 钱(以分为单位),输出的是应该找回的各种硬币数目,并保 证找回的硬币数最少。 #include
int x1,x2,x3,x4,x5; int x;
scanf(\ x1=x/50; x2=xP/10; x3=xP/5; x4=xP%5/2; x5=xP%5%2/1; printf(\ printf(\ printf(\ printf(\ printf(\ return 0; }
- 4 -