失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 鹏哥C语言 -3. 转义字符 注释 初识选择语句 初识循环语句 函数 操作符1

鹏哥C语言 -3. 转义字符 注释 初识选择语句 初识循环语句 函数 操作符1

时间:2019-08-08 19:14:00

相关推荐

鹏哥C语言 -3. 转义字符 注释 初识选择语句 初识循环语句 函数 操作符1

转义字符

转义字符:转变了原来的意思。

例如:

打印文件位置:

int main(){printf("c:\test\test.c"); //运行结果中没有\t。printf("c:\\test\\test.c"); //使用\转义。"\\"表示一个反斜杠。return 0;}

早期编译器中的三字母词

int main(){printf("(are you ok??)");//在某些编译器中会出现将"??)"转义成"]"的情况。称为三字母词。return 0;}

打印单引号

int main(){printf("%c\n",'\'');//打印单个单引号的时候使用\将一对单引号之间的'转义以打印,//否则会被识别成与两个引号为一对,最后一个落单。双引号同理。return 0;}

\ddd和\xdd

int main(){printf("%d\n",'\130'); //八进制的130转换成十进制的结果//结果为88printf("%c\n",'\130'); //打印ASCII码为八进制130的符号。//结果为X。printf("%d\n",'\x30'); //十六进制的30转换成十进制的结果//结果为48printf("%c\n",'\x30'); //打印ASCII码为十六进制30的符号。//结果为0。return 0;}

注释

用于解释复杂代码。

/*int main(){printf("%c\n",'\''); //C++注释风格/*C语言注释风格。*/return 0;}*/不支持嵌套注释。

选择语句

int main(){int input = 0;printf("打过恶兆了吗?\n");printf("过了-->选1,没过-->选2\n");scanf("%d", &input);if (input == 1)print("好耶!过一次九千块!\n");elseprint("加油,大高个打一次1000块。\n");return 0;}

调试过程中遇到了中文乱码的问题,遂搜索解决方案:

文件编码格式出了问题,默认编码格式为utf-8,改为中文编码格式(GB2312)后恢复。

修改编码方法

循环语句

int main(){int line = 0;while(line<30000){line++;printf("写代码%d\n", line);if (line == 30000)printf("好offer");}return 0;}

函数

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;}

操作符

算术操作符

若操作符两端均为整数,那么不论结果变量定义为int型还是float型,均只输出整数部分。

+ 加

- 减

* 乘

/ 除

% 取余(取模)

移位操作符

移位操作符移动的是二进制位

>> 右移操作符

<< 左移操作符

位操作符

& 按位与

| 按位或

^ 按位异或

赋值操作符

=

+= : a = a + 5; --> a +=5;

-=

*=

/=

&=

^=

|=

>>=

<<=

单目操作符

只有一个操作数的操作符。

! : 逻辑反操作

int main(){int a = 10;printf("%d\n", !a); //因为a的值不等于0,故a为真(非0),!a为假(0),打印结果为0;return 0;}

用法:

int main(){if(a){//如果a为真,执行}if(!a){//如果a为假,执行}return 0;}

- : 负值

+ : 正值

& : 取地址

sizeof : 计算操作数的类型长度(以字节为单位)

sizeof是操作符,所以sizeof()括号可以省略(一般不省略)

用sizeof计算数组元素个数

int sz = sizeof(arr) / sizeof(arr[0]);//用数组的总大小除以数组第一个元素的大小即为数组元素个数。

~ : 对一个数的二进制按位取反

不考虑符号位不变。

原码、反码、补码相关基础知识
整型变量占4字节,32比特,故二进制数应为32位。对正整数:原码、反码、补码相同。对负数:第一位符号位(1为负),剩下31位表示数。

原码:直接用二进制表示数。例11使用8位二进制表示应为:00001011,-11为:10001011。

反码:原码除符号位外,按位取反。

补码:反码二进制序列+1。整型变量在内存中存储的是补码。

将0按位取反

0:

原码:

00000000 00000000 00000000 00000000

反码:

11111111 11111111 11111111 11111111

补码:

00000000 00000000 00000000 00000000

-1:

原码:

10000000 00000000 00000000 00000001

反码:

11111111 11111111 11111111 11111110

补码:

11111111 11111111 11111111 11111111

++ : 前置、后置++;- - : 前置、后置- -

int main(){int a = 10;int b = 10;int c = ++a; //先++,再赋给cint d = b++; //先赋给d,再++printf("%d\n", a); //输出11printf("%d\n", b); //输出11printf("%d\n", c); //输出11printf("%d\n", d); //输出10return 0;}

* : 间接访问操作符(解引用操作符)

(类型) : 强制类型转换

int main(){int a = (int)3.14; //括号中放希望强制转换的类型,一般不推荐使用printf("%d\n", a); //输出11return 0;}

如果觉得《鹏哥C语言 -3. 转义字符 注释 初识选择语句 初识循环语句 函数 操作符1》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。