C编程预备计算机专业知识
1、CPU 内存条 硬盘 显卡 主板 显示器 之间的关系
CPU、内存条、硬盘、显卡等通过主板连接,CPU通过内存条读取硬盘上的数据,读取图像通过显卡传到显示器上;读取声音通过声卡的处理让我们听到。
2、Hello world程序是如何运行的
源文件被翻译成可系统执行文件,系统读取可执行文件运行,
3、什么是变量
其他数据类型在程序运行期间可能会改变或被赋值,这些称为变量
4、CPU 内存条 vc++6.0 操作系统之间的关系
vc++6.0在运行一段程序时向计算机操作系统发出请求,计算机操作系统为程序中分配内存单元由CPU集中调度运行程序并输出运行结果
5、变量为什么必须初始化
当变量没初始化时,变量将把之前操作系统在内存遗留下来的数据赋给变量,导致变量的赋值出错
重点内容
常见数据类型
有符号整型:
int系统给定的基本整数类型,不小于16位
short/short int最大的short类型整数小于或等于最大的int类型整数,至少占16位
long/long int该类型可表示的整数大于或等于最大的int类型整数,至少占32位
long long/long long int该类型可表示的整数大于或等于最大的long类型整数,至少占64位
无符号整型:
chart 字符类型的关键字
布尔类型;
-Bool所占用的空间只要能存储0或1即可
实浮点类型:
float,可精确表示至少6位有效数字
double存储浮点数的范围更大
long double存储范围比double大
常见的输出函数
printf函数
格式说明
输出控制符
scanf函数
getchar函数
#include <stdio.h>
char a=0;
a = getchar();
putchar()函数
getch()函数
ASCII
基于拉丁字母的一套电脑编码系统,使用指定的七位或八位二进制数组合来表示128或256种可能的字符,0-31及127是控制字符或通信专用字符(其余为可显示字符),后128个称为扩展ASCII码
常见进制
十进制 逢十进一
二进制 八进制 十六进制类似
转换方法:二进制数、八进制数、十六进制数转换为十进制数,用按权展开法把一个任意R进制数转换成十进制数,其十进制数值为每一位数字与其位权之积的和。十进制数转换成R进制:首先整数部分,除R取整数,直到商为零,得到的余数从右往左排列,小数部分,乘R取整数,得到的整数从左到右排列。
代码规范
代码应该简洁易懂,逻辑清晰
面向变化编程,而不是面向需求编程
先保证程序的正确性,防止过度工程
分享代码
名词翻译
整数-integer
字符-character
浮点数-float
结构体-stuctural body
枚举-enumeration
联合-unite
变量-variable
初始化-initialize
十进制-declimalism
二进制-binary system
十六进制-hexadecimal
打印-print
习题答案
3.10-6
12-int-%d
0X3-unsigned int-%#X
'C'-char-%c
2.34E07-double-%e
'\040'-char-%c
7.0-double-%f
6L-long-%ld
6.0f-float-%f
0x5.b6p12-float-%a
3.10-4
1、'b',单引号表示字符类型常量,''表示转义,'\b'表示退格
2、1066是一个int型数据常量
3、99.44表示双精度浮点型数据常量
4、0xAA表示十六进制unsigned int 类型数据常量,对于八进制和十六进制数型数据,系统优先解释为无符号类型
5、2.0e30表示双精度浮点类数据常量。
3.10-8
d ld f c
3.11-1
整数上溢
#include <stdio.h>\
int main(void)\
{\
int i=2147483647;\
\
printf ("%d %d %d",i,i+1,i+2);\
\
return 0;\
}\
浮点数上溢
#include <stdio.h>
int main(void)
{
float i=3.4e38;
printf ("%f %f ",i,i+1);
return 0;
}
浮点数下溢
#include <stdio.h>\
int main(void)\
{\
float i=3.2e-38;\
\
printf ("%f %f ",i,i-1);\
\
return 0;\
}\
3.11-2
#include <stdio.h>
int main (void) {
int input;
printf("Enter a value of char int ASCII:55");
scanf ("%d" , &input);
printf("You input value is %d, and char is %c\n", input, input);
return 0;
}
4.8-1
#include<stdio.h>
int main(void)
{
char first_name[100];
char last_name[100];
printf ("请输入你的姓:");
scanf ("%s",first_name);
printf ("请输入你的名:");
scanf ("%s",last_name);
printf ("%s,%s", first_name, last_name );
return 0;
}
4.8-4
#include<stdio.h>
int main(void)
{
char name;
float inch;
printf("请输入你的身高:");
scanf("%f",&inch);
printf("请输入你的姓名:");
scanf("%s",&name);
printf(" %s, you are %f feet tall",&name,&inch);
return 0;
}
4.8-7
#include<stdio.h>
#include<float.h>
int main(void)
{
double a = 1.0/3.0;
float b = 1.0/3.0;
printf("double a = 1.0/3.0:\n");
printf("%.4e\n",a);
printf("%.12e\n",a);
printf("%.16e\n\n",a);
printf("float b = 1.0/3.0:\n");
printf("%.4f\n",b);
printf("%.12f\n",b);
printf("%.16f\n\n",b);
printf("FLT_DIG: %d\n",FLT_DIG);
printf("DBL_DIG: %d\n",DBL_DIG);
return (0);
}