1、初识C语言---“hello world”

1、什么是C语言呢?

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译


张三说:这是什么啊,看不懂感觉好难。


C语言说:这些是一群科学家对我的定义,肯定要高大上,不然与他们的地位不匹配。后面你就会理解了,我是很厉害的哦。


张三说:所以你到底是什么东西,干什么的,我还是不知道。


C语言说:额。。。,好吧给你简单的介绍一下我自己。

在这里插入图片描述

C语言说:就像这个图片一样,我的诞生是为了让你们人类和计算机沟通,我是一门计算机语言。


C语言和我们学习的英语其实差不多,都是一种工具。选不同的工具与不同的事务进行交流

张三说:都是和同一个机器沟通,为啥有这么多语言呢?

这个等学习到后面你就会知道了。

C语言主要用于底层开发

在这里插入图片描述

2、第一个C语言程序

话不多说上程序。

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

想必学过C语言的,都知道这个程序吧。--------它是将hello world打印到屏幕上

其实不过是C语言,几乎学习所有语言的第一个代码都是打印hello world

尽管你所知道的大神,他们的第一步都是在屏幕打印hello world。

所以你离大神又进了一步哟,努力学习,你也会是大神。

简单解释一些这个代码,要想真的理解还有些路要走。

1、#include<stdio.h>这个叫做预处理。

我当时学C语言的时候就很难受,预处理是啥呀,有啥用啊。反正就是不理解,非要把它弄懂,结果浪费了一节课,没有听课,也没有弄懂,尽管有人给你解释了,你也理解不了,因为现在是自己啥都不知道,这种好奇心是好的,但是你要分时候。这个学到后面就理解了,现在不需要理解,只要记住写代码的时候必须加上它


2、int main()这个叫主函数

为啥叫mian(),有什么用?我赶紧去查一查。

我想说在学习一个新的语言刚开始的时候,不要抱有好奇心要有一颗接纳心

不管我能不能理解,我先把他记住,等到后面有一定的基础后,你可以有好奇心。

不要担心,学到后面你就会知道了,现在没有办法说,你现在只要记得,你写的程序要写在main()函数中,才可以被执行—目前先记住

一个项目只能有且只有一个main()函数


3、{

} 这个叫做代码块

上面代码中的{ },我们需要将我们的代码写在{ }内部,这个记住。


4、printf()----打印函数

这函数到底是是啥呀?怎么老说函数,我咋啥都不知道?

你不知道很正常,你现在连C语言的语法都不知道,肯定不知道是啥?

我告诉你们,你们可以将它们先记住,会用,后面学完C语言你们就知道这些都是干啥的了。

printf()函数的作用,是将括号内用引号引起来的东西打印到电脑屏幕上


5、rertrn 0 — 返回值

与int main()中的int对应,return 0,返回0,表示程序正常执行


我知道此时此刻,你们心中有一万个问号,但是你先将它藏在心里,不要去想。

我们前期学习第一门计算机语言的时候,应该先知道如何使用,再去研究原理,现在不要去管为什么,因为告诉你你也听不懂。

3、数据类型

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

在这里插入图片描述

在这里插入图片描述

不要看见这个就头疼,应该先去慢慢的记住他们。

我们已经知道printf()函数是将“ ”之间的内容打印到屏幕上

这里为什么打印的不是“%d\n”呢?而是数字

%d表示按整数打印,打印sizeof(“数据类型”) ---- 表示该类型的大小(单位是字节)

\n表示打印完一个后,换一行打印

C语言定义了许多的数据类型,数据类型又是什么呢?

这就好比数学中的数字吧,数学中有整数、小数、虚数等等

他们分别代表不同的意思

C语言中,也有许多类型 ----- 数据类型

char 就表示一个字符 表示‘ a’ ’ b’


short 表示短整型

整型我能理解,短整型什么意思

短就是它表示的整型范围比较小

假如你想表示100w,用short表示不了

用int就可以表示

当用int表示不了,就用long来表示

当用long表示不了,就用long long 来表示

他们可以表示整型

如何确定他们所能表示的的范围呢?为啥不直接用long long,这样就方便好多,只要是整数都可以?

先保留好自己的疑问,等在学学,你就不会再问了。


float表示单精度浮点数

double表示双精度浮点数

先不要管单精度、双精度。

浮点数,就是点(.)可以移动的数---->也就是小数。

这就是上面的那些数据类型的含义

同样,你们又有一万个问号,先忍忍,不要问。

4、变量与常量

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

有些值是可变的(比如:年龄,体重,薪资)

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

4.1变量的定义方法

int age = 150;   // int 表示数据类型   age表示变量名(可以自己命名)   = 表示给这个变量赋值
float weight = 45.5f;
char ch = 'w';

4.2变量的命名规则

  • 只能由字母(包括大写和小写)、数字和下划线( _ )组成。
  • 不能以数字开头。
  • 长度不能超过63个字符。
  • 变量名中区分大小写的。
  • 变量名不能使用关键字
//变量命中只能有字母,数字,下划线_
//*不能出现再变量命中
int ad* c = 10;//错误

//变量名不能以数字开头
int 3ad = 20;//错误

//变量名不可以超过63个字符
int sahjdksadadashakdhakjhdsjkdhajkshdakjhdajkhdajkdhasjkdh = 30; // 错误

