C语言--数值类型与控制结构

时间:2022-09-09 12:59:55

1.字符串常量

表示

字符数组

所占字节数

字符串字符数+1

关于1的说明:存放字符'\0'(其ASCII码值为0),是字符串结束的标志

2. 字符变量的应用

表示

char c,singleCharacter

初始化

char c='\n',Character='a'

备注

字符变量的输出格式为‘\c’

3. 实型

实型常量

十进制小数形式必须有小数点

指数形式:十进制小数+阶码标志(e/E)+阶码(带符号整数)

2.3E6=2.3^10^6

实型变量

单精度(float)

数的范围(1E-37,1E38)

双精度(double)

数的范围(1E-307,1E308)

长精度(long double)

数的范围(1E-4931,1E4932)

4. 枚举类型

\

说明

枚举变量的取值是有限的

星期几

#include <stdio.h>

int main()

{

enum weekday {mon = 1,tue,wed,thu,fri,sat,sun} work;  //weekday work

  work = wed;

printf("Wednesday is the %drd day",work);

}

延伸:

#include <stdio.h>

   int main()

   {

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

         enum weekday wkd;   //声明wkd

     wkd = sun;   // 申明的时候,进行初始化,否则不规范

         printf("sunday is the %drd day",wkd);

    }

水果类型

#include <stdio.h>

void main()

{

enum fruit {apple = 1,orange,banana} fr;//或enum fruit {apple = ,orange=2,banana=3} fr;

     fr = orange;

         printf("the fruit number is : %d\n",fr);

}

5. 标准输入与输出函数

 

标准

输入函数

格式

scanf(格式控制字符串,地址列表)

取地址运算符

&

格式字符串

%d(int)、%ld(long)、%f(float)、%lf(double)

标准

输出函数

格式

printf(格式控制字符串,输出列表)

格式字符串

%d(int);%ld(long);%c(一个字符);

%s(字符串);%f(double默认精度到6位小数)

 

6. 表达式和运算符

表达式

操作数与运算符

8 x 3+6 2*a+10

 

#include <stdio.h>

 void main()

{

 printf("%d",sizeof(float));

}

运算符

赋值运算符

=

height = 198.6; gender = 'f'; x=a+b; a=b=c=8;

算术运算符

双目运算符+、*

单目运算符-

除法运算符

若两者皆为整数,则结果也为整数(取整方向为0);

若有一个是实型,则结果为双精度

模运算符

%

双目运算符,即取余

若两者皆为整数,则结果为整数(取整方向为0)

关系运算符

> < >= <= == !=

真代表1,假代表0

#include <stdio.h>

 void main()

{

         int a=1;

         int b=2;

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

 }

逻辑运算符

逻辑与 &&

逻辑或 ||

逻辑非 !

位运算符

按位与 &  //对每位二进制数做与运算(&)

按位或 |  //对每位二进制数做或运算(|)

按位异或 ^

按位取反 ~

左移<<

右移>>

 

 

条件运算符

表达式1?表达式2:表达式3

max = a>b? a:b;\\若a>b为真,则返回a,否则返回b

#include <stdio.h>

void main()

{

         int a=1;

         a+=1;//a=a+1

         printf("%d\n",a);

}

 

7. c语言的三种基本控制结构

  顺序结构(从上之下,依次执行);

  选择结构(用条件表达式,来描述条件);

  循环结构

         三要素:循环变量、循环体、循环终止条件;

7.1   选择:

7.1.1          if语句

if语句

嵌套if语句

#include <stdio.h>

void main()

{

 int score = 0;

 char level = '\0';

 printf("请输入成绩:");

 scanf("%d",&score);

 

 if (score>=60 && score<70)

 {

          level = 'D';

 }

 else if(score>=70 && score<80)

 {

          level = 'C';

 }else if (score>=80 && score<90)

{

          level = 'B';

 }else if (score>=90 && score<100)

{

          level = 'A';

 }else if (score>=100)

{

          level = 'S';

 }else

{

          level = 'E';

 }

  printf("your level is %c\n",level);

 }

if(表达式)

   if(表达式)

     语句

 

7.1.2          switch语句

多路判定语句

#include <stdio.h>

void main()

{

         int n=0;

         printf("请输入第几季度:\n");

         scanf("%d",&n);

         switch (n) //括号后,无符号

         {

             case 1: //1后面的冒号

                            printf ("您输入的是第一季度\n");

                            break;

                   case 2:

                            printf("您输入的是第二季度\n");

                            break;

                   case 3:

                            printf("您输入的是第三季度\n");

                            break;

                   case 4:

                            printf("您输入的是第四季度\n");

                            break;

                   default:

                            printf("您输入的季度有误:%d\n",n);

         }

 }

7.1.3  goto语句

  无条件转移语句

  复合语句//用{}

  空语句//没有任何内容的语句,用;

7.2   循环结构

while语句

do-while语句

for语句

判断框+循环体(主循环为真)

循环体+判断框

表达式1+判断语句(含表达式2)+循环体+表达式3

#include <stdio.h>

void main()

{

    int a = 8;

         int sum = 0;

         while (++a <= 99)

         {

                  sum=sum+a;//sum+=a

         }

         printf("sum=%d\n",sum);

 }

#include <stdio.h>

void main()

{

    int a = 8;

         int sum = 0;

         do

         {

         sum=sum+a;//sum+=a

         }

         while (++a <= 99);//注意分号

         printf("sum=%d\n",sum);

 }

#include <stdio.h>

void main()

{

    int a = 9;

         int sum = 0;

    for(a=9;a<=99;a++)

         {

                   sum=sum+a;

         }

         printf("sum=%d\n",sum);

 }

7.3 其他

  break语句: 使程序终止循环,而执行循环后面的语句,但只能跳出一层

  continue语句: 跳过本次循环后面的语句,强制执行下一次循环

  结束死循环:ctrl+pause/break