初学C语言

简介: 初学C语言

 大家好,我是小潘。为了下定决心学好C语言,我准备写博客,用来鼓励自己,在这条路上走下去。多去总结,多去学习,希望自己能坚持下去。平常我会把学习的笔记写在博客上,如有不足的地方,望大家批评指正,谢谢。

一、C语言重点

什么是C语言

第一个C语言程序

数据类型

变量、常量

字符串+转义字符+注释

选择语句

循环语句

函数

数组

运算符

常见关键字

define定义常量和宏

指针

结构体

二、初步了解C语言

1、什么是C语言?

计算机语言:是人和计算机交流的语言

C语言是一门通用的计算机编程语言,广泛应用于底层软件开发。C语言的设计目标是提供一种能以简单的方式编译,处理低级存储器,产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

国际标准:ANSIC     C语言最初的标准。

2、第一个C语言程序

# include <stdio.h>   //包含一个头文件
int main()            //主函数,程序的入口,有且只有一个
{ 
    int s,a,c;         //定义整型变量
    scanf("d%d%", &a, &c); //输入两个数字 
    s = a + c;             //计算两个数字之和s
    printf("%d\n",s);       //打印一个十进制整数    
    return 0;         
}

3、数据类型

1.基本类型:

char           字符型  

short          短整型

int              整型

long          长整型

float          单精度型

double      双精度型

2.构造类型:

数组类型          a[5]

结构体类型     struct

共用体类型     union

3.指针类型:

以字节为单位的存储类别,编号--地址,内容--值

4.枚举类型:

enum


、变量、常量

常量:C语言中不变的值(身份证号码,圆周率,血型,性别)

变量:C语言中改变的值(年龄,薪资,体重)

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

字符串:以‘/0’为结尾的字符数组。

转义字符:‘\’反斜杠字符常量也称为转义字符。

\a        报警

\f         走纸

\n        换行               输出时,光标移动到下一行行首

\b        退格               输出时,光标移动到前一格

\r         回车               输出时,光标回到本行行首

\t         水平制表符    输出时,跳到下一个单元格

\v        垂直制表符

\\        反斜杠\

\‘        单引号‘

\“        双引号“

\ddd   八进制值         1~3位八进制数字

\xhh   十六进制值      1~2位十六进制数字

注释

1.单行注释:

用//来表示:可以写在任何一行代码前。

2.多行注释:

用/**/来表示:可以写在任何一行代码前,不能和单行注释嵌套使用。

6、选择语句

switch;if。

7、循环语句

while;do—while;for;go to。

8、函数

函数是独立的具有特定功能的程序模块;

程序的“细化”开发方式使程序更容易管理,提高程序的可读性;

避免了在程序中使用重复代码;

一个程序可由一个主函数和若干个其他函数组成;

程序执行时从main函数开始,根据需要,main函数调用其他函数,其他函数也可以相互调用,其他函数不能调用main函数;

同一个函数可以被一个或多个函数调用任意次数,最后由main函数结束运行。

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()              //函数类型 函数名(参数表)       //函数头
{
    printf("haha\n");    // 数据说明   执行语句       //函数体
  return 0;
}

9、 数组

格式:类型说明符 数组名[常量表达式]。

数组是数目固定,类型相同的若干变量的有序集合;

数组中的每一个变量称为数组元素,属于同一个数据类型;

数组在内存中占有一段连续的存储空间。

10、运算符

               运算符的优先级和结合性

优先级              运算符              含义                    参加运算的对象个数             结合方向

1                      []                   数组下标                                                               自左到右

                       ()                   圆括号

                       .;->                成员运算符;成员选择操作符  

2                      !                    逻辑非运算符                                          1            自右到左

                       ~                   按位取反运算符

                       ++                 自增运算符

                       --                   自减运算符

                       -                    负号运算符

                      (类型)             强制类型转换运算符

                       *                    指针运算符(间接访问操作符)

                       &                   取地址运算符

                       sizeof            长度运算符(计算字节长度)

