【一】C语言编程预备知识
<1>什么是数据类型
1、基本数据类型
*整数:整型——int——4个字节
短整型——short int——2个字节
长整型——long int——8个字节
*浮点数:单精度浮点数——float——4个字节
双精度浮点数——double——8个字节
*字符型:单个字符(char)不能存储字符串
2、复合类型数据
*结构体
*枚举
*共用体
<2>什么是变量
变量的本质就是内存中的一段存储空间
<3>变量为什么要进行初始化
#include<stdio.h>
int main(void)
{
int i;
i=3;//3最终被存放在内存中,程序终止之后3所占的空间被释放
printf("i=%d\n",i);
return 0;
}
<4>如何定义变量
数据类型 变量名=要赋的值
【数据类型 变量名
变量名=要赋的值】
<5>进制转换
二进制 十进制 八进制 十六进制
例:32c=3*16(2)+2*16+12
printf的用法:
%d表示十进制的输出
%x或%x表示十六进制的输出
%o表示八进制的输出
<6>常量在c语言中如何表示
1、整数
十进制:传统的写法
十六进制:前面加ox
八进制:前面为0(注意:不是字母o)
2、浮点数
传统写法:float x=3.2
科学计数法:float x=3.2e3=3200
float x=123.45e-2=1.2345
3、字符
单个字符用单引号括起来
字符串用双引号括起来
例:'A'表示字符A
"A"代表了‘A’和‘\0’的组合
<7>常量是以什么样的二进制代码存储在计算机中的
1、整数是以补码的形式转化为二进制代码存储在计算机中
2、实数是以IEEE754标准转化为二进制代码存储在计算机中
3、字符的本质实际也与整数的存储方式相同
<8>代码规范化
<9>什么是字节
字节就是存储数据的单位,并且是硬件能访问的最小单位
<10>不同类型的数据之间相互赋值的问题
int i=45;
long j=102345;
i=j;【i和j为不同类型,将j赋给i,可能会造成数据丢失】
<11>什么是ASCII码
ASCII不是一个值,而是一种规定
ASCII规定了不同的字符使用哪个整数值表示
‘A’=65 ‘B’=66 ‘C’=67 '0'=48
'a’=97 ‘b’=98 ‘c’=99
#include<stdio.h>
int main(void)
{
char ch='A';
printf("%d\n",ch);//字符型可以使用整数d,任何一个字符都有对应的十进制数字
return 0;
}
//输出:65
<12>基本的输入和输出函数的用法
1、printf函数:将变量的内容输出到显示器上【%d %ld %c %f %lf %x】
四种用法:*printf(“字符串\n”)\n表示换行
*printf(“输出控制符”,输出函数)
int i=10;
printf("%d\n",i);//十进制
*printf(“输出控制符1 输出控制符2”,输出函数1,输出函数2)
【注意:输出控制符和输出参数的个数必须一一对应!!】
printf("%d %d\n",j,k);
2、scanf函数:通过键盘将数据输入到变量中
两种用法:
*
scanf(“输入控制符”,输入参数)
功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中
#include<stdio.h>
int main(void)
{
int i;
scanf("%d",&i);//&为取地址符
printf("%d\n",i);
return 0;
}
*
含有非输入控制符
scanf(“非输入控制符 输入控制符”,输入参数);
功能:将从键盘输入的字符转化为输入控制符所规定格式的数据,然后存入以输入参数的值为地址的变量中,非输入控制符必须原样输入!!
#include<stdio.h>
int main(void)
{
int i;
scanf("m%d",&i);//m123为正确的输入,123为非法输入
printf("i=%d\n",i);
return 0;
}
#include<stdio.h>
int main(void)
{
int i;
char ch;
scanf("%d",&i);
printf("i=%d\n",i);
while((ch=getchar())!=‘\n’)
continue;//
int i;
scanf("%d\n",&j);
printf("j=%d\n",j);
return 0;
}
//输入123m,若无while语句,j会输出一个垃圾值
//while语句将所有的非输入控制符全部清除
<13>运算