一、固定格式
这个是C程序的基本框架,需要记住!!!
cpp
#include<stdio.h>
int main(){
return 0;
}
二、printf 语句
简单输出一句C程序:
cpp
#include<stdio.h>
int main(){
printf("大家好,");
printf("我是");
printf("沐尘而生!");
return 0;
}
运行结果:
例 2:
cpp
#include<stdio.h>
int main(){
printf("大家好,\n");
printf("我是\n");
printf("沐尘而生!\n");
return 0;
}
运行结果:
例 3:使用"\t"
cpp
#include<stdio.h>
int main(){
printf("大家好,");
printf("我是\t");
printf("沐尘而生!\n");
return 0;
}
代码编写:
运行结果:
例 4:请编写一个C程序,输出以下信息:
****************
沐尘而生贼溜!
****************
cpp
#include<stdio.h>
int main()
{
printf("***************\n");
printf("沐尘而生贼溜!\n");
printf("***************");
return 0;
}
代码编写:
运行结果:
三、int、float、double、char 型数据
C语言中有多种数据类型,用于存储不同类型的数据
int(整数)
int
用于表示整数值。它通常占据4个字节,可以存储从-2,147,483,648到2,147,483,647之间的整数
cpp
int age = 25;
float(浮点数)
float
用于表示带有小数点的数值。它通常占据4个字节
cpp
float price = 12.99;
double(双精度浮点数)
double
用于表示更高精度的浮点数,通常占据8个字节
cpp
double pi = 3.14159265359;
char(字符)
char
用于表示单个字符
cpp
char grade = 'A';
综合一:
cpp
#include <stdio.h>
int main() {
int a = 5, b, c, d, e, f;
b = a + 2;
c = b - a;
d = a * c;
e = 0;
f = 0;
if (d != 0) {
e = a / d;
f = a % d;
}
return 0;
}
四、用 printf 语句输出 int、float、double、char 型数据
要输出不同类型的数据,我们可以使用 printf
函数
输出整数:
cpp
int age = 25;
printf("年龄:%d\n", age);
输出浮点数:
cpp
float price = 12.99;
printf("价格:%f\n", price);
输出双精度浮点数:
cpp
double pi = 3.14159265359;
printf("π的值:%lf\n", pi);
输出字符:
cpp
char grade = 'A';
printf("成绩:%c\n", grade);
综合一:
cpp
#include <stdio.h>
int main() {
int a = 5, b, c, d, e, f;
b = a + 2;
c = b - a;
d = a * c;
e = a / d;
f = a % d;
return 0;
}
综合二:
cpp
#include <stdio.h>
int main() {
double a, b, c, s;
a = 3.67;
b = 5.43;
c = 6.21;
s = (a + b + c) / 3.0; // 注意使用3.0来获得浮点数结果
printf("平均值:%lf\n", s); // 输出平均值
return 0;
}
运行结果:
综合三:将大写转换为小写
cpp
#include <stdio.h>
int main() {
char a = 'B', b = 'O', c = 'Y';
// 将大写字符转换为小写字符
a = a + 32;
b = b + 32;
c = c + 32;
printf("a: %c, b: %c, c: %c\n", a, b, c); // 输出转换后的字符
return 0;
}
运行结果:
printf
中的格式化字符串(比如 %d
、%f
、%lf
、%c
)与要输出的数据类型相对应。
五、用 scanf 语句输入 int、float、double、char 型
要从用户获取输入,我们可以使用 scanf
函数
输入整数:
cpp
int age;
printf("请输入年龄:");
scanf("%d", &age);
输入浮点数:
cpp
float price;
printf("请输入价格:");
scanf("%f", &price);
输入双精度浮点数:
cpp
double pi;
printf("请输入π的值:");
scanf("%lf", &pi);
输入字符:
cpp
char grade;
printf("请输入成绩:");
scanf(" %c", &grade);
综合一:
cpp
#include <stdio.h>
int main() {
int a = 5, b, c, d, e, f;
b = a + 2;
c = b - a;
d = a * c;
e = a / d;
f = a % d;
printf("a=%d, b=%d, c=%d\n", a, b, c);
printf("e=%d, f=%d\n", e, f);
return 0;
}
运行结果:
综合二:求 123 与 456 的和
cpp
#include <stdio.h>
int main() {
int a, b, sum;
a = 123;
b = 456;
sum = a + b;
printf("和是%d\n", sum);
return 0;
}
运行结果:
综合三:
cpp
#include <stdio.h>
int main() {
double a, b, c, s;
a = 3.67;
b = 5.43;
c = 6.21;
s = (a + b + c) / 3;
printf("设定的 a 是%f,b 是%f,c 是%f\n", a, b, c);
printf("求得的 s 是%f\n", s);
return 0;
}
运行结果:
综合四:
cpp
#include <stdio.h>
int main() {
char a = 'B', b = 'O', c = 'Y';
a = a + 32;
b = b + 32;
c = c + 32;
printf("小写字母依次是%c%c%c\n", a, b, c);
return 0;
}
运行结果:
六、putchar()语句、getchar()语句
putchar()
和 getchar()
是用于字符输入输出的函数。它们可以用于处理单个字符。
输出字符:
cpp
char letter = 'A';
putchar(letter); // 输出字符 'A'
输入字符:
cpp
char inputChar;
printf("请输入一个字符:");
inputChar = getchar(); // 从用户获取一个字符
putchar(inputChar); // 输出用户输入的字符
综合一:输入一个大写字母,可以输出一个小写字母。
bash
#include <stdio.h>
int main() {
char a, b;
printf("请输入大写字母:\n");
scanf("%c", &a);
b = a + 32;
printf("%c 的小写字母是 %c\n", a, b);
return 0;
}
运行结果:
七、𝐞^𝐱、log 等数学运算
C语言提供了丰富的数学函数库,可以进行各种数学运算,例如指数运算和对数运算
cpp
#include <math.h>
double base = 2.0;
double exponent = 3.0;
double result = pow(base, exponent); // 计算 2^3
printf("2的3次方:%lf\n", result);
double x = 10.0;
double logarithm = log(x); // 计算自然对数
printf("自然对数:%lf\n", logarithm);
综合一:给出三角形三边 a、b、c 的长,利用公式area=√𝐬(𝐬 − 𝐚)(𝐬 − 𝐛)(𝐬 − 𝐜),求该三角形的面积 area(公式中的 s= 𝐚+𝐛+𝐜 )
cpp
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c, s, area;
printf("请输入三角形的三边长(以逗号分隔):\n");
scanf("%lf,%lf,%lf", &a, &b, &c);
s = (a + b + c) / 2;
area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("a=%f\tb=%f\tc=%f\n", a, b, c);
printf("面积=%f\n", area);
return 0;
}
运行结果(以3,4,5为例):
综合二:假如沐尘而生的同事小翟的年薪增长率为−10%,请利用公式p=(𝟏 + 𝐫)𝐧 计算 10 年后他的年薪与今年相比增长了多少。(公式中的 r 为年增长率,n 为年数,p 为与今年相比的倍数)
cpp
#include <stdio.h>
#include <math.h>
int main() {
double r, n, p;
r = -0.1;
n = 10;
p = pow(1 + r, n);
printf("p=%f\n", p);
return 0;
}
运行结果:
八、三个例子:
1. 使用 %m.nf
格式控制符
%m.nf
是一种格式控制符,用于格式化输出浮点数。m
表示最小字段宽度,即输出的数字占用的最少字符数。n
表示小数部分的位数。f
表示浮点数类型。
示例代码:
cpp
#include <stdio.h>
int main() {
double a, b, c;
a = 3.67;
b = 5.43;
c = 6.21;
printf("设定的 a 是%5.2f,b 是%-5.2f,c 是%7.4f\n", a, b, c);
return 0;
}
运行结果:
cpp
设定的 a 是 3.67,b 是5.43,c 是 6.2100
2. 使用 %e
格式控制符
%e
是一种格式控制符,用于输出科学计数法表示的浮点数。- 它将一个浮点数以
x.xxxe±xx
的形式输出,其中x
是数字,±xx
表示指数部分。
示例代码:
cpp
#include <stdio.h>
int main() {
printf("小翟的身高是%10.2e 厘米\n", 183.456);
return 0;
}
运行结果:
cpp
小翟的身高是 1.83e+02 厘米
3. 强制类型转换 (int)(表达式)
(int)(表达式)
是一种类型转换操作,它将表达式的结果强制转换为整数类型,并抹去小数部分。- 这通常用于将浮点数转换为整数,得到整数的部分。
示例代码:
cpp
#include <stdio.h>
int main() {
double a;
int ge, shi, bai;
printf("请输入数字\n");
scanf("%lf", &a);
bai = (int)(a / 100);
shi = (int)((a - bai * 100) / 10);
ge = (int)(a - bai * 100 - shi * 10);
printf("个位数字%d\n", ge);
printf("十位数字%d\n", shi);
printf("百位数字%d\n", bai);
return 0;
}
运行结果(假设输入为123.456):
cpp
请输入数字
个位数字6
十位数字5
百位数字1
九、综合模块
请编写一个C程序,要求用户输入一个三角形的三边长(a、b、c),然后计算并输出以下内容:
1. 三角形的周长。
2. 三角形的面积(使用海伦公式)。
3. 三角形的类型(等边、等腰、或普通三角形)。
注意:
- 请使用
%lf
作为scanf
中读取浮点数的格式说明符。 - 使用
%f
作为printf
中打印浮点数的格式说明符。 - 使用
pow
函数计算幂次。 - 要考虑输入的边长是否满足构成三角形的条件。
代码演示:
cpp
#include <stdio.h>
#include <math.h>
int main() {
double a, b, c;
printf("请输入三角形的三边长 a, b, c(以空格分隔):\n");
scanf("%lf %lf %lf", &a, &b, &c);
// 判断输入是否构成三角形
if (a + b > c && a + c > b && b + c > a) {
// 计算三角形的周长
double perimeter = a + b + c;
printf("三角形的周长为:%f\n", perimeter);
// 计算三角形的半周长
double s = perimeter / 2;
// 计算三角形的面积(使用海伦公式)
double area = sqrt(s * (s - a) * (s - b) * (s - c));
printf("三角形的面积为:%f\n", area);
// 判断三角形的类型
if (a == b && b == c) {
printf("这是一个等边三角形。\n");
} else if (a == b || a == c || b == c) {
printf("这是一个等腰三角形。\n");
} else {
printf("这是一个普通三角形。\n");
}
} else {
printf("输入的边长无法构成一个三角形。\n");
}
return 0;
}
运行结果(以输入2,2,4为例):
总结讲解:
- 用户被提示输入三角形的三边长(a、b、c)。
- 程序检查输入的边长是否满足构成三角形的条件。如果不满足条件,程序将输出错误消息并退出。
- 如果边长满足条件,程序计算三角形的周长并输出。
- 然后,程序计算三角形的半周长以用于后续的面积计算。
- 使用海伦公式,程序计算并输出三角形的面积。
- 最后,程序根据边长的相等性来判断三角形的类型,并输出相应的消息。
这个程序结合了输入、条件判断、数学计算和输出,是一个综合性的示例,涵盖了C语言的多个基本概念。