当前位置: 首页 > news >正文

山西网站建设服务好/nba赛季排名

山西网站建设服务好,nba赛季排名,企业对做营销型网站有什么优势,大型做网站的公司程序设计与 C 语言 1.计算机语言与编译 机器语言:一串仅由 0 和 1 序列表示的语言。计算机只能识别和接受 0 和 1 组成的指令。 符号语言(汇编语言):用一些英文字母和数字表示一个指令。 符号语言(汇编语言&#xf…

程序设计与 C 语言

1.计算机语言与编译

机器语言:一串仅由 0 和 1 序列表示的语言。计算机只能识别和接受 0 和 1 组成的指令。

符号语言(汇编语言):用一些英文字母和数字表示一个指令。
符号语言(汇编语言)——>机器语言

低级语言:完全依赖于具体机器特性的,是面向机器的语言。例:机器语言,汇编语言等。

高级语言:语言功能很强,且不依赖于具体的机器,用它写出的程序对任何型号的计算机都适用(或只须作很少的修改),同时它与具体的机器距离较远。

C 语言是面向过程的语言。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-x8oA1QXl-1678017528386)(2023-03-02-16-55-14.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HzrKtC5M-1678017528388)(2023-03-02-16-55-41.png)]

2.数位及其表示、数制之间的转换

十进制 0 1 2 3 4 5 6 7 8 9
表示:0b 二进制 0 1
表示:0 八进制 0 1 2 3 4 5 6 7
表示:0x 十六进制 0 1 2 3 4 5 6 7 8 9 A B C D E F

3.C 语言程序的结构

(1)函数是 C 程序的基本单位。
(2)一个 C 语言程序是由一个或多个函数组成的,其中必须包含一个 main
函数,而且有且仅有一个 main 函数,main 函数=主函数。
(3)程序总是从 main 函数开始执行,而不论 main 函数在整个程序中的位
置,同时也是在 main 函数的最后一条语句 结束执行。
(4)在每个数据声明和语句的最后必须有一个分号,分号表示语句的结束。
(5)C 语言本身不提供输入输出语句。输入和输出的操作是由库函数 scanf
和 printf 等函数来完成的。
(6)英文输入法输入。

#include<stdio.h>int main(void){return 0;
}

5.算法

(1)程序=算法+数据结构

算法:对操作的描述,即要求计算机进行操作的步骤。
数据结构:在程序中要指定用到哪些数据以及这些数据的类型和数据的组
织形式。

(2)算法的特性

①有穷性。
②确定性。
③有零个或多个输入。
④有一个或多个输出。
⑤有效性。

(3)描述或者表述算法的方法:自然语言,流程图,伪代码。

6.三种基本结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ESILAhGl-1678017528388)(2023-03-02-17-14-39.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rDEF4Mvl-1678017528389)(2023-03-02-17-19-06.png)]

以上 3 种基本结构,有以下共同特点:

① 只有一个入口。

② 只有一个出口。一个判断框有两个出口,而一个选择结构只有一个出口。

③ 结构内的每一部分都有机会被执行到。

④ 结构内不存在“死循环”(无终止的循环)。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3tbFnZQa-1678017528389)(2023-03-02-17-29-43.png)]

标识符

(1)定义:用来对变量、符号常量名、函数、数组、类型等命名的有效字符序列。

(2)规则:①标识符只能由数字、字母和下划线组成。

②第一个字符必须是字母或者下划线。

③标识符区分大小写。

④关键字不能作为标识符。

auto break case char const

continue default do double else

enum extern float for goto

if inline int long register

restrict return short signed sizeof

static struct switch typedef union

unsigned void volatile while

注:main,define,scanf,printf 均不是关键字。

数据类型

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xS5xMBVN-1678017528390)(2023-03-02-17-36-53.png)]

整型在存储单元中的存储方式是:用整数的补码形式存放。

①一个正数的补码是该数的二进制形式。

②求一个负数的补码,先将此数的绝对值写成二进制形式,然后对其后面所有各二进制数按位取反,再加一。如-5 的补码。

5 的原码 0000 0101
按位取反 1111 1010
-5 的补码 1111 1011

实数是以指数形式存放在存储单元的。

4.3 算术表达式和运算符的优先级与结合性

用算术运算符和括号将运算对象连接起来的、符合 C 语法规则的式子,称为 C 算术表达式。运算对象包括常量、变量、函数等。

C 语言规定求表达式时,先按运算符的优先级别顺序进行,若一个运算对象两侧的运算符的优先级别相同时,则按规定的“结合方向”处理。

“左结合性”:结合方向自左向右,即运算对象先与左边的运算符结合。

