初识c语言

l一、初识c语言:

  1. 什么是c语言
  2. 第一个c语言程序
  3. 数据类型
  4. 常量 变量
  5. 字符串 转义字符 注释
  6. 选择语句
  7. 循环语句
  8. 函数
  9. 数组
  10. 操作符
  11. 常见关键字
  12. define定义常量和宏
  13. 指针
  14. 结构体

二.解释 

1.什么是c语言

就像中文,英文等是人与人交流的语言。c语言是一种人与计算机交流的语言,人与计算机交流的语言经历了二进制,汇编语言,B语言,到现在的c语言。现在的c语言的标准为c99,利用这个标准进行统一。

2.第一个c语言程序

#include <stdio.h>
int main()
{
  return 0;
}

#include <stdio.h>:include称为文件包含命令,意思是把<>或""内指定的文件包含到本程序中。被包含的文件通常是由系统提供的,扩展名为.h,还有一部分是自己编写的.h文件。stdio:standard input output.意为C语言的头文件中包括了各个标准库函数的函数原型。

int为整型,main函数运行结束后,返回一个整型值;

0就是一个整数,在main函数结束的时候被返回。

3.数据类型

char    //字符串数据类型    1个字节

short   //短整型                   

int     //整型                        4个字节

long         //长整型             4个字节

long long    //更长的整型   8个字节

float        //单精度浮点数   4个字节

double      //双精度浮点数  8个字节

4.*常量

1)字面常量

   100,3.14这样的

2)const修饰的常变量

   const int num = 10;

   printf(“num = %\n”, num);   //10

   const 本质上还是一个变量

3)#define定义的标识符常量  

 #define MAX 100

{

     int a = MAX;

     printf(“%d\n”,a);

     return 0;

}    //100

4)枚举常量

//定义枚举类型

eume Sex

{

          MALE,            //枚举这种类型的可能取值就是枚举常量

          FEMALE,

          SECRET

};

int main()

{

          printf("%d\n", MALE);          //0

          printf("%d\n", FEMALE);        //1

          printf("%d\n", SECRET);        //2

          return 0;

}

*变量  

 变量的作用域与生命周期

 作用域:作用域是程序设计概念,通常来说、一段程序代码中所用到的名字并不总是有效/可用                     的,而限定这个名字的可用性的代码范围就是这个名字的作用域。

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

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

int p = 5;             //p在main函数外部是全局变量
int main()
{
   printf("%d\n",p)  //这里可以打印p的值   
   int a = 10;
   {
     int b = 20;        //b在这里定义,这个括号内部就是b的作用域
     printf("%d\n",b);
   }
   printf("%d\n",b);    //这里报错,因为出了b的作用域
   printf("%d\n",a);    //这里可以打印a的值,因为a在外部
   return 0;

}

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

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

                                            (只要是大括号内部的都是局部变量)

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

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

1)字符串

#include <stdio.h>
int main()
{
  "abc";  //字符串:用双引号括起来
  return 0;
}

存储字符串 

#include <stdio.h>
int main()
{
  char ch = "abc";//想要把abc存起来,但是这种写法是错误的,因为没有字符串类型,char只能存放一个字 
                  //符,但是可以使用字符数组来存储字符串。
  char arr1[] = "abc";
  char arr2[] = {'a','b','c','\0'};//这样需要加上'\0',\0是字符串的结束标志。
  printf("%s\n",arr1);  //abc
  printf("%s\n",arr2);  //abc
  return 0;
}

2)转义字符 

\n:换行

观察以上代码运行结果,发现加了\n以后将会换行

int main()
{
  printf("(hehe??)");   //??)---->三字母词------>  ]
  return 0;              //结果为(hehe]
  printf("(hehe\?\?)");  //想打印出(hehe??),于是在?前加上\,转变意思
}

转义:转变原来的意思

常见的转义字符:

\?  在书写连续多个问号时使用,防止他们被解析为三字母词

\' 用于表示字符常量'  

