序言:
C语言项目文件夹介绍:
在Visual Studio的C语言项目中,通常会包含以下文件:
-
.c
文件:这些文件包含C语言的源代码。你可以在这些文件中编写C语言的函数和程序逻辑。 -
.h
文件:这些文件是头文件,用于声明函数、结构体、宏等。头文件中通常包含函数原型和宏定义,供其他源文件引用。 -
main.c
文件:这是C语言程序的入口文件,其中包含程序的主函数main()
。在这个文件中,你可以编写程序的入口逻辑。 -
其他辅助文件:在C语言项目中,你可能还会创建其他辅助文件,如配置文件、文档等。
C语言程序的一般组成:
-
头文件(Header Files):头文件包含了函数原型、宏定义、结构体、枚举等信息。通过引入头文件,可以在程序中使用其中定义的函数和数据类型。以下面的例题为例,就是指前几行开头带
#
的语句,除了宏定义以外。 -
全局变量(Global Variables):全局变量是在函数外部定义的变量,可以在程序的任何地方访问。全局变量在程序的整个生命周期内都是有效的。用数学的话来说就是设置未知数,但是不同的未知数,都有不同的表示方法。在西电期末考试的时候,只要知道整数型
int
和浮点型flout
的就可以了。 -
主函数(Main Function):C语言程序的入口函数是
main()
函数。程序从main()
函数开始执行,main()
函数可以包含其他函数的调用和程序逻辑。用通俗的话讲,主函数在整个程序里面担当的是C位的地位,而其他定义的函数都是辅助。也就是说,整个程序的运行,都是围绕着主函数走的。并且每一个工程文件里面只能有一个main()
函数。 -
函数定义(Function Definitions):除了
main()
函数外,C语言程序通常还包含其他自定义函数。函数定义包括函数的名称、参数列表、返回类型和函数体。函数可以在程序的任何地方调用。 -
语句和表达式(Statements and Expressions):C语言程序由一系列语句和表达式组成。语句是执行某种操作的指令,而表达式是计算值的一部分代码。
-
控制结构(Control Structures):C语言提供了多种控制结构,如条件语句(if-else)、循环语句(for、while、do-while)和跳转语句(break、continue、return)。控制结构用于控制程序的执行流程。
一、计算球体重量
题目:
已知铁的比重是7.86(克/立方厘米),金的比重是19.3(克/立方厘米)。写一个程序,分别计算出给定直径的铁球与金球的质量。
(假定PI=3.1415926)
解答:
#include <stdio.h> #define PI 3.1415926 int main(){ int d1, d2; double answer1, answer2, midu1 = 7.86, midu2 = 19.3; scanf_s("%d%d", &d1, &d2); answer1 = midu1 * d1 * d1 * d1 * PI / 6000; answer2 = midu2 * d2 * d2 * d2 * PI / 6000; printf("%.3f %.3f", answer1, answer2); return 0; }
解析:
1、头文件
#include < stdio.h >
是包含 <stdio.h>
头文件的意思, .h是头文件的扩展名(header file), <stdio.h>
就是standard input output.header,也就是“标准输入、输出"头文件,这个文件的内容就是基本输入输出函数的声明,比如 scanf()
和 printf()
2、宏定义的用法
#define PI 3.1415926 #define 宏名 替换文本
这是宏定义的标准格式,“# + define + 字幕 + 其他东西”。这里的其他东西有的时候也可以代表其他的替代文本。
3、scanf 和 printf 的用法
scanf("%d", &i); printf("i = %d\n", i);
&i 表示变量 i 的地址,&是取地址符,\n表示空格。scanf 后面的括号内,引号里面的表示输入东西的格式,逗号后面表示输入数据存放的地址。 printf()
后面的括号内 ,引号里面的东西表示输出的东西。如果带有 %
则表示,要输出的数据的格式; \n
则表示,输出玩前面的东西之后,进行换行。
二、温度转换
题目:
已知华氏温度到摄氏温度的转换公式为:摄氏温度= (华氏温度- 32)×5/9,写程序将给定的华氏温度转换为摄氏温度输出。
解答:
#include<stdio.h> int main(){ float f_Degree = 0; float centigrade = 0; scanf_s("%f", &f_Degree); centigrade = (5.0 / 9.0) * (f_Degree - 32.0); printf("%.2f\n", centigrade); return 0; }
解析:
精准控制浮点数输出的格式如下:
printf("%m.nf",p);
"%m.nf"
指定输出的数据共占m列,其中有n位是小数。如果数值长度小于m,则左端补空格,若数值长度大于m,则按实际位数输出。
三、整数简单计算
题目:
问题描述:编写程序,计算用户输入的两个整数的和、差、乘积(*)和商(/)。
输入格式:输入两个整数,整数之间用空格分隔。
输出格式:输出四个整数结果,分别表示和、差、积和商,每输出一个结果换行。
解答:
#include <stdio.h> int main(){ int a, b, c, d, e, f; scanf_s("%d%d", &a, &b); c = a + b; d = a - b; e = a * b; f = a / b; printf("%d\n%d\n%d\n%d\n", c, d, e, f); return 0; }
四、字符输入和输出
题目:
问题描述:通过键盘输入5个大写字母,输出其对应的小写字母,并在末尾加上“!”。
输入说明:5个大写字母通过键盘输入,字母之间以竖线“|”分隔。
输出说明:输出5个大写字母对应的小写字母,之间无分隔,并在末尾加上‘!’。
解答:
#include <stdio.h> #include <stdlib.h> int main(){ char a1, a2, b1, b2, c1, c2, d1, d2, e1, e2; a1 = getchar(); b1 = getchar(); c1 = getchar(); d1 = getchar(); e1 = getchar(); a2 = a1 + 32; b2 = b1 + 32; c2 = c1 + 32; d2 = d1 + 32; e2 = e1 + 32; printf("%c%c%c%c%c!", a2, b2, c2, d2, e2); return 0; }
五、数字字符
题目:
问题描述:通过键盘输入1个整数a(0<=a<=4),1个数字字符b(’0’<=b<=’5’),求a+b。
输入说明:整形数据、数字字符通过键盘输入,输入的整形数据介于0和4之间,输入的数字字符介于‘0’和‘5’之间,二个输入数之间用“,”分隔。
输出说明:分别以整数形式及字符形式输出a+b,输出的二个数之间用“,”分隔。
解答:
#include <stdio.h> #include <stdio.h> int main(){ int a; char b; scanf("%d,%c", &a, &b); printf("%d,%d",a + b, a + b - 48); return 0; }
六、整除判断
题目:
问题描述:判断正整数a能否被b整数,如果不能整除,输出商和余数。
输入说明:输入两个正整数a和b(0<a, b<=10000),a和b之间用空格分隔。
输出说明:如果a能被b整除,输出yes,否则在同一行输出a除以b的商和余数,商和余数之间用空格分隔。
解答:
#include <stdio.h> int main(){ int a = 0, b = 0, c = 0, d = 0; a > 0, b < 10000; scanf_s("%d %d", &a, &b); if (a % b == 0){ printf("yes"); } else if (a % b != 0){ c = a / b; d = a % b; printf("%d %d", c, d); } return 0; }
七、冰箱测温
题目:
问题描述:编写一个程序,用于预测冰箱断电后经过时间t(以小时为单位)后的温度T。已知计算公式如下所示
$$
T = \frac{4t^{2}}{t+2}-20
$$
输入说明:输入两个整数h和m表示冰箱断电后经过的时间,h表示小时,m表示分钟。
输出说明:输出冰箱断电后经过时间t(以小时为单位)后的温度T,保留两位小数。
解答:
#include <stdio.h> #include <stdlib.h> int main(){ int m, h; float t, T; scanf("%d %d", &h, &m); t = h + m / 60.0; T = 4 * t * t / (t + 2) - 20; printf("%.2f",T); return 0; }