C语言笔记1

一:C语言的描述

1.字符是C语言的最基本的元素

2.标识符 只能是由字母、数字、下划线组成的字符串,并且第一个字符必须是字母或者下划线。

 在标识符中,大小写是有区别的;

 标识符不能与关键字同名,也不能与系统预先定义的标准标识符同名。

  3.注释符

       //和 /* ....*/

二:数据类型

1. 常量:常量在程序执行过程中,其值不发生变化。

a、符号常量:

#define PI 3.14

main()

{

   float aera;

   aera=10*10*PI;

}

符号常量用大写,变量名用小写。PI是一个标识符代表一个常量,成为符号常量,他的值是不会改变的,也不能被赋值,比如:PI=3.1415;这是错误的。

b、const类型修饰符

      Const类型修饰符必须放在它所修饰的类型名之前,用const修饰的标识符为常量。

 比如:  Const float PI=3.14;   或者   float const PI=3.14;

  2.变量:一个变量必须有一个名字(变量名),在内存中占据一定的存储单元,在该单元中存放着变量的值。变量名在程序运行中是不会改变的,而变量值是变化的。变量名是以各种标识符。先定义,后使用

   3.整型

      int  2个字节

      Short int   2个字节

      Long int   4个字节

      Unsigned interface 2个字节   无符号整型变量

  Unsigned  short 2个字节

  Unsigned   long 4 个字节

4.实型数据(又称为浮点型)

a、十进制表示形式: 比如:0.0  .25   5.789  0.13  5.0  300.   -267.8230

b、指数形式:加阶码标识“e”或者“E”,比如: 2.1E5(2.1*10的5次方),3.7E-2(3.7*10的-2次方)。

以下是非法的实数:

 345,E7,-5,53.-E3,2.7E

c、单精度float,占4个字节,只能提供7位有效数字。

d、双精度double 占8个字节,提供16位的有效数字。

e、实型常量不分单精度和双精度。一个实型常量可以赋给一个float或double型变量,根据变量的类型截取实型常量中相应的有效位数字




#include<stdio.h>

void main()

{

   float a;

   double b;

   a=54321.54123;

   b=54321.12345612345678;

   printf("a=%f\nb=%f\n",a,b);

}


b是双精度的,小数后最多保留6位,其余部分四舍五入。所以运行结果显示的b的最后一位是7而不是6.a是单精度浮点型,有效位数是7位,整数占了5位,小数54之后的2969均是无效数字。

5.字符型数据之字符常量

(1)字符常量是字符集(ASCII码)中的字符

     字符常量都是用单引号括起来的一个字符。不能用双引号等。比如:‘a’‘=’。

  数字被定义成字符型之后就不再是原来的数值了。‘5’是字符常量,而5是整型常量。而且,只要是单引号引起来的都是一个字符。‘ABCD’是一个字符  


#include<stdio.h>

void main()

{

   int a='5';

   int b=97;

   printf("a=%d\nb=%c\n",a,b);

}

很明显a的结果是整型而b 的结果是字符型。A=’5’,现在的5是字符,在ASCII中字符‘5’所代表的十进制ASCII码正好是数字53,而十进制ASCII数字97正好代表的是字符a。 为什么a会是53呢,而b却成了a呢? 关键就是想要输出的类型不同了,a=%db=%c

(2)转义字符

 转义字符具有特定的意义,不同于其它字符。常用的转义字符如下;

\n  换行

\0  空字符 通常用于字符串结束标志 ,需要注意的是,这儿的0是数字零 而不是字母o .

\r  回车(不换行)

(1)字符变量用来存放字符常量。6.字符型数据之字符变量

定义:char  a;

(2) C语言中允许对整型变量赋以字符值,也允许对字符变量赋以整型值。在输出时既可以把整型按字符数据输出,也可以把字符按整型数据输出。比如;


#include<stdio.h>

void main()

{

   char a,b; //定义字符类型变量a和b

   a='x';    //把字符‘x’赋给a,此时a的整型值为字符‘x’所对应的值,即120

   b='y';     //把字符'y' 赋给b,此时b的整型值为121

   a=a-32;    //此时的a的值为88,而对应的字符是大写的X

   b=b-32;   //此时的b的值为89,对应的字符是大写的Y

   printf("%c,%c\n%d,%d\n",a,b,a,b); //分别用字符和整型输出a和b 的值

}

(3)  从上述程序中也可以看出,字符是可以参与运算的,比如:’a’=’A’+32。

7.字符型数据之字符串常量

(1)字符串常量是由一对双引号括起来的字符序列。比如:  ”china”,  ”&12.5654”

(2)定义: char string=”My name is zhaoyuqiang”;

(3)字符与字符串的区别:

    a、‘a’是字符,“a”是字符串。

    b、“a”=’a’+’\0’.。 意思是说,字符串就是多个字符合起来,然后最后加一个空格符。

       也就是字符串常量占的内存空间字节数等于字符串中字符位数加1,增加的那一个字符就是存放空字符‘\0’的。

    c、char a=’a’,b; b=a; //把一个字符常量赋给了一个字符变量,这是完全可以的。

       char string=“asdfg”,b; b=a;  //把一个字符串常量赋给了一个字符变量,这是错误的。  

