栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

初识C语言

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

初识C语言

数据类型

char ch='a'  //字符类型  一个字节

int  age= 20 //整型    四个字节

short   num=  10 // 短整型   四个字节   long  //长整型  四个字节   long  long//长长整型   八个字节

float weight = 55.5//单精度浮点型  四个字节

double d =0.0//双精度浮点型   八个字节

%d  打印整型 printf ("%dn",100)   %c字符打印    %s字符串打印 %f 打印float %lf打印double    sizeof 关键字  操作符 计算机类型或者变量所占空间的大小

printf("%dn",sizeof(char)); //计算char的字节

计算机中的单位

bit  :一个二进制位    byte(字节)=8bit   kb=1024 byte  mb =1024 kb  gb=1024 mb

数据类型用于变量和常量

变量分类:全局变量  ,  局部变量

int a = 100  //全局变量在{}外部定义的

int main    //当全局变量和局部变量名字冲突的时候,局部变量优先。

{                //当然不建议把全局变量和局部变量的名字写成一致的。

      int a =10;    //局部变量,在{}内部定义的

      return 0;

}

scanf:函数的输入 格式 scanf("%d %d",&a ,&b)//&他们所在的位置

变量的作用域和生命周期

//变量的生命周期:变量的创建和销毁之间的时间段

局部变量的作用域:就是变量所在的局部范围

全局变量的作用域:整个工程

局部变量的生命周期:进入局部范围生命开始,出具不范围生命结束

全局变量的生命周期:程序的生命周期

常量(四种)

1、字面常量

2、const修饰的常变量

const int  num =10;

int   num =20;(×)//程序无法更改

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

# define Max  100;//以后见到Max就是100

4、枚举常量(可以一一列举的常量)

enum  sex

{

 MALE  //从0开始

 FEMALE  // 1

 SECRET  // 2

}//括号中的三个为枚举常量

字符串+转义字符

字符串就是一串字符----用双引号括起来的一串字符   如"hello  everyone n"

字符数组----数组就是一组相同类型的元素

字符串在结尾的位置隐藏了一个‘’的字符  是字符串结束的标志(计算长度的时候不包含)

# include

char arr1 []="abc";

char arr2[]={'a','b','c'};

printf("%s n",arr1);  // abc

printf("%c n",arr2);  //abc+一些乱码

介绍  strlen()  函数   在使用时要引用头文件  #include

printf("%d n",strlen(arr1));  (3)  //  abc    

printf("%d n",strlen(arr2));  (随机)    // abc ????什么时候找到什么时候结束

也可以换一种方式

int  len = strlen(arr1);

printf("%d n",len)

转义字符   转变了它原来的意思

n  t ......重点介绍一些难以理解的ddd  xdd

ddd  ddd表示1~3个八进制的数字  如130

xdd  dd表示2个十六进制的数字    如x30

int main

{      printf("%c n",'130');   (x)  // 八进制的130是十进制的88  X的AscⅡ码是88

       printf("%c n",x30);     (o)  //十六进制的30 是十进制的48  O的AscⅡ码是48

       return 0 ;

}

计算一道例题printf("%d n",strlen("c:test328test.c"))(14) //八进制里面不能包含8

选择语句  :这里先不做介绍

函数  需要用代码来说明

正常代码

# include

int  main()

{

       int   num1=0;

       int   num2=0;

      scanf("%d %d ",&num1,&num2);

      int num=num1+num2;

      printf("%dn",num);

      return 0;

}

函数代码

int Add (int x,int y)

{

      int z =0;

      z= x+y;

      return z;    \将所得的z值返回到主函数中去

}

int   main()

{

      int num1=0;

      int num2 =0;

      scanf("%d %d",&num1,&num2);

     int sum =Add (num1,num2);

     printf("%d n",num);

       return 0;

}

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

int arr [10]={1,2,3,4,5,6,7,8,9,10};

int i;

while (i<10)

{

       printf("%d",arr[i]);  //下标访问从0开始,采用下标的访问方式

       i  ++;

}

int  char [5] ={'a','b','c'}   //不完全的初始化,剩余的默认为0

操作符

算数操作符:+  -  *  / (除) %(取余)  9/2.0=4.5(小数)   9/2=4(整数)   9%2=1(取余)

移位操作符 :>>(右移)  <<(左移)  //移的是二进制数

位操作符 :& 按位与  | 按位或  ^ 按位异或

赋值操作符  :a=a+5  //a+=5       b=b-1 //b-=1

负数在内存中存储的时候,存储的是二进制的补码;打印的,使用的是这个数的原码。

++  :a++  后置++  :先使用,后++  int a =10;int b=a++;  (a=11,b=10)

       :++a 前置++ :先++,后使用   int a= 10; int b=++a;(a=11,b=11)  

--同理

()强制类型转化  int a =3.14  (×)   int  a= (int) 3.14 (不太推荐使用)

&& 逻辑与   ||逻辑或  (不做具体的介绍了)

条件操作符  exp1 ?exp2:exp3   //exp1表达式为真执行exp2,否则执行exp3

常见关键字  

typedef  :类型重定义

例如   :typedef  unsigned int =u_int ;

              u_int num = 20;   //unsigned  int num = 20;

static  

1、static修饰局部变量,局部变量的生命周期变长了

2、static修饰全局变量,改变了变量的作用域,让静态的局部变量只能在自己所在的源文件中使用,出了源文件就无法使用了。

3、static修饰函数,改变了函数的链接属性,由外部链接属性-------内部链接属性

举例 第一种的情况

void test ()

{

     (static) int a;//a此时为一个静态的局部变量

    a++;

   printf("%d n",a)

     }

int  main

{

     int i= 0;

   while (i< 5)

{

    test();

    i++;

}

      return 0;

}

没有static的时候输出答案为2 2 2 2 2  a为局部变量出了循环体a就消失了,加上static的时候,a的生命周期变长了输出答案为2 3 4 5 6 

宏 简单介绍 #define add(x,y)(x+y)

指针:有一种变量用来存放地址的成为指针变量

代码说明

int main() 

{ 

       int a = 10;//四个字节

      int *p =&a;//取地址

      printf("%p n",&a);//一样的效果和下一行

      printf("%pn",p);

      *p = 20; //*为解引用操作符   所以此时a为20 

        return 0;

}

指针大小:32位平台指针为4个字节,64位平台指针为8个字节

结构体 :描述复杂对象——自己创造出来的一种类型

struct Book

{

      char name[20];

      short price;

};

int  main  //利用结构体类型——创建一个该类型的结构体变量

{

     struct Book b1={"c语言程序设计",55};

     printf("书名:%s n",b1·name);

     printf("价格:%dn",b1·price);

     return 0;

}

指针形式打印:struct Book  b1={"c语言程序设计",55};

                         struct Book*pb=&b1;

                         printf("%sn",(*pb).name);

                         printf("%dn",(*pb).price);

另一种形式打印:printf("%s n",pb→name);

                              printf("%dn",pb→price);

//·结构体变量 · 成员​​​​​​​,结构体指针→成员

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025253.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号