【C语言程序设计——入门】C语言入门与基础语法(头歌实践教学平台习题)【合集】

简介: 本文档介绍了C语言环境配置和编程任务,主要内容包括:- **C语言环境配置**:详细讲解了在Windows系统上配置C语言开发环境的步骤。- **第1关:程序改错**:包含任务描述、相关知识(如头文件引用、基本语法规则)、编程要求、测试说明及通关代码。- **第2关:scanf函数**:涉及`scanf`和`printf`函数的格式与使用方法,提供编程要求、测试说明及通关代码。文档结构清晰,涵盖从环境搭建到具体编程任务的完整流程,适合初学者学习和实践。

目录😋

⚙️C语言环境配置:Windows配置C语言环境(超级详细)

<第1关:程序改错>

任务描述

相关知识

1. 头文件的引用

2. 基本语法规则

编程要求

测试说明

通关代码

测试结果

<第2关:scanf 函数>

任务描述

相关知识

1. scanf 函数的格式

2. printf函数的格式

编程要求

测试说明

通关代码

测试结果


 ⚙️C语言环境配置:Windows配置C语言环境(超级详细)

<第1关:程序改错>

任务描述

本关任务:找出程序中的错误并修改,运行后得到正确结果。

相关知识

为了完成本关任务,你需要掌握:

  1. 头文件的引用
  2. 基本语法规则

1. 头文件的引用

  • #include

在 C 语言中,#include 是一条预处理指令,它的作用是将指定的头文件内容包含到当前的源文件中,使得当前源文件可以使用头文件中所声明的函数、宏定义、数据类型等各种元素。

  • "stdio.h"

"stdio.h" 是 C 语言标准输入输出头文件(Standard Input/Output Header)的简称,它里面包含了诸多与输入输出操作相关的函数声明、宏定义以及一些数据类型的定义等内容,为我们在程序中进行数据的输入和输出提供了必要的接口和支持。

2. 基本语法规则

  • 字符集
  • C 语言程序是用字符集编写的,它主要使用 ASCII 字符集。包括字母(大小写英文字母 a - z、A - Z)、数字(0 - 9)和特殊字符(如 +、-、*、/、;、{、}、(、) 等)。这些字符用于构成变量名、关键字、运算符、标点符号等各种程序元素。
  • 标识符(变量名、函数名等)规则
  • 标识符是用来命名变量、函数、数组、结构体等程序实体的名称。
  • 第一个字符必须是字母或下划线(_),后续字符可以是字母、数字或下划线。例如,my_variable_functionName是合法的标识符,而3var(以数字开头)、my - var(包含非法字符 “-”)是非法的。
  • C 语言区分大小写,所以myVariablemyvariable是两个不同的标识符。
  • 关键字(保留字)
  • C 语言有一些预先定义的关键字,这些关键字具有特定的含义,不能用作变量名等标识符。例如,int(用于定义整数类型变量)、if(条件判断语句)、while(循环语句)、return(从函数返回值)等。
  • 数据类型
  • C 语言有基本数据类型,如整型(int)、浮点型(floatdouble)、字符型(char)。
  • 整型用于存储整数,int通常占用 4 个字节,其取值范围根据编译器和机器位数有关。例如,在 32 位系统中,int的取值范围是-21474836482147483647
  • 浮点型用于存储带有小数部分的数字,float一般占用 4 个字节,double占用 8 个字节,doublefloat有更高的精度。
  • 字符型用于存储单个字符,如char c = 'a';,字符在内存中以 ASCII 码值存储。
  • 常量与变量
  • 常量:是在程序运行过程中其值不能被改变的量。例如,整数常量10、字符常量'A'、浮点常量3.14等。还可以通过#define预处理指令定义符号常量,如#define PI 3.14,在程序编译前,所有出现PI的地方都会被替换为3.14
  • 变量:是在程序运行过程中其值可以改变的量。变量在使用前需要先声明,声明变量时要指定变量的数据类型。例如,int a;声明了一个整型变量a,之后可以对其进行赋值操作,如a = 5;
  • 运算符和表达式
  • C 语言有丰富的运算符,包括算术运算符(+、-、*、/、%)、关系运算符(>、<、==、>=、<=、!=)、逻辑运算符(&&、||、!)等。
  • 表达式是由运算符和操作数组成的式子。例如,a + b是一个算术表达式,a > 10 && b < 20是一个逻辑表达式。运算符有优先级和结合性,例如,在算术运算中,先乘除后加减,相同优先级的运算符从左向右结合。
  • 语句和语句块
  • image.gif 这里{ b = 20; c = 30; }就是一个语句块,当a > 10条件成立时,语句块中的两条语句都会被执行。
  • 语句是 C 语言程序的基本执行单元,以分号(;)结尾。例如,a = 10;是一条赋值语句。
  • 语句块是用花括号({ })括起来的一组语句,通常用于函数体、条件语句和循环语句中。例如:
  • 函数
