c语言2
第2章 基本c语言-2

单分支if语句:
if(表达式) 语句;
双分支if语句:
if(表达式) 语句1; else 语句2;
利用goto语句改变程序执行方向的句式如下:
goto 标号;
与goto语句配合使用的标号语句的句式如下:
标号: 语句;
#include<stdio.h> #include<stdlib.h> #include<time.h> int main(void) {
2.5.1 自动类型转换
double ← float ↑ long ↑ unsigned ↑ int←char,short
高
低
格式:(类型说明符)表达式 功能:把表达式的结果强制转换为类型说明符所
表示的类型。
例如:
(int)a
将a的结果强制转换为整型量。
(int)(x+y) 将x+y的结果强制转换为整型量。 (float)a+b 将a的内容强制转换为浮点数,再与b相加。
time()函数将从1970年1月1日00.00.00到当前时
间所经过的秒数存储到实参指向的变量。
#include<stdio.h> #include<stdlib.h> int main(void) { int x,y; x=rand(); y=rand(); printf("x=%d,y=%d",x,y ); return 0; }
printf("circle's radius is:%d,area is:%f\n",radius,area);
类型 d,i
说明 带符号十进制整数
类型 c
计算机二级C语言课件第2章算法-改

C程序设计(第四版)
用计算机语言表示算法 P32
• 计算机无法识别流 程图和伪代码,还 需转换成计算机语 言程序。
• 用计算机语言表示 算法必须严格遵守 所用的语言的语法 规则。
例2.18 求5!
例2.1 求1×2×3×4×5如。何求1×3×5×7×9×11?
原始方法
通用算法:设变量P为被乘数,i为乘数
S1:使P=1
S2:使i=23
S3:使P*i,乘积仍放在变量P中,表示为: P*i→ P
S4:使i的值加1,即i+12→ i 。 S5:若i≤51,1返回S3,否则结束。
问题:见P18
(若i>51,1 结束,否则,返回S3)
具有通用性、灵活性。(S3~S5组成一个循环)
C程序设计(第四版)
例 2.2 有50个学生,要求将他们中成绩在80分以上的
学号和成绩输出。用n表示学生学号,n1代表第一个学 生学号, ni代表第i个学生学号。用g代表学生成绩, gi代表第i个学生成绩。
算法:
归纳:
S1: 1 → i
P19
S2:如果gi≥80,则输出ni 和gi,否则不输出
(4)结构内不存在“死循环”(无终止的循环) 。
基本结构不一定只限于上面三种,只要具有上 述4个特点的都可以作为基本结构。
用N-S流程图表示见P29 图2-24、图2-25、图2-26 、图2-27
C程序设计(第四版)
2.4.5 用伪代码表示算法
伪代码是介于自然语言和计算机之间的文字和符号来描 述算法。 例2.16 求5! begin /*算法开始*/
C语言程序设计二

int x=10, y=10, z=10 ;
//不能写成int x=y=z=10;
2.2.3 标准函数
C编译系统提供的库函数
− 包括: 输入输出函数、数学函数、字符和字符串函数等。
数学函数 − sin(x) − cos(x) − exp(x)
− log(x)
− log10(x) − fabs(x)
空类型
一种无返回 值函数的数 据类型。 void
自定义
用新的类型 名替代已有 类型名使用。 用typedef 定义
C语言的基本数据类型 整型: 包括有、无符号的基本整型、短整型、长整型 实型: 包括单精度实型、双精度实型 float,double 字符型: 用于表示和存储ASCII字符。 char
2.2
−无符号整数: 用后缀 U/u 表示。
017u, 0xfdbU
−无符号长整数: 用后缀 UL/ul 表示。
15uL
2. 实型常量——浮点数
实型常量又称实数, 指带有小数部分的数。C语言中的实数 是以十进制表示的, 有两种表示形式:
−十进制小数形式:
由数字、数符和小数点组成。
例:
0.123, .123, 123. ,0.0 , -2.5,…
( 存放的是字符的ASCII码值) 字符数据与整型数据可相互赋值,直接运算。 可以把字符变量按整型量输出, 也允许把整型量按 字符量输出。
【例2.4】字符型变量的使用 #include <stdio.h> void main( ) { int a=„b‟; char c1=97; c1=c1-32;
第二章
数据类型、运算符和表达式
§2.1 数据与数据类型 §2.2 常量、变量和标准函数 §2.3 基本运算符及其表达式
c语言 2输入输出