3                      *                    乘法运算符                                           2               自左到右  

                       /                     除法运算符

                       %                  求余运算符

4                      +                   加法运算符                                           2              自左到右      

                       -                    减法运算符

5                     <<                  左移运算符                                           2              自左到右

                      >>                  右移运算符

6                     < <= > >=       关系运算符                                          2               自左到右

7                     ==                  等于运算符                                          2               自左到右

                     !=                   不等于运算符

8                     &                    按位与运算符                                      2               自左到右

9                     ^                     按位异或运算符                                  2               自左到右

10                   |                      按位或运算符                                     2               自左到右

11                   &&                  逻辑与运算符                                      2              自左到右

12                  ||                      逻辑或运算符                                      2              自左到右

13                  ? :                    条件运算符                                         3              自右到左

14                = += -= *=          赋值运算符                                         2              自右到左

                   /= %=  >>=

                  <<= &= ^= |=

15                  ,                       逗号运算符(顺序求值运算符)                         自左到右

11、常见关键字

C语言常见32个关键字

auto    break    case    char    continue    default     do         double     else     enum     extern

float    for         go to    if         int              long         regist    return     short    signed    sizeof

static   struct   switch  union   typedef     unsigned   void     volatile   while    const

12、define定义常量和宏

格式:#define 宏名(形参表) 字符串

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#define m(a,b) a*b
#define n(a,b) (a)*(b)
int main()
{
    int x, y;
    x = m(1 + 1, 2 + 2);    //1+1*2+2
    y = n(1 + 1, 2 + 2);     //(1+1)*(2+2)
    printf("%d,%d", x, y);
    return 0;
}

13、指针

在程序中定义了一个变量,该变量在内存中占用一定的存储单元,这个空间的大小由变量的类型决定。

指针:就是变量的内存地址,是个常量。

指针变量:就是存放另一变量地址(指针)的变量。

当把变量i的地址存入指针变量p后,我们就说这个指针变量p指向变量i。

如:

int i=10,*p;

p=&i;

14、结构体

结构体是一种构造类型的数据类型;

结构体是由数量固定、类型不同的若干变量、数组或其他构造体的有序集合;

结构体与数组的区别在于结构体内允许有不同类型的数据。

结构体类型定义的格式:

struct  结构体名

{

类型说明符 成员1;

类型说明符 成员2;

类型说明符 成员3;

};

说明:

同一结构体的成员不能同名;

不同结构的成员可以同名,不互相冲突;

结构中的成员名可以和程序中的变量名同名。

这是我的第一篇文章,如有不足,请多多指教。

谢谢

相关文章
|
7月前
|
Java 编译器 程序员
C语言 (3)
C语言 (3)
47 0
|
7月前
|
C语言
【C语言】exit函数详解
【C语言】exit函数详解
2456 0
|
7月前
|
C语言
初识C语言
初识C语言
44 0
|
Linux 编译器 C语言
C语言必知必会
C语言必知必会
88 0
|
2月前
|
Java Unix Linux
1.3 C语言的应用范围
C语言自20世纪80年代以来一直是主流编程语言,适用于小型计算机、个人电脑及大型机。因其高效紧凑且易于修改和移植,广泛用于软件开发。尽管后来C++和JAVA流行起来,但C语言仍然是软件行业核心,并在嵌入式系统、科学编程和操作系统开发如Linux中扮演重要角色。即使到现在,掌握C语言仍是一项重要技能。不是必须得是计算机专家才能使用C语言,学习C语言同时也能学到很多C++的知识。
58 8
|
6月前
|
机器学习/深度学习 人工智能 算法
|
7月前
|
C语言
C语言:练习3
C语言:练习3
32 0
|
7月前
|
存储 C语言
C语言中的&和*
C语言中的&和*
106 0
|
存储 人工智能 C语言
C语言假期作业 DAY 09
C语言假期作业 DAY 09
|
C语言
C语言假期作业 DAY 10
C语言假期作业 DAY 10