int add(int a, int b) {
    return a + b;
}
  • image.gif 这个函数名为add,它接受两个整型参数ab,并返回它们的和。在其他地方可以调用这个函数,如int result = add(3, 5);,就会得到返回值 8。
  • C 语言程序是由函数组成的,main函数是程序的入口点。函数用于封装一段特定功能的代码,可以有参数和返回值。例如:

 编程要求

根据提示,在右侧相应处修改程序,直到运行通过。

测试说明

平台会对你编写的代码进行测试:

预期输出:

c=15

开始你的任务吧,祝你成功!


通关代码

//本程序存在错误,请按照提示在相应处修改程序,直到运行通过
#include <stdio.h>
/*请在下方插入“包含标准输入输出头文件”的命令*/
void main( )
{
int a,b,c;
a=10,b=5;
/*请修改下方语句*/
c=a+b;
/*请修改下方语句中的双引号*/
printf("c=%d\n",c); 
}

image.gif


测试结果

image.gif 编辑

<第2关:scanf 函数>

任务描述

本关任务:根据scanf函数格式,给出正确的输入。

相关知识

为了完成本关任务,你需要掌握:

  1. scanf 函数的格式。
  2. printf函数的格式

1. scanf 函数的格式

  • 基本格式
  • scanf函数的基本格式是scanf("格式控制字符串", 地址列表);。其中,“格式控制字符串” 是一个用双引号括起来的字符串,用于指定输入数据的格式;“地址列表” 是由一个或多个变量的地址组成的列表,用于存储输入的数据。
  • 格式控制字符串
  • 格式说明符:这是格式控制字符串中最重要的部分。它用于匹配输入数据的类型,常见的格式说明符有:
  • %d:用于读取十进制整数。例如,scanf("%d", &a);可以将用户从键盘输入的十进制整数存储到变量a中。
  • %f:用于读取单精度浮点数。如scanf("%f", &b);能把输入的单精度浮点数存入变量b
  • %lf:用于读取双精度浮点数。对于双精度变量c,可以使用scanf("%lf", &c);来接收用户输入。
  • %c:用于读取单个字符。scanf("%c", &d);会读取一个字符并存入变量d
  • %s:用于读取字符串。不过需要注意的是,scanf函数读取字符串时,会以空格、制表符或换行符作为字符串的结束标志。例如,scanf("%s", str);(假设str是一个字符数组),当用户输入一个单词后按回车键,这个单词就会被存储到str数组中。
  • 其他字符:格式控制字符串中除了格式说明符外,还可以包含其他字符,这些字符在输入时必须原样输入。例如,scanf("请输入一个整数: %d", &a);,用户在输入数据时,必须先输入 “请输入一个整数:” 这些字符,然后再输入整数。不过这种情况在实际应用中可能会给用户带来不便,使用时需要谨慎。
  • 地址列表
  • 地址列表中的每个元素都必须是一个地址。对于普通变量,需要在变量名前加上取地址运算符&来获取变量的地址。例如,对于变量abcscanf("%d %f %lf", &a, &b, &c);就是将用户输入的整数、单精度浮点数和双精度浮点数分别存储到abc对应的内存地址中。如果忘记添加&运算符,会导致程序出现错误,因为scanf函数需要通过地址来修改变量的值。
  • 对于字符数组(用于存储字符串),数组名本身就代表了数组的首地址,所以在使用scanf读取字符串时,不需要再添加&运算符。例如,char str[100]; scanf("%s", str);str已经是数组的首地址,scanf函数会把读取到的字符串存储到从str开始的内存空间中。

