[size=xx-small]scanf函数可以把用户在键盘上输入的数据保存到变量中。需要在文件开始加上如下一条语句
#include <stdio.h>
scanf函数中也可以使用各种占位符
scanf函数中必须使用变量的地址而不能是变量的名称
字符类型数据是C语言中最简单的一组数据,用char表示。一共包含256个不同的字符,例如'a','0'和'+'。
char类型对应的数字范围不确定,unsigned char类型对应的数字范围是确定的,从0到255。
ASCII码表规定了哪个字符对应着哪个数字。
'a'到'z'之间的所有字符是连续递增排列的
‘A’到'Z'之间的所有字符也是连续递增排列的
‘0’到‘9’之间的所有字符也是连续递增排列的
'h' - 'a' = 'H' - 'A'
'e' - 'a' = '4' - '0'
计算机的存储设备按字节来管理,每个字节有一个自己独立的地址。任何一个变量都是用几个相邻的字节表示的。
sizeof关键字可以用来计算一个变量或某个数据类型所占空间大小,以字节为单位。在sizeof小括号中可以写任何计算公式,但是产生的任何影响在这条语句结束后不会保留。
short(短整形),unsigned short(无符号短整形)也可以用来表示整数,他们各自占两个字节的空间。short表示的数字范围有正有负,unsigned short 表示的数字范围是非负的。
int(整形),unsigned int(无符号整形)也可以用来表示整数,他们各自占4个字节。int表示的数字范围有正有负,unsigned int表示的数字范围是非负的。
long(长整形),unsigned long(无符号长整形)和上面一组一样
float(单精度浮点数)可用于表示带小数点的数字,保留小数点后6位。这种类型数据占4个字节。
double(双精度浮点数)也可用于表示带小数点的数字,保留小数点后12位。这种类型数据占8个字节。
使用一组0或者1表示数字的方法叫做二进制。
每个字节分成8段,每段或者是0或者是1。字节内部使用二进制表示数字。
十进制到二进制的转换
107 = 64 + 32 + 8 + 2 + 1 = 01000000 + 00100000 + 00001000 + 00000010 + 00000001 = 01101011
二进制到十进制的转换
01110011 = 2^6 + 2^5 + 2^4 + 2^1 + 2^0 = 115
计算机中使用补码记录数字,前面介绍的十进制到二进制的转换方法得到的叫做原码。正数的原码和补码是一样的。
负数补码计算方法
-69 = 0 - 69 = 100000000 - 01000101 = 10111011
简单计算方法(相反数的补码按位求反加1)
负数的补码最左边一位一定是1,正数的补码最左边一位一定是0。所以这一位又称为符号位。
把一个二进制数字从右向左每三位分成一组,每组用一个0到7之间的数字表示,这种写法叫做八进制。
把一个二进制数字从右向左每四位分成一组,每组用一个数字表示,这种写法叫做十六进制。用字母a到字母f表示10到15这六个数字。
操作符是表达式的重要组成部分。操作符分成单目操作符,双目操作符和三目操作符。
C语言中支持+,-,*,/和%操作符。
赋值操作符=
自增操作符(++)和自减操作符(--)
/*
scanf练习
*/
#include <stdio.h>
int main() {
int shu_zi = 0, shu_zi1 = 0;
printf("请输入两个数字:");
scanf("shu_zi = %d shu_zi1 = %d", &shu_zi, &shu_zi1);
printf("%d %d\n", shu_zi, shu_zi1);
printf("请再次输入一个数字:");
//scanf("%d", shu_zi); //必须提供变量的地址
return 0;
}
/*
scanf练习
*/
#include <stdio.h>
int main() {
int shu_zi = 0;
printf("请输入一个1到9之间的数字:");
scanf("%d", &shu_zi);
printf("%d X %d = %d\n", shu_zi, shu_zi, shu_zi * shu_zi);
return 0;
}
/*
char类型练习
*/
#include <stdio.h>
int main() {
char ch = 'a';
unsigned char uch = 'a';
int shu_zi = 400;
printf("sizeof(char)是%d\n", sizeof(char));
printf("sizeof(ch)是%d\n", sizeof(ch));
printf("sizeof(unsigned char)是%d\n", sizeof(unsigned char));
printf("sizeof(uch)是%d\n", sizeof(uch));
ch = 200;
uch = 200;
printf("ch是%d,uch是%d\n", ch, uch);
printf("sizeof(ch = 'b')是%d\n", sizeof(ch = 'b'));
printf("ch是%c\n", ch);
ch = shu_zi; //会发生数据丢失
return 0;
}
/*
八进制和十六进制练习
*/
#include <stdio.h>
int main() {
printf("%d %d %d\n", 69, 0105, 0x45);
printf("%d %o %x\n", 69, 69, 69);
printf("%p\n", 69);
return 0;
}
[/size]
C语言基础二
最新推荐文章于 2023-10-14 23:10:06 发布