//变量名区分大小写
int a = 10;
int A = 20;//这是两个变量,不是同一个

//变量名不可以用关键字
int  int  = 20//错误,int是关键字

关键字都有那些呢?

在这里插入图片描述

也就这么多,不需要去记,学着学着你就都知道了。

4.3变量的使用

#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()是一个函数,表述从键盘输入并且存入后面的变量中。

scanf(“%d%d”, &num1, &num2);表示你从键盘输入两个整数,存入到num1和num2。(记得有&)

第一个存入num1,第二个整数存储到num2。

printf()也是一个函数,表示讲后面的内容输出到电脑屏幕上

printf(“sum = %d\n”, sum);遇到%d,以整数的形式将sum输出到屏幕上。(记得没有&)

在这里插入图片描述

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

作用域:

作用域是程序设计概念,通常来说,就是一个变量可以有效使用的范围

1.局部变量的作用域:是变量所在的局部范围。

2.全局变量的作用域:是整个工程。

生命周期:

变量的生命周期是指从变量的创建变量的销毁的一个时间段

1.局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束

2.全局变量的生命周期是:整个程序的生命周期

作用域与生命周期一个空间上的限制一个是时间上的限制,两个还是有区别的

int main()
{
	int a = 10;
	int i = 0;
	for (i = 0; i < 10; i++)
	{
		int b = 0;
		b = b + i;
	}
}

例如上面的这个代码:

a 的作用域就在main函数中。

b 的作用域在for()循环中。

a 的生命周期是从int a创建开始,到出main()函数结束。

b 的生命周期是从int b创建开始,到出for()循环结束。

4.5常量

C语言的常量和变量的定义的形式有所差异

C语言中的常量分为以下几种:

  • 字面常量
int main()
{
    3.14;//字面常量
	1000;//字面常量
}
  • const修饰的常变量
int main()
{
	//const 修饰的常变量	
	const float pai = 3.14f;   //这里的pai是const修饰的常变量
	pai = 5.14;//是不能直接修改的!(error)
}

这里的pai的值不可以改变,故拥有常量的属性。
但是它的本质仍然为变量
  • #define定义的标识符常量
//#define的标识符常量 
#define MAX 100 
int main()
{
    printf("max = %d\n", MAX);
    
    return 0;
}
  • 枚举常量
//举例
enum Sex
{
	MALE,
	FEMALE,
	SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量

int main()
{
    printf("%d\n", MALE);    //0
	printf("%d\n", FEMALE);  //1
	printf("%d\n", SECRET);  //2
	//注:枚举常量的默认是从0开始,依次向下递增1的
    
    retrun 0;
}

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

5.1字符串

“hello” 这里省略了’/0’

这里用双引号引起来的一串字符称为字符串字面值(字符串)

在这里插入图片描述

为什么第二个会输出烫烫烫呢?

这是由于printf在按照%s输出的时候,直到遇到‘\0’才停止。

而arr1中,默认在最后面加入了一个’\0’

而arr2中,没有加入’\0’,所以它所打印的是不确定的,直到遇到’\0’。

而arr3中,在数组中加入’\0’就好了。

在这里插入图片描述

5.2转义字符

如果我们要在屏幕上打印:c:\code\test.c

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

在这里插入图片描述

出现了这种结果,我们比较难理解,此时我们就需要去了解一下转义字符

转义字符:就是字符的意义改变了。

转义字符有哪些

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

现在应该明白为啥打印出来和自己想的不一样了把。

正确代码

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

问题1:在屏幕上打印一个单引号’,怎么做?
问题2:在屏幕上打印一个字符串,字符串的内容是一个双引号“,怎么做?

#include <stdio.h>
int main()
{
    //printf("%c\n",''');错误
    //printf("%c\n",""");错误
	printf("%c\n", '\'');
	printf("%s\n", "\"");
	return 0;
}

5.3注释

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++注释风格
    //printf("%d\n", Add(1, 2));
	printf("%d\n", Add(1, 2));
	return 0;
}

注释风格:

第一种:C语言风格注释/* xxxxxx */

​ 有缺陷:不能嵌套注释

在这里插入图片描述

第二种:C++风格注释:// xxxxxx

​ 可以注释一行也可以多行

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
C语言中的Hello World程序通常用于展示最基本的语法和程序结构。下面是一个示例的C语言Hello World程序: ```c #include <stdio.h> int main() { printf("Hello World!"); return 0; } ``` 这个程序使用了头文件<stdio.h>,其中包含了标准输入输出函数printf的声明。在main函数中,调用了printf函数并传入了字符串"Hello World!"作为参数。最后,使用return 0语句表示程序正常结束。 要编译和执行这个程序,可以使用命令行工具。在Linux或Mac系统中,可以使用gcc或clang编译器。以下是编译和执行Hello World程序的命令: ```bash gcc -o helloworld helloworld.c ./helloworld ``` 其中,gcc命令用于编译程序,-o选项指定输出的可执行文件名字,helloworld.c是源代码文件的名字。之后,使用./helloworld命令来执行编译得到的可执行文件。 这样,当你运行上述命令后,会在终端输出"Hello World!"的字符串。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [C语言HelloWorld](https://blog.csdn.net/oTianLe1234/article/details/115820132)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [[C语言]第一个代码HelloWorld 初识C语言(一)](https://blog.csdn.net/qq_58325487/article/details/120791887)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值