C语言 第二章 数据类型、变量和输入函数

目录

一、数据类型简介

在 C 语言中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统。变量的类型决定了变量存储占用的空间,以及如何解释存储的位模式。

类型转换:

类型 存储大小 值范围
char 1 字节 -128 到 127 或 0 到 255
unsigned char 1 字节 0 到 255
signed char 1 字节 -128 到 127
int 2 或 4 字节 -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647
unsigned int 2 或 4 字节 0 到 65,535 或 0 到 4,294,967,295
short 2 字节 -32,768 到 32,767
unsigned short 2 字节 0 到 65,535
long 4 字节 -2,147,483,648 到 2,147,483,647
unsigned long 4 字节 0 到 4,294,967,295

1.2、获得数据类型的长度

#include "stdio.h"
void main()
{
    //sizeof用于获得数字类型的长度
    //sizeof是一个关键字(32个)
    printf("char占用字节数:%d \n",sizeof(char));
    printf("short占用字节数:%d \n",sizeof(short));
    printf("int占用字节数:%d \n",sizeof(int));
    printf("long占用字节数:%d \n",sizeof(long));
    printf("float占用字节数:%d \n",sizeof(float));
    printf("double占用字节数:%d \n",sizeof(double));
}

二、变量定义

是用数据类型在内存中开辟的空间。
一个变量应该有一个名字,也就是我们程序员给该空间取的名──叫变量名。
它在内存中占据一定的存储单元。
变量定义必须放在变量使用之前,即先定义后使用,一般都放在函数体的开头部分。

变量:在程序运行过程中可以变化的量。

常量:在程序运行过程中不可以变化的量。

#include "stdio.h"
void main()
{
    int i=100;
    i++;   //i=i+1
    printf("i=%d \n",i); //101
    i--;  //i=i-1
    printf("i=%d \n",i); //100
    i+=100;  //i=i+100
    printf("i=%d \n",i);  //200
    i/=3;  //i=200/3=66.666667=66
    printf("i=%d \n",i);  //66
    i+7;  //在内存中66+7完成运算,但值没有写回
    printf("i=%d \n",i);  //66
}

2.1、变量名的取名规则

第一个字符只能是字母或下划线( _ );

第一个字符的后而只能跟字母、数字和下划线( _ );

关键字(写上去会变色的那些单词)不能用作变量名;

区分大小写;

第一位(a-zA-Z_)后续(a-zA-Z_0-9)

请问下面那些是非法的,为什么?

1name
_product
_9527
Double
int
_producT
_product
total

2.2、变量定义的多种形式

/* Note:Your choice is C IDE */
#include "stdio.h"
void main()
{
    //定义变量并赋值
    int i=100;

    //先定义再赋值
    float j;
    //j=99.5f; 错误,变量定义必须放在变量使用之前,即先定义后使用,一般都放在函数体的开头部分

    //同时定义多个变量
    char a,b,c;

    //同时定义多个变量并赋值
    double x=1.5,y=1.6,z;

    j=99.5f;
    z=x+y;

}

三、整型(int)

#include "stdio.h"
void main()
{
    int i;
    i++;   //i=i+1
    printf("i=%d \n",i); //101
    i--;  //i=i-1
    printf("i=%d \n",i); //100
    i+=100;  //i=i+100
    printf("i=%d \n",i);  //200
    i/=3;  //i=200/3=66.666667=66
    printf("i=%d \n",i);  //66
    i+7;  //在内存中66+7完成运算,但值没有写回
    printf("i=%d \n",i);  //66
}

四、字符型(char)

五、单精度浮点型(float)

六、双精度浮点型(double)

七、输入scanf

#include "stdio.h"
void main()
{
    //判断年龄如果小于18岁则提示年轻真好,否则输出年龄

    //定义变量
    int age;

    //用户输入年龄
    printf("请输入年龄:");
    //从键盘输入,&表示取变量地址
    scanf("%d",&age);

    //条件判断
    if(age<18){  //如果条件成立
       printf("年轻真好");
    }
    else{  //如果条件不成立
       //输出
       printf("您的年龄是:%d",age);
    }
}

scanf("格式控制",地址列表); 
“格式控制”的含义同printf函数;
“地址列表”是由若干个地址组成的表列,可以是变量的地址,或字符串首地址

%f 单精度

%lf 双精度

%c 从键盘接收一个字符
%d 从键盘接收十进制整数
%s 从键盘接收一个字符串,遇空格、制表 符或换行符表示接收完毕。
%[] 从键盘接收一包含在括号内的字符,只 要遇到有一个不在其内的字符,便表 示接收完毕。

输入时如果遇到 空格 回车 Tab则表示结束

7.1、输入时指定分隔符

#include "stdio.h"
void main()
{
    int a,b,c;
    printf("请输入年-月-日:");
    scanf("%d-%d-%d",&a,&b,&c);
    printf("%d年%d月%d日",a,b,c);
}

7.2、清除缓冲

#include "stdio.h"
void main()
{
    char x,y,z;
    printf("输入:");
    scanf("%c",&x);
    printf("输入:");
    scanf("%c",&y);
    printf("输入:");
    scanf("%c",&z);
    printf("%c,%c,%c",x,y,z);
}

#include "stdio.h"
void main()
{
    char x,y,z;
    printf("输入:");
    scanf("%c",&x);
    fflush(stdin);  //清除缓冲
    printf("输入:");
    scanf("%c",&y);
    fflush(stdin);  //清除缓冲
    printf("输入:");
    scanf("%c",&z);
    fflush(stdin);  //清除缓冲
    printf("%c,%c,%c",x,y,z);
}

7.3、输入字符串

#include "stdio.h"
void main()
{
    char a[100];  //数组,char只能是单个字符
    scanf("%s",a);  //不要取地址
    printf("%s",a);
}

