C语言基础语法

一、变量和数据类型

1.1基本数据类型

int整数类型占用4个字节,可表示-2的31次方到2的31次方减1。
float单精度浮点型占用4个字节,可表示1.2E-38到3.4E+38的浮点数。
double双精度浮点型占用8个字节,可表示2.2E-308到1.8E+308的浮点数。
char字符类型占用1个字节,可表示ASCII字符集中的任意字符。
short短整型占用2个字节,可表示-2的15次方到2的15次方减1。
long长整型占用4个或8个字节,可表示比整型更大的整数值。

1.2派生数据类型

数组其中所有元素的数据类型都相同,用一对方括号表示。如:int arr[10]。
指针可以指向变量或数组中的元素,甚至可以指向函数。使用星号表示这是一个指针类型,如:int *p;。
结构体类似于C++中的类,用户可以自定义结构体的名称和成员变量。如:struct student { char name[20]; int age; float score; };。
共用体这是一种特殊的数据类型,所有成员共享一个内存位置。如:union data { int x; float y; char z; };。

1.3运算符和表达式

1.3.1算术运算符

包括+、-、*、/等,其中/运算符表示整数除法时向下取整。

如:

int a = 13 / 5; //a的值为2。

1.3.2关系运算符

包括>、<、<=、>=、==、!=等,用于比较两个值的大小或是否相等。

如:

int main()
{
    int a = 3, b = 4; 
    if (a > b) 
    printf("a>b"); //不成立。
}

1.3.3逻辑运算符

包括&&、||、!等,用于组合多个关系表达式。

如:

int main()
{
    int a = 3, b = 4; 
    if (a > 2 && b > 3) 
    printf("a>2且b>3"); //成立。
}

1.3.4位运算符

位运算符作用于二进制数据上,包括~、&、|、^、<<、>>等。

如:

int main()
{
    int a = 9, b = 10; 
    int c = a & b; 
    printf("%d", c); //c的值为8。
}

1.3.5赋值运算符

包括=、+=、-=、*=、/=、%=/等,使用这些运算符可以简化赋值操作。

如:

int main()
{
    int a = 5; a += 3; 
    printf("%d", a); //a的值为8。    
}

1.4控制语句

1.4.1 if语句

用于根据条件判断执行不同的代码块。

如:

int main()
{
    int a = 3; 
    if (a > 2) 
    printf("a>2");
}

1.4.2 switch语句

用于多重分支结构,可以优化if-else语句嵌套的代码。

如:

int main()
{
    int a = 1; 
    switch (a)
         { 
             case 1: 
                    printf("a=1"); 
                    break; 
             case 2: 
                    printf("a=2"); 
                    break; 
            default: 
                    printf("a不等于1或2"); 
                    break;
         }            
}

1.4.3 while语句

用于循环执行某些代码,直到条件不再成立为止。

如:

int main()
{
    int a = 1;
    while (a < 10) 
    { 
        printf("%d\n", a);
        a++;
    }
}

1.4.4 do-while语句

类似于while语句,不同之处在于它先执行一次循环体,然后判断条件是否满足。

int main()
{
    int a = 1;
    do 
    { 
        printf("%d\n", a);
        a++;
    } while (a < 10);
}

1.4.5 for语句

用于循环执行某些代码,通常用于计数器控制的循环。

如:

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

1.5函数

1.5.1函数的语法

函数由函数名、参数列表和函数体组成。

如:

int sum(int a, int b) 
{ 
    return a + b; 
}

1.5.2参数传递

C语言中采用值传递的方式进行参数传递,也可以使用指针或引用改变参数的值。

1.5.3返回值

函数可以有返回值,返回值的类型必须是函数定义时已经确定的类型。

如:

int sum(int a, int b) 
{ 
    return a + b; 
}

1.6数组和指针

1.6.1数组

数组是一组相同数据类型的元素集合,可以使用方括号访问数组中的元素。

如:

int arr[5] = {1,2,3,4,5}; 
printf("%d", arr[2]);//输出3。

1.6.2多维数组

C语言中支持二维及以上维数的数组,可以使用嵌套的方括号访问数组元素。

如:

int arr[3][2] = {{1,2},{3,4},{5,6}}; 
printf("%d", arr[1][1]);//输出4。

1.6.3指针

指针是一个变量,它用于存储一个变量或函数的地址。

如:

int a = 10; 
int *p = &a; 
printf("%d",*p);//输出10。

1.6.4指针运算

指针可以进行加、减、比较等运算,也可以通过指针访问数组元素。

如:

int arr[5] = {1,2,3,4,5}; 
int *p = &arr[0];
printf("%d",*(p+2));//输出3。

1.6.5数组指针

数组指针是指向数组的指针,可以通过数组指针访问数组中的元素。

如:

int arr[5] = {1,2,3,4,5}; 
int (*p)[5] = &arr; 
printf("%d", (*p)[2]);//输出3。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

凉辰梦凡星

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值