首页 > 其他分享 >初识C语言

初识C语言

时间:2025-01-19 15:33:14浏览次数:3  
标签:include return int C语言 初识 printf main

1.什么是c语音

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易
的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语
言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的
C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超
级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制
定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 [1] 目前2011年12月8
日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标
准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉
字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C

2.第一个c语音程序

#include <stdio.h>
int main(){
printf("hellobit\n");
printf("hehe\n");
}
return 0

//解释:
//main函数是程序的入口
//一个工程中main函数有且仅有一个

3. 数据类型

char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点数
double //双精度浮点数
//C语言有没有字符串类型?

为什么出现这么的类型?
每种类型的大小是多少?

#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(long double));
return 0;
}

char ch = 'w';
int weight = 120;
int salary = 20000;

4. 变量、常量

生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型等等)
有些值是可变的(比如:年龄,体重,薪资)

不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示。

4.1 定义变量的方法

int age = 150;
float weight = 45.5f;
char ch = 'w';

4.2 变量的命名

只能由字母(包括大写和小写)、数字和下划线( _ )组成。
不能以数字开头。
长度不能超过63个字符。
变量名中区分大小写的。
变量名不能使用关键字。

4.3 变量的分类

局部变量
全局变量

#include <stdio.h>
int global = 2019;//全局变量
int main()
{
int local = 2018;//局部变量
//下面定义的global会不会有问题?
int global = 2020;//局部变量
printf("global = %d\n", global);
return 0;
}

总结:
上面的局部变量global变量的定义其实没有什么问题的!
当局部变量和全局变量同名的时候,局部变量优先使用。

变量的使用

#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}

//这里介绍一下输入,输出语句
//scanf
//printf

4.4 变量的作用域和生命周期

作用域
作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用
的而限定这个名字的可用性的代码范围就是这个名字的作用域。
1. 局部变量的作用域是变量所在的局部范围。
2. 全局变量的作用域是整个工程。
生命周期
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
1. 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
2. 全局变量的生命周期是:整个程序的生命周期。

4.5 常量

C语言中的常量和变量的定义的形式有所差异。
C语言中的常量分为以下以下几种:
字面常量
const 修饰的常变量
#define 定义的标识符常量
枚举常量

