C语言入门笔记代码(第四天)

C语言入门第四天主要学习第五章内容:

笔记代码如下所示:

主要包括:

1.关键字:while,typedef

2.运算符:=-*/以及++和–

3.简单的while循环

4.复合语句,类型转换和类型指派操作

5.如何编写带有参数的简单函数。

#include <stdio.h>


//不同数据类型值做除法运算
/* int main(void)
{

    //%d
    printf("integer division: 5/4 is %d\n",5/4);//integer division: 5/4 is 1
    printf("integer division: 6/3 is %d\n",6/3);//integer division: 6/3 is 2
    printf("integer division: 7/4 is %d\n",7/4);//integer division: 7/4 is 1

    //%.2f,C语言中避免使用混合类型去运算,如下例
    printf("integer division: 7/4 is %.2f\n",7/4);//integer division: 7/4 is 0.00,错误
    printf("integer division: 7.0/4 is %.2f\n",7.0/4);//integer division: 7.0/4 is 1.75
    printf("mixed division: 7.0/4.0 is %.2f\n",7.0/4.0);//mixed division: 7.0/4.0 is 1.75

    //趋零截尾
    printf("-7/4 is %d\n",-7/4);//-7/4 is -1

    return 0;
} */

//运算符优先级:()> +-(一元运算符) > */ > +-(二元运算符)> =
/* int main(void)
{

    int top,score;

    top = score = -(2 + 5)*6 + (4 + 3 * (2 + 3));
    printf("top = %d\n",top);//top = -23

    return 0;
}
 */


//sizeof运算符已字节为单位返回其操作数的大小
//sizeof返回size_t类型的值,这是一个无符号整数类型

/* 
int main(void)
{

    int n = 0;



    //typedef机制允许为一个已有类型创建一个别名
    //例如下例将unsigned int 定义一个size_t的别名
    //typedef unsigned int sizt_t

    size_t intsize;
    intsize = sizeof(int);

    printf("n = %d,n has %zd bytes:all ints have %zd bytes.\n",n,sizeof n,intsize);

    return 0;
} */

//取模运算符%用于整数运算,不要对浮点数进行运算
//把秒转换为分钟和秒
/*
#define SEC_PER_MIN 60
int main(void)
{

    int sec,min,left;

    printf("convert seconds to minutes and seconds!\n");
    printf("enter the number of seconds(<=0 to quit):\n");
    scanf("%d",&sec);

    while(sec>0)
    {
        min = sec/SEC_PER_MIN;
        left = sec%SEC_PER_MIN;

        printf("%d seconds is %d minutes,%d seconds.\n",sec,min,left);
        printf("enter next value(<=0 to quit)\n");
        scanf("%d",&sec);
    }

    printf("Done!\n");
    return 0;
} */


//如果第一个操作数为负数,那么得到的模也为负数,反之就是正数
/* 
int main(void)
{

    //在printf()语句中打印%号使用两个%%来打印
    printf("11/5 is %d and 11%5 is %d\n",11/5,11%5);//11/5 is 2 and 11 is 1
    printf("11/5 is %d and 11%%5 is %d\n",11/5,11%5);//11/5 is 2 and 11%5 is 1

    printf("11/-5 is %d and 11%%-5 is %d\n",11/-5,11%5);//11/-5 is -2 and 11%-5 is 1
    printf("-11/-5 is %d and -11%%-5 is %d\n",-11/-5,-11%5);//-11/-5 is 2 and -11%-5 is -1
    printf("-11/5 is %d and -11%%5 is %d\n",-11/5,-11%5);//-11/5 is -2 and -11%5 is -1

    return 0;
} */


//增量和减量运算符:++和--
//不要使用下列语句:b = ++ i;//如果使用i++,b将会有不同的结果
//使用下列语句来代替它:++ i;b = i;
//++和--优先级只比圆括号的低
//不要在函数的参数或表达式中使用增量运算符,否则会带来麻烦
//下面两个原则,避免增量运算符的问题:
//1.如果一个变量出现在同一个函数的多个参数中时,不要将增量运算符用于它上面,例:y = n++ + n++;
//2.当一个变量多次出现在一个表达式中,不要将增量运算符用到它的上面
/* 
int main(void)
{

    int a = 1,b = 1;
    int aplus,bplus;

    aplus = a++;//后缀,使用a的值之后改变a的值
    bplus = ++b;//前缀,使用b的值之前改变b的值

    printf("a aplus b bplus\n");
    printf("%d %d %d %d\n",a,aplus,b,bplus);
    //a aplus b bplus
    //2 1 2 2

    return 0;
} */

/* 
int main(void)
{
    char ch;
    int i;
    float fl;

    fl = i = ch = 'C';//C对应ASCII码值是67
    printf("ch = %c, i = %d, fl = %.2f\n",ch,i,fl);
   //ch是char类型,1是int型,在包含两种数据类型的任何运算中,两个值都被转换成两种类型里较高的级别。
    ch = ch + 1;//67+1=68 ---->int----->char 68---->"D"   ch == "D"
    i = fl + 2*ch;//2*68 2*68的浮点型+fl---->67.00+136.00=203.00 ---->203整形
    fl = 2.0*ch + i;//2.0*68.0+203.00=339.0
    printf("ch = %c,i = %d,fl = %.2f\n",ch,i,fl);

    //浮点数降级为char类型
    ch = 5212205.17;//5212205.17
    printf("now ch = %c\n",ch);//打印结果为空

    ch = 5212205;//5212205->转换为二进制取低8位,然后对照ASCII表找到对应符号
    printf("now ch = %c\n",ch);//打印结果为'-'

    return 0;
} */

//强制转换操作
//mice = 1.6 + 1.7;结果为3;
//mice = (int)1.6 + (int)1.7;类型轻质转换


//带有参数的函数
//形参:在下例中,形式参数是叫做n的int类型变量,即声明一个参数就创建了一个被叫做形式参数的变量。
//实参:在下例中,主函数调用pound(times)把times的值(5)赋给n,我们称函数传递一个值,这个值被称为实际参数
void pound(int n);//如果函数不接受参数,圆括号里会填写void
int main(void)
{
    int times = 5;
    char ch = '!';//ASCII码值为33
    float f = 6.0;

    pound(times);//int参数
    pound(ch);//char参数自动转换为int类型
    pound((int)f);//指派运算符把f强制转换为int类型

    return 0;
}

void pound(int n)//说明该函数接受一个int参数
{
    while(n-- >0)
    {
        printf("#");
    }
    printf("\n");
}
// #####
// #################################
// ######

猜你喜欢

转载自blog.csdn.net/sinat_41653350/article/details/109750114