8.枚举类型

(1)枚举类型:这种类型变量的取值只能限于事前已经一一列举出来的值的范围。

(2)用关键字enum定义枚举类型。

        enum weekday {sun,mon,tue,wed,thu,fri,sat};

weekday是枚举类型名,可以用于定义变量,比如:enum weekday week1,week2;定义了两个枚举变量,这两个变量只能取sun到sat这个七个值之一,比如:week1=wed;

其中sun,mon....称为枚举元素,这是常量。

(3)枚举元素在C编辑器中,按定义时的排列顺序取值0,1,2,3,.........。比如:

          week1=wed;

           printf(“%d”,week1);

       此时输出的结果是:3,因为wed在weekday中下标是3。

(4)枚举元素既然是常量,就不应该给它赋值。比如sun=1,mon=2;这是错误的。

       但是在定义的时候可以进行初始化。比如:

         Enum weekday {sun=7,mon=1,tue,wed,thu,fri,sat};

     此时,tue、wed....的值从mon的值顺序加1,如,tue=2。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整版:https://download.csdn.net/download/qq_27595745/89522468 【课程大纲】 1-1 什么是java 1-2 认识java语言 1-3 java平台的体系结构 1-4 java SE环境安装和配置 2-1 java程序简介 2-2 计算机中的程序 2-3 java程序 2-4 java类库组织结构和文档 2-5 java虚拟机简介 2-6 java的垃圾回收器 2-7 java上机练习 3-1 java语言基础入门 3-2 数据的分类 3-3 标识符、关键字和常量 3-4 运算符 3-5 表达式 3-6 顺序结构和选择结构 3-7 循环语句 3-8 跳转语句 3-9 MyEclipse工具介绍 3-10 java基础知识章节练习 4-1 一维数组 4-2 数组应用 4-3 多维数组 4-4 排序算法 4-5 增强for循环 4-6 数组和排序算法章节练习 5-0 抽象和封装 5-1 面向过程的设计思想 5-2 面向对象的设计思想 5-3 抽象 5-4 封装 5-5 属性 5-6 方法的定义 5-7 this关键字 5-8 javaBean 5-9 包 package 5-10 抽象和封装章节练习 6-0 继承和多态 6-1 继承 6-2 object类 6-3 多态 6-4 访问修饰符 6-5 static修饰符 6-6 final修饰符 6-7 abstract修饰符 6-8 接口 6-9 继承和多态 章节练习 7-1 面向对象的分析与设计简介 7-2 对象模型建立 7-3 类之间的关系 7-4 软件的可维护与复用设计原则 7-5 面向对象的设计与分析 章节练习 8-1 内部类与包装器 8-2 对象包装器 8-3 装箱和拆箱 8-4 练习题 9-1 常用类介绍 9-2 StringBuffer和String Builder类 9-3 Rintime类的使用 9-4 日期类简介 9-5 java程序国际化的实现 9-6 Random类和Math类 9-7 枚举 9-8 练习题 10-1 java异常处理 10-2 认识异常 10-3 使用try和catch捕获异常 10-4 使用throw和throws引发异常 10-5 finally关键字 10-6 getMessage和printStackTrace方法 10-7 异常分类 10-8 自定义异常类 10-9 练习题 11-1 Java集合框架和泛型机制 11-2 Collection接口 11-3 Set接口实现类 11-4 List接口实现类 11-5 Map接口 11-6 Collections类 11-7 泛型概述 11-8 练习题 12-1 多线程 12-2 线程的生命周期 12-3 线程的调度和优先级 12-4 线程的同步 12-5 集合类的同步问题 12-6 用Timer类调度任务 12-7 练习题 13-1 Java IO 13-2 Java IO原理 13-3 流类的结构 13-4 文件流 13-5 缓冲流 13-6 转换流 13-7 数据流 13-8 打印流 13-9 对象流 13-10 随机存取文件流 13-11 zip文件流 13-12 练习题 14-1 图形用户界面设计 14-2 事件处理机制 14-3 AWT常用组件 14-4 swing简介 14-5 可视化开发swing组件 14-6 声音的播放和处理 14-7 2D图形的绘制 14-8 练习题 15-1 反射 15-2 使用Java反射机制 15-3 反射与动态代理 15-4 练习题 16-1 Java标注 16-2 JDK内置的基本标注类型 16-3 自定义标注类型 16-4 对标注进行标注 16-5 利用反射获取标注信息 16-6 练习题 17-1 顶目实战1-单机版五子棋游戏 17-2 总体设计 17-3 代码实现 17-4 程序的运行与发布 17-5 手动生成可执行JAR文件 17-6 练习题 18-1 Java数据库编程 18-2 JDBC类和接口 18-3 JDBC操作SQL 18-4 JDBC基本示例 18-5 JDBC应用示例 18-6 练习题 19-1 。。。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值