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

初始C语言

时间:2023-07-24 10:25:44浏览次数:48  
标签:语句 字符 int C语言 printf main 初始

基本了解C语言的基础知识,对C语言有个初步的认识。

C语言是什么?

人与人之间的交流使用的是自然语言。如汉语,英语,日语。
人与计算机是怎么交流的呢?使用计算机语言。
目前已知已经有上千种计算机语言。人们是通过计算机语言写的程序,给计算机工作的。
C语言是一门通用的计算机编程语言,广泛用于底层开发。C语言是一门面向过程的计算机编程语言。

C语言的历史和辉煌

C语言最初是作为 Unix 系统的开发工具而发明的。
image.png

C语言的优缺点

  • C语言是一种底层语言。
  • C语言是一种小型语言。
  • C语言是一种包容性语言

优点:

  • 高效
  • 可移植性
  • 功能强大
  • 灵活
  • 标准库
  • 与 Unix 系统集成

缺点:

  • C程序更容易隐藏错误
  • C程序可能会难以理解
  • C程序可能会难以修改

第一个C语言程序

#include<stdio.h>

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

C语言把.c为后缀的文件称为源文件,把.h为后缀的文件称为头文件

main函数

每个C语言程序不管有多少行代码,都是从main函数开始执行的。main函数就是程序的入口,main函数也称为:主函数

  • main函数就是程序的入口。
  • main函数有且只有一个
  • 即使一个项目中有多个.c文件,但是只能有一个main函数(因为函数的入口只能有一个)

printf和库函数

printf

在第一个C程序中有一句代码如下:

printf("Hello C\n");

代码中使用了printf函数,printf是一个库函数,它的功能在标准输出设备上进行信息的打印。
注:使用printf函数需要包含的就是stdio.h这个头文件。

#include<stdio.h>

库函数

为了不再重复实现常见的代码,让程序员提升开发效率,C语言标准规定了一组函数,这些函数再有不同的编译器厂商根据标准进行实现,提供给程序员使用,这些函数组成的一个函数库,被称为标准库,这些函数也称为库函数。
一个系列的库函数一般会声明在同一个头文件中,所以库函数的使用,要包含对应的头文件。
库函数的参考链接:https://cplusplus.com/reference/clibrary/

关键字的介绍

关键字是C语言的词汇。它们对C语言而言比较特殊,不能用它们作为标识符(如:变量名)。C语言关键字也称为保留字

  • 关键字都有特殊的意义,是保留给C语言使用的
  • 创建标识符的时候是不能和关键字重复的
  • 关键也是不能自己创建的

C语言的32个关键字如下:

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

注:在C99 标准中加入了inline restrict _Bool _Comploex _Imaginary等关键字
C语言关键字的全部介绍链接:https://zh.cppreference.com/w/c/keyword

字符和ASCll编码

在键盘上可以敲出各种字符,如:y,s,k,@,#,这些符号称为字符,C语言中字符是用单引号括起来,如:'a','#';
在计算机中所有的数据都是以二进制形式存储的,那这些字符在内存中分别以什么样的二进制存储的呢?如果我们每个人自己给这些字符中的每个字符编一个二进制序列,这个叫做编码,为了方便大家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台一个标准的ASCll 编码,C语言中的字符就遵循ASCll编程的方式。
image.png
参考:https://zh.cppreference.com/w/cpp/language/ascii
几组特殊的数据:

  • 字符A-Z:65~90
  • 字符a-z:92~122
  • 大小写字符差值是32
  • 数字字符0-9:48~57
  • 换行\n:10

字符串和\0

C语言中如何表示字符串呢?使用双引号括起来的一串字符就被称为字符串,如:"I like xyy",就是一个字符串。
字符串的打印格式可以使用%s来指定,也可以直接打印如下:

#include<stdio.h>

int main()
{
    printf("%s","I like xyy");
    printf("I like xyy");

    return 0;
}

C语言字符串中一个特殊的知识,就是字符串的末尾隐藏放着一个\0字符,这个\0字符就是字符串的结束标志,不管做字符串内容。

转义字符

转义字符顾名思义:转变原来的意思的字符。

转义字符 释义
\? 在书写连续多个问号时使用,防止它们被解析成三字母词
\' 用于表示字符常量'
\" 用于表示字符常量"
\\ 用于表示字符常量\
\a 警告字符,蜂鸣
\b 退格符
\f 换页符
\n 换行符
\r 回车
\t 水平制表符
\v 垂直制表符

下面2种转义字符可以理解为:字符的8进制或者16进制表示形式

\ddd d d d表示1~3个八进制数字 如:\130 表示字符X
\xdd d d 表示2个十六进制数字 如:\x30 表示字符0

参考:https://zh.cppreference.com/w/c/language/escape

语句和语句的分类

C语言的代码是由一条条的语句构成的,C语言中的语句可分为以下五类:

  • 空语句
  • 表达式语句
  • 函数调用语句
  • 复合语句
  • 控制语句

空语句

空语句最简单,一个分号就是一条语句,是空语句。

#include<stdio.h>

int main()
{
	;//空语句
    
    return 0;
}

空语句,一般出现的地方是:这里需要一条语句,但是这个语句不需要做任何是,就是可以写一个空语句。

表达式语句

表达式语句就是在表达式的后边加上分号。如下:

#include<stdio.h>

int main()
{
	int a = 20;
    int b = 0;
    b = a + 5;//表达式语句
    
    return 0;
}

