【C语言学习笔记】字符串、转义字符、注释、选择语句、函数、数组、操作符

字符串

char arr1[] = "abc";
char arr2[] = {'a','b','c'};
//打印字符串
printf("%s\n",arr1);
printf("%s\n",arr2);

运行结果:

abc
abcabc

结论:字符串以‘\0’标志结束,未加‘\0’不会结束输出,‘\0’不计入长度 。

求字符串长度
strlen("abc");
//需在头文件引入#include <string.h>
char arr1[] = "abc";
char arr2[] = {'a','b','c'};
printf("%d\n",strlen(arr1));
printf("%d\n",strlen(arr2));

arr1运行结果为3;
arr2运行结果为随机值(没有字符串结束标志)。

转义字符

转变了原来的意思。

转义字符意义
\a响铃
\b退格 ,将当前位置移到前一列
\f换页,将当前位置移到下页开头
\n换行,将当前位置移到下一行开头
\r回车 ,将当前位置移到本行开头
\t水平制表(跳到下一个TAB位置)
\v垂直制表
\代表一个反斜杠,防止它被解释为一个转义序列符
代表一个单引号(撇号)字符
"代表一个双引号字符
?代表一个问号
\0空字符(NUL)
\dddddd表示1到3个八进制数字。如:\130–X (130的十进制为88,X的ASCII码为88)
\xdddd表示2个十六进制数字。如:\x30–0

例:

printf("%c\n",'\'');
printf("%s\n","\"");
printf("c:\test\test0\n");
printf("c:\\test\\test0\n");

运行结果:

'
"
c:   est	est0
c:\test\test0

注释

解释复杂代码。

//C++注释风格
/*C语言注释风格,不支持嵌套注释*/

一般使用C++注释风格。

选择语句

int input = 0;
printf("输入(0/1):\n");
scanf("%d",&input);
if(input==0)
	printf("no\n");
else
	printf("yes\n");

运行结果:

输入(0/1):
1
yes

(1为键盘输入)

循环语句

while循环
int a=0;
while(a<10)
{
	printf("%d\n",a);
	a++;
}
if(a==10)
{
	printf("finish\n");
}

运行结果:

0
1
2
3
4
5
6
7
8
9
finish

函数

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

运行结果:

1 5
6

(1 5为键盘输入)

数组

int arr[10] = {1,2,3,4,5,6,7,8,9,10};
char ch[5] = {'a','b','c'};//不完全初始化

arr[0]为第一个元素,即arr[0]==1

操作符

算数操作符
+  -  *  /  %
移位操作符
>>  <<

(移动的是二进制位)

位操作符
&  |  ^
赋值操作符
=  +=  -=  *=  /=  &=  ^=  |=  >>=  <<=
a = a + 3;
a += 3;
单目操作符
单目操作符含义
!逻辑反操作(0是假,1是真)
负值
+正值
&取地址
sizeof操作数的类型长度(以字节为单位)
~对一个数的二进制按位取反
– –前置、后置 – –
++前置、后置++
*间接访问操作符(解引用操作符)
(类型)强制类型转换
if(a)//如果a为真,执行
if(!a)//如果a为假,执行

sizeof计算的是字节大小

int arr[10]={0};
sizeof(arr);//结果为40,一次int为四字符
sizeof(arr[0]);//结果为4

~ :按二进制位取反(把所有二进制位的数字,1变成0,0变成1)

int a = 0;
printf("%d\n",~a);

0二进制:00000000…(32位)
~a二进制:111111111…
运行结果:

-1

整数在内存中存储的是补码
一个整数的二进制表示有3种:原码、反码、补码

例:

复数的计算:
-1:
10000000…001(原码)
111111111…110(反码)
111111111…111(补码)√

正整数:
原码、反码、补码相同

++:
1.前置++:先++,后使用
例:

int a = 10;
int b = ++a;
printf("%d\n",b);
printf("%d\n",a);

运行结果:

11
11

2.后置++:先使用,后++
例:

int a = 10;
int b = a++;
printf("%d\n",b);
printf("%d\n",a);

运行结果:

10
11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值