C/C++入门002-C语言组成

简介: C/C++入门002-C语言组成

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


1. C工程创建


1.1 基于Code::Blocks创建工程

打开开发工具 Code::Blocks


1.创建新工程

94db3aef5218c49a334e7ec51edccd42_550d4e6100594332b5d46032690a2272.png


2.在弹出的窗口中,选择Console Application(控制台应用程序)

f86fcf7f2a4b00a392bf4caeb9f3615a_f715e0bd9dd149c6bfa122c4deb1cc18.png


3.创建一个C项目

6905737f2f0002c2441ed0219f076869_0862d1be72ef4564a75827362562e975.png


4.设置项目名称为所在位置:

e013c154e289640675118ab307bc75e3_dd0e86cbc0914b5e8b215b617248c0db.png


5.运行main.c

选择编译并运行

b0a94027b17c42a46a2674a2a82c89f4_b8da264f005c499e8623f893d5dc776d.png


1.2 Code::Blocks界面设置

如果打开Code::Blocks,发现有些界面为空白,可以通过view进行显示需要显示的页面

View–Perspectives–Code::Blocks default

1047348623900df648e0aa8dd3ee987b_d1cd8c717a8f4620aa11473437acc9b6.png


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 <stdio.h>

printf函数的参数格式:

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

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


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


输出函数格式

17a44c8f00d880320390eb08646efcf4_c3407961f07c4e77aad15a2a78963dd9.png


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

代码 demo1208.c


#include <stdio.h>
#include <windows.h>
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 <stdio.h>
#include <windows.h>
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中为蓝色

关键字不能用作变量名、函数名等


114c7385069fc2cef3d2662354120de3_ecd37f5c31164aff985fb428bda43c59.png


2.5.2 关键字分类

b4060e2b5f0766e5602f0094dd70745a_723a202e6cde4caea7687ab16c85dac5.png


2.5 标识符

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


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


只能由字母(a~z、 A~Z)、数字、下划线组成 a_6

不能包含除下划线以外的其它特殊字符串 a+6

不能以数字开头 6a

不能是C语言中的关键字 do

标识符严格区分大小写


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


见名知意: a 不合适 studentName比较合适

驼峰命名: 驼峰命名法 是指 构成标识符时,第一个单词以小写字母开始;第二个单词的首字母大写.

例如:userName、userLoginName这样的变量名称看上去就像驼峰一样此起彼伏

ff501bb006aa161db2a5724e1ab8ce7a_ec81b0f3ef0443d3b15b20c9b9abab8e.png


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

int studentAge;
int a; // 对比
相关文章
|
28天前
|
C++
C++ 语言异常处理实战:在编程潮流中坚守稳定,开启代码可靠之旅
【8月更文挑战第22天】C++的异常处理机制是确保程序稳定的关键特性。它允许程序在遇到错误时优雅地响应而非直接崩溃。通过`throw`抛出异常,并用`catch`捕获处理,可使程序控制流跳转至错误处理代码。例如,在进行除法运算或文件读取时,若发生除数为零或文件无法打开等错误,则可通过抛出异常并在调用处捕获来妥善处理这些情况。恰当使用异常处理能显著提升程序的健壮性和维护性。
42 2
|
1月前
|
安全 编译器 程序员
【C++初阶】C++简单入门
【C++初阶】C++简单入门
|
28天前
|
算法 C语言 C++
C++语言学习指南:从新手到高手,一文带你领略系统编程的巅峰技艺!
【8月更文挑战第22天】C++由Bjarne Stroustrup于1985年创立,凭借卓越性能与灵活性,在系统编程、游戏开发等领域占据重要地位。它继承了C语言的高效性,并引入面向对象编程,使代码更模块化易管理。C++支持基本语法如变量声明与控制结构;通过`iostream`库实现输入输出;利用类与对象实现面向对象编程;提供模板增强代码复用性;具备异常处理机制确保程序健壮性;C++11引入现代化特性简化编程;标准模板库(STL)支持高效编程;多线程支持利用多核优势。虽然学习曲线陡峭,但掌握后可开启高性能编程大门。随着新标准如C++20的发展,C++持续演进,提供更多开发可能性。
45 0
|
15天前
|
编译器 Linux C语言
C++基础入门
C++基础入门
|
6天前
|
JavaScript 前端开发 测试技术
一个google Test文件C++语言案例
这篇文章我们来介绍一下真正的C++语言如何用GTest来实现单元测试。
9 0
|
1月前
|
安全 编译器 C++
C++入门 | 函数重载、引用、内联函数
C++入门 | 函数重载、引用、内联函数
25 5
|
1月前
|
存储 安全 编译器
C++入门 | auto关键字、范围for、指针空值nullptr
C++入门 | auto关键字、范围for、指针空值nullptr
48 4
|
1月前
|
编译器 C语言 C++
C++入门 | 命名空间、输入输出、缺省参数
C++入门 | 命名空间、输入输出、缺省参数
33 4
|
1月前
|
编译器 程序员 C语言
C++入门
C++入门
31 5
|
1月前
|
编译器 C++ 容器
C++语言的基本语法
想掌握一门编程语言,第一步就是需要熟悉基本的环境,然后就是最重要的语法知识。 C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。 类 - 类可以定义为描述对象行为/状态的模板/蓝图。 方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。 即时变量 - 每个对象都有其独特的即时变量。对象的状态是由这些即时变量的值创建的。 完整关键字
45 2