- int main() {
- // insert code here...
- return 0;
- }
-
- int call() {
- return 0;
- }
-
- int main() {
- call();
- return 0;
- }
-
- int call(){
- return 0;
- }
-
- int main(){
- call();
- printf();
- return 0;
- }
-
- printf("hello world\n");
-
- #include <stdio.h>
-
- int call(){
- return 0;
- }
-
- int main(){
- call();
- printf("hello world\n");
- return 0;
- }
-
- int main(){
- printf("hello world\n") // 如果没有分号编译时会报错
- return 0;
- }
-
- int main(){
- // 如果没有分号,多条语句合并到一行时, 系统不知道从什么地方到什么地方是一条完整语句
- printf("hello world\n") return 0;
- }
-
- int main(){
- printf("hello world\n"); // 这里的分号如果是中文的分号就会报错
- return 0;
- }
-
- int main(){
- return 0;
- }
- int main(){ // 编译时会报错, 重复定义
- return 0;
- }
-
- int call(){ // 编译时报错, 因为只有call函数, 没有main函数
- return 0;
- }
-
- int mian(){ // 编译时报错, 因为main函数的名称写错了,还是相当于没有main函数
- return 0;
- }
-
- #include <stdio.h>
- main(){ // 不会报错
- printf("hello world\n");
- return 0;
- }
-
- #include <stdio.h>
- void main(){ // 不会报错
- printf("hello world\n");
- return 0;
- }
-
- int main(){ // 不会报错
- printf("hello world\n");
- }
-
- #include <stdio.h>
- int main(){
- printf("hello world\n");
- return 0;
- }
-
Tips: 语法错误:编译器会直接报错 逻辑错误:没有语法错误,只不过运行结果不正确
- *** ***
- *********
- *******
- ****
- **
-
- printf(" *** *** \n");
- printf("*********\n");
- printf(" *******\n");
- printf(" ****\n");
- printf(" **\n");
-
- printf(" *** *** \n*********\n *******\n ****\n **\n");
-
- int i = 0;
- while (1) {
- if (i % 2 == 0) {
- printf(" *** *** \n");
- printf("*********\n");
- printf(" *******\n");
- printf(" ****\n");
- printf(" **\n");
- }else
- {
- printf("\n");
- printf(" ** ** \n");
- printf(" *******\n");
- printf(" *****\n");
- printf(" **\n");
- }
- sleep(1);
- i++;
- system("cls");
- }
-
- _ooOoo_
- o8888888o
- 88" . "88
- (| -_- |)
- O\ = /O
- ____/`---'\____
- . ' \\| |// `.
- / \\||| : |||// \
- / _||||| -:- |||||- \
- | | \\\ - /// | |
- | \_| ''\---/'' | |
- \ .-\__ `-` ___/-. /
- ___`. .' /--.--\ `. . __
- ."" '< `.___\_<|>_/___.' >'"".
- | | : `- \`.;`\ _ /`;.`/ - ` : | |
- \ \ `-. \_ __\ /__ _/ .-` / /
- ======`-.____`-.___\_____/___.-`____.-'======
- `=---='
-
- .............................................
- 佛祖保佑 有无BUG
-
- ━━━━━━神兽出没━━━━━━
- ┏┓ ┏┓
- ┏┛┻━━━━━━┛┻┓
- ┃ ┃
- ┃ ━ ┃
- ┃ ┳┛ ┗┳ ┃
- ┃ ┃
- ┃ ┻ ┃
- ┃ ┃
- ┗━┓ ┏━┛Code is far away from bug with the animal protecting
- ┃ ┃ 神兽保佑,代码无bug
- ┃ ┃
- ┃ ┗━━━┓
- ┃ ┣┓
- ┃ ┏━━┛┛
- ┗┓┓┏━┳┓┏┛
- ┃┫┫ ┃┫┫
- ┗┻┛ ┗┻┛
-
- ━━━━━━感觉萌萌哒━━━━━━
-
- ´´´´´´´´██´´´´´´´
- ´´´´´´´████´´´´´´
- ´´´´´████████´´´´
- ´´`´███▒▒▒▒███´´´´´
- ´´´███▒●▒▒●▒██´´´
- ´´´███▒▒▒▒▒▒██´´´´´
- ´´´███▒▒▒▒██´ 项目:第一个C语言程序
- ´´██████▒▒███´´´´´ 语言:C语言
- ´██████▒▒▒▒███´´ 编辑器:Qt Creator
- ██████▒▒▒▒▒▒███´´´´ 版本控制:git-github
- ´´▓▓▓▓▓▓▓▓▓▓▓▓▓▒´´ 代码风格:江哥style
- ´´▒▒▒▒▓▓▓▓▓▓▓▓▓▒´´´´´
- ´.▒▒▒´´▓▓▓▓▓▓▓▓▒´´´´´
- ´.▒▒´´´´▓▓▓▓▓▓▓▒
- ..▒▒.´´´´▓▓▓▓▓▓▓▒
- ´▒▒▒▒▒▒▒▒▒▒▒▒
- ´´´´´´´´´███████´´´´´
- ´´´´´´´´████████´´´´´´´
- ´´´´´´´█████████´´´´´´
- ´´´´´´██████████´´´´ 大部分人都在关注你飞的高不高,却没人在乎你飞的累不累,这就是现实!
- ´´´´´´██████████´´´ 我从不相信梦想,我,只,相,信,自,己!
- ´´´´´´´█████████´´
- ´´´´´´´█████████´´´
- ´´´´´´´´████████´´´´´
- ________▒▒▒▒▒
- _________▒▒▒▒
- _________▒▒▒▒
- ________▒▒_▒▒
- _______▒▒__▒▒
- _____ ▒▒___▒▒
- _____▒▒___▒▒
- ____▒▒____▒▒
- ___▒▒_____▒▒
- ███____ ▒▒
- ████____███
- █ _███_ _█_███
- ——————————————————————————女神保佑,代码无bug——————————————————————
-
- #include<stdio.h>
- int main() {
- printf("南哥带你装B带你飞");
- return 0;
- }
-
- #include<iostream>
- using namespace std;
- int main() {
- cout << "南哥带你装B带你飞" << endl;
- return 0;
- }
-
- #import <Foundation/Foundation.h>
- int main() {
- NSLog(@"南哥带你装B带你飞");
- return 0;
- }
-
- class Test
- {
- public static viod main()
- {
- system.out.println("南哥带你装B带你飞");
- }
- }
-
- package main
- import "fmt" //引入fmt库
- func main() {
- fmt.Println("南哥带你装B带你飞")
- }
-
- void printMap(char map[6][7] , int row, int col);
- int main(int argc, const char * argv[])
- {
- char map[6][7] = {
- {'#', '#', '#', '#', '#', '#', '#'},
- {'#', ' ', ' ', ' ', '#' ,' ', ' '},
- {'#', 'R', ' ', '#', '#', ' ', '#'},
- {'#', ' ', ' ', ' ', '#', ' ', '#'},
- {'#', '#', ' ', ' ', ' ', ' ', '#'},
- {'#', '#', '#', '#', '#', '#', '#'}
- };
- int row = sizeof(map)/sizeof(map[0]);
- int col = sizeof(map[0])/ sizeof(map[0][0]);
- printMap(map, row, col);
- int pRow = 2;
- int pCol = 1;
- int endRow = 1;
- int endCol = 6;
- while ('R' != map[endRow][endCol]) {
- printf("亲, 请输入相应的操作\n");
- printf("w(向上走) s(向下走) a(向左走) d(向右走)\n");
- char run;
- run = getchar();
- switch (run) {
- case 's':
- if ('#' != map[pRow + 1][pCol]) {
- map[pRow][pCol] = ' ';
- pRow++;//3
- map[pRow][pCol] = 'R';
- }
- break;
- case 'w':
- if ('#' != map[pRow - 1][pCol]) {
- map[pRow][pCol] = ' ';
- pRow--;
- map[pRow][pCol] = 'R';
- }
- break;
- case 'a':
- if ('#' != map[pRow][pCol - 1]) {
- map[pRow][pCol] = ' ';
- pCol--;
- map[pRow][pCol] = 'R';
- }
- break;
- case 'd':
- if ('#' != map[pRow][pCol + 1]) {
- map[pRow][pCol] = ' ';
- pCol++;
- map[pRow][pCol] = 'R';
- }
- break;
- }
- printMap(map, row, col);
- }
- printf("你太牛X了\n");
- printf("想挑战自己,请购买完整版本\n");
- return 0;
- }
- void printMap(char map[6][7] , int row, int col)
- {
- system("cls");
- for (int i = 0; i < row; i++) {
- for (int j = 0; j < col; j++) {
- printf("%c", map[i][j]);
- }
- printf("\n");
- }
- }
-
- /*
- R代表一个人
- #代表一堵墙
- // 0123456
- ####### // 0
- # # // 1
- #R ## # // 2
- # # # // 3
- ## # // 4
- ####### // 5
-
- 分析:
- >1.保存地图(二维数组)
- >2.输出地图
- >3.操作R前进(控制小人行走)
- 3.1.接收用户输入(scanf/getchar)
- w(向上走) s(向下走) a(向左走) d(向右走)
- 3.2.判断用户的输入,控制小人行走
- 3.2.1.替换二维数组中保存的数据
- (
- 1.判断是否可以修改(如果不是#就可以修改)
- 2.修改现有位置为空白
- 3.修改下一步为R
- )
- 3.3.输出修改后的二维数组
- 4.判断用户是否走出出口
- */
- // 声明打印地图方法
- void printMap(char map[6][7] , int row, int col);
- int main(int argc, const char * argv[])
- {
- // 1.定义二维数组保存迷宫地图
- char map[6][7] = {
- {'#', '#', '#', '#', '#', '#', '#'},
- {'#', ' ', ' ', ' ', '#' ,' ', ' '},
- {'#', 'R', ' ', '#', '#', ' ', '#'},
- {'#', ' ', ' ', ' ', '#', ' ', '#'},
- {'#', '#', ' ', ' ', ' ', ' ', '#'},
- {'#', '#', '#', '#', '#', '#', '#'}
- };
- // 2.计算地图行数和列数
- int row = sizeof(map)/sizeof(map[0]);
- int col = sizeof(map[0])/ sizeof(map[0][0]);
- // 3.输出地图
- printMap(map, row, col);
- // 4.定义变量记录人物位置
- int pRow = 2;
- int pCol = 1;
- // 5.定义变量记录出口的位置
- int endRow = 1;
- int endCol = 6;
- // 6.控制人物行走
- while ('R' != map[endRow][endCol]) {
- // 6.1提示用户如何控制人物行走
- printf("亲, 请输入相应的操作\n");
- printf("w(向上走) s(向下走) a(向左走) d(向右走)\n");
- char run;
- run = getchar();
- // 6.2根据用户输入控制人物行走
- switch (run) {
- case 's':
- if ('#' != map[pRow + 1][pCol]) {
- map[pRow][pCol] = ' ';
- pRow++;//3
- map[pRow][pCol] = 'R';
- }
- break;
- case 'w':
- if ('#' != map[pRow - 1][pCol]) {
- map[pRow][pCol] = ' ';
- pRow--;
- map[pRow][pCol] = 'R';
- }
- break;
- case 'a':
- if ('#' != map[pRow][pCol - 1]) {
- map[pRow][pCol] = ' ';
- pCol--;
- map[pRow][pCol] = 'R';
- }
- break;
- case 'd':
- if ('#' != map[pRow][pCol + 1]) {
- map[pRow][pCol] = ' ';
- pCol++;
- map[pRow][pCol] = 'R';
- }
- break;
- }
- // 6.3重新输出行走之后的地图
- printMap(map, row, col);
- }
- printf("你太牛X了\n");
- printf("想挑战自己,请购买完整版本\n");
- return 0;
- }
-
- /**
- * @brief printMap
- * @param map 需要打印的二维数组
- * @param row 二维数组的行数
- * @param col 二维数组的列数
- */
- void printMap(char map[6][7] , int row, int col)
- {
- // 为了保证窗口的干净整洁, 每次打印都先清空上一次的打印
- system("cls");
- for (int i = 0; i < row; i++) {
- for (int j = 0; j < col; j++) {
- printf("%c", map[i][j]);
- }
- printf("\n");
- }
- }
-
- // 南哥 // 公号代码情缘
- // /* 江哥 */
- // 瓜哥
-
- /*
- // 作者:LNJ
- // 描述:第一个C语言程序作用:这是一个主函数,C程序的入口点
- */
-
- /*
- 哈哈哈
- /*嘻嘻嘻*/
- 呵呵呵
- */
-
- /*
- R代表一个人
- #代表一堵墙
- // 0123456
- ####### // 0
- # # // 1
- #R ## # // 2
- # # # // 3
- ## # // 4
- ####### // 5
-
- 分析:
- >1.保存地图(二维数组)
- >2.输出地图
- >3.操作R前进(控制小人行走)
- 3.1.接收用户输入(scanf/getchar)
- w(向上走) s(向下走) a(向左走) d(向右走)
- 3.2.判断用户的输入,控制小人行走
- 3.2.1.替换二维数组中保存的数据
- (
- 1.判断是否可以修改(如果不是#就可以修改)
- 2.修改现有位置为空白
- 3.修改下一步为R
- )
- 3.3.输出修改后的二维数组
- 4.判断用户是否走出出口
- */
-
- // 2.计算地图行数和列数
- int row = sizeof(map)/sizeof(map[0]);
- int col = sizeof(map[0])/ sizeof(map[0][0]);
-
- /**
- * @brief printMap
- * @param map 需要打印的二维数组
- * @param row 二维数组的行数
- * @param col 二维数组的列数
- */
- void printMap(char map[6][7] , int row, int col)
- {
- system("cls");
- for (int i = 0; i < row; i++) {
- for (int j = 0; j < col; j++) {
- printf("%c", map[i][j]);
- }
- printf("\n");
- }
- }
-
- // 1.定义二维数组保存迷宫地图
- char map[6][7] = {
- {'#', '#', '#', '#', '#', '#', '#'},
- {'#', ' ', ' ', ' ', '#' ,' ', ' '},
- {'#', 'R', ' ', '#', '#', ' ', '#'},
- {'#', ' ', ' ', ' ', '#', ' ', '#'},
- {'#', '#', ' ', ' ', ' ', ' ', '#'},
- {'#', '#', '#', '#', '#', '#', '#'}
- };
- // 2.计算地图行数和列数
- int row = sizeof(map)/sizeof(map[0]);
- int col = sizeof(map[0])/ sizeof(map[0][0]);
- // 3.输出地图
- printMap(map, row, col);
- // 4.定义变量记录人物位置
- int pRow = 2;
- int pCol = 1;
- // 5.定义变量记录出口的位置
- int endRow = 1;
- int endCol = 6;
- // 6.控制人物行走
- while ('R' != map[endRow][endCol]) {
- ... ...
- }
-
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
---|---|---|---|---|---|---|---|
char | short | int | long | float | double | if | else |
return | do | while | for | switch | case | break | continue |
default | goto | sizeof | auto | register | static | extern | unsigned |
signed | typedef | struct | enum | union | void | const | volatile |
这些不用专门去记住,用多了就会了。在编译器里都是有特殊颜色的。我们用到时候会一个一个讲解这个些关键字怎么用,现在浏览下,有个印象就OK了