第一章 初识C语言(1.0)

这篇博客是C语言初学者的入门教程,涵盖了C语言的基础知识,包括C语言简介、首个C程序、数据类型、变量和常量、字符串、注释、选择和循环语句、函数、数组、操作符、关键字、#define宏定义以及指针和结构体的介绍。通过本教程,读者将对C语言有全面的了解。
摘要由CSDN通过智能技术生成

目录

前言

一.C语言简介

二.第一个C语言程序

三.数据类型

四.变量和常量

(一)变量

(二)常量

 五.字符串、转义字符、注释

(一)字符串

(二)转义字符

(三)注释

六.选择语句(分支语句)

七.循环语句

八.函数

九.数组

十、操作符

(一)单目操作符

(二)双目操作符

(三)特殊操作符

十一.关键字

十二.#define 定义常量和宏

十三.指针

十四.结构体


前言

暗号:小比特,大梦想。

通过本章学习,我们可以了解C语言的基础知识,对C语言有一个大概的了解;

所有的代码都在VS2022上书写;

一.C语言简介

(一)C语言的定义(什么是C语言?)

1.C语言是一门面向过程的计算机编程语言,广泛应用于底层开发

2.人和计算机交流的计算机语言(通过写C语言代码与计算机进行沟通);

(二)C语言标准语法(ANSI C)

        C89 C90 C99 C11...

        当前最常用的还是C89 C90。


二.第一个C语言程序

//1. 写出main函数
//2. 使用printf函数打印
//   printf是一个库函数,库函数的使用需要包含有文件
//   stdio.h
//3. 包含头文件
//4. 运行代码:ctrl+f5   或者  fn+ctrl+f5

#include<stdio.h>

int main()
{
	printf("hehe\n");
	return 0;
}

(一)主函数-main函数

1.主函数是程序执行的入口;C语言程序是从main函数的第一行开始执行的;

2.C语言代码中必须有且只有一个主函数,一个工程(项目)中可以有多个.c文件(源文件),但是多个.c文件中只能有一个main函数;

3.主函数标准基本格式

int main() 
{
	...;   //各类语句
	return 0;
}

(二)库函数

1.库函数的定义

        C语言标准库提供的函数,可以直接使用,比如printf函数,不需要再定义;使用库函数,需要头部声明包含头文件,不同的库函数在不同的头文件中;

声明格式:#include<头文件名>

2.头文件stdio.h-包含标准输入输出函数

(1)printf函数-输出函数,在控制台上打印输出数据

用法:

#include<stdio.h>

int main() {
	int a = 1;
	
	//第一种 不带输出参数
	//使用格式:printf("xxxx");
	//打印输出 xxx
	
	printf("我爱你\n");   //不带输出参数、格式
	printf("love you\n");   //不带输出参数、格式
	printf("\n");  //  \n转义字符,表示输出到这儿换行
	
	//第二种 带输出参数,输出格式
	//使用格式:printf("对应输出格式xxx",输出参数);
	//打印输出 输出参数xxx
	
	printf("%d\n",a);   //带输出参数、格式
	//一个输出参数对应一个输出格式,从左到右一一对应
	printf("a=%d\n", a);   //带输出参数、格式
	printf("a=%d,%d\n", a,5);   //带输出参数、格式

//注:即把参数a转变成对应的输出格式(%d)输出
	return 0;
}

(2)scanf函数-输入函数

注:VS编译器不能识别scanf函数,需要在头部声明(源文件第一行):

#define _CRT_SECURE_NO_WARNINGS 1(数字可加可不加)

#include<stdio.h>

int main()
{
	int a = 0;
	//单个输入
	//scanf("输入格式", &变量名);    &变量名=变量的地址 
	//按""内的输入格式输入相应的数据到对应的地址(赋给变量等等),回车输入完成
	scanf("%d", &a);    
	printf("a=%d\n", a);

	//多个输入
	//scanf("输入格式 输入格式", &变量名,&变量名); 
	//按""内的输入格式输入相应的数据到对应的地址(赋给变量等等)
	int b = 0;
	int c = 0;
	scanf("%d %d", &b, &c);  //输入时:输入一个整数后,按空格,再次输入,然后回车输入完成
	printf("a=%d,c=%d\n", b,c);
	
	scanf("%d,%d", &b, &c);  //输入时:输入一个整数后,按逗号,再次输入,然后回车输入完成
	printf("a=%d,c=%d\n", b, c);

	return 0;
}

注:写代码是不能出现中文符号;


三.数据类型

(一)C语言内置的数据类型

1.整型

(1)short   //短整型

(2)int   //整型

(3)long  //长整型

(4)long long  //更长的整型,C99里的标准;

