C语言集训-温宇骏-第二次作业
1.课堂笔记
1.数据类型
基本数据类型
- 整型—— int(整数)
- 短整型—— short int
- 长整型——long int
- 单精度浮点数——float(实数)
- 双精度浮点数——double
- 字符——char
#include <stdio.h>
int main (void)
{
int i=3;
printf("i=%d\n",i);
return 0;
}
复合类型数据
- 结构体
- 枚举
- 共用体
2.变量为什么要初始化
向操作系统申请储存空间,内存空间不分配给其他软件,运行完毕,操作系统回收该内存空间。
变量初始化防止垃圾数据占用
3.进制
进制就是逢几进一
八进制前面加0,十六进制前面加0x或0X,十进制前三名都不加!
- 十进制(0-9) %d表示十进制输出
- 二进制(0-1)
- 八进制(0-7) %0表示八进制输出
- 十六进制(0-F) %x或%X表示十六进制输出
浮点数中e表示10
例如:float x=3.2e3 表示x=32000
单个字符用'A'单引号表示,字符串用“AB”双引号表示
char 中变量ch不能重复定义,否则会报错
4.字节
1字节=8位
1K=1024字节
1M=1024K
1G=1024M
5. ASCII
1.ASCII规矩不同字符使用哪个整数表示
- 'A'——65
- ’B'——66
- ‘a’——97
- ‘b'——98
- ’0‘——48
#include <stdio.h>
int main (void)
{
char ch='b';
printf("%d\n",ch);
return 0;
}
ASCII不是一个值,而是一种规定
6.基本的输入和输出函数的用法
1.printf的用法
将变量的内容输出到显示器上
四种用法
- printf(“字符串”);
-
printf(“输出控制符”,输出参数);
-
printf(“输出控制符1 输出控制符2.....”,输出参数1 输出参数2...);
输出控制符和输出参数必须一一对应
#include <stdio.h>
int main(void)
{
int j=3;
int k=5;
printf("%d %d\n",j,k);
return 0;
}
注意,输出参数之间必须用,隔开 不然会乱码
-
printf(“输出控制符 非输出控制符”,输出参数);
输出控制符 一般%开头
2.scanf的用法
- scanf(“输入控制符”,输入参数); &i表示i的地址 &是一个取地址符
#include <stdio.h>
int main(void)
{
int i;
scanf("%d",&i);
printf("i=%d\n",i);
return 0;
}
2. scanf(“非输入控制符 输入控制符”,输入参数);
非输入控制符必须原样输入
给多个变量键盘赋值
#include <stdio.h>
int main(void)
{
int i,j;
scanf("%d %d",&i,&j);
printf("i=%d,j=%d\n",i,j);
return 0;
}
非控制输入符必须原样输入 否则输出结果错误 如图
如何使用scanf写出高质量代码
- 使用scanf之前用printf提醒用户用什么方式输入
- scanf中尽量不要用非输入控制符,尤其是不要使用\n
清除前面的垃圾数据
while ((ch=getchar()) !='\n')
continue;
#include <stdio.h>
int main(void)
{
int i;
char ch;
scanf("%d",&i);
printf("i=%d\n",i);
while ((ch=getchar()) !='\n')
continue;
int j;
scanf("%d",&j);
printf("j=%d\n",j);
return 0;
}
课后习题
3.10
T4.
- 单字符 \b
- 整型 1066
- 浮点数 99.44
- 十六进制数 176
- e型浮点数 20000000000000000000000000000000000 T6.
- 12 整数 %d
- 0X3 十六进制数 %a
- 'c' 单字符 %c
- 2.34E07 浮点数e计数法 %e
- '\040' 单字符 %c
- 7.0 浮点数十进制计数法 %f T8.
- %d
- %ld
- %f
- %c
3.11
T1.
- 整数上溢 0
- 浮点数上溢 无穷大
- 浮点数下溢 低于正常值 T2.
#include <stdio.h>
int main(void)
{
int i;
scanf("%d",&i);
printf("i=%d\n",i);
return 0;
}
4.8的练习真想不出来,难度有点高了,视频还没讲到怎么输入输出除数字外的数据。