2. printf函数的格式

  • 基本格式
  • printf函数的基本格式是printf("格式控制字符串", 输出列表);。其中,“格式控制字符串” 是用双引号括起来的字符串,它规定了输出数据的格式;“输出列表” 是需要输出的变量、常量或表达式等内容。
  • 格式控制字符串
  • 格式说明符:这是格式控制字符串的关键部分,用于指定输出数据的类型和格式。
  • %d%i:用于输出十进制整数。例如,int a = 10; printf("%d", a);会输出整数10
  • %o:用于输出八进制整数。若int b = 8; printf("%o", b);,则输出10(因为八进制下8表示为10)。
  • %x%X:用于输出十六进制整数。%x输出小写字母表示的十六进制数,%X输出大写字母表示的十六进制数。例如,int c = 15; printf("%x", c);会输出f,而printf("%X", c);会输出F
  • %u:用于输出无符号十进制整数。假设unsigned int d = 5; printf("%u", d);会输出5
  • %f:用于输出单精度浮点数。例如,float e = 3.14; printf("%f", e);会输出3.140000(默认保留六位小数)。
  • %lf:用于输出双精度浮点数,不过在printf函数中,%f%lf在输出时基本没有区别,因为printf函数会根据默认的精度进行输出。例如,double f = 2.71828; printf("%lf", f);会输出2.718280
  • %e%E:用于以指数形式输出浮点数。%e输出的指数部分用小写字母e表示,%E用大写字母E表示。例如,double g = 1234.56; printf("%e", g);会输出1.234560e+03
  • %c:用于输出单个字符。例如,char h = 'A'; printf("%c", h);会输出A
  • %s:用于输出字符串。假设char str[] = "Hello"; printf("%s", str);会输出Hello
  • 普通字符:格式控制字符串中除了格式说明符外的其他字符,这些字符会原样输出。例如,printf("The number is %d", a);,其中The number is这些字符会直接输出,然后再输出变量a的值。
  • 转义字符:在格式控制字符串中可以使用转义字符来输出一些特殊的字符或控制输出格式。例如,\n用于换行,\t用于制表符(横向跳格),\\用于输出反斜杠\本身等。如printf("Hello\nWorld");会先输出Hello,然后换行再输出World
  • 输出列表
  • 输出列表中的元素可以是变量、常量或表达式等。它们的数量和类型要与格式控制字符串中的格式说明符相对应。例如,int a = 1, b = 2; printf("%d + %d = %d", a, b, a + b);,这里的aba + b分别与格式控制字符串中的三个%d相对应,会输出1 + 2 = 3

编程要求

根据提示,在左侧相应处修改程序,直到运行通过。

测试说明

平台会对你编写的代码进行测试:

测试输入:

2.4 3.6 4.7

预期输出:

area=4.237050

开始你的任务吧,祝你成功!


通关代码

//本程序存在缺失语句,请补充完整使程序能正确运行
#include <stdio.h>
//要求添加包含数学函数的头文件,请在下面的指定位置补充代码
/*********begin*********/
#include<math.h>
/*********end**********/
void main( )
{
float a,b,c,s,area;
//要求用空格作为间隔符,输入三个数据分别赋给a,b,c三个变量,请在下面的指定位置补充代码
/*********begin*********/
scanf("%f",&a);
scanf("%f",&b);
scanf("%f",&c);
/*********end**********/
s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("area=%f\n",area);
}

image.gif


测试结果

