前面我介绍新手小白可以系统化学习C语言的步骤,以下是十七个简单的C语言例程,用到的都是一些基础的语句,希望能帮助新手更好地理解C语言:
1. 打印"Hello, World!"到控制台
```c
#include <stdio.h>
int main() {
printf("Hello, World!");
return 0;
}
```
2. 从控制台读取用户输入的整数,并打印出来
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
printf("您输入的整数是:%d", num);
return 0;
}
```
3. 计算并打印两个整数的和
```c
#include <stdio.h>
int main() {
int num1, num2, sum;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("两个整数的和是:%d", sum);
return 0;
}
```
4. 计算并打印两个整数的差值
```c
#include <stdio.h>
int main() {
int num1, num2, diff;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
diff = num1 - num2;
printf("两个整数的差是:%d", diff);
return 0;
}
```
5. 计算并打印两个整数的乘积
```c
#include <stdio.h>
int main() {
int num1, num2, prod;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
prod = num1 * num2;
printf("两个整数的乘积是:%d", prod);
return 0;
}
```
6. 计算并打印两个整数的商
```c
#include <stdio.h>
int main() {
int num1, num2;
float quotient;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
quotient = (float) num1 / num2;
printf("两个整数的商是:%.2f", quotient);
return 0;
}
```
7. 比较两个整数的大小,并打印结果
```c
#include <stdio.h>
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
if (num1 > num2) {
printf("%d 大于 %d", num1, num2);
} else if (num1 < num2) {
printf("%d 小于 %d", num1, num2);
} else {
printf("%d 等于 %d", num1, num2);
}
return 0;
}
```
8. 判断一个整数是否为正数、负数或零,并打印结果
```c
#include <stdio.h>
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (num > 0) {
printf("%d 是正数", num);
} else if (num < 0) {
printf("%d 是负数", num);
} else {
printf("%d 是零", num);
}
return 0;
}
```
9. 判断一个年份是否为闰年,并打印结果
```c
#include <stdio.h>
int main() {
int year;
printf("请输入一个年份:");
scanf("%d", &year);
if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) {
printf("%d 是闰年", year);
} else {
printf("%d 不是闰年", year);
}
return 0;
}
```
10. 打印从1到N的所有整数
```c
#include <stdio.h>
int main() {
int i, N;
printf("请输入一个整数N:");
scanf("%d", &N);
printf("从1到%d的所有整数:", N);
for (i = 1; i <= N; i++) {
printf("%d ", i);
}
return 0;
}
```
11. 计算并打印1到N的所有整数的和
```c
#include <stdio.h>
int main() {
int i, N, sum = 0;
printf("请输入一个整数N:");
scanf("%d", &N);
for (i = 1; i <= N; i++) {
sum += i;
}
printf("1到%d的所有整数的和是:%d", N, sum);
return 0;
}
```
12. 打印斐波那契数列的前N个数字
```c
#include <stdio.h>
int main() {
int i, N, prevNum = 0, currNum = 1, nextNum;
printf("请输入一个整数N:");
scanf("%d", &N);
printf("斐波那契数列的前%d个数字:", N);
for (i = 1; i <= N; ++i) {
printf("%d ", prevNum);
nextNum = prevNum + currNum;
prevNum = currNum;
currNum = nextNum;
}
return 0;
}
```
13. 打印指定行数的等腰三角形
```c
#include <stdio.h>
int main() {
int i, j, rows;
printf("请输入行数:");
scanf("%d", &rows);
for (i = 1; i <= rows; ++i) {
for (j = 1; j <= rows - i; ++j) {
printf(" ");
}
for (j = 1; j <= 2 * i - 1; ++j) {
printf("*");
}
printf("\n");
}
return 0;
}
```
14. 判断一个整数是否为素数,并打印结果
```c
#include <stdio.h>
#include <stdbool.h>
bool isPrime(int num) {
int i;
if (num <= 1) {
return false;
}
for (i = 2; i <= num / 2; ++i) {
if (num % i == 0) {
return false;
}
}
return true;
}
int main() {
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (isPrime(num)) {
printf("%d 是素数", num);
} else {
printf("%d 不是素数", num);
}
return 0;
}
```
15. 进行整数交换的函数
```c
#include <stdio.h>
void swap(int* a, int* b) {
int temp = *a;
*a = *b;
*b = temp;
}
int main() {
int num1, num2;
printf("请输入两个整数:");
scanf("%d %d", &num1, &num2);
printf("交换前:num1 = %d, num2 = %d\n", num1, num2);
swap(&num1, &num2);
printf("交换后:num1 = %d, num2 = %d\n", num1, num2);
return 0;
}
```
16. 计算一个字符串的长度
```c
#include <stdio.h>
int stringLength(const char* str) {
int len = 0;
while (str[len] != '\0') {
len++;
}
return len;
}
int main() {
char str[100];
printf("请输入一个字符串:");
gets(str);
printf("字符串的长度是:%d", stringLength(str));
return 0;
}
```
17. 判断一个字符串是否为回文,并打印结果
```c
#include <stdio.h>
#include <string.h>
#include <stdbool.h>
bool isPalindrome(const char* str) {
int i, len = strlen(str);
for (i = 0; i < len / 2; ++i) {
if (str[i] != str[len - 1 - i]) {
return false;
}
}
return true;
}
int main() {
char str[100];
printf("请输入一个字符串:");
gets(str);
if (isPalindrome(str)) {
printf("%s 是回文", str);
} else {
printf("%s 不是回文", str);
}
return 0;
}
```