C语言集训—王菲菲—第二次作业

153 阅读4分钟

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函数

QQ图片20211121232810.jpg

格式说明

QQ图片20211121232932.jpg 输出控制符

QQ图片20211121233051.jpg

scanf函数

QQ图片20211121233253.jpg getchar函数

#include <stdio.h>
 char  a=0;
 a = getchar();

putchar()函数

QQ图片20211121233712.jpg

getch()函数

QQ图片20211121233831.jpg

ASCII

基于拉丁字母的一套电脑编码系统,使用指定的七位或八位二进制数组合来表示128或256种可能的字符,0-31及127是控制字符或通信专用字符(其余为可显示字符),后128个称为扩展ASCII码

常见进制

十进制 逢十进一

二进制 八进制 十六进制类似

转换方法:二进制数、八进制数、十六进制数转换为十进制数,用按权展开法把一个任意R进制数转换成十进制数,其十进制数值为每一位数字与其位权之积的和。十进制数转换成R进制:首先整数部分,除R取整数,直到商为零,得到的余数从右往左排列,小数部分,乘R取整数,得到的整数从左到右排列。

代码规范

代码应该简洁易懂,逻辑清晰

面向变化编程,而不是面向需求编程

先保证程序的正确性,防止过度工程

分享代码

paste.ubuntu.com/p/VT6v5b4TN…

名词翻译

整数-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;\
}\

QQ图片20211122001545.png 浮点数上溢

#include <stdio.h>
int main(void)
{
float  i=3.4e38;

printf ("%f %f ",i,i+1);

return 0;
}

QQ图片20211122001739.png 浮点数下溢

#include <stdio.h>\
int main(void)\
{\
float  i=3.2e-38;\
\
printf ("%f %f ",i,i-1);\
\
return 0;\
}\

QQ图片20211122001752.png 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;

}

QQ图片20211122002143.png

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;
}

QQ图片20211122002315.png

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;
}

QQ图片20211122002450.png

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);

}

QQ图片20211122002456.png