例:算术运算符。
“右结合性”:结合方向自右向左,即运算对象先与右边的运算符结合。 
例:赋值运算符。
4.4 不同类型之间的混合运算
如果一个运算符的两侧的数据类型不同,则先自动进行类型转换,使二者具
有同一种类型,然后进行运算。因此整型、实型、字符型数据间可以进行混合运
算。
规律为:
①+、-、*、/运算的两个数中有一个数为 float 或 double 型,结果为 double
型,因为系统将所有 float 型数据都先转换为 double 型,然后进行运算。
②如果 int 型与 float 或 double 型数据进行运算,先把 int 型和 float 型
数据转换为 double 型,然后进行运算,结果是 double 型。
③字符型数据与整型数据进行运算,就是把字符的 ASCII 代码与整型数据
进行运算。

4.5 强制类型转换运算符:将一个表达式转换成所需类型。

其一般形式为 (类型名)(表达式)
注意:在进行强制类型转换时,得到一个所需类型的中间变量,而原来变量
的类型并未发生变化。

4.6 C 运算符

①算术运算符 + - * / % ++ –

②关系运算符 > < == >= <= !=

③逻辑运算符 ! && ||

④赋值运算符 =

⑤条件运算符 ?: 例:a>b?c:d

⑥逗号运算符 , 例:r=(a,b,c)

⑦指针运算符 * &

⑧求字节数运算符 sizeof

⑨强制类型转换运算符 (类型)

C 语句

5.1 C 语句的作用和分类

 (1)控制语句。控制语句用于完成一定的控制功能。①if()……else…… 条件语句②for()…… 循环语句③while()…… 循环语句④do……while() 循环语句⑤continue 结束本次循环语句⑥break 中止执行 switch 或循环语句⑦switch 多分支选择语句⑧return 从函数返回语句以上语句中()表示括号中是一个“判别条件”,“……”表示内嵌的语句。(2)函数调用语句。函数调用语句由一个函数调用加一个分号构成。
(3)表达式语句。表达式语句由一个表达式加一个分号构成。
(4)空语句。可以用来作为流程的转向点,也可用来作为循环语句中的循
环体。
(5)复合语句。可以用{ }把一些语句和声明括起来称为复合语句。注意:复合语句中最后一个语句中最后的分号不能忽略不写。

5.2 赋值语句

(1)赋值运算符赋值符号 = 就是赋值运算符,它的作用是将一个数据赋给一个变量,也
可以将一个表达式的值赋给一个变量。变量必须先定义,后使用。
int x; ①定义:数据类型 变量名;float y; x=1; ②赋值:变量名=常量;int a=2; ③初始化:数据类型 变量名=常量;int b=3,c=4;
试问:double m=n=1.0; 这条语句的初始化是否正确?
(2)复合的赋值表达式在赋值符 = 之前加上其他运算符,可以构成复合的运算符。a+=b 等价于 a=a+b 注意:如果 b 是包含若干项的表达式,则相当于它有括号。x%=y+3 等价于 x=x%(y+3)
(3)赋值表达式赋值语句是在赋值表达式的末尾加上一个分号构成的。由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达
式”。它的一般形式为
变量 赋值运算符 表达式 
蜂考系统课 官方公众号:蜂考官微 学习交流加 QQ 群:975047395
28
扫码领答案 精讲系统课注意:赋值运算符的左侧只能是变量,而不能是常量或者表达式。(4)赋值过程中的类型转换①如果赋值运算符两侧的类型一致,则直接进行赋值。②如果赋值运算符两侧的类型不一致,但都是算术类型时,在赋值时要进
行类型转换。转换的规则是:将浮点型数据赋给整型变量时,先对浮点数取整,即舍弃小数部分,然后
赋给整型变量。将整型数据赋给实型变量时,数值不变,但以浮点型形式存储到变量中。字符型数据赋给整型变量时,将字符的 ASCII 代码赋给整型变量。将一个占字节多的整型数据赋给一个占字节少的整型变量或字符变量
时,只将其低字节原封不动地送到被赋值的变量。

printf

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HX4wnLYO-1678017528390)(2023-03-02-23-45-36.png)]

scanf

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2883oHnf-1678017528390)(2023-03-02-23-44-36.png)]

字符数组

 字符型数据是以字符的 ASCII 代码存储在存储单元中的,一般占一个字节。
