第一、二课C语言基础课程学习心得

来源:互联网 发布:淘宝平板电脑客户端 编辑:程序博客网 时间:2024/05/22 01:33

以下是我在第一课c语言基础课程的学习到的知识。

一、 进制

进制:进位机制(进位方法)。基数:也叫底数,基数为n,代表n进制。位权:从个位开始,从右向左依次编号为0,1...x,分别代表n进制的x次方。

计算机进制多为二进制、八进制、十进制和十六进制,八进制以0开头,十六进制以0x开头。

进制的转换:x进制转十进制:按权求和   十进制转x进制:连除到取余。

二、注释

注释分为单行注释和多行注释。//为单行注释,/* */为多行注释。

三、基本数据类型

char       字符型              字节大小为1

int          整型                  字节大小为4

float       单精度浮点型    字节大小为4

double   双精度浮点型    字节大小为8

short      短整型               字节大小为2

long       长整型               字节大小为8

四、常量和变量

常量指的是程序运行时不能被改变的量。变量代表一块储存区域,是指程序运行时能够改变的量。

声明变量有三部分组成: 类型修饰符  变量名  =  初始值。

变量的命名规则:

1、变量名只能由字母、数字和下划线组成,数字不能开头

2、不能重复使用变量名。

3、不可与系统保留名一致

最好要见名知意,用驼峰式命名,例ageZhangMing。

注意:在使用变量前要先对变量进行定义。

五、赋值运算符

赋值运算符用于给变量赋值,其优先级比较低,程序会先执行赋值运算符两边的计算,在进行赋值操作。

注意:=为赋值运算,==判断等于时使用。

六、复合运算符

+= -=  %= /= *=都是复合运算符

例如a+=b是指a=a+b

七、基本的输入输出

语句是执行程序的最小单位,以分号结尾。

输出函数

printf(格式串,表达式1,表达式2,。。);

格式串由普通字符和转换符构成

转换符:

int的转换符是%d  float和double的转换符相同%f long的转换符是%ld  short的转换符是%hd  char的转换符是%c

转换格式控制:
printf(“%04d”,12);%0nd表示输出n位整型数,如果不足n位,则为前面补0。
后台输出为0012。
printf(“%.2d”,1.2325);%.nf 对于float或double类型来说,保留小数点后n位。
后台输出为1.23。
格式化输入函数
scanf格式化输出函数
语法格式 scanf(格式串,表达式1,表达式2,。。。)
注意:读入的数据类型要跟格式附相匹配,否则不在查看剩余部分,立即跳出
     以回车确定输入结束,必须要大回车键,不要在格式串后加\n符号,否则会抵消掉大回车键的结束标志。

程序一:

验证char的字节数
字符型
chara ='a';
       printf("a = %lu\n",sizeof(a));
后台输出为  a=1
验证int的字节数
整型
 inta=1;
        printf("a = %lu\n",sizeof(a));
后台输出为  a=4
验证short的字节数
短整型
 shorta = 1;
        printf("a = %lu\n",sizeof(a));
后台输出为  a=2
验证float的字节数
单精度浮点型
floata = 22.0;     
        printf("a = %lu\n",sizeof(a));
后台输出为 a=4
双精度浮点型
doublea = 1245856;
        printf("a = %lu\n",sizeof(a));
后台输出为  a= 8
长整型
longa = 4565545;
        printf("a = %lu\n",sizeof(a));
后台输出为  a= 8
程序二:

交换两个int型变量的值
 intd = 0;
       
int b = 1;
        int c;
  //交换两个数的核心思想
        c = d;
        d = b;
        b = c;
        printf("d=%d\n b=%d\n c=%d\n",d,b,c);
后台输出为
d=1
b=0
c=0
第二课C语言基础知识学习心得
1、 布尔数据类型
bool数据类型是一种非真即假的类型,其变量只有YES和NO的两个值。YES表达式结果为真,NO表达式结果为假。
在C语言中非0即假。在分支语言中用bool值判断真假。
2、关系运算符
> >=  <  <=  ==  !=这些关系运算符主要用于比较运算,比较结果只有真假,结果值用bool数据类型变量存储。
3、逻辑运算符
&&  逻辑与  逻辑表达式两边同时为真,结果为真

| |     逻辑或   逻辑表达式一边为真,逻辑表达式结果为真,逻辑表达式两边同时为假表达式结果为假

!逻辑非  将逻辑表达式结果取反

注意:逻辑与与逻辑或的短路现象。&& 一假既假 | | 一真即真

4、程序的三种结构
       1.顺序结构
       2.分支结构
       3.循环结构

5、三目运算符
格式:条件表达式?表达式1:表达式2
       当表达式成立时,执行表达式1的值,如果不成立执行表达式2的值
      int y = 9, z = 23,p;
      p = y > z ? y : z;
      printf("p = %d\n",p);


6、分支结构(选择结构)

switch 语句是多分支语句,通过判断整型表达式 的值,来决定执行哪个分支语句。通常与case配合使用。

switch是开关,case是情况。case后的标签只能是整型常量或者整型常量表达式,不能用变量作为cade的标签。

switch (整型表达式){

         case 值1:(语句1;break;)

         case 值2:(语句2;break;)

         ...

         case 值n:(语句n;break;)

          default:(语句n+1;break;)

}

注意:整个default语句都可以舍掉,多个case可以运行一个语句块,case中定义变量需要加{}。

if语句就是一个分支结构,根据条件进行判断,以决定执行某个分支程序。他有三种语法格式
 a 、   if (条件表达式) {
                   语句1;
                      }   

b、     if(条件表达式){
                   语句1;
                       }
          else{
                   语句2;
             }

c、     if(条件表达式){

                    语句1;
                     }
       else  if(条件表达式){
                    语句2;
                    }

注意:if条件表达式后面不能加分号,否则不管条件表达式是否成立,语句都会被执行。
7、枚举类型

枚举类型是一组有符号名称的整型常量,一一列举出所有的状态,罗列出所有可能的结果。

枚举属于构造类型

语法格式:

enum  枚举名{

           枚举值表(默认从0开始)

}

目的是提高程序的可读性。

程序:

枚举类型:

        enum SchoolDepartment{
            Computer = 1,
            Chinese,
            English,
            Music,
            Teach,
            InternationEdu,
            Accounting,
            Material,
            Construction,
            Art,
            Electrical,
        };
        printf("Computer = %d\n",Computer);
        printf("Chinese = %d\n",Chinese);
        printf("English = %d\n",English);
        printf("Art = %d\n",Art);
   后台输出为:     Computer = 1
                              Chinese = 2
                              English = 3
                              Art =10

if语句的应用
        char num;
        scanf("%c",&num);
        if (num >= '0'&& num <='9') {
            printf("该字符是数字\n");
        }
        else if(num >= 'A'&& num <='Z'){
            printf("这是大写字母\n");
        }
        else if(num >= 'a'&& num <='z' )
        {
            printf("这是小写字母\n");
        }
        else
        {
            printf("other\n");
        }
        后台输入:a   输出:这是小写字母

枚举与switch的组合
          int a;
         enum a{
            spring = 1,
            summer,
            autumn,
            winter,     
        };
        scanf("%d",&a);
        switch (a) {
            case spring:
                printf("spring\n ");
                break;
            case summer:
                printf("summer\n");
                break;
            case autumn:
                printf("autumn\n");
                break;
            case winter:
                printf("winter\n");
                break;
                
//            default:
//                break;
        }
后台输入:1  输出:spring



在编写程序时,对于一些要点还是容易遗漏,并且对于switch语句还有一些疑惑。





                         

1 0