函数调用语句

函数调用的时候,也会加上分号,就是函数调用语句。如下:

#include<stdio.h>

int Add(int x, int y)
{
    return x + y;
}

int main()
{
	int ret = Add(2,3);//函数调用语句
    printf("%d\n",ret);
    
    return 0;
}

复合语句

复合语句其实就是代码块,成对括号的代码就构成一个代码块,也称为复合语句

#include<stdio.h>

void print(int arr[], int sz) // 函数大大括号中代码也构成复合语句
{
    int i = 0;
    for(i=0; i<sz;i++)
    {
        printf("%d",arr[i]);
    }
}

int main()
{
    int i = 0;
    int arr[10] = {0};
    for(i=0; i<10; i++)
    {
        arr[i] = 10-i;
        printf("%d\n",arr[i]);
    }
    
    return 0;
}

控制语句

控制语句用于控制程序的执行流程,以实习程序的各种结构方式(C语言支持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语言有九种控制语句。

  1. 条件判断语句也叫分支语句:if语句、switch语句
  2. 循环执行语句:do while语句、while语句、for语句
  3. 转向语句:break语句、goto语句、continue语句、return语句

注释是什么?

注释是写程序中对代码进行解释说明的文字,方便自己和其他人查看,以便理解程序的

鲁迅先生曾说过复杂的代码逻辑,需要添加清晰的注释

注释有哪些方式

  • 多行注释:/**/
  • 单行注释://
#include<stdio.h>

int main()
{
    /*
        这是个多行注释
	*/

    // 这是个单行注释

    return 0;
}

标签:语句,字符,int,C语言,printf,main,初始
From: https://www.cnblogs.com/bairiyishanjing/p/17576545.html

相关文章

  • C语言的一些不常用的编译知识
    1.__stringifyLinux内核中有如下两个宏:#define__stringify_1(x...)#x#define__stringify(x...)__stringify_1(x)作用:会将x替换成()里面的内容。2.GCC__attribute__使用__attribute__((used)):表示对于这个函数可能不会调用它、可能用不到它,编译器不用进行warning提......
  • C语言数据类型和变量
    一.数据类型介绍1.概念所谓类型,就是相似的数据所拥有的共同特征,编译器只有知道了数据的类型,才能知道如何操作数据。2.数据类型分类**内置类型:字符,整型,浮点型,布尔类型自定义类型:数组,结构体-struct,枚举-enum,联合体-union**(自己创造类型)a.字符类型char[signed]char-有符号的charunsi......
  • c语言当中的COORD ,GetStdHandle(),SetConsoleCursorPosition(),以及避免清屏和反复刷新
    这是WindowsAPI定义的结构体类型COORD来表示字符在控制台屏幕上的坐标,结构体类型COORD定义为:typedefstruct_COORD{SHORTx;SHORTy;}COORD;使用WindowsAPI GetStdHandle()从一个特定的标准设备获取表示设备的句柄(用来标识不同设备的一个数值),SetConsoleCursor......
  • C语言实现飞机大战手机游戏完整代码
    ​大一课设做的飞机大战手机游戏,可以进行登入和注册,这个是利用单链表做的,源代码已经给出,这个是最基本的飞机大战模式,我设置了几个功能,比如排行榜之类的。排行榜是用结构体数组做的,已及冒泡排序,并且在文件里保存信息。比较简单。#include"stdio.h"#include"windows.h"  //用......
  • 用c语言实现2048小游戏
    ​ #include<time.h> #include<stdlib.h> #include<conio.h> #include<stdio.h> #include<windows.h> #definex026 #definey01 HANDLEhOutput=GetStdHandle(STD_OUTPUT_HANDLE); /*显示声明*/ voidp(int*a,inti,intx,inty); /*部......
  • Unity3D 自定义类的数组初始化
    实现功能:1.自定义类,用于保存数据等2.初始化数组代码:publicclasstree_elem{//位置publicintx,y;//大小【相对于原始大小的比例】最后随机分配publicfloatsize;//树的类型,最后随机分配publictree_kindkind;publictree_ele......
  • c语言_十大排序算法
    1.冒泡排序思想:通过比较相邻的元素并交换它们来排序。时间复杂度为O(n^2); #include<stdio.h>voidbubble_sort(intarr[],intlen){inti,j,temp;for(i=0;i<len-1;i++)for(j=0;j<len-1-i;j++)if(arr[j]>arr[j+......
  • c语言_练习实例100
     题1:1.有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?#include<stdio.h>intmain(){for(inti=1;i<5;i++){//取百位for(intj=1;j<5;j++){//取十位for(intk=1;k<5;k++){//取个位if(i!=j&&j!......
  • 9.C++中struct和C语言中的struct的区别
    C++中的stuct有继承多态,可以使用私有进行隐藏,可以封装函数,C语言没有以上功能。1structStudent{2};3Studentst;//C++允许,C语言不允许,C语言应该是structStudentst;4//想要实现相似功能C语言应该按以下方式定义结构体56typedefstructStudent{7}Stu;8Stust;//......
  • 用c语言打印日历代码
    1、C语言程序编写日历2、C语言年历显示程序设计3、利用c语言输出某月日历4、C语言编程日历显示C语言程序编写日历1、首先要判断一个年份是闰年还是平年,用一个子程序来做。然后就开始写主程序,首先用scanf得到一个年份。在判断这个年份是平年还是闰年后用printf在CMD中打印......