C 语言中没有字符串类型,字符串是存放在字符型数据中的。
3.1 定义字符数组用来存放字符数据的数组是字符数组。字符数组中一个元素存放一个字节。
3.2 字符数组的初始化对字符数组初始化,把各个字符依次赋给数组中各元素。
如果在定义字符数组时不进行初始化,则数组中各元素的值是不可预料的。
如果花括号中提供的初值个数大于数组长度,则出现语法错误。如果初值个数小
于数组长度,则只将这些字符赋给数组中前面那些元素,其余元素自动定为空字
符(即‘\0’)。
如果提供初值的个数与预定的数组长度相同,在定义时可以省略数组长度,
系统会自动根据个数确定数组长度。
3.3 引用字符数组的元素可以引用字符数组中的一个元素,得到一个字符。
3.4 字符串和字符串结束标志在 C 语言中,是将字符串作为字符数组来处理的。C 语言规定了一个“字符串结束标志”,以字符‘\0’作为结束标志。
再对字符数组初始化的方法补充一种方法,即用字符串常量来使字符数组
初始化。
例如:
char c[]={“I am happy”};
也可以省略花括号,直接写成
char c[]=“I am happy”;
等价于
char c[]={‘I’,‘ ’,‘a’,‘m’,‘ ’,‘h’,‘a’,‘p’,‘p’,‘y’,
‘\0’};
而不与下面的等价:char c[]={‘I’,‘ ’,‘a’,‘m’,‘ ’,‘h’,‘a’,‘p’,‘p’,‘y’};
说明:字符数组并不要求它的最后一个字符为‘\0’,甚至可以不包含‘\0’,
像以下这样是完全合法的:
char c[5]={‘C’,‘h’,‘i’,‘n’,‘a’};
3.5 字符数组的输入输出(1)逐个字符输入输出。用格式符“%c”输入或输出一个字符。(2)将整个字符串一次输入或输出。用格式符“%s”,意思是对字符串
(string)的输入输出。说明:
①输出的字符中不包括结束符‘\0’。②用“%s”格式符输出字符串时,printf 函数中的输出项是字符数组名,
而不是数组元素名。③如果数组长度大于字符串的实际长度,也只输出到遇‘\0’结束。④如果一个字符数组包含一个以上‘\0’,遇第一个‘\0’时输出就结束。⑤可以用 scanf 函数输入一个字符串。scanf(“%s”,c);scanf 函数中的输入项 c 是已定义的字符数组名,输入的字符串应短于
已定义的字符数组的长度。注意:
scanf 函数中的输入项如果是字符数组名,不要再加地址符&,因为在 C
语言中数组名代表该数组的起始地址。
蜂考系统课 官方公众号:蜂考官微 学习交流加 QQ 群:975047395
81
扫码领答案 精讲系统课⑥前面介绍的输出字符串的方法:printf(“%s”,c);实际上是这样执行的:按字符数组名 c 找到其数组起始地址,然后逐个
输出其中的字符,直到遇‘\0’为止。

使用字符串处理数据

(1)puts 函数——输出字符串的函数其一般形式为
puts(字符数组) 其作用是将一个字符串(以‘\0’结束的字符串序列)输出到终端。
题 1.若有声明:char a[10]=“123456”;则 puts(a+3)的结果为 。
答案:456 (2)gets 函数——输入字符串的函数其一般形式为
gets(字符数组) 其作用是从终端输入一个字符串到字符数组,并且得到一个函数值。该函
数值是字符数组的起始地址。 注:用 puts 和 gets 函数只能输入或者输出一个字符串,不能写成puts(str1,str2)或 gets(str1,str2)(3)strcat——字符串连接函数其一般形式为
strcat(字符数组 1,字符数组 2) 其作用是把两个字符数组中的字符串连接起来,把字符串 2 接到字符串
1 的后面,结果放在字符数组 1 中,函数调用后得到一个函数值——字符数组 1
的地址。

函数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4bc58wk3-1678017528391)(2023-03-03-00-02-24.png)]

局部变量和全局变量

7.1 局部变量在一个函数内部定义的变量只在本函数范围内有效。在复合语句内定义的
变量只在本复合语句范围内有效。以上这些称为“局部变量”。注意:
(1)主函数中定义的变量也只在主函数中有效,并不因为在主函数中定义而
在整个文件或程序中有效。主函数也不能使用其他函数中定义的变量。(2)不同函数中可以使用同名的变量,它们代表不同的对象,互不干扰。(3)形式参数也是局部变量。(4)在一个函数内部,可以在复合语句中定义变量,这些变量只在本复合语
句中有效。
7.2 全局变量
在函数内定义的变量是局部变量,而在函数之外定义的变量称为全局变量。
全局变量可以为本文件中其他函数所共用。它的有效范围为从定义变量的位置
开始到本源文件结束。
题 1.在 C 语言中,一定是在所有函数之外声明的是( )。
A.全局变量 B.局部变量
C.形参 D.实参
答案:A
蜂考系统课 官方公众号:蜂考官微 学习交流加 QQ 群:975047395
106
扫码领答案 精讲系统课
题 2.以下叙述错误的是( )。
A.不同的函数中可以使用相同的变量名。
B.形式参数也是局部变量。
C.一个函数内部定义的变量只能在本函数范围内有效。
D.在一个函数内部的复合语句中定义的变量可以在本函数范围内有效。
答案:D

变量的存储方式和生存期

