学习内容
C语言编程预备知识
- 1.CPU不能直接处理硬盘的数据,双击将硬盘里的数据调入内存条,CPU对内存条的数据进行处理。 处理结果:若为图像,则通过显卡在显示器输出;若为声音,则通过声卡最后发出声音。主板:提供中间传输的一个设备。
- 2.后面的数字代表所占字节
相关代码及其补充
-
“/* */”表示注释多行,//放开头代码会被注释掉,那一行的代码等于没有,//放代码后表注释,但那一行代码仍起作用。
-
上图中的e-2表示10的负二次方
-
“/n”表示换行(在输出时换) 下图为输出结果
测试%#x,%x,%X,%#X的用法(以图片形式展示)
写代码时遇到的问题
1.当编写的代码出现中文时,出现中文乱码的情况,即一堆不认识的字,如下图:
此时只需点击UTF-8,切换编码方式即可
graph TD
通过编码保存 --> p(gbk)
正确输出如下图
2.文件名中有空格,出现错误。运行结果如下图(同一个代码)
解决办法:只需点击左上角文件,打开文件,找到该文件点击右键将文件名重命名即可(若只改文件名字母的大小写,代码将会被清空)
名词翻译
| 中文 | 英文 | 中文 | 英文 |
|---|---|---|---|
| 整数 | integer | 变量 | variable |
| 字符 | character | 初始化 | initialition |
| 浮点数 | float | 十进制 | decimal system |
| 结构体 | structure | 二进制 | binary system |
| 枚举 | enum | 十六进制 | hexadecimal |
| 联合 | union | 打印 | printf |
课后习题
第四题
- '/b'是转义字符;\b的含义是:将光标从当前位置向前(左)移动一个字符(遇到\n或\r则停止移动),并从此位置开始输出后面的字符(空字符\0和换行符\n除外)。
- 1066是值为十进制1066的一个整型变量
- double类型
- 0xAA是十六进制的int类型
- 2.0e3是double类型 第六题
| 常量 | 类型 | 转换说明(%转换字符) |
|---|---|---|
| 12 | int | %d |
| 0x3 | unsingned | %#x |
| 'c' | char | %c |
| 2.34E07 | double | %e |
| '\040' | char | %c |
| 7.0 | double | %f |
第八题
int imate = 2;
long short = 53456;
char grade = 'a';
float log = 2.71828;
print("The odds against the %d were %ld to 1.\n",imagte, short);
print("A score of %f is not an %c grade.\n",log, grade);
3.11第一题
发出警告,有符号整数溢出,丢失精度;无符号位直接输出
第二题
代码如图
结果如下图
点先一下运行,再输入一个ASCⅡ码值,再点击运行就可以啦 4.8第一题
第四题
#include <stdio.h>
int main(void)
{
float height;
char name[40];
printf("please input your height in inches:");
scanf("%f", &height);
printf("please input your name:");
scanf("%s", name);
printf("%s,your are %.3f feet tall.",name,height/12.0);\return 0; 第七题
#include <stdio.h>
#include <float.h>
int main(void)
{double a = 1.0 / 3.0; float b = 1.0 / 3.0;
printf("%.6f %.6f\n", a, b);
printf("%.12f %.12f\n", a, b);
printf("%.16f %.16f\n", a, b);
printf("%d %d", FLT_DIG, DBL_DIG);
return 0; }