//姑且是能帮到刚接触到编程的新人一点的。。。大概
//欢迎大佬提出建议&改正错误
//此处表达了作者对dthkxy的敬慕之情
☝请注意,当老师要求上交.c文件而非.cpp文件时,仅支持C语言而非C++,在上交前请务必检查自己的程序能否正常运行
Part1:如何正确的运行你的程序
.c或.cpp文件并不能被直接运行,你的代码需要被编译,在老师提供的Lab Pack中,直接点开
lab_0.bat(每节课都会有新的,例如lab_1.bat什么的)会为你直接打开已经配置好的vscode
当然使用其他IDE也是可行的(编者本人用的DEVC++)
(仅对于Lab Pack)在vscode中,点击Ctrl+~键可以直接打开终端窗口
在里面输入
gcc 你的程序文件(一般为.c或.cpp文件) -o 你希望编译的文件名.exe(我一般是1.exe)
//例:gcc main.c -o main.exe
并点击回车键就可以完成编译,这时候你应该能看见Problems那里有提示(该修Bug喽),或者在左侧多出了一个exe文件(赢)
此时,再次输入
./你刚刚的exe名.exe
// ./main.exe
就可以正式运行你的程序了
Part2:代码讲解
main.c↓
//用双斜杠来写注释,注释里的内容不会影响到程序运行
/*
想一次写好几行注释可以用上行的内容和下行的内容把想写的注释括起来
*/
#include <stdio.h>
/*
#include 表示使用<>中的头文件(暂时不用管)
只要知道跟老师发的代码里的一样就行
*/
int main(){
/*
main是你的程序的主要内容,到时候运行程序都是运行main里的代码
前面的int代表了程序的返回值,即return后边跟的内容,像是int就代表了整数,所以return后边是0
*/
printf("My name is Song Liu. \n");
/*
printf代表了输出指令,即你想让程序在屏幕上边显示的内容
基础格式是printf("你想输出的内容");
后边的分号代表着这行内容的结束,如果程序报错可以看看每个指令后有没有分号
\n是个转义字符,这类字符被用来代替直接写在程序里会有问题的符号
常见转义字符见下表
*/
printf("I am from China. \n");
printf("My student ID is sl9885. \n");
printf("My favourite food is fried chicken. \n");
return 0;
//return 0;这个放在下一次讲
}
转义字符 | 意义 | ASCII码值(十进制) |
---|---|---|
\a | 响铃(BEL) | 007 |
\b | 退格(BS) ,将当前位置移到前一列 | 008 |
\f | 换页(FF),将当前位置移到下页开头 | 012 |
\n | 换行(LF) ,将当前位置移到下一行开头 | 010 |
\r | 回车(CR) ,将当前位置移到本行开头 | 013 |
\\ | 代表一个反斜线字符 | 092 |
\' | 代表一个单引号字符 | 039 |
\" | 代表一个双引号字符 | 034 |
\? | 代表一个问号 | 063 |
\0 | 空字符(NULL) | 000 |
EX:printf食用指南
printf的通常格式为
printf("你想输出的东西与一些变量什么的",变量1,变量2,变量3及其他);
当你想输出的东西中不存在变量时,直接忽略掉后边的那些变量,以下是一个例子
printf("阿巴阿巴阿巴");
想输出变量时,像你想让变量出现的位置插入对应的格式说明符即可,常见格式符见下表
格式说明符 | 对应内容 | 数据类型 |
%d | 整数 | int |
%s | 字符串(例如一个词或一段话) | string或char[] |
%c | 单个字符 | char |
%f | 浮点数(小数) | float |
%lf | 双精度浮点数(小数,但是能存更多位) | double |
%.nlf | 小数,但是保留n位 | double |
EX2:格式
理论上来说,你的灵魂是自由的,你的语法当然也一样,但是编者还是建议各位在编写程序的时候尽可能的保持一定的格式和注释,以下是个反例(原程序为main.c)
#include <stdio.h>
int
/*
*/ main(
){printf("Hello World\n");/*sgsgsg*/printf("I am from China. \n");
printf /* :)
aaaaaaaaaaaaaaaa
*/ ("My student ID is sl9885. \n");
printf("My favourite food is fried chicken. \n")
;
return 0; }