8.1 动态存储方式与静态存储方式从变量的作用域(即从空间)的角度来观察,变量可以分为全局变量和局部
变量。从变量值存在的时间(即生存期)来观察,变量的存储可以分为静态存储方
式和动态存储方式。静态存储方式是指在程序运行期间由系统分配固定的存储
空间的方式,而动态存储方式则是在程序运行期间根据需要进行动态的分配存
储空间的方式。
全局变量全部存放在静态存储区中,在程序开始执行时给全局变量分配存
储区,程序执行完毕就释放。
每一个变量和函数都有两个属性:数据类型和数据的存储类别。存储类别指
的是数据在内存中存储的方式。
C 的存储类别包括 4 种,自动的(auto)、静态的(static)、寄存器的
(register)、外部的(extern)。
扫码领答案 精讲系统课
8.2 局部变量的存储类别(1)自动变量(auto)函数中的局部变量,若不专门声明为 static(静态)存储类别,都是动
态地分配存储空间的,数据存储在动态存储区中。函数中的形参和在函数中定义
的局部变量,都属于此类。实际上,关键字“auto”可以省略,不写 auto 则隐含指定为“自动存储
类别”,它属于动态存储方式。
(2)静态局部变量(static 局部变量)函数中的局部变量的值在函数调用结束后不消失而继续保留原值,即其
占用的存储单元不释放,在下一次再调用该函数时,该变量已有值(就是上一次
函数调用结束时的值)。这时指定该局部变量为“静态局部变量”,用关键字
static 声明。
(3)寄存器变量(register 变量)将局部变量的值放在 CPU 的寄存器中,这样的变量叫做寄存器变量。自动变量存储在动态存储区;静态局部变量存储在静态存储区;寄存器变
量存储在寄存器。
8.3 全局变量的存储类别外部变量是在函数的外部定义的全局变量,它的作用域是从变量的定义处
开始,到本程序文件的结尾。
(1)在一个文件内扩展外部变量的作用域。
(2)将外部变量的作用域扩展到其他文件。
(3)将外部变量的作用域限制在本文件中。
题 1.以下叙述错误的是( )。
A.在函数外可以声明变量。
B.变量声明的位置决定了该变量名的使用范围。
C.函数调用时在函数内声明的变量所得到的值将无法保存到该函数的下一次
调用。
D.在函数外声明的变量,其值可以保存到该程序运行结束。
答案:C
题 2.C 语言中形参的默认存储类别是( )。
A.自动(auto) B.外部(extern)
C.寄存器(register) D.静态(static)
答案:A
题 3.执行以下程序后,输出结果是 。
#include<stdio.h>
int fun(int n)
{
static int a=5;
a+=n;
return a;
}
int main()
{
printf(“%d\n”,fun(2)+fun(3)+fun(4));
return 0;
}
答案:31

.定义和使用结构体变量

自己建立结构体类型

 C 语言允许用户自己建立由不同类型数据组成的组合型的数据结构,它称为
结构体。例如:struct Student{int num;char name[20];char sex[2];int age;float score;char addr[30];}; //注意最后有个分号声明一个结构体类型的一般形式为
struct 结构体名 
{成员表列}; 注意:
结构体类型的名字是由一个关键字 struct 和结构体名组合而成的。结构
体名是由用户指定的,又称“结构体标记”,以区别于其他结构体类型。花括号内是该结构体所包含的子项,称为结构体的成员。对各成员都应进行类型声明,即
类型名 成员名; 成员名命名规则与变量名相同。说明:成员可以属于另一个结构类型。

C 文件的有关基本知识

1.1 什么是文件

 文件有不同的类型,在程序设计时,主要用到两种文件:
