我的C语言学习之路二-条件判断


第一次尝试用写博客的方法来记录自己的学习。希望自己以后能慢慢坚持下去
参考书目是《C语言入门经典》 作者:Ivor Horton

头文件ctype.h

include<ctype.h>:测试字符的函数

函数名说明
islower()小写字母
isupper()大写字母
isalnum()大写或小写字母,或者十进制的数字
iscntrl()控制字符
isprint()可打印字符,包括空格
isgraph()可打印字符,不包括空格
isdigit()十进制数字(‘0’~‘9’)
isxdigit()十六进制数字(‘0’~‘9’,‘A’~‘F’,‘a’~‘f’)
isblank()标准空白字符(空格,’\t’)
isspace()空位字符(空格,’\n’,’\t’,’\v’,\r’,’\f’)
ispunct()Isspace()和isalnum()返回false的可打印字符
isalpha()大写或小写字母
tolower()转换为小写字母
toupper()转换为大写字母

ASCII码中,小写字母比对应的大写字母大32


格式说明符

格式说明符说明
%d十进制数
%c字符
%s字符串(字符串的输入需要双引号)
%x十六进制,0x十六进制;%X——输出十以上的大写字母,%x——输出十以上的小写字母
%o八进制
%u无符号
%p指针

关键字
typedef: 类型定义(类型重定义)列如typedef unsigned int u_int;
stactic:

  1. 修饰局部变量-静态局部变量-局部变量的生命周期变长。
  2. 修饰全局变量-静态全局变量-让静态的全局变量只能在自己所在的源文件内部使用。出了源文件就没法在使用。
  3. 修饰函数-静态函数-改变了函数的链接属性。

原码: 一个二进制数左边加上符号位所得到的码。二进制数大于0,符号位为0;小于0,符号位为1;
反码: 源码的符号位不变,其他位取反得到。
补码: 反码加1;
只要是整数,内存中存储的都是二进制的补码;
正数:原码,反码,补码三者相同。


运算符

关系运算符(Int类型值)

关系运算符说明
<小于
<=小于等于
==等于
!=不等于
>大于
>=大于等于

如果比较结果为真,操作结果为1,比较结果为假,操作结果为0
逻辑运算符

逻辑与运算符 &&
{
有0为0,
全1为1
}

逻辑或运算符 ||
{
有1为1,
全0为0
}

逻辑非运算符!
使ture变为false
**

条件运算符

condition ? expression1 : expression2

如果condition等于true,该操作的结果就是expression1的值,如果condition等与false,该操作结果就是expression2的值。
按位运算符

符号名称说明
&按位与运算符两个位都是1,结果位就是1,否则结果位就是0
|按位或运算符一个或两个位是1,结果位就是1,否则结果位就是0
^按位异或运算符两个位是不同的,结果位就是1,否则结果位就是0
~按位非运算符将0变成1,1变成0.
<<按位左移运算符向左移位,右边补0
>>按位右移运算符向右移位,对于无符号的左边补0,带符号的右边补1,但在一些系统上补的是0。

按位运算符的op=用法:~运算符不能使用
运算符的优先级
二元逻辑运算符的优先级低于比较运算符,比较运算符的优先级都低于二元算术运算符,赋值是列表的最后一个。
条件运算符?:的优先级高于赋值运算符。!运算符在逻辑运算符中的优先级最高。


if语句

if语句

if(expression)
	statement1;
Next_statement;

如果表达式为true,就执行statement1,之后在执行Next_statement。如果表达式为flase,就直接执行Next_statement。
if-else语句

if(expression)
	statement1;
else
	statement2;
Next_statement;

如果expression的值是true,就执行statement1;之后执行Next_statement。
如果expression的值是false,就执行statement2;之后执行Next_statement。
在if语句中使用代码块

if(expression)
{
	statementA1;
	statementA2;
	·······
}
else
{
	statementB1;
	statementB2;
}
Next_statement;

如果expression等于ture,就执行if后面括号中的所有语句。如果expression等于false,就执行else后面括号中的所有语句。在这两种情况下,程序
都继续执行Next_statement。
嵌套的if语句

if(expression1)
{
	StatementA;
	if(expression2)
		StatementB;
	else
		StatementC;
}
else
	StatementD;
Next)_statement;

其中第二个if只有在第一个if条件expression1为ture时才检查。包含Statement A和第二个if的括号时必须的,以使两条语句都在expression1为ture时执行。


多项选择问题

else-if

if(choice1)
	statement1;
else if(choice2)
	statement2;
else if(choice3)
	statement3;
else
	statement4;
Next_statement;

如果第一个if表达式是false,就执行下一个if。继续下去直到一个结果为true的表达式为止。然后执行该if语句后面的语句块。如果所有的if条件都是false, 就执行最后一个else后面的语句或语句块。

swith语句

switch(integer_expression)
{
case constant_expression_1:
		statement_1;
		break;
case constant_expression_2:
		statement_2;
		break;
default:
		statements;
		break;
}

case值必须是常量表达式,既可以在编译期间计算的表达式,case的值必须互不相同。

goto语句

goto语句: 跳转到代码中用语句标签指定的位置。

#include<stdio.h>
int main(void)
{
int a = 0;
there:
	printf("HELLO WORLD!");
if(a==0)
	goto there;
	
}

关机
shutdown -s -t

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值