7.4、限定输入范围

#include "stdio.h"
void main()
{
    //限定输入范围
    char a[100];
    scanf("%[0123456789]s",a);//只能输入0-9,其它表示结束
    printf("%s",a);
}

7.5、限定输入范围取反

#include "stdio.h"
void main()
{
    char a[100];
    scanf("%[^a]s",a);  //^取反,如果是a则表示结束
    //scanf("%[^\n]s",a);  //如果是换行则结束,其它字符都可以
    printf("%s",a);
}

练习:

#include "stdio.h"
void main()
{
    int nianling;  //年龄
    float fenshu;  //分数
    char aihao[30];  //爱好
    printf("请输入年龄:");
    scanf("%d",&nianling);

    printf("请输入分数:");
    scanf("%f",&fenshu);

    printf("请输入爱好:");
    scanf("%s",aihao);

    printf("您的年龄是%d,分数:%f,爱好:%s",nianling,fenshu,aihao);
}

时间: 2024-08-28 15:35:56

C语言 第二章 数据类型、变量和输入函数的相关文章

【C语言探索之旅】 第一部分第四课第二章:变量的世界之变量声明

内容简介 1.课程大纲 2.第一部分第四课第二章:变量的世界之变量声明 3.第一部分第四课第三章预告:变量的世界之显示变量内容 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. C语言编程基础知识 什么是编程? 工欲善其事,必先利其器 你的第一个程序 变量的世界 运算符 条件表达式 循环语句 实战:第一个C语言小游戏 函数 练习题 习作:完善第一个C语言小游戏 C语言高级技术 模块化编程 进击的指针,C语言王牌 数组 字符串 预处理

perl5 第二章 简单变量

第二章 简单变量  by flamephoenix 一.整型 二.浮点数 三.字符串 基本上,简单变量就是一个数据单元,这个单元可以是数字或字符串.一.整型 1.整型   PERL最常用的简单变量,由于其与其它语言基本相同,不再赘述.   例:   $x = 12345;   if (1217 + 116 == 1333) {   # statement block goes here   }  整型的限制:   PERL实际上把整数存在你的计算机中的浮点寄存器中,所以实际上被当作浮点数看待.在

机器学习 Machine Learning(by Andrew Ng)----第二章 单变量线性回归(Linear Regression with One Variable)

第二章 单变量线性回归(Linear Regression with One Variable) <模型表示(Model Representation)>                                                             <代价函数(Cost Function)>                                                          <梯度下降(Gradient Descent)

第二章 Shell变量

第二章 Shell变量 1. shell变量概述 1. 什么是变量 变量是Shell传递数据的一种方法,简单理解:用一个固定的字符串去表示不固定的内容,便于后续引用. 2.变量命令规范 变量定义时名称有要求:字母.数字.下划线几个组成,尽量字母开头,变量名最好具备一定的含义. ip=10.0.0.100 ip1=10.0.0.100 Hostname_Ip=10.0.0.100 hostname_IP=10.0.0.100 等号是赋值,需要注意:等号两边不能有空格,其次定义的变量不要与系统命令出

C#本质论读书笔记:第一章 C#概述|第二章 数据类型

第一章 1.字符串是不可变的:所有string类型的数据,都不可变,也可以说是不可修改的,不能修改变量最初引用的数据,只能对其重新赋值,让其指向内存中的一个新位置. 第二章 2.1 预定义类型或基本类型: C#语言的基本类型包括8种整数类型,2种用于科学计算的二级制浮点类型,1种用于金融计算的十进制浮点类型,1种布尔类型以及一种字符类型. 2.1.1 整数类型: 要注意int32的范围,如果是要保存10位以上的数字编号的时候,要么使用string,要么使用int64,因为int32只能保存到10

[第二章]Shell 变量

一.变量 变量就是使用一个较简单的字符串来代替某些具有特殊意义的设定以及数据.就拿PATH来说,这个PATH就代替了所有常用命令的绝对路径的设定,有了PATH这个变量,我们运行某个命令时就不再需要输入全局路径,直接输入命令名即可. [[email protected] ~]# echo $PATH <==输出PATH变量 /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [[email protected

《Python编程从入门到实践》第二章_变量和简单数据类型

什么是变量呢? 举例: >>> message = "Hello,Python!" >>> print (message) Hello,Python! 这里的message就是变量.在程序中可随时修改变量的值,而python将始终记录变量的最新值. 变量命令的规则有哪些呢? 变量只能包含字母数字下划线. 变量名不能包含空格,但可以使用下划线来分割其中的单词 不要将python关键字和函数名作为变量名 变量名应既简单又具有描述性 慎用小写字符l和大写字

第二章 数据类型、变量、和运算符

Java中常用的数据类型有:1.int      整数类型:整型 2.double   双精度浮点类型 3.char  字符型 4.String 字符串 变量:是指计算机根据数据类型在内存中开辟的一块儿空间,用来储存变量值. 变量命名的规则:字下美人其后数(即字母.下划线.美元符号开头其后可以是数值): 运算符:赋值运算符 = 算术运算符 +.-.*./(加减乘除) 逻辑运算符 &&.||.!(且或非) 关系运算符 >,<,>=,<=,!+,==: 原文地址:htt

第二章:变量和简单数据类型

2.2.1 变量的命名和使用    Hello_python.py 一.变量的规则 1)变量名只能包含字母.数子和下划线 2)变量名可以字母或下划线打头,但不能以数子打头 例:正确变量名:message_1    错误:1_message 3)变量名不能包含空格,但可以 使用下划线来分割其中的单词 例:正确变量名:greeting_message   错误:greeting message 4)不要将Python关键字和函数名用作变量名,即不要使用Python保留用于特殊用于单词 例:print