【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


测试结果

目录
相关文章
|
15小时前
|
C语言
【C语言程序设计——入门】基本数据类型与表达式(头歌实践教学平台习题)【合集】
这份文档详细介绍了编程任务的多个关卡,涵盖C语言的基础知识和应用。主要内容包括: 1. **目录**:列出所有关卡,如`print函数操作`、`转义字符使用`、`数的向上取整`等。 2. **各关卡的任务描述**:明确每关的具体编程任务,例如使用`printf`函数输出特定字符串、实现向上取整功能等。 3. **相关知识**:提供完成任务所需的背景知识,如格式化输出、算术运算符、关系运算符等。 4. **编程要求**:给出具体的代码编写提示。 5. **测试说明**:包含预期输入输出,帮助验证程序正确性。 6. 文档通过逐步引导学习者掌握C语言的基本语法和常用函数,适合初学者练习编程技能。
13 1
|
15小时前
|
小程序 C语言
【C语言程序设计——基础】顺序结构程序设计(头歌实践教学平台习题)【合集】
目录 任务描述 相关知识 编程要求 测试说明 我的通关代码: 测试结果: 任务描述 相关知识 编程编写一个程序,从键盘输入3个变量的值,例如a=5,b=6,c=7,然后将3个变量的值进行交换,使得a=6,b=7,c=5。面积=sqrt(s(s−a)(s−b)(s−c)),s=(a+b+c)/2。使用输入函数获取半径,格式指示符与数据类型一致,实验一下,不一致会如何。根据提示,在右侧编辑器补充代码,计算并输出圆的周长和面积。
19 10
|
16小时前
|
存储 算法 安全
【C语言程序设计——选择结构程序设计】求阶跃函数的值(头歌实践教学平台习题)【合集】
本任务要求输入x的值,计算并输出特定阶跃函数的结果。主要内容包括: 1. **选择结构基本概念**:介绍if、if-else、switch语句。 2. **主要语句类型**:详细解释if、if-else、switch语句的使用方法。 3. **跃迁函数中变量的取值范围**:说明如何根据条件判断变量范围。 4. **计算阶跃函数的值**:通过示例展示如何根据给定条件计算函数值。 编程要求:在右侧编辑器Begin-End之间补充代码,实现阶跃函数的计算和输出。测试说明提供了多个输入及其预期输出,确保代码正确性。最后提供通关代码和测试结果,帮助理解整个过程。
12 0
|
15小时前
|
C语言
【C语言程序设计——循环程序设计】鸡兔同笼问题(头歌实践教学平台习题)【合集】
本教程介绍了循环控制和跳转语句的使用,包括 `for`、`while` 和 `do-while` 循环,以及 `break` 和 `continue` 语句。通过示例代码详细讲解了这些语句的应用场景,并展示了如何使用循环嵌套解决复杂问题,如计算最大公因数和模拟游戏关卡选择。最后,通过鸡兔同笼问题演示了穷举法编程的实际应用。文中还提供了编程要求、测试说明及通关代码,帮助读者掌握相关知识并完成任务。 任务描述:根据给定条件,编写程序计算鸡和兔的数量。鸡有1个头2只脚,兔子有1个头4只脚。
19 5
|
C++
AcWing语法基础课笔记 第六章 C++中的函数
函数让代码变得更加简洁。 ——闫学灿
119 0
|
数据安全/隐私保护 C++
AcWing语法基础课笔记 第五章 C++中的字符串
字符串是计算机与人类沟通的重要手段。 ——闫学灿
115 0
|
存储 C++
AcWing语法基础课笔记 第四章 C++中的数组
第四章 C++中的数组 程序 = 逻辑 + 数据,数组是存储数据的强而有力的手段。 ——闫学灿
103 0
|
存储 人工智能 编译器
0基础C语言保姆教学——第五节 数组
在C99之前,这种写法是不允许的,而在C99之后,这种写法是允许的。而我们vs编译器的编译环境并不能很好的支持C99的语法,如果我们在gcc编译器或者其他对新语法更加支持的编译器下,这种写法是可以的。
140 0
0基础C语言保姆教学——第五节 数组
|
编译器 开发工具 C语言
震惊!三更编程的第一堂C语言入门课程~
震惊!三更编程的第一堂C语言入门课程~
231 0
震惊!三更编程的第一堂C语言入门课程~
|
JSON Java 测试技术
《Python编程:从入门到实践》学习记录(9-11)基础语法部分
《Python编程:从入门到实践》学习记录(9-11)基础语法部分
《Python编程:从入门到实践》学习记录(9-11)基础语法部分

热门文章

最新文章

下一篇
开通oss服务