printf("%c",''');    //这样打印不出'   因为会以为前两个''是一对   多出来'
printf("%c","\'");   //需要在'前加一个\  使其变成一个普通的'   这样输出结果就是'

\" 用于表示一个字符串内部的双引号 与上面的一样

\\ 用于表示一个反斜杠,防止他被解释为一个转义序列符

printf("c:\\test\\100\\test.c");  //结果为c:\test\100\test.c

\a 警告字符,蜂鸣,打印它,电脑会响一下

printf("\a\a\a\a");

\b 退格符

\f 进纸符

\n 换行

\r 回车

\t 水平制表符 将当前位置移到下一个tab位置

\v 垂直制表符

\ddd ddd表示1-3个八进制数字。如:\130

printf("%c\n",'\130');  //结果为X

    \130表示8进制的 130 转化为 10进制为88,而88的ASCII值对应的是X

\xdd dd表示2个十六进制数字。如:\30 结果为0

拓展ASCII值 

       计算机中acgscds@#$%这种字符是用ASCII码存储

       

printf("%d\n",strlen("c:\test\628\test.c"));  //结果是14,\t,\62是一个字符

3)注释

//  c99之后引入的注释方式,也是c++的注释风格,要一行一行输

/* */ c99之前引入的注释方式,也是c的注释风格,可以一次注释多行,缺陷是不支持嵌套注释

6.选择语句

if else语句,较为简单,如下,利用if else语句来判断一个数能否被5整除

#include <stdio.h>
#include <string.h>
int main()
{
    int M=0;
    scanf("%d\n", &M);
    if (M % 5 == 0)
        printf("YES");   //如果M能被5整除,则输出YES
    else
        printf("NO");    //如果M不能被5整除,则输出NO
}

7.循环语句

c语言中通过

while语句

for语句

do while语句来实现循环,作为初学者先介绍while语句

while (表达式)  //若表达式为真,则进入括号内部
{
        语句;
}

8.函数

数学中也有函数,如f(x)=2x+3

在c语言中,函数相当于一个工厂,将数据输入进去,调用函数即可得到结果,使得代码更加简洁

如下写一个加法函数

//定义函数
int Add(int x,int y)
{
  int z = x+y;
  return z;
}
int main()
{
  int num1 = 0;
  int num2 = 0;
  int sum = 0;
  scanf ("%d %d",&num1,&num2);
  sum = Add(num1,num2);  //调用Add函数
  printf("sum = %d\n",sum);
  return 0;
}

Add 为函数名,int是函数的返回类型为整型,,x和y是函数的形式参数

9.数组

数组是一组相同类型元素的集合

int main()
{
  int arr[10] = {1,2,3,4,5,6,7,8,9,10}; //arr就是10个元素的整型数组
  printf("%d",arr[0]);  //方括号括起来的是数组下标,0表示这个数组的第一个元素,即输出为1
  int i = 0;  //使用i产生下标
  while(i<=9)
  {
     printf("%d",arr[i]);  //利用while循环输出这个数组的所有元素
     i = i+1;
  }
  return 0;
}

10.操作符

1)算数操作符   

+   -   *   \    %

2)移位操作符

>>    <<

3)位操作符

&   ^   |

4)赋值操作符

=     +=   -=    *=    /=    &=    ^=    |=    >>=    <<=

11.常见关键字

12.define定义常量和宏

13.指针

要想理解指针,需要先知道内存的含义

内存是电脑上特别重要的存储器。计算机中所有程序的运行都是在内存中进行的,

所以为了有效地使用内存,就把内存划分成一个个小的内存单元,每个单元的内存大小就是一个字节,如int类型的数据占4个字节,为了有效地访问到内存的每个单元,就给内存单元编了号。

就像家庭住址一样,当你知道变量在哪个地址,就可以访问到它。而指针就是找到它的方法。

变量都有地址,取出变量地址如下

int main ()
{
  int num = 10;
  &num;    //取出num的地址
  printf("%p\n",&num);  //打印地址,%p表示以地址的形式打印,就是找到num在内存中的位置
}

那地址如何存储呢?这就需要定义指针变量,来存放地址

int main()
{
  int a = 10;
  int *p = &a;   //*告诉我们 p就是一个指针量 int说明,p是指向一个整型变量的
                 //&a的意思是a的地址,我们把地址也称为指针
  
}

14.结构体

当我们描述一个复杂的对象时,如想要了解一个学生,可以从他的性别、年龄、学号等来描述他,这就比较复杂,需要用到结构体。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值