二、基本输入输出语句(一)选择题1.逻辑运算符两侧运算对象三数据类型A.只能是0和1 B.只能是0或非0正数C.只能是整型或字符型数据 D.可以是任何类型的数据2.设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为A. 1 B. 2 C. 3 D. 43.以下程序的运行结果是main(){ int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A. 6,1 B. 2,1 C. 6,0 D. 2,04.若运行时给变量x输入12,则以下程序的运行结果是main(){ int x,y;scanf(“%d”,&x);y=x>12 ? x+10 : x-12;printf(“%d\n”,y);}A. 4 B. 3 C.2 D. 15.指出下面不正确的赋值语句是A.a++ B.a==C.a+=b;D.a=1,b=26.在C语言中,错误的语句是。
A.a=b=c;B.;C.breakD.b=3*5,a*=4;7.以下所列语句中,合法的语句是。
A.a=1,b=2B.++a;C.a=a+1=5;D.y=int(a);8.若x,y均为int型数据,z为double型数据,则以下的scanf函数调用语句中不合法的是A.scanf(“%d%lx,%le”,&x,&y,&z); B.scanf(“%2d*%d%lf”,&x,&y,&z);C.scanf(“%x%*d%o”,&x,&y); D.scanf(“%x%o,%6.2f”,&x,&y,&z);9. 若x, y均为int型变量且有值,要输出x, y的值,正确的输出函数调是A. printf("%d%d",&x,&y);B. printf("%f%f",x,y);C. printf("%f%d",x,y);D. printf("%d%d",x,y);10. x为int型变量,且值为2345,不正确的输出函数调用是A. printf("%d",x);B. printf("%3d",x);C. printf("%c",x) ;D. printf("%s",x);11. 若m为float型变量,则执行以下语句后的输出为m=1234.123;printf(“%-8.3f\n”,m);printf(“%10.3f\n”,m);A.1234.123B. 1234.1231234.123 1234.123C.1234.123D. 1234.123001234.123 001234.12312.putchar函数可以向终端输出一个A. 整型变量表达式B.实型变量值C. 字符串D. 字符或字符型变量值13.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
C语言2级基础知识

计算机二级C第一章基本概念 (2)第二章C程序设计的初步知识 (4)2-1 第一节简单C语言的构成和格式 (4)2-4 第二节标识符的组成和分类 (4)2-5 第三节整型数据和实型数据 (5)第四节算术表达式和赋值表达式 (9)2-16 第五节自加自减运算 (11)2-17 第六节课后习题和典型例题讲解 (12)第三章顺序结构 (13)3-1 第一节输出函数 (13)3-6 第二节输入函数 (14)3-10 第三节程序举例 (15)3-11 第四节课后习题和典型例题详解 (16)第四章选择结构 (16)4-1 第一节关系运算符和关系表达式 (16)4-3 第二节逻辑运算符和逻辑表达式 (17)4-6 第三节选择语句的使用 (18)4-10 第四节goto语句及课后习题讲解 (22)5-1 第五章循环结构 (24)第一节while语句和do-while语句的组成 (24)5-6 第二节for语句和累加累乘算法 (26)5-11 第三节循环嵌套的实例讲解 (29)5-31 第四节break语句和continue语句的使用方法 (37)5-32 第五节课后习题和典型例题的讲解 (38)6-1 第六章字符型数据 (40)第一节字符型常量和字符型变量 (40)6-5 第二节输入输出函数 (42)6-8 第三节程序举例 (43)6-11 第四节课后习题讲解和典型例题分析 (43)7-1 第七章函数 (44)第一节函数的定义和返回值 (44)7-5 第二节函数的调用和说明 (47)7-7 第三节调用函数和被调用函数之间数据的传递 (47)7-9 第四节函数程序举例 (48)7-16 第五节课后习题讲解 (52)备注:该内容为视频内容笔记。
视频内容出处为:全国计算机等级考试二级(C语言)视频教程- 视频中心·网易学院网络地址为:/special/000915SN/cyuyan.html第一章基本概念1-1计算机语言高级语言远离硬件 VB、VF、C、C++、Java低级语言贴近硬件汇编、T-Basic基本概念1.机器语言:对于计算机本身来说,它只是接受和处理由0和1代码构成的二进制指令或数据,由于这种形式的指令是面向机器的,因此也称为“机器语言”。
全国二级c语言教程

C语言的应用领域
操作系统
C语言是开发操作系统的首选语言,如 UNIX、Linux等都是用C语言编写的。
嵌入式系统
C语言在嵌入式系统开发中占据重要地位, 如微控制器编程、驱动程序开发等。
游戏开发
网络编程
许多经典的游戏都是用C语言编写的,如《 超级马里奥》、《俄罗斯方块》等。
C语言在网络编程方面也有广泛应用,如 TCP/IP协议栈的实现、网络服务器的开发 等。
全国二级C语言教程
contents
目录
• C语言概述 • C语言基础 • 数组与指针 • 结构体与共用体 • 文件操作 • C语言高级特性
01 C语言概述
C语言的历史与发展
起源
C语言最初是由丹尼斯·里奇(Dennis Ritchie)在1972年为开发UNIX操作 系统而设计的一种高级编程语言。
常用于底层编程、硬件操作、加密解密等领域。
类型转换与类型别名
类型转换
将一种数据类型转换为另一种数据类型,包括隐式转 换和显式转换两种方式。
类型别名
使用`typedef`关键字为数据类型定义别名,方便代码 阅读和维护。
类型转换的注意事项
在类型转换时需要注意数据溢出、精度丢失等问题。
可变参数列表与函数指针
结构体数组与指针
结构体数组
结构体数组是指元素类型为结构体的 数组。定义结构体数组后,可以像使 用普通数组一样使用结构体数组,包 括赋值、取值、遍历等。
结构体指针
指向结构体的指针称为结构体指针。通过 结构体指针可以访问结构体的成员,需要 使用`->`运算符。结构体指针在函数参数 传递、动态内存分配等方面有广泛应用。
函数定义
函数是一段完成特定功能的代码块,通 过函数名进行调用。
c语言程序设计教程第二版课后习题答案
c语言程序设计教程第二版课后习题答案1. 基本概念和语法1.1 变量和数据类型题目:请将下列C语言的变量定义语句补充完整,并给出每个变量的数据类型和初始化值。
代码:```c#include <stdio.h>int main() {int a;float b;char c;double d;int x = 5;float y = 3.14;char z = 'A';printf("a的数据类型:%s,a的初始值:%d\n", typeof(a), a);printf("b的数据类型:%s,b的初始值:%f\n", typeof(b), b); printf("c的数据类型:%s,c的初始值:%c\n", typeof(c), c); printf("d的数据类型:%s,d的初始值:%lf\n", typeof(d), d); printf("x的数据类型:%s,x的初始值:%d\n", typeof(x), x); printf("y的数据类型:%s,y的初始值:%f\n", typeof(y), y); printf("z的数据类型:%s,z的初始值:%c\n", typeof(z), z); return 0;}```答案:a的数据类型:int,a的初始值:随机值b的数据类型:float,b的初始值:随机值c的数据类型:char,c的初始值:'\0'd的数据类型:double,d的初始值:随机值x的数据类型:int,x的初始值:5y的数据类型:float,y的初始值:3.140000z的数据类型:char,z的初始值:A1.2 运算符和表达式题目:请在下列C语言程序中补充运算符,使程序达到题目要求。
```c#include <stdio.h>int main() {int a = 5;int b = 3;int c;// 1. 将a和b的和赋值给c,并将c的值输出// 补充代码// 2. 将a和b的差赋值给c,并将c的值输出// 补充代码// 3. 将a和b的积赋值给c,并将c的值输出// 补充代码// 4. 将a除以b的商赋值给c,并将c的值输出// 补充代码// 5. 将a除以b的余数赋值给c,并将c的值输出// 补充代码return 0;}```要求:1. 补充代码,使程序能够正确输出运算结果;2. 使用合适的运算符。
计算机等级考试二级C语言第2讲 程序控制结构
}
return 0; }
对吗?
(3)if…else if语句 在C++程序还经常使用如下结构: if(表达式1)语句1
else if(表达式 2)语句 2 else if(表达式3)语句 3
… else if(表达式n)语句 n
else语句n+1 这种嵌套的if语句构成的序列是编写多路判定的最一般的方法。
printf("%d\n",d); } 程序运行后的输出结果是 A) 2 B) 3 C) 43 D) 44
当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为 if(a<b)
if(c<d) x=1; else
if(a<c) if(b<d) x=2; else x=3;
else x=6; else x=7; A.1 B.2 C.3 D.6
大纲内容
四、选择结构程序设计 1.用 if 语句实现选择结构。 2.用 switch语句实现多分支选择结构。 3.选择结构的嵌套。 五、循环结构程序设计 1.for 循环结构。 2.while 和 do-while循环结构。 3.continue语句和 break语句。 4. 循环的嵌套。
1. 用 if 语句实现选择结构
printf(“%d\n”,k);
A.-1
B.0
C.9
D.28 D.10
有以下程序 main() { int k=5,n=0;
while(k>0) { switch(k)
{ default : break; case 1 : n+=k; case 2 : case 3 : n+=k;
} k--; } printf("%d\n",n); } 程序运行后的输出结果是 A)0 B)4 C)6 D)7
C语言 第2章 类型、运算符与表达式(2.4~2.7)
数据类型、运算符和表达式
主要内容
2.1 预备知识 2.2 常量和变量的概念 2.3 各种数据类型的常量及变量 2.4 变量赋初值 2.5 不同类型数据之间的混合运算 2.6 常用运算符和表达式 2.7 输入函数与输出函数
2
2.4.1 变量和内存的概念
变量: 程序运行过程中其值可以改变的量。 系统为程序中的每一个变量开辟存储单元。 变量名: 字母开头,后跟字母、数字和下划线组成。 C语言中的关键字不能作为变量名。
37
2.7.1
格式输出函数printf
printf函数一般格式: printf(格式控制,输出表列) 格式控制是由双引号括起来的字符串,包含三种信息: 1、格式说明:由“%”和格式字符组成,如%d,%f等。 它的作用是将输出的数据按照指定的格式输出。 2、普通字符:需要原样输出的字符。 3、转义字符:用于控制输出。 输出表列是一些要输出的数据。
27
2.5 数据的混合运算
1、自动转换
• 运算转换
• 赋值转换 2、强制类型转换
28
1、自动转换—运算转换
在进行运算时,不同类型的数据要先自动转换成 同一类型,然后进行运算。转换的规则按图所示。
double← float
long unsigned 转换由编译系统自动完成。 转换按数据长度增加的方向进行, 即按“向高看齐”的原则提升“ 较低”类型,以保证不降低精度。
33
2、强制类型转换
注意:对一个变量进行强制转换后,得到一个新的 类型的数据,但原来变量的类型不变。 例:x原为实型变量且值为2.6,在执行 i = (int)x 后得到一个整数 2,并把它赋给整型变量 i, 但 x 仍为实型,值为2.6。
C语言2级考试基础知识笔记
第1章程序设计基本概念·数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程序。
·软件生命周期可分为软件定义、软件开发和软件运行维护3个阶段。
软件开发期包括概要设计、详细设计、实现和测试4个阶段。
·由C语言构成的指令序列称为C源程序,源程序文件的后缀为“.C”。
源程序经过C编译程序编译生成后缀为“.obj”的二进制文件(称为目标文件),然后由称为“连接程序”(Link)的软件把目标文件与C语言提供的各种库函数连接起来,生成后缀为“.exe”的可执行文件。
·结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用go to语句等。
·栈实际也是线性表,只不过是一种特殊的线性表。
栈是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。
当表中没有元素时称为空栈。
栈顶元素总是最后被插入的元素,从而也是最先被删除的元素:栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。
·队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。
队列的操作数是依据先进先出的原则进行的。
因此队列亦称作先进先出的线性表,或后进后出的线性表。
·耦合性和内聚性是模块独立的两个定性标准。
一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,也是模块划分的原则。
·算法的基本特征主要包括以下四个方面:可行性:针对实际问题而设计的算法,执行后能够得到满意的结果。
确定性:算法中的每一个步骤都必须有明确的定义,不允许有模棱两可的解释和多义性。
有穷性:算法必需在有限时间内做完,即算法必需能在执行有限个步骤之后终止。
拥有足够的情报:要使算法有效必需为算法提供足够的情报当算法拥有足够的情报时,此算法才最有效的;而当提供的情报不够时,算法可能无效。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
程序调试题1.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:运行时输入n,输出n的所有质数因子(如n=13860,则输出2、2、3、3、5 7、11)。
#include <stdio.h>void main(){ int n,i; scanf("%d",&n);/****** 1 ******/i=1;while(n>1)if(n%i==0) { printf("%d\t",i); n/=i; }else/******** 2 *******/n--;}2.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:输入的一个小写字母,将字母循环后移5个位置后输出,如‘a’变成‘f’,‘w’变成‘b’。
#include <stdio.h>void main(){ char c; c=getchar();if(______1______) c=c+5;else if (c>='v' && c<='z') ______2______putchar(c);}3.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:调用函数f用以求1元2次方程x*x+5*x-2=0 的实根。
#include <stdio.h>#include <math.h>int f(float a,float b,float c,float *x1,float *x2){ if(b*b-4*a*c<0) return 1;*x1=(-b+sqrt(b*b-4*a*c))/2/a;*x2=(-b-sqrt(b*b-4*a*c))/2/a;______1______}void main(){ float u1,u2; float a=1,b=5,c=-2;if( ________2_________ ) printf("实数范围内无解\n");else printf("%.2f %.2f\n",u1,u2);}4.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:调用函数f计算代数多项式 1.1+2.2*x+3.3*x*x+4.4*x*x*x+5.5*x*x*x*x,当x=1.7时的值。
#include <stdio.h>float f(float,float*,int);void main(){ float b[5]={1.1,2.2,3.3,4.4,5.5};printf("%f\n",f(1.7,b,5));}float f( _______1________ ){ float y=a[0],t=1; int i;for(i=1;i<n;i++) { t=t*x; y=y+a[i]*t; }_____2_____}5.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:运行时输入n,输出n各位数字之和(如n=1308则输出12,n=-3204则输出9)。
#include <stdio.h>#include <math.h>void main(){int n,s=0; scanf("%d",&n); n=fabs(n);/******** 1 *******/while(n>1){s=s+n%10;/******** 2 ******/n=n%10;}printf("%d\n",s);}6.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:分别统计字符串中所有英文字母中的各元音字母个数。
#include <stdio.h>#include <ctype.h>void main(){char a[80]; int n[5]={0},i; gets(a);for(i=0; a[i]!='\0'; i++)/***** 1 *****/switch(toupper(a[i])){case 'a': n[0]++; break;case 'e': n[1]++; break;case 'i': n[2]++; break;case 'o': n[3]++; break;/***** 2 *****/case 'U': n[4]++;}for(i=0;i<5;i++) printf("%d\n",n[i]);}7.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:调用函数f,将1个整数首尾倒置,若程序输入12345,则输出54321;若程序输入-34567,则输出-76543。
#include <stdio.h>#include <math.h>long f(long n){long m,y=0; m=fabs(n);while(m!=0){y=y*10+m%10;____1____}if(n>=0) return y;else _____2_____}void main(){ printf("%ld\t",f(12345)); printf("%ld\n",f(-34567)); }8.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:输入整数n(n>0),求m使得2的m次方小于或等于n、2的m+1次方大于或等于n。
#include <stdio.h>void main(){int m=0,t=1,n;while( _____ 1 ________);while(!(t<=n&&t*2>=n)){_____ 2 _____m++;}printf("%d\n",m);}9.在考生目录的Paper子目录下,有Modify.c文件,该文件中“/***** N ***** /”的下一行中有错误,请改正(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:运行时若输入a、n分别为3、6,则输出下列表达式的值:3+33+333+3333+33333+333333#include<stdio.h>void main(){int i,a,n; long t=0;/********* 1 *******/s=0;scanf("%d%d",&a,&n);for(i=1;i<=n;i++){/******* 2 ******/t=t*10+i;s=s+t;}s=s*a;printf("%ld\n",s);}10.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:函数f将数组循环左移k个元素,数组x[7]调用函数f后的输出结果为:4 5 6 7 1 2 3#include <stdio.h>void f(int *a,int n,int k){int i,j,t;for(i=0;i<k;i++){___1___;for( _______2________ ) a[j-1]=a[j];a[n-1]=t;}}void main(){int i,x[7]={1,2,3,4,5,6,7};f(x,7,3);for(i=0;i<7;i++) printf("%5d",x[i]);printf("\n");}11.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:数列的第1、2项均为1,此后各项值均为该项前二项之和。
计算数列第30项的值。
#include <stdio.h>_______1______void main(){ printf("%ld\n",f(30)); }long f(int n){if( ______2______ ) return 1;else return f(n-1)+f(n-2);}12.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。
该程序功能:输入m、n(要求输入数均大于0),输出它们的最大公约数。
#include <stdio.h>void main(){int m,n,k;while(scanf("%d%d",&m,&n), _______1______ );for( ____2____; n%k!=0||m%k!=0; k--);printf("%d\n",k);}13.在考生目录的Paper子目录下,有Modify.c文件,该文件中"____ N ____"是根据程序功能需要填充部分,请完成程序填充(注意:不得加行、减行、加句、减句,否则后果自负)。