菜鸟教程c语言题目,C语言编程 菜鸟练习100题(01-10)

"本文提供了一系列C语言基础练习,包括输出"Hello,World!",整数、字符、浮点数的输出,数值计算如加法、乘法、除法,以及数值比较。通过实例介绍了scanf()和printf()函数的使用,以及浮点数精度问题和ASCII码转换。"
摘要由CSDN通过智能技术生成

【练习1】输出 "Hello, World!"

0. 题目:

输出 "Hello, World!"

1. 分析:

使用 printf() 输出 "Hello, World!"。

2. 程序:

#include

int main()

{

printf("Hello, World!"); // printf() 中字符串的前后需要使用双引号

return 0;

}

3. 输入输出:

Hello, World!

4. 扩展知识:

printf() 是头文件 stdio.h 中定义的函数,调用格式为:

printf("", );

【练习2】输出整数

0. 题目:

输出整数

1. 分析:

使用 printf() 与 %d 格式化输出整数。

2. 程序:

#include

int main()

{

int intNum; // 声明 int 变量

printf("输入一个整数: "); // printf() 输出字符串

scanf("%d", &intNum); // scanf() 格式化输入,"%d"表示整数格式

printf("输入的整数是: %d", intNum); // printf() 显示格式化输入

return 0;

}

3. 输入输出:

输入一个整数: 255

输入的整数是: 255

4. 扩展知识:

scanf() 是头文件 stdio.h 中定义的函数,从标准输入 stdin 读取格式化输入。

【练习3】输出单个字符

0. 题目:

输出单个字符

1. 分析:

使用 printf() 与 %c 格式化输出一个字符。

2. 程序:

#include

int main()

{

char oneChar; // 声明 char 变量

oneChar = 'C'; // 向变量赋值

printf("oneChar 的值为 %c", oneChar); // printf() 格式化输出

return 0;

}

3. 输入输出:

oneChar 的值为 C

4. 扩展知识:

基本数据类型

int:整型

short:短整型

long:长整型

float:浮点型(单精度)

double:浮点型(双精度)

char:字符型

void:无类型

【练习4】输出浮点数

0. 题目:

输出浮点数

1. 分析:

使用 printf() 与 %f 输出浮点数。

2. 程序:

#include

int main()

{

float fVar1,fVar2; // 声明浮点数变量

fVar1 = 12.00123; // 向变量赋值

printf("fVar1 的值为 %f\n", fVar1); // printf() 格式化输出

fVar2 = 123.001234; // 向变量赋值

printf("fVar2 的值为 %f\n", fVar2); // printf() 格式化输出

return 0;

}

3. 输入输出:

fVar1 的值为 12.00123

fVar2 的值为 123.001236

【注意!】 fVar1 的值与赋值完全相同,但 fVar2 的的值与赋值不完全相同。这是因为 float 为单精度浮点数,内存中占 4个字节,有效数位是 7位。如果有效数字位数超过 7位,超出的部分会自动四舍五入。

【练习5】输出双精度数

0. 题目:

输出双精度数

1. 分析:

使用 printf() 与 %e 输出双精度数。

2. 程序:

#include

{

double dVar1,dVar2; // 声明浮点数变量

dVar1 = 12.00123; // 向变量赋值

printf("dVar1 的值为 %Lf\n", dVar1); // 格式化输出:长实数

printf("dVar1 的值为 %Le\n", dVar1); // 格式化输出:科学计数法

dVar2 = 123.001234; // 向变量赋值

printf("dVar2 的值为 %Lf\n", dVar2); // 格式化输出:长实数

printf("dVar2 的值为 %Le\n", dVar2); // 格式化输出:科学计数法

return 0;

}

3. 输入输出:

dVar1 的值为 12.001230

dVar1 的值为 1.200123e+001

dVar2 的值为 123.001234

dVar2 的值为 1.230012e+002

【注意!】 double 为双精度浮点数,内存中占 8个字节,有效数位是 16位。dVar2 按科学计数法格式(Le)输出时虽然与赋值不完全相同,这只是格式化输出时的有效数字位数限制所致,但在实际存储和计算时都是与赋值完全相同的,因此在按长实数格式(Lf)输出时与赋值完全相同。

【练习6】两个数字相加

0. 题目:

题目两个数字相加

1. 分析:

分析使用 scanf() 来接收输入, printf() 与 %d 格式化输出整数。

2. 程序:

#include

int main()