2.浮点型(小数类型)

(1)float  //单精度浮点型

(2)double  //双精度浮点型

3.字符型(本质上也属于整数类型)

char //字符数据类型 

字符串是用字符数组来存储;

注:C内置的数据类型一共有7种;

(二).数据类型的大小

        数据存放在内存中,不同的数据类型占用不同的内存大小;用数据类型创建变量,存储数据;

1.输出格式

%d -打印10进制的整数

2.数据类型的大小计算

  • 操作符sizeof:计算数据类型或者参数所占内存空间的大小,单位为字节,输出格式为%zd(推荐),也可以用%d

用法:

使用格式

sizeof(X) -会返回一个整数
X为参数或者数据类型
#include<stdio.h>

int main()
{
	printf("%zd\n", sizeof(int));
	printf("%zd\n", sizeof(short));
	printf("%zd\n", sizeof(long));
	printf("%zd\n", sizeof(long long));
	printf("%zd\n", sizeof(float));
	printf("%zd\n", sizeof(double));
	printf("%zd\n", sizeof(char));
	printf("%zd\n", sizeof(1.0));
	printf("%zd\n", sizeof(1));
	return 0;
}

 总结:

整型:short-int-long-long long 2-4-4-4

浮点型:float-double 4-8

字符型:char 1

注:sizeof(long)>=sizeof(int),long有时候是4也有时候是8,取决于编译器


四.变量和常量

(一)变量

1.定义:

  • 变量:其值可以被改变
  • 常量:其值不可以被改变

2.变量名的命名规则(变量的命名最好有意义,可阅读性好)

  • 由字母(大小写)、数字、下划线组成,字母区分大小写;
  • 变量名首位不能是数字,变量名不能是关键字,变量名长度不能超过63个字符;

注:关键字:C语言设定好的符号,有自己的意义;

3.变量的定义和初始化

定义格式

数据类型 变量名;
int age:

定义变量的时候,最好初始化,初始化就是赋一个初值;
数据类型 变量名=初始化值;

int a=1;
char b='a';
#include<stdio.h>

int main()
{
	int a = 0;          
	float b = 1.0f;  //编译器输入小数为默认为double类型,需要在后面加上f
	double c = 1.0;
	char d = '0';   //输入字符时,使用'字符'

	scanf("%c", &d);   //使用scanf输入时,最好先输入字符,防止无法正确输入
	scanf("%d", &a);   //屏幕上输入的时候不用写''
	scanf("%f", &b);
	scanf("%lf", &c);
	
	printf("%c\n", d);

	printf("%d\n", a);

	printf("%f\n", b);    //浮点数据类型默认打印输出小数点后6位
	printf("%.1f\n", b);  //%.1f表示:打印输出单浮点数类型,小数点保留1位
	printf("%.3f\n", b);

	printf("%lf\n", c);
	printf("%.4lf\n", c);
	

	return 0;
}

  •  打印输出格式总结(待补充)
%d 打印输出10进制数
%c 打印输出一个字符

%f 打印输出小数(单精度)
%lf 打印输出小数(双精度)
%.1f 打印输出小数,留1位小数位

%zd  打印输出sizeof操作数返回值
%s   打印输出字符串

注:默认输出小数点后6位

 4.变量的分类

(1)全局变量:定义在函数外的变量,最好定义在使用的函数前面,防止未识别;

(2)局部变量:定义在函数内的变量,即大括号内部,其只能在函数内部使用;

#include<stdio.h>

int a = 1;  //全局变量

int main() 
{
	int b = 2; //局部变量
	printf("%d\n", a);
	printf("%d\n", b);
	return 0;
}

注:当局部与全局变量重名时,采用就近原则,局部变量优先;

  • 练习:输入2个整数,计算他们的大小
#include <stdio.h>

int main()
{
	int num1 = 0;
	int num2 = 0;
	int sum = 0;
	//输入
	scanf("%d %d", &num1, &num2);
	//计算
	sum = num1 + num2;
	//输出
	printf("%d\n", sum);

	return 0;
}

5.变量的作用域和生命周期 

1.作用域(scope):(一个名字)变量的有效范围

(1)全局变量:整个工程

        定义一个全局变量,定义处下面的所有范围都可以使用这个全局变量;

注;全局变量的跨文件使用,当其他源文件想要使用这个变量的时候,可以使用关键字extern

        关键字extern:用来声明外部符号的,以便跨文件使用变量和函数等;

使用方法:头部声明

extern 数据类型 变量/函数名;

 (2)局部变量:局部变量所在的局部范围(一般指最近所在大括号内),一般在定义的大括号内使用;在对应的函数体内;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值