(1)程序文件。包括源程序文件(后缀为.c)、目标文件(后缀.obj)、可执
行文件(后缀.exe)等。这种文件的内容是程序代码。(2)数据文件。文件的内容不是程序,而是供程序运行时读写的数据。
1.2 文件名一个文件要有一个唯一的文件标识,以便用户识别和引用。
文件标识包括 3 部分:(1)文件路径(2)文件名主干(3)文件后缀
文件路径表示文件在外部存储设备中的位置。
蜂考系统课 官方公众号:蜂考官微 学习交流加 QQ 群:975047395
137
扫码领答案 精讲系统课
1.3 文件的分类根据数据的组织形式,数据文件可分为 ASCII 文件和二进制文件。二进制文件:数据在内存中是以二进制形式存储的,如果不加转换地输出到
外存,就是二进制文件。
ASCII 文件:如果要求在外存上以 ASCII 代码形式存储,则需要在存储前
进行转换,就是 ASCII 文件,ASCII 文件又称文本文件。
1.4 文件类型指针每个被使用的文件都在内存中开辟一个相应的文件信息区,用来存放文
件的有关信息(如文件的名字、文件状态及文件当前位置等)。这些信息是存
放在一个结构体变量中的。该结构体类型是由系统声明的,取名为 FILE。一般不对 FILE 类型变量命名,也就是不通过变量的名字来引用这些变
量,而是设置一个指向 FILE 类型变量的指针变量,然后通过它来引用这些
FILE 类型变量。
FILE *fp;1.C 语言中系统默认的文件类型有文本文件和二进制文件。(判断题)
答案:正确
2.打开与关闭文件 
2.1 用 fopen 函数打开数据文件fopen 函数的调用方式为
fopen(文件名,使用文件方式); 
蜂考系统课 官方公众号:蜂考官微 学习交流加 QQ 群:975047395
138
扫码领答案 精讲系统课
表 1 使用文件方式
文件使用方式 含义 文件不存在
“r”(只读) 为了输入数据,打开一个已存在的文本文件 出错
“w”(只读) 为了输出数据,打开一个文本文件 建立新文件
“a”(追加) 向文本文件尾添加数据 出错
“rb”(只读) 为了输入数据,打开一个二进制文件 出错
“wb”(只写) 为了输出数据,打开一个二进制文件 建立新文件
“ab”(追加) 向二进制文件尾添加数据 出错
“r+”(读写) 为了读和写,打开一个文本文件 出错
“w+”(读写) 为了读和写,建立一个新的文本文件 建立新文件
“a+”(读写) 为了读和写,打开一个文本文件 出错
“rb+”(读写) 为了读和写,打开一个二进制文件 出错
“wb+”(读写) 为了读和写,建立一新的二进制文件 建立新文件
“ab+”(读写) 为读写打开一个二进制文件 出错如果不能实现“打开”的任务,fopen 函数将会带回一个出错信息。此时
fopen 函数将带回一个空指针值 NULL。常用下面的方法打开一个文件:if((fp=fopen(“file1”,“r”))==NULL){printf(“cannot open this file\n”);exit(0);}
蜂考系统课 官方公众号:蜂考官微 学习交流加 QQ 群:975047395
139
扫码领答案 精讲系统课
2.2 用 fclose 函数关闭数据文件“关闭”就是撤销文件信息区和文件缓冲区,使文件指针变量不再指向该
文件,也就是文件指针变量与文件“脱钩”,此后不能再通过该指针对原来与
其相联系的文件进行读写操作。关闭文件用 fclose 函数。fclose 函数调用的一般形式为
fclose(文件指针); 
fclose 函数也带回一个值,当成功地执行了关闭操作,则返回值为 0;否
则返回 EOF(-1)。
题 1.定义 FILE *fp;以写方式打开文件 C:\aa.dat 的正确语句是( )。
A.fp=fopen(“C:\aa.dat”,“w”);
B.fp=fopen(“C:\aa.dat”,“r”);
C.fp=fopen(“C:\\aa.dat”,“w”);
D.fp=fopen(“C:\\aa.dat”,“r”);
答案:C
题 2.若 fp 已正确定义为一个文件指针,d.txt 为 C 盘根目录下的文本文件。
请填空,以便为“读”而打开此文件:
fp=fopen(“ ”,“ ”);
答案:C:\\d.txt,r
蜂考系统课 官方公众号:蜂考官微 学习交流加 QQ 群:975047395
140
扫码领答案 精讲系统课
3.顺序读写数据文件
3.1 向文件读写一个字符
表 2 读写一个字符的函数
函数名 调用形式 功能 返回值
fgetc fgetc(fp)
从 fp 指向的文件读
入一个字符
读成功,带回所读的字符,失
败则返回文件结束标志EOF(-1)
fputc fputc(ch,fp)
把字符 ch 写到文件
指针变量 fp 所指向
的文件中
输出成功,返回值就是输出的
字符;输出失败,则返回EOF(-1)
3.2 向文件读写一个字符串表 3 读写一个字符串的函数
函数名 调用形式 功能 返回值
fgets fgets(str,n,fp)
从 fp 指向的文件读入一个
长度为(n-1)的字符串,存
放到字符数组 str 中。
读成功,返回地址
str,失败则返回
NULL
fputs fputs(str,fp)
把 str 所指向的字符串写到
文件指针变量 fp 所指向的
文件中
输出成功,返回 0;
输出失败,否则返
回非 0 值
蜂考系统课 官方公众号:蜂考官微 学习交流加 QQ 群:975047395
141
扫码领答案 精讲系统课
3.3 用格式化的方式读写文件
一般的调用方式为:
fprintf(文件指针,格式字符串,输出列表); 
fscanf(文件指针,格式字符串,输入列表); 3.4 用二进制方式向文件读写一组数据C 语言允许用 fread 函数从文件中读一个数据块,用 fwrite 函数向文件写
一个数据块。在读写时是以二进制形式进行的。再想磁盘写数据时,直接将内
存中一组数据原封不动、不加转换地复制到磁盘文件上,在读入也是将磁盘文
件中若干字节的内容一批读入内存。它们的一般调用形式为
fread(buffer,size,count,fp); 
fwrite(buffer,size,count,fp);1.C 语言中,调用 函数来检测文件位置指针有没有到文件尾。
答案:feof
题 2.以下叙述中错误的是( )。
A.gets 函数用于从键盘输入字符串。
B.getchar 函数用于从文件读入字符。
C.fputs 函数用于把字符串输出到文件。
D.fwrite 函数用于以二进制形式输出数据到文件。
答案:B
蜂考系统课 官方公众号:蜂考官微 学习交流加 QQ 群:975047395
142
扫码领答案 精讲系统课
题 3.将整型数组 a 中各元素存入文件 data.txt 中。(改错题)
#include<stdio.h>
int main()
{
int a[]={1,2,3,4,5,6,7,8};
FILE *fp;
fp=fopen(“E:\data.txt”,w);
if(fp!=NULL)
{for(i=0;i<8;i++)fprintf(%d”,a[i]);
}
fclose(fp);
}
答案:fp=fopen(“E:\\data.txt”,”w”);fwrite(&a[i],sizeof(int),1,fp);
蜂考系统课 官方公众号:蜂考官微 学习交流加 QQ 群:975047395
143
扫码领答案 精讲系统课
课时十二 练习题
1.C 语言中的文件类型有( )。
A.索引文件和文本文件两种 
B.二进制文件一种
C.文本文件一种
D.ASCII 文件和二进制文件两种
2.若要打开名为 abc.txt 的文本文件进行读、写操作,下面符合此要求的函数
调用的是( )。
A.fopen(“abc.txt”,“r”);
B.fopen(“abc.txt”,“r+);
C.fopen(“abc.txt”,“rb”);
D.fopen(“abc.txt”,“w”);
3.若执行 fopen()函数时发生错误,则函数的返回值是( )。
A.地址值 B.NULL
C.1 D.EOF
4.fscanf 函数的正确调用形式是( )。
A.fscanf(fp,格式控制符,输出列表);
B.fscanf(格式控制符,输出列表,fp);
C.fscanf(格式控制符,文件指针,输出列表);
D.fscanf(文件指针,格式控制符,输入列表);
5.在向文件写时,下列哪个函数名是写单字符函数( )。
A.fread B.fgetc C.fputc D.fwrite
蜂考系统课 官方公众号:蜂考官微 学习交流加 QQ 群:975047395
144
扫码领答案 精讲系统课
6.在 C 语言中,对文件操作的一般步骤是( )。
A.打开文件,读文件,写文件,关闭文件
B.定义文件指针,读文件,写文件,关闭文件
C.定义文件指针,打开文件,读写文件,关闭文件
D.操作文件,定义文件指针,修改文件,关闭文件
7.以下程序的功能是,从键盘输入一组字符,将字符本身及字符 ASCII 码写入
D 盘中 test.txt 文本文件保存,输入字符以#结束。
#include<stdio.h>
#include<stdlib.h>
int main()
{;
char ch;
fp=fopen(“D:\\test.txt”,“ ”);
while((ch=getchar())!=‘#’)fprintf(fp,%c %d”, );
fclose(fp);
return 0;
}

相关文章:

程序设计与 C 语言期末复习

程序设计与 C 语言 1.计算机语言与编译 机器语言&#xff1a;一串仅由 0 和 1 序列表示的语言。计算机只能识别和接受 0 和 1 组成的指令。 符号语言&#xff08;汇编语言&#xff09;&#xff1a;用一些英文字母和数字表示一个指令。 符号语言&#xff08;汇编语言&#xf…...

05-思维导图Xmind快速入门

文章目录5.1 认识思维导图5.2 Xmind的主要结构及主题元素5.2.1 Xmind的多种结构5.2.2 主题分类5.2.3 Xmind的主题元素章节总结5.1 认识思维导图 什么是思维导图&#xff1f; 思维导图是一种将思维进行可视化的实用工具。 具体实现方法是用一个关键词去引发相关想法&#xff0…...

使用去中心化存储构建网站

今天的大多数网站都遵循后端服务器到前端代码的架构。但在 Web3 应用程序中&#xff0c;前端代码不具有与受智能合约保护的后端代码相同的去中心化性和弹性。那么如何使网站像智能合约一样具有弹性呢&#xff1f; 该体系结构似乎很简单&#xff1a; 创建一个没有服务器的静态…...

L - Let‘s Swap(哈希 + 规律)

2023河南省赛组队训练赛&#xff08;四&#xff09; - Virtual Judge (vjudge.net) 约瑟夫最近开发了一款名为Pandote的编辑软件&#xff0c;现在他正在测试&#xff0c;以确保它能正常工作&#xff0c;否则&#xff0c;他可能会被解雇!Joseph通过实现对Pandote上字符串的复制和…...

c语言自动内存回收(RAII实现)

简述 什么是RAII RAII&#xff08;Resource Acquisition Is Initialization&#xff09;是c之父Bjarne Stroustrup提出的概念。资源一般分三个步骤&#xff1a;获取、使用和销毁&#xff0c;而在自由使用内存的c语言中&#xff0c;资源的销毁常常是程序员容易遗漏的事情&…...

Node.js的简单学习一-----未完待续

文章目录前言学习目标一、初识Node.js1.1 回顾与思考1.1.1 需要掌握那些技术1.1.2 浏览器中的JavaScript的组成部分1.2 Node.js简介1 什么是Node.js2 Node.js中的JavaScript运行环境3 Node.js 可以做什么1.3 Node.js环境的安装1.4 在Node.js环境中执行JavaScript 代码终端中的快…...

linux入门---粘滞位

为什么会有粘滞位 一台服务器有很多人使用&#xff0c;每个人在机器上都会有一个家目录&#xff0c;在家目录里可以实现自己想要的操作&#xff0c;但是有时候我们需要一个公共路径来完成一些操作&#xff0c;比如说资料分享产生临时文件的增删查改等等&#xff0c;这就好比我…...

关于正则表达式的讲解

以下内容源于《linux命令行与shell脚本编程大全【第三版】》一书的整理。 在shell脚本中成功运用sed编辑器和gawk程序的关键&#xff0c;在于熟练地使用正则表达式。 一、正则表达式的简介 1、正则表达式的定义 正则表达式&#xff08;regular expression&#xff09;是一个…...

贝塞尔曲线与B样条曲线

文章目录0.参考1.问题起源与插值法的曲线拟合1.1.问题起源1.2.拉格朗日插值1.3.“基”的概念1.4.插值存在的Runge现象2.贝塞尔曲线2.1.控制点的思想2.2.由控制点生成贝塞尔曲线2.3.多个控制点时的贝塞尔曲线公式2.4.贝塞尔曲线的递推公式2.5.贝塞尔曲线的性质3.B样条曲线3.1.B样…...

C语言-基础了解-24-C头文件

C头文件 一、C 头文件 头文件是扩展名为 .h 的文件&#xff0c;包含了 C 函数声明和宏定义&#xff0c;被多个源文件中引用共享。有两种类型的头文件&#xff1a;程序员编写的头文件和编译器自带的头文件。 在程序中要使用头文件&#xff0c;需要使用 C 预处理指令 #include…...

The 19th Zhejiang Provincial Collegiate Programming Contest vp

和队友冲了这场&#xff0c;极限6题&#xff0c;重罚时铁首怎么说&#xff0c;前面的A题我贡献了太多的罚时&#xff0c;然后我的G题最短路调了一万年&#xff0c;因为太久没写了&#xff0c;甚至把队列打成了优先队列&#xff0c;没把head数组清空完全&#xff0c;都是我的锅呜…...

用于<分类>的卷积神经网络、样本不平衡问题的解决

输入图像——卷积层——池化层——全连接层——输出 卷积层&#xff1a;核心&#xff0c;用来提取特征。 池化层&#xff1a;对特征降维。实际的主要作用是下采样&#xff0c;减少参数量来提高计算速度。 卷积神经网络的训练&#xff1a;前向传播&#xff08;分类识别&#xf…...

网上订餐管理系统的设计与实现

技术&#xff1a;Java、JSP等摘要&#xff1a;随着信息技术的广泛使用&#xff0c;电子商务对于提高管理和服务水平发挥着关键的作用。越来越多的商家开始着手于电子商务建设。电子商务的发展为人们的生活提供了极大的便利&#xff0c;也成为现实社会到网络社会的真实体现。当今…...

Httpclient测试

在IDEA中有一个非常方便的http接口测试工具httpclient&#xff0c;下边介绍它的使用方法&#xff0c;后边我们会用它进行接口测试。如果IDEA版本较低没有自带httpclient&#xff0c;需要安装httpclient插件1.插件2.controller进入controller类&#xff0c;找到http接口对应的方…...

EXCEL里的各种奇怪计算问题:数字后面自动多了 0.0001, 数字后面位数变成000,以及一些取整,数学函数

1 公式计算后的数&#xff0c;用只粘贴数值后&#xff0c;后面自动多了 0.0001&#xff0c;导致不再是整数的问题 问题入戏 见第1个8400&#xff0c;计算时就出现了问题&#xff0c;按正常&#xff0c;这里8400应该是整数&#xff0c;而不应该带小数&#xff0c;但是确实就计…...

PHP CRUL请求GET、POST

// GET请求 public function curlGet($url,$header){ $ch curl_init(); curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_s…...

Oracle技术分享 exp导数据时报错ORA-01578 ORA-01110

问题描述&#xff1a;exp导数据时报错ORA-01578 ORA-01110&#xff0c;如下所示&#xff1a; 数据库&#xff1a;oracle 19.12 多租户 1、异常重现 [oracledbserver ~]$ exp ora1/ora1orclpdbfileemp.dmp tablesemp logexp.log Export: Release 19.0.0.0.0 - Production onS…...

Maven学习笔记

目录1 概述1.1 Maven是什么1.2 作用1.2.1 构建1.3 jar包是什么2 下载及配置2.1 下载2.2 配置环境变量3 基本概念3.1 仓库3.2 坐标3.2.1 概念3.2.2 如何获取指定jar包的坐标3.3 项目结构3.3.1 普通java项目的目录结构3.3.2 java web项目的目录结构3.4 项目构建命令4 IDEA中创建M…...

654. 最大二叉树

题目 leetcode题目地址 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。 返…...

快速幂----快速求解底数的n次幂

目录 一.快速幂 1.问题的引入 2.快速幂的介绍 3.核心思想 4.代码实现 2.猴子碰撞的方法数 1.题目描述 2.问题分析 3.代码实现 一.快速幂 1.问题的引入 问题:求解num的n次幂,结果需要求余7 对于这个问题我们可能就是直接调用函数pow(a,b)来直接求解a的b次幂问题,但是如果…...

【FMCW 04】测角-Angle FFT

在之前的文章中&#xff0c;我们已经详尽讨论过FMCW雷达测距和测速的原理&#xff0c;现在来讲最后一块内容&#xff0c;测角。测角对于硬件设备具有要求&#xff0c;即要求雷达具有多发多收结构&#xff0c;从而形成多个空间信道&#xff08;channel&#xff09;&#xff0c;我…...

Linux操作系统学习(线程同步)

文章目录线程同步条件变量生产者与消费者模型信号量环形队列应用生产者消费者模型线程同步 ​ 现实生活中我们经常会遇到同一个资源多个人都想使用的问题&#xff0c;例如游乐园过山车排队&#xff0c;玩完的游客还想再玩&#xff0c;最好的办法就是玩完的游客想再玩就去重新排…...

了解动态规划算法:原理、实现和优化指南

动态规划 详细介绍例子斐波那契数列最长回文子串优化指南优化思路斐波那契数列优化最长回文子串优化详细介绍 动态规划(Dynamic Programming,简称 DP)是一种通过将原问题拆分成子问题并分别求解这些子问题来解决复杂问题的算法思想。 它通常用于求解优化问题,它的核心思想…...

《NFL橄榄球》:明尼苏达维京人·橄榄1号位

明尼苏达维京人&#xff08;英语&#xff1a;Minnesota Vikings&#xff09;是一支职业美式足球球队&#xff0c;位于明尼苏达州的明尼阿波利斯。他们现时在国家橄榄球联合会北区参与国家美式足球联盟比赛。该球队本为美国美式足球联盟&#xff08;AFL&#xff09;的球队。但是…...

sheng的学习笔记-Actuator健康监控

前言在微服务系统里&#xff0c;对微服务程序的运行状况的跟踪和监控是必不可少的&#xff1b;例如GPE&#xff0c;TelegrafinfluxDB都提供了微服务体系监控的方案&#xff0c; ZIPKIN&#xff0c; Skywalking都提供了微服务云体系的APM的方案&#xff1b; 这些解决方案功能全面…...

初次使用ESP32-CAM记录

模块的配置和图片 摄像头&#xff1a;8225N V2.0 171026 模块esp-32s 参考资料&#xff1a;https://docs.ai-thinker.com/esp32 配置环境 参考&#xff1a;https://blog.csdn.net/weixin_43794311/article/details/128622558 简单使用需要注意的地方 基本的环境配置和串口…...

华为OD机试真题Python实现【最长连续交替方波信号】真题+解题思路+代码(20222023)

最长连续交替方波信号 题目 输入一串方波信号,求取最长的完全连续交替方波信号,并将其输出, 如果有相同长度的交替方波信号,输出任一即可,方波信号高位用1标识,低位用0标识 如图: 说明: 一个完整的信号一定以0开始然后以0结尾, 即 010 是一个完整的信号,但101,101…...

【操作系统原理实验】页面替换策略模拟实现

选择一种高级语言如C/C等&#xff0c;编写一个页面替换算法的模拟实现程序。1) 设计内存管理相关数据结构&#xff1b;2) 随机生成一个页面请求序列&#xff1b;3) 设置内存管理模拟的关键参数&#xff1b;4) 实现该页面置换算法&#xff1b;5) 模拟实现给定配置请求序列的换页…...

Java中解析XML文件

1 在Java中解析XML文件共有四种方式 A、DOM方式解析XML数据 树结构&#xff0c;有助于更好地理解、掌握&#xff0c;代码易于编写&#xff0c;在解析过程中树结构是保存在内存中&#xff0c;方便修改 B、SAX方式解析 采用事件驱动模式&#xff0c;对内存消耗比较小&#xff0…...

二点回调测买 源码

如图所示&#xff0c;两点回调测买点的效果图&#xff0c;这是我们常见的一种预测买点计算方法。 现将源码公布如下&#xff1a; DRAWKLINE(H,O,L,C); N:13; A1:REF(HIGH,N)HHV(HIGH,2*N1); B1:FILTER(A1,N); C1:BACKSET(B1,N1); D1:FILTER(C1,N); A2:REF(LOW,N)LLV(LOW,2*N1…...