{

int firstNum, secondNum, sumNum;

printf("输入两个整数(以空格分隔): ");

// scanf() 格式化输入,接收用户输入的两个整数

scanf("%d %d", &firstNum, &secondNum);

// 两个整数相加

sumNum = firstNum + secondNum;

// 输出结果

printf("%d + %d = %d", firstNum, secondNum, sumNum);

return 0;

}

3. 输入输出:

输入两个数(以空格分割): -1 99

-1 + 99 = 98

【注意!】 由于scanf()函数中定义的输入格式为"%d %d"(两个%d之间有一个空格),在输入时就必须严格按照定义的格式,在输入的两个整数之间加一个空格,否则可能出错。类似地,如果定义输入格式为"%d,%d",就必须在在输入的两个整数之间加一个逗号。

【练习7】两个浮点数相乘

0. 题目:

两个浮点数相乘

1. 分析:

输入两个浮点数,计算乘积。

2. 程序:

#include

int main()

{

double firstNum, secondNum, productNum;

printf("输入两个浮点数(以空格分隔): ");

scanf("%lf %lf", &firstNum, &secondNum);

productNum = firstNum * secondNum; // 两个浮点数相乘

printf("%.2lf * %.2lf = %.2lf\n", firstNum,secondNum,productNum);

printf("%lf * %lf = %lf\n", firstNum,secondNum,productNum);

return 0;

}

3. 输入输出:

输入两个浮点数(以空格分割): 1.2345 66

1.23 * 66.00 = 81.48

1.234500 * 66.000000 = 81.477000

【注意!】(1)变量 secondNum 定义为浮点数,虽然输入为整数也是按浮点数存储的。(2)%.2lf 表示输出格式为保留2位有效数字,但并不影响存储的数据的精度。

【练习8】字符转 ASCII 码

0. 题目:

字符转 ASCII 码

1. 分析:

ASCII 定义了 128 个字符:

(1)0-31、127(删除键)是控制字符

(2)空白字符:空格(32)、 制表符、 垂直制表符、 换行、 回车。

(3)可显示字符:a-z、A-Z、0-9、~、!、@、、%、^、&、#、$、*、(、)、-、+、{、}、[、]、'、"、、,、?、/、|、\、_、:、;、.,还有顿号、。

2. 程序:

#include

int main()

{

char oneChar; // 声明 char 变量

printf("输入一个字符: ");

scanf("%c", &oneChar); // 读取用户输入

printf("%c 的 ASCII 为 %d", oneChar, oneChar); // %c 字符格式

return 0;

}

3. 输入输出:

输入一个字符: A

A 的 ASCII 为 65

【练习9】两数相除

0. 题目:

两数相除

1. 分析:

两数相除,如果有余数,输出余数

2. 程序:

#include

int main()

{

int dividend, divisor, quotient, remainder;

printf("输入被除数、除数(以空格分隔): ");

// scanf() 格式化输入,接收用户输入的两个整数

scanf("%d %d", &dividend, &divisor); // 输入被除数、除数

quotient = dividend / divisor; // 除法,分子除分母的整数部分

remainder = dividend % divisor; // % 为模运算,整除后的余数

printf("商 = %d, 余数 = %d", quotient,remainder);

return 0;

}

3. 输入输出:

输入被除数、除数(以空格分隔): 50 10 输出:商 = 5, 余数 = 0

输入被除数、除数(以空格分隔): 51 10 输出:商 = 5, 余数 = 1

输入被除数、除数(以空格分隔): 55 10 输出:商 = 5, 余数 = 5

输入被除数、除数(以空格分隔): 58 10 输出:商 = 5, 余数 = 8

【注意!】除法“/”得出的商是被除数与除数相除的整数部分,不做四舍五入处理。

【练习10】数值比较

0. 题目:

数值比较

1. 分析:

定义了两个整数变量,使用 if 来比较两个数值

2. 程序:

#include

int main()

{

int firstNum, secondNum;

printf("输入两个整数(以空格分隔): ");

scanf("%d %d", &firstNum, &secondNum);

if(firstNum > secondNum)

printf("%d 大于 %d", firstNum,secondNum);

else if(firstNum < secondNum)

printf("%d 小于 %d", firstNum,secondNum);

else

printf("%d 等于 %d", firstNum,secondNum);

return 0;

}

3. 输入输出:

输入两个整数(以空格分割): -1 99

-1 小于 99

版权说明:

题目和例程 源于 菜鸟教程,作者重新编写了程序、注释和算例,并增加了难点分析。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值