#include <stdio.h>
//举例
enum Sex
{
MALE,
FEMALE,
SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量
int main()
{
//字面常量演示
3.14;//字面常量
1000;//字面常量
//const 修饰的常变量
const float pai = 3.14f; //这里的pai是const修饰的常变量
pai = 5.14;//是不能直接修改的!
//#define的标识符常量 演示
#define MAX 100
printf("max = %d\n", MAX);
//枚举常量演示
printf("%d\n", MALE);
#include <stdio.h>
printf("%d\n", FEMALE);
printf("%d\n", SECRET);
//注:枚举常量的默认是从0开始,依次向下递增1的
return 0;
}

注:
上面例子上的pai 被称为const 修饰的常变量, const 修饰的常变量在C语言中只是在语法层面限制了
变量pai 不能直接被改变,但是pai 本质上还是一个变量的,所以叫常变量。

5. 字符串+转义字符+注释

5.1 字符串

"hello bit.\n"

这种由双引号(Double Quote)引起来的一串字符称为字符串字面值(String Literal),或者简称字符
串。
注:字符串的结束标志是一个\0 的转义字符。在计算字符串长度的时候\0 是结束标志,不算作字符串
内容。

#include <stdio.h>
//下面代码,打印结果是什么?为什么?(突出'\0'的重要性)
int main()
{
char arr1[] = "bit";
char arr2[] = {'b', 'i', 't'};
char arr3[] = {'b', 'i', 't', '\0'};
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
#include <stdio.h>
int main()
{
printf("c:\code\test.c\n");
return 0;
}
比特就业课-专注IT大学生就业的精品课程
比特主页:https://m.cctalk.com/inst/s9yewhfr

5.2 转义字符

假如我们要在屏幕上打印一个目录: c:\code\test.c
我们该如何写代码?

#include <stdio.h>
int main()
{
printf("c:\code\test.c\n");
return 0;
}

实际上程序运行的结果是这样的

#i ncl  ude   <s t d i o. h)

:I int    ma i n 0

pr i nt f  (" c: \code\ t es t . c\ n" ) ; r et ur n  O ;

选择 C:\W I N DOWS\sys te m3 2\c md.exe

c : code     es t . c

请按任意键继续.

这里就不得不提一下转义字符了。转义字符顾名思义就是转变意思。
下面看一些转义字符。

转义字符释义
\? 在书写连续多个问号时使用,防止他们被解析成三字母词
\' 用于表示字符常量'
\“ 用于表示一个字符串内部的双引号
\\ 用于表示一个反斜杠,防止它被解释为一个转义序列符。
\a 警告字符,蜂鸣
\b 退格符
\f 进纸符
\n 换行
\r 回车
\t 水平制表符
\v 垂直制表符
\ddd d d d表示1~3个八进制的数字。 如: \130 表示字符X
\xdd d d表示2个十六进制数字。 如: \x30 表示字符0

#include <stdio.h>
int main()
{
//问题1:在屏幕上打印一个单引号',怎么做?
//问题2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?
printf("%c\n", '\'');
printf("%s\n", "\"");
return 0;
}
比特就业课-专注IT大学生就业的精品课程
比

//程序输出什么?
#include <stdio.h>
int main()
{
printf("%d\n", strlen("abcdef"));
// \62被解析成一个转义字符
printf("%d\n", strlen("c:\test\628\test.c"));
return 0;
}

6. 注释

1. 代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字
比如:

#include <stdio.h>
int Add(int x, int y)
{
return x+y;
}
/*C语言风格注释
int Sub(int x, int y)
{
return x-y;
}
*/
int main()
{
//C++注释风格
//int a = 10;
//调用Add函数,完成加法
printf("%d\n", Add(1, 2));
return 0;
}

注释有两种风格:
C语言风格的注释 /*xxxxxx*/
缺陷:不能嵌套注释
C++风格的注释 //xxxxxxxx
可以注释一行也可以注释多行

7. 选择语句

如果你好好学习,校招时拿一个好offer,走上人生巅峰。
如果你不学习,毕业等于失业,回家卖红薯。
这就是选择!

8. 循环语句

9. 函数

#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
上述代码,写成函数如下:
#include <stdio.h>
int Add(int x, int y)
{
int z = x+y;
return z;
}
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个操作数:>");
scanf("%d %d", &num1, &num2);
sum = Add(num1, num2);
printf("sum = %d\n", sum);
return 0;
}
函数的特点就是简化代码,代码复用。

10. 数组

要存储1-10的数字,怎么存储?
C语言中给了数组的定义:一组相同类型元素的集合

10.1 数组定义

int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素

10.2 数组的下标

C语言规定:数组的每个元素都有一个下标,下标是从0开始的。
数组可以通过下标来访问的。
比如:int arr[10] = {0};
//如果数组10个元素,下标的范围是0-9

10.3 数组的使用

#include <stdio.h>
int main()
{
int i = 0;
int arr[10] = {1,2,3,4,5,6,7,8,9,10};
for(i=0; i<10; i++)
{
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}

11. 操作符

12. 常见关键字

auto break case char const continue default do double else enum
extern float for goto if int long register return short signed
sizeof static struct switch typedef union unsigned void volatile while

C语言提供了丰富的关键字,这些关键字都是语言本身预先设定好的,用户自己是不能创造关键字的。注:关键字,先介绍下面几个,后期遇到讲解。

12.1 关键字 typedef

typedef 顾名思义是类型定义,这里应该理解为类型重命名。

标签:include,return,int,C语言,初识,printf,main
From: https://blog.csdn.net/hy____123/article/details/134624467

相关文章

  • PID 控制算法(一):初识
            PID控制算法是工业控制中常见的一种反馈控制方法,用于保持某个系统的状态接近目标值。PID代表三种控制方式:比例(P)、积分(I)、微分(D)。        想象一下,你正在开车,目标是让车速保持在60km/h,然而道路上有很多变化,例如上坡、下坡、转弯等等。PID控制就像你......
  • 比特c语言-分支与循环
      #分支与循环if语句目录if语句ifeg:输入一个整数,判断是否为奇数elseeg:输入一个整数,判断是否为奇数,如果是奇数打印是奇数,否则打印偶数嵌套ifeg:输入一个人的年龄关系操作符条件操作符eg:使用条件操作符表示代码逻辑eg:使用条件表达式找两个数中较大值逻辑操作符:&&,||,!eg:闰年的......
  • C语言文件操作—看完还不会欢迎留言!不收藏就找不到了a!
    本章作为科普篇,大家在工作时可能用的很少,但不看白不看嘛!看完一定加深编程语言与计算机之间的理解! 我们看本章的几个重点:1:为什么要使用文件?2:什么是文件3:文件的打开与关闭4:文件的使用方式5:文件的顺序读写6:文件的随机读写(C语言阶段只需要掌握以上即可!)为什么要使用文件......
  • 【QT】: 初识 QWidget 控件 | QWidget 核心属性(API) | qrc 文件
    ......
  • C语言-预处理命令
    1、预处理命令是以# 开头的指令        用于在编译前对源代码进行一些处理2、与#号相关的代码    1、#include                用于在源代码中引入其他文件。可以引入标准库的头文件,也可以引入自定义的头              ......
  • C语言 - 函数
    1、作用    1、可以让程序模块化    2、可以减少重复代码    3、提高程序的可读性、可维护性和重用性2、函数的三个部分    1、函数的定义        函数类型函数名(数据类型1形参1,数据类型2形参2,...)     ......
  • 在C语言中实现封装、继承和多态
    在C语言中,没有直接的支持封装、继承和多态等面向对象特性。C语言是结构化编程语言,通常通过函数和数据结构(结构体)来实现类似的功能。我们可以通过结构体、函数指针、和手动管理的对象生命周期来模拟C++中的面向对象的特性。下面我们将逐一讨论如何在C语言中实现封装、继承和多......
  • C语言知识点
    前言这篇博客并不是我个人所写,是我在网络上无意间看到了markdown版本,我觉得很不错,为了方便我当助班时带的学弟学妹通过我的博客学习C语言,我把这篇文章放在了我的博客里面,便于他们学习。如有侵权,请联系我删除。目录前言第1章程序设计和C语言C语言的发展及其特点结构化......
  • 嵌入式基础 C语言篇 数组.初阶
    一、基本概念逻辑:一次性定义多个相同类型的变量,并存储到一片连续的内存中语法释义:intbuf[5];buf是数组名,即这片连续内存的名称[5]代表这片连续内存总共分成5个相等的格子,每个格子称为数组的元素int代表每个元素的类型,可以是任意基本类型,也可以是组合类型,甚至可以是数组初......
  • 嵌入式基础 C语言篇 指针初阶
    一、指针的入门(1)、预备知识0、图解:1、内存地址字节:字节是内存的容量单位,英文称为byte,一个字节有8位,即1byte(00000000---11111111)=8bits(0---1)地址:系统为了便于区分每一个字节而对它们逐一进行的编号,称为内存地址,简称地址。在32位系统:说明:地址+1就是......