一、字符串+转义字符+注释
字符串类型(相较于 字符数据类型):eg:“ ”;//空字符串
定义:由双引号引起的一串字符为字符串字面值,简称字符串。(后面默认会有\0,结束标志 不算内容
int main()
{
char arr1[]="abc"; //数组
//"abc"——'a' 'b' 'c' '\0' ——'\0'为字符串的结束标志
printf("%s\n",arr1);//输出为 abc
return 0;
}
char arr2[]={'a','b','c',\0或0}; //'a'、'b'、'c'为三个字符;
输出为 abc
char arr2[]={'a','b','c'};
//如是上述打印arr2,打印时先打印abc之后没有结束标志(\0或0)后面就会随机打印(随机值)
直到遇到0
//可能输出结果为abc烫烫烫...
*数据在计算机上存储时,使用的二进制
每个字符有对应的编号/码值 eg:a(ASCII编码) ——对应:97(ASCII码值)
函数:strlen
printf("%d\n",strlen(arr1));//strlen—string length
计算字符串长度,不包含结束标志"\0"
\+_介绍:
\0:转义字符-转变原来的意思
\n:换行 \t:水平制表符
??)——>三字母词,会编译为其他符号,给每个 ? 前加个 \ 就可以
eg:\?\?)
\ 可以用于转义 \表示普通的\
\\:表示一个反斜杠,防止被解释为一个转义序列符
进制数相关转化:
八进制转化为10进制:
3 2——>3*81+2*80
=24+2=26
strlen函数
strlen函数- string lengtn:计算字符串长度
printf("%d\n",strlen("c:\test\32\test.c"));
结果显示13位,中显示的数字不能出现>=8
\3 2——32是两个八进制数
3 2作为八进制代表的那个十进制数字,作为ASCII码值对应的字符
3 2——>转化十进制为 26——>作为ASCII值代表的字符
\ddd:ddd表示1~3个八进制的数字
\xdd:dd表示两个十六进制数字
printf("%c\n",'\x61'); // \x61表示一个字符对应字符
6 1 ——>6*161+1*60=96+1=97
ASCII编码:48——>0、 65——>A、97——>a
注释:
c的注释风格:/* xxxxxxx */ 缺陷:不能嵌套注释
——多个注释时,只识别到第一个*/就停止了
c++的注释风格://xxxxx 选中快捷键注释:ctrl+k+c 取消:ctrl+k+u
*代码比较复杂时可以加入注释
二、语句
选择语句:
int main()
{
int input=0;
printf("你喜欢听歌吗?(1/0)>:");
scanf("%d",&input); //1/0
if(input==1)
printf("听歌\n");
else
printf("不听\n");
return 0;
}
#include <string.h>
循环语句:包含while语句、for语句、do...while语句
int main()
{
int line=0;
printf("学习c课程\n");
while(line<20000)
{
printf("敲一行代码:%d\n",line);
line++;
}
if(line>=20000)
printf("暴富\n");
return 0;
}
函数
分为:自定义函数、库函数
int num1=10;
int num2=20;
sum=num1+num2;
sum=Add(num1,num2); //使用自定义函数Add 使三四行代码作用相同
|
int Add(int x,int y);//Add:函数名,int x、int y函数中的参数
{
int Z=x+y;
return Z;
eg:
int Add(int x,int y)
{
int =x+y,
return z;
}
int main()
{
int num1=10;
int num2=20;
int sum=0;
int a=100;
int b=200;
//sum=num1+num2;
sum=Add(num1,num2);
//sum=a+b;
sum=Add(a,b);
printf("sum=%d\n",sum);
return 0;
}
三、数组
int arr[10]={1,2,3,4,5,6,7,8,9,10}; //定义一个存放有10个整数数字的数组
{1,2,3,4,5,6,7,8,9,10}下标为:
0,1,2,3,4,5,6,7,8,9 //0~9
printf("%d\n",arr[4]); //用下标的方式访问呢元素 ,4为下标对应数字为5
int i=0;
while(i<10)
{
printf("%d",arr[i]);
i++;
}
操作符:
1、算术操作符:+、-、*、/、%(取模:除了之后得到的余数)
eg:int a=5%2; //得1
2、移位操作符:>>右移、<<左移
int main()
{
int a=1;
int b=a<<2;
printf("%d\n",b);
a为:00000000 00000000 00000000 00000001
b为:00000000 00000000 00000000 00000100
3、(二进制)位操作符:&、^、| (十进制——转换>二进制)
&:按位与 (同1才为1,其余为0)
^:按位异或(同为假,异为真)计算规则:对应二进制位相同为0,则为1;
|:按位或(有一真就为真);
4、赋值操作符:=、+=、-=、*=、/=、&=、^=、|=、>>=、<<=
=:为赋值 eg:a=20;
==:为判断
复合赋值符:
a=20;
a=a+10; 等于 a+=10;
a=a-20; 等于 a-= 20;
a=a&2; 等于 a&=2;
单目操作符:
!: 逻辑反操作
-:负值 +:正值
&:取地址
sizeof:操作数的类型长度(以字节为单位)
~:对一个数的二进制按位取反
双目操作符:eg:a+b; // +:双目操作符
三目操作符:
1、!逻辑反操作
!逻辑反操作 +(正号)都会省略 -负值
C语言中表示真假:0——假;非零——真
int a=10;
printf("%d\n",!a); //输出为0
//当a=0时,!a 输出为1
2、sizeof
sizeof:计算的是变量/类型所占空间的大小,单位是字节
int a=10;
printf("%d\n",sizeof(a)); //(a)/a/(int) //输出4
int main()
{
int arr[10]={0}; //10个整型元素的数组
int sz=0;
//10*sizeof(int)=40
printf("%d\n",sizeof(arr));
//计算数组的元素个数
//个数=数组总大小/每个元素大小
sz=sizeof(arr)/sizeof(arr[0]);
printf("sz=%d\n",sz); //10
【本文由:香港云服务器 http://www.558idc.com/ne.html 复制请保留原URL】