https://www.shiyanlou.com/courses/running 在实验楼学习
http://c.biancheng.net/cpp/html/33.html 在这里找资料
2.1
2.2
int main()
{
int a = 5;
printf("%d\n",a++);
printf("%d\n",++a);
return 0;
}
输出的结果是:5,7
思考题:
要求给定一个大写字母要求用小写字母输出
提示:
字符数据以 ASCII 码存储在内存中,形式与整数的存储形式相同,所以字符型数据和其他算数型数据之间可以相互赋值和运算。 通过 ASCII 码表我们可以找到同一个字母的大写形式和小写形式之间有什么内在的联系。那就是同一个字母,用小写表示的字符的 ASCII 码比用大写表示的 ASCII 码大 32。
答案:
#include
int main()
{
char c1,c2;
printf(“Please enter a capital letter:”);
scanf("%c",&c1);
c2 = c1 + 32;
printf("\n%c",c2);
return 0;
}
例子:
#include
int main(void){
int a=88,b=89;
3. printf("%d %d\n",a,b);
4. printf("%d,%d\n",a,b);
5. printf("%c,%c\n",a,b);
6. printf(“a=%d,b=%d”,a,b);
return 0;
}
本例中四次输出了a、b的值,但由于格式控制串不同,输出的结果也不相同。第3行的输出语句格式控制串中,两格式串%d 之间加了一个空格(非格式字符),所以输出的a、b值之间有一个空格。第4行的printf语句格式控制串中加入的是非格式字符逗号,因此输出的a、b值之间加了一个逗号。第5行的格式串要求按字符型输出a、b值。第6行中为了提示输出结果又增加了非格式字符串。
例子:
#include
int main(void){
int a=15;
long float b=123.1234567;
// 原来b的定义为 float b=123.1234567;
// 经读者@邓小良反馈,笔者发现会溢出,在前面加了long
double c=12345678.1234567;
char d=‘p’;
printf(“a=%d\n”, a);
printf(“a(%%d)=%d, a(%%5d)=%5d, a(%%o)=%o, a(%%x)=%x\n\n”,a,a,a,a); // %% 可以输出 %
printf(“a=%f\n”, b);
printf(“b(%%f)=%f, b(%%lf)=%lf, b(%%5.4lf)=%5.4lf, b(%%e)=%e\n\n”,b,b,b,b);
printf(“c=%f\n”, c);
printf(“c(%%lf)=%lf, c(%%f)=%f, c(%%8.4lf)=%8.4lf\n\n”,c,c,c);
printf(“d=%c\n”, d);
printf(“d(%%c)=%c, d(%%8c)=%8c\n”,d,d);
return 0;
}
2.4
强制类型转换:
2.5 数据的输入和输出
#include
#include
int main()
{
double a,b,c,disc,x1,x2,p,q;
scanf("%lf%lf%lf",&a,&b,&c);
disc = b * b - 4 * a * c;
p = -b / (2.0 * a);
q = sqrt(disc) / (2.0 * a);
x1 = p + q,x2 = p - q;
printf(“x1=%7.2f\nx2=%7.2f\n”,x1,x2); //格式符 “f” 的前面加了 “7.2”。表示的意思是在输出 x1,x2 时,指定数据占 7 列,其中小数占 2 列。
return 0;
}
编译的语句:gcc -o 5-5 5-5.c -lm
注意:要加-lm
使用putchar()来输出字符
例子:
#include
void main()
{
char a,b,c;
a = ‘O’;b = ‘K’;c = ‘\n’;
putchar(a);
putchar(b);
putchar©;
}
结果为:OK
使用getchar()来输入字符
例子:
#include
int main()
{
char c;
printf(“Input an uppercase letter:\n”);
c = getchar();
putchar(c + 32);
return 0;
}
课后作业:
将ShiYanLou全部以下一个字母输出
漂亮标准的答案:
#include
int main()
{
//初始化字符
char str[9] ={'S','h','i','Y','a','n','L','o','u'};
//字符加1
for(int i=0;i<9;i++)
str[i] += 1;
//printf打印
for(int i=0;i<9;i++)
printf("%c",str[i]);
printf("\n");
//putchar打印
for(int i=0;i<9;i++)
putchar(str[i]);
return 0;
}
计算圆柱的底面周长、底面积、体积
漂亮标准的答案:
#include
#define PI 3.14159
int main()
{
//初始化数据
float r = 2.5;
int h = 3;
float area,cir,vol;
//计算
cir = PI * r * 2;
area = PI * r * r;
vol = area * h;
printf("cir=%.2f,area=%.2f,vol=%.2f",cir,area,vol);
return 0;
}