C/C++入门002-C语言组成
创始人
2024-03-28 00:54:20
0次

文章目录

  • 1. C工程创建
    • 1.1 基于Code::Blocks创建工程
    • 1.2 Code::Blocks界面设置
  • 2. C语言程序组成
    • 2.1函数
      • 2.1.1 主函数
      • 2.1.2 其它函数
      • 2.1.3 如何执行定义好的函数
    • 2.2 输出函数printf
      • 2.2.1 编译输出为exe可执行文件
    • 2.3 C语言要求
      • 2.3.1 注释
    • 2.4 C语言程序练习
      • 2.4.1 输出三角形
        • 代码1:
        • 代码2
      • 2.4.2 输出无bug
        • 代码:
    • 2.5 C语言中的关键字
      • 2.5.1 关键字
      • 2.5.2 关键字分类
    • 2.5 标识符

参考:https://blog.csdn.net/weixin_44617968/article/details/117656810

1. C工程创建

1.1 基于Code::Blocks创建工程

打开开发工具 Code::Blocks

  1. 创建新工程
    在这里插入图片描述

  2. 在弹出的窗口中,选择Console Application(控制台应用程序)
    在这里插入图片描述

  3. 创建一个C项目
    在这里插入图片描述

  4. 设置项目名称为所在位置:
    在这里插入图片描述

  5. 运行main.c
    选择编译并运行
    在这里插入图片描述

1.2 Code::Blocks界面设置

如果打开Code::Blocks,发现有些界面为空白,可以通过view进行显示需要显示的页面
View–Perspectives–Code::Blocks default
在这里插入图片描述

2. C语言程序组成

2.1函数

2.1.1 主函数

手机APP中的每一个功能如“打电话”,“发短信”等等,就相当于C语言程序中的一个程序段(函数),每个功能要顺序执行,如先开机,才能打电话,开机就是一起执行的基础。
C语言程序也一样,由众多功能组成,这个先执行的程序段称之为"主函数"。主函数有且只有一个,没有主函数,程序无法运行。主函数是系统运行是自动调用的,其它函数需要手动调用。主函数有固定书写的格式和范写

如果没有主函数,进行编译会报错

c:\Program Files\CodeBlocks\MinGW\bin\..\lib\gcc\x86_64-w64-mingw32\8.1.0\..\..\..\..\x86_64-w64-mingw32\lib\..\lib\libmingw32.a(lib64_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x2e)||undefined reference to `WinMain'|

出现这种情况表示C代码中不存在入口函数,即 main() 函数,请为你的C程序添加 main() 函数;

int main(int argc, char* argv[])
{return 0;
}

主函数定义的格式:

int 代表函数执行之后会返回一个整数类型的值
main 代表这个函数的名字叫做main
() 代表这是一个函数
{} 代表范围
return 1; 代表函数执行完之后返回整数1

2.1.2 其它函数

其它函数定义的格式 与主函数一致 只是函数名不一样

int oFunction() {printf("%d",1);return 1;
}

2.1.3 如何执行定义好的函数

int main()
{oFunction(); // 调用了函数return 0;
}int oFunction() {printf("%d",1);return 1;
}

2.2 输出函数printf

使用printf函数输出要输出的内容

printf();

报错:

D:\cplusproject\cproject\main.c|8|error: too few arguments to function ‘printf’|
表示 函数’printf’|的参数太少

添加字符串参数后调用:

  printf("字符串1\n");printf("字符串2\n");

\n表示换行

如何引用printf函数,可以通过

#include  

printf函数的参数格式:

%[flags][width][.precision][length]specifier,

即:%[标志][最小宽度][.精度][类型长度]说明符 [5] 。转换说明详解见下文。

附加参数 – 根据不同的 format 字符串,函数可能需要一系列的附加参数,每个参数包含了一个要被插入的值,替换了 format 参数中指定的每个 % 标签。参数的个数应与 % 标签的个数相同。

输出函数格式
在这里插入图片描述

2.2.1 编译输出为exe可执行文件

代码 demo1208.c

#include 
#include 
int main()
{printf("字符串1\n");printf("字符串2\n");Sleep(10000);return 10;
}

如果通过
gcc demo1208.c -o demo1208

如果提示错误

demo1208.c:3:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
main()

表示当前的main函数前没有添加int返回值类型,只需要把主函数

int main()
{}

即可

2.3 C语言要求

2.3.1 注释

单行注释

// 被注释内容

多行注释

/* 被注释内容 */

注释的应用场景:

思路分析
说明变量
函数说明

C语言中,每条完整的语句均使用 ; 结尾
C语言中,中文只能出现在注释或字符串中
一个C语言程序有且只有一个main函数,main函数前面的int可以不写或者换成void,其中return 0可以不写
代码记得加注释 //

2.4 C语言程序练习

2.4.1 输出三角形

  ****
*****

代码1:

void main()
{printf("  *  \n");printf(" *** \n");printf("*****\n");
}

代码2

printf("  *  \n *** \n*****\n");

2.4.2 输出无bug

代码:

#include 
#include void main()
{char log[] = "\_oo0oo_\r\n\o8888888o\r\n\88\" . \"88\r\n\(| -_- |)\r\n\0\\  =  /0\r\n\___/`---'\\___\r\n\.' \\\\|     |// '.\r\n\/ \\\\|||  :  |||// \r\n\/ _||||| -:- |||||- \r\n\|   | \\\\\\  - /// |   |\r\n\| \\_|  ''\\---/''  |_/ |\r\n\\\  .-\\__  '-'  ___/-. /\r\n\___'. .'  /--.--\\  `. .'___\r\n\.\"\" '<  `.___\\_<|>_/___.' >' \"\".\r\n\| | :  `- \\`.;`\\ _ /`;.`/ - ` : | |\r\n\\\  \\ `_.   \\_ __\\ /__ _/   .-` /  /\r\n\=====`-.____`.___ \\_____/___.-`___.-'=====\r\n\`=---='\r\n\
\r\n\~~~~~~~~~~~~~~~~~~~~无bug~~~~~~~~~~~~~~~~~~~\r\n\
\r\n ";printf("%s",log);
}

注意下C语言中的类型特点

2.5 C语言中的关键字

2.5.1 关键字

关键字就是保留字:

一共32个。
全部都是小写
在开发工具中会显示特殊颜色,比如Code::Blocks中为蓝色
关键字不能用作变量名、函数名等

在这里插入图片描述

2.5.2 关键字分类

在这里插入图片描述

2.5 标识符

标识符是用来给变量,函数起名字的,和人类的名字差不多,为了方便识别变量和函数,标识符要有一定的规范,避免出现大家都叫曹的情况发生。

标识符命名规则–编译器可以通过

只能由字母(a~z、 A~Z)、数字、下划线组成 a_6
不能包含除下划线以外的其它特殊字符串 a+6
不能以数字开头 6a
不能是C语言中的关键字 do
标识符严格区分大小写

标识符命名规范–名字起的好

见名知意: a 不合适 studentName比较合适
驼峰命名: 驼峰命名法 是指 构成标识符时,第一个单词以小写字母开始;第二个单词的首字母大写.
例如:userName、userLoginName这样的变量名称看上去就像驼峰一样此起彼伏
在这里插入图片描述

问题如果一个变量用来接收学生的年龄,定义这个变量吧:

int studentAge;
int a; // 对比

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...