初识C语言(2)

目录

一、字符串

二、转义字符

三、注释

四、循环语句

五、函数

六、数组

    6.1数组定义

    6.2数组下标

    6.3数组的使用

七、操作符


一、字符串

由双引号引起来的一串字符称为字符串字面值,或者简称字符串。例如:"abcde"                          字符串的结束标志是\0的转义字符。在计算字符串长度的时候\0是结束标志,不算做字符串内容。

#include <stdio.h>
#include <string.h>
int main()
{
    char arr[]="abcde";
    printf("%s\n", strlen(arr[0]));
    //注意引用strlen()函数时,需要引用string.h头文件
    return 0;
}

//输出结果为5

打印以下代码会出现什么结果? 

#include <stdio.h>
int main()
{
char arr1[] = "hello";
char arr2[] = {'h','e','l','l','o'};
char arr3[] = {'h','e','l','l','o','\0'};
printf("%s\n", arr1);
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}

 arr2为什么会出现乱码?

因为arr2没有设置数组大小,又因为\0是字符串的结束标志,arr2何时结束,当找到\0时arr2输出结束。(当测量arr2的长度时,结果为随机值)

二、转义字符

 当我们要打印一个目录:c:\code\test.c

代码将如何书写?

#include <stdio.h>
int main()
{
    printf("c:\code\test.c\n");
    return 0;
}

打印出的结果是否为 c:\code\test.c ?

\c \t \n 都没有打印出来,原因是因为,\c \t \n 是转义字符,而什么是转义字符?

转义字符是很多程序语言、数据格式和通信协议的形式文法的一部分。对于一个给定的字母表,一个转义字符的目的是开始一个字符序列,使得转义字符开头的该字符序列具有不同于该字符序列单独出现时的语义。转义字符顾名思义就是转变意思。以下是一些转义字符的释义:

转义字符释义
\?在书写连续多个问号时使用,防止他们被解析成三字母词
\'用于表示字符常量'
\“用于表示一个字符串内部的双引号
\\用于表示一个反斜杠,防止它被解释为一个转义序列符
\a警告字符,蜂鸣
\b退格符
\f进纸符
\n换行
\r回车
\t水平制表符
\v垂直制表符
\dddddd表示1~3个八进制的数字。 如: \130 X
\xdddd表示2个十六进制数字。 如: \x30 0

三、注释

1. 代码中有不需要的代码可以直接删除,也可以注释掉
2. 代码中有些代码比较难懂,可以加一下注释文字

注释有两种风格:
        C语言风格的注释 /*xxxxxx*/
                缺陷:不能嵌套注释
        C++风格的注释   //xxxxxxxx
                可以注释一行也可以注释多行

四、循环语句

C语言中如何实现循环呢?
        while语句
        for语句
        do ... while语句

while (表达式)
{
    语句;
}
for ([表达式1];[表达式2];[表达式3])
    {
        语句;
    }
do 语句 while (表达式);

五、函数

#include <stdio.h>
int Add(int x, int y)
{
    int z = x+y;
    return z;
}
int main()
{
    int num1 = 0;
    int num2 = 0;
    int sum = 0;
    printf("输入两个操作数:>");
    scanf("%d %d", &num1, &num2);
    sum = Add(num1, num2);
    printf("sum = %d\n", sum);
    return 0;
}

函数的特点就是简化代码,代码复用。

当函数体在main函数后,函数需要在main函数前进行函数声明,如下:

#include <stdio.h>
//函数的声明(用extern)
extern int Add(int x, int y);
int main()
{
    int num1 = 0;
    int num2 = 0;
    int sum = 0;
    printf("输入两个操作数:>");
    scanf("%d %d", &num1, &num2);
    sum = Add(num1, num2);
    printf("sum = %d\n", sum);
    return 0;
}
int Add(int x, int y)
{
    int z = x+y;
    return z;
}

六、数组

    6.1数组定义

int arr[10] = {1,2,3,4,5,6,7,8,9,10};//定义一个整形数组,最多放10个元素

    6.2数组下标

C语言规定:数组的每个元素都有一个下标,下标是从0开始的。
数组可以通过下标来访问的。

int arr[10] = {0};
//如果数组10个元素,下标的范围是0-9

    6.3数组的使用

#include <stdio.h>
int main()
{
    int i = 0;
    int arr[10] = {1,2,3,4,5,6,7,8,9,10};
    for(i=0; i<10; i++)
    {
        printf("%d ", arr[i]);
    }
    printf("\n");
    return 0;
}


//输出结果为数组内容

七、操作符

算术操作符  + - * / %
移位操作符>> <<
位操作符& ^ |
赋值操作符= += -= *= /= &= ^= |= >>= <<=

 

单目操作符

逻辑反操作
-负值
+正值
&取地址
sizeof操作数的类型长度(以字节为单位)
对一个数的二进制按位取反
--前置、后置--
++前置、后置++
间接访问操作符(解引用操作符)
(类型)   强制类型转换

  关系操作符  

>
>=
<
<=
!=  用于测试“不相等”
==用于测试“相等”

逻辑操作符

&&  逻辑与
||  逻辑或

条件操作符

exp1 ? exp2 : exp3

逗号表达式

 exp1, exp2, exp3, …expN
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值