zoukankan      html  css  js  c++  java
  • C语言的32个关键字和9种控制语句

    C语言的32个关键字和9种控制语句
     
    一、C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。
     
    1 数据类型关键字(12个):
    (1) char :声明字符型变量或函数 
    (2) double :声明双精度变量或函数 
    (3) enum :声明枚举类型 
    (4) float:声明浮点型变量或函数 
    (5) int: 声明整型变量或函数 
    (6) long :声明长整型变量或函数 
    (7) short :声明短整型变量或函数 
    (8) signed:声明有符号类型变量或函数 
    (9) struct:声明结构体变量或函数 
    (10) union:声明共用体(联合)数据类型 
    (11) unsigned:声明无符号类型变量或函数 
    (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)
     
    2控制语句关键字(12个):
    A循环语句 
    (1) for:一种循环语句(可意会不可言传) 
    (2) do :循环语句的循环体 
    (3) while :循环语句的循环条件 
    (4) break:跳出当前循环 
    (5) continue:结束当前循环,开始下一轮循环 
    B条件语句 
    (1)if: 条件语句 
    (2)else :条件语句否定分支(与 if 连用) 
    (3)goto:无条件跳转语句 
    C开关语句 
    (1)switch :用于开关语句 
    (2)case:开关语句分支 
    (3)default:开关语句中的“其他”分支 
    D返回语句
    return :子程序返回语句(可以带参数,也看不带参数)
     
    3 存储类型关键字(4个)
    (1)auto :声明自动变量 一般不使用 
    (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) 
    (3)register:声明积存器变量 
    (4)static :声明静态变量

    4 其它关键字(4个):
    (1)const :声明只读变量 
    (2)sizeof:计算数据类型长度 
    (3)typedef:用以给数据类型取别名(当然还有其他作用 
    (4)volatile:说明变量在程序执行中可被隐含地改变

    二、C语言中的9中控制语句
    goto语句:无条件转向; 
    if语句:判断语句; 
    while循环语句; 
    do-while语句:先执行循环体,然后判断循环条件是否成立. 之后继续循环; 
    for语句:循环,可替代while语句; 只是用法不同; 
    break语句跳出本层的循环;(只跳出包含此语句的循环) 
    continue语句:继续(一般放到循环语句里,不在执行它下面的语句,直接跳到判断语句例:for语句,就直接跳到第二个分号处,while语句,就直接跳到while()的括号里;
    switch语句:多相选择; 
    return语句:返回;
     
    三.C语言运算符(34个)
    一、算术运算
    C语言一共有34种运算符,包括常见的加减乘除运算。
    ①. 加法:+ 还可以表示正号
    ②. 减法:- 还可以表示负号
    ③. 乘法:* 非数学意义上的X
    ④. 除法:/  注意1/2的值为0而非0.5
    ⑤. 取余(模运算):两个整数相除之后的余数(注意两边都必须是整数,带符号只和左值有关)
      注意点:
    ①. Int a=10.8;//数据精度丢失警告。结果为10——自动类型转换
    ②. Int a=(int)10.8;//无警告。把10.8强制转换为整型——强制类型转换
    ③. Double c=10.6+6//结果为16.600000。在计算机中,拿两个数值进行运算,则运算符两边的数值需要类型相同,如果不同则进行自动类型提升。即把6转为6.000000后再参与运算。
    ④. 参与运算的两个数是什么类型,那么其结果就是什么类型。int a=10/3结果为3,double b=10/3结果为3.000000;double c=10.0/3结果为3.333333。要求精确值可以进行强制类型转换。double d=(double)3/2把3转换为double类型变为3.000000,之后2进行自动类型提升转变为2.000000参与运算,结果为1.500000。也可以写成3/(double)2。这种情况需要注意与对整体进行强制转换的区别 double e=(double)(3/2)是先计算3/2的值为1再对1进行强制类型转换,结果为1.000000。

    二、赋值运算
    (一)简单赋值
    Int a=10+5;a=b=10;//从右向左,左边不能为常量
    (二)复合赋值
    a=a+5;=>a+=5;
    a=a*5;=>a*=5;
    a+=5*6+4;=>a=a+(5*6+4)
    提示:预算顺序取决于两点:一是运算符的优先级,二是结合的顺序。

    三、自增自减运算
    Int a=10;
    把a的值加1有四种方法:
    ①. a=a+1;
    ②. a+=1;
    ③. a++;
    ④. ++a;
    简单区分a++和++a。
    Int b;
    Int a=10;
    b=++a; //a==11,b==11;a先把值加1为11,再赋值给b
    b=a++; //a==11,b==10;a先把值10复制给b,a自己再加1为11
    b=(a++)+(++a);  //a1==10,a2==12,b==22
    b=(++a)+(a++);  //a1==11,a2==11,b==22
    注意:int d=10++;//这种写法是错误的,因为对常量进行自加和自减没有任何意义。

    四、Sizeof
    作用:用来计算变量,常量或者是一种数据类型所占的内存字节数。
    基本形式:sizeof(变量名|常量|数据类型),完成之后返回一个值。
    ①. Sizeof 变量|常量
    ②. Sizeof (变量|常量)
    ③. Sizeof (数据类型)
    注意:数据类型一定要用括号括起来,不能写成sizeof 数据类型这样的形式。

    五、关系运算符
     (一)条件判断
    默认情况下。在程序中写出的每一句正确的代码都会被执行,但很多时候我们需要在某个条件成立的情形下才执行某一段代码,如登录操作,这种情况可以使用条件语句来完成。
     (二)真假
    在C语言中,条件成立称为“真”,条件不成立称为“假”。
    C语言规定,任何数值都有真假性,任何非零值都为真,只有0才为假,无布尔类型。
     (三)关系比较
    关系运算的结果只有两种情况,如果条件成立就为真,值为1,如果条件不成立就为假,值为0。有6种运算符,分别是:(1)<  (2)<=  (3) >  (4) >=  (5)==  (6)!=
     (四)使用注意
    ①. ==和!=优先级相等,其他四个关系运算符的优先级相等,且前者的优先级低于后者。如2==3>1 应该先计算3>1
    ②. 关系运算符中,若优先级相同,则“从左往右”结合。如4>3<2,先计算4>3
    ③. 关系运算符中的优先级小于算术运算符。如3+4>8-2 相当于(3+4)> (8-2)
    ④. 练习5!=4+2*7>3==10 先计算5!=18>3==10,5!=1==10,1==10,假

    六、逻辑运算符
    逻辑运算的结果只有两个:真(0)和假(1)
    ①. 与   &&   条件1&&条件2 只有的那个条件1和条件2都成立时,才为真否则为假。
    ②. 或   ||    条件1 ||条件2  当条件1或条件2中有一个成立时就为真,都不成立时为假。
    ③. 非   !  !条件   取反
    注意:逻辑运算符在进行运算时,只要能够确定整体的真假性,后面的条件就不再进行而是直接忽略。

    Int a=b=10;
    Int c=(a>5)&&(++b>=11);//此时a==10,b==11,c==1
    Int c=(a<5)&&(++b>=11);//此时a==10,b==10,c==0
    提示:在进行逻辑运算时,如果搞不清楚各个符号的优先级,可以使用()。

    七、三目运算符
    双目:需要两个值参与运算
    单目:1个数值参与运算  如!5
    三目:需要3个数值参与
    格式:条件?数值1:数值2 
    先判断?前的条件,若条件成立则返回数值1,若条件不成立则返回条件2。
    要求比较a和b的值,把数值大的存入到c中  c=a>b?a:b
    比较a,b,c三个数的值,把最大的值存入到d中
    Int  abmax=(a>b)?a:b;
    d=abmax>c:abmax:c;
    技术是一张窗户纸,一捅就破,come!
  • 相关阅读:
    chrome浏览器中安装以及使用Elasticsearch head 插件
    windows10 升级并安装配置 jmeter5.3
    linux下部署Elasticsearch6.8.1版本的集群
    【Rollo的Python之路】Python 爬虫系统学习 (八) logging模块的使用
    【Rollo的Python之路】Python 爬虫系统学习 (七) Scrapy初识
    【Rollo的Python之路】Python 爬虫系统学习 (六) Selenium 模拟登录
    【Rollo的Python之路】Python 爬虫系统学习 (五) Selenium
    【Rollo的Python之路】Python 爬虫系统学习 (四) XPath学习
    【Rollo的Python之路】Python 爬虫系统学习 (三)
    【Rollo的Python之路】Python sys argv[] 函数用法笔记
  • 原文地址:https://www.cnblogs.com/adeng-x/p/6294496.html
Copyright © 2011-2022 走看看