目录
相关文章
|
2月前
|
存储 C语言
【C语言程序设计——函数】递归求斐波那契数列的前n项(头歌实践教学平台习题)【合集】
本关任务是编写递归函数求斐波那契数列的前n项。主要内容包括: 1. **递归的概念**:递归是一种函数直接或间接调用自身的编程技巧,通过“俄罗斯套娃”的方式解决问题。 2. **边界条件的确定**:边界条件是递归停止的条件,确保递归不会无限进行。例如,计算阶乘时,当n为0或1时返回1。 3. **循环控制与跳转语句**:介绍`for`、`while`循环及`break`、`continue`语句的使用方法。 编程要求是在右侧编辑器Begin--End之间补充代码,测试输入分别为3和5,预期输出为斐波那契数列的前几项。通关代码已给出,需确保正确实现递归逻辑并处理好边界条件,以避免栈溢出或结果
98 16
|
2月前
|
存储 编译器 C语言
【C语言程序设计——函数】分数数列求和2(头歌实践教学平台习题)【合集】
函数首部:按照 C 语言语法,函数的定义首部表明这是一个自定义函数,函数名为fun,它接收一个整型参数n,用于指定要求阶乘的那个数,并且函数的返回值类型为float(在实际中如果阶乘结果数值较大,用float可能会有精度损失,也可以考虑使用double等更合适的数据类型,这里以float为例)。例如:// 函数体代码将放在这里函数体内部变量定义:在函数体中,首先需要定义一些变量来辅助完成阶乘的计算。比如需要定义一个变量(通常为float或double类型,这里假设用float。
52 3
|
2月前
|
存储 算法 安全
【C语言程序设计——函数】分数数列求和1(头歌实践教学平台习题)【合集】
if 语句是最基础的形式,当条件为真时执行其内部的语句块;switch 语句则适用于针对一个表达式的多个固定值进行判断,根据表达式的值与各个 case 后的常量值匹配情况,执行相应 case 分支下的语句,直到遇到 break 语句跳出 switch 结构,若没有匹配值则执行 default 分支(可选)。例如,在判断一个数是否大于 10 的场景中,条件表达式为 “num> 10”,这里的 “num” 是程序中的变量,通过比较其值与 10 的大小关系来确定条件的真假。常量的值必须是唯一的,且在同一个。
34 2
|
2月前
|
存储 算法 C语言
【C语言程序设计——函数】素数判定(头歌实践教学平台习题)【合集】
本内容介绍了编写一个判断素数的子函数的任务,涵盖循环控制与跳转语句、算术运算符(%)、以及素数的概念。任务要求在主函数中输入整数并输出是否为素数的信息。相关知识包括 `for` 和 `while` 循环、`break` 和 `continue` 语句、取余运算符 `%` 的使用及素数定义、分布规律和应用场景。编程要求根据提示补充代码,测试说明提供了输入输出示例,最后给出通关代码和测试结果。 任务核心:编写判断素数的子函数并在主函数中调用,涉及循环结构和条件判断。
84 23
|
18天前
|
人工智能 Java 程序员
一文彻底搞清楚C语言的函数
本文介绍C语言函数:函数是程序模块化的工具,由函数头和函数体组成,涵盖定义、调用、参数传递及声明等内容。值传递确保实参不受影响,函数声明增强代码可读性。君志所向,一往无前!
18 1
一文彻底搞清楚C语言的函数
|
2月前
|
算法 C语言
【C语言程序设计——函数】利用函数求解最大公约数和最小公倍数(头歌实践教学平台习题)【合集】
本文档介绍了如何编写两个子函数,分别求任意两个整数的最大公约数和最小公倍数。内容涵盖循环控制与跳转语句的使用、最大公约数的求法(包括辗转相除法和更相减损术),以及基于最大公约数求最小公倍数的方法。通过示例代码和测试说明,帮助读者理解和实现相关算法。最终提供了完整的通关代码及测试结果,确保编程任务的成功完成。
104 15
|
2月前
|
C语言
【C语言程序设计——函数】亲密数判定(头歌实践教学平台习题)【合集】
本文介绍了通过编程实现打印3000以内的全部亲密数的任务。主要内容包括: 1. **任务描述**:实现函数打印3000以内的全部亲密数。 2. **相关知识**: - 循环控制和跳转语句(for、while循环,break、continue语句)的使用。 - 亲密数的概念及历史背景。 - 判断亲密数的方法:计算数A的因子和存于B,再计算B的因子和存于sum,最后比较sum与A是否相等。 3. **编程要求**:根据提示在指定区域内补充代码。 4. **测试说明**:平台对代码进行测试,预期输出如220和284是一组亲密数。 5. **通关代码**:提供了完整的C语言代码实现
68 24
|
2月前
|
存储 编译器 C语言
【C语言程序设计——函数】回文数判定(头歌实践教学平台习题)【合集】
算术运算于 C 语言仿若精密 “齿轮组”,驱动着数值处理流程。编写函数求区间[100,500]中所有的回文数,要求每行打印10个数。根据提示在右侧编辑器Begin--End之间的区域内补充必要的代码。如果操作数是浮点数,在 C 语言中是不允许直接进行。的结果是 -1,因为 -7 除以 3 商为 -2,余数为 -1;注意:每一个数据输出格式为 printf("%4d", i);的结果是 1,因为 7 除以 -3 商为 -2,余数为 1。取余运算要求两个操作数必须是整数类型,包括。开始你的任务吧,祝你成功!
68 1
|
3月前
|
存储 C语言 开发者
【C语言】字符串操作函数详解
这些字符串操作函数在C语言中提供了强大的功能,帮助开发者有效地处理字符串数据。通过对每个函数的详细讲解、示例代码和表格说明,可以更好地理解如何使用这些函数进行各种字符串操作。如果在实际编程中遇到特定的字符串处理需求,可以参考这些函数和示例,灵活运用。
117 10
|
3月前
|
存储 程序员 C语言
【C语言】文件操作函数详解
C语言提供了一组标准库函数来处理文件操作,这些函数定义在 `<stdio.h>` 头文件中。文件操作包括文件的打开、读写、关闭以及文件属性的查询等。以下是常用文件操作函数的详细讲解,包括函数原型、参数说明、返回值说明、示例代码和表格汇总。
85 9