c语言程序设计各章练习题.pdf
C语 言 程 序 设 计 各 章 练 习 题请 输 入 2个 整 数,用 空 格 隔 开:3 5空 排 前:a=3 b=5交 换 后:a=5 b=3 C 语 言 程 序 设 计 各 章 练 习 题 2016年 12月 汇 编 第 1-3章 C语 言 基 础、编 程 规 范、顺 序 结 构 程 序 设 计 编 程 题 1:设 a 和 b 均 为 int型 变 量,编 写 一 个 程 序,通 过 键 盘 读 入 a,b 的 值,然 后 交 换 a,b 的 值。要 求 屏 幕 显 示“输 入 2 个 整 数,用 空 格 隔 开”的 提 示 语 句,并 且 输 出 交 换 前 a,b 的 值,交 换 后 a,b的 值。附 加 要 求:(1)允 许 定 义 第 3个(2)不 允 许 定 义 第 3个 变 量,实 现 交 换。第 4章 选 择 结 构 程 序 设 计 编 程 题 2:根 据 下 列 函 数 关 系 写 程 序,要 求 提 示 输 入 x 的 值,输 出 y 的 值。X H-X 02y=0编 程 题 2:根 据 下 列 函 数 关 系 写 程 序,要 求 提 示 输 入 x 的 值,输 出 y 的 值。x x-2y=2-2 x 0编 程 题 3:求 ax2+bx+c=0方 程 的 解。(只 输 出 b2-4ac=0的 求 解 结 果,小 于 0,输 出“不 予 求 解!”)第 5 章 循 环 结 构 程 序 设 计 编 程 题 4:编 程 计 算 加。要 求 提 示 键 盘 输 入 n,i=l如 n 为 负 数,不 予 计 算,直 接 返 回。编 程 题 5:编 程 序 计 算 n!,要 求 n 从 键 盘 输 入,如 n 小 于 0,不 予 计 算。编 程 题 6:从 键 盘 输 入 一 个 数 n,判 断 n 是 否 是 素 数。编 程 题 6:编 写 程 序 输 出 1100之 间 的 偶 数,要 求 屏 幕 显 示 时 5个 偶 数 一 行,每 个 数 占 5位,右 对 齐。部:;曩 馨 敬 般 犍 期 辗 嵋 密 则 有 多 少 个 编 程 题 8:求 满 足 下 列 条 件 的 三 位 数 n,它 除 以 11(整 数 相 除)所 得 到 的 商 等 于 n 的 各 位 数 字 的 平 方 和,且 其 中 至 少 有 二 位 数 字 相 同 的 数。编 程 题 9:有 一 些 十 进 制 整 数 对 ab和 cd具 有 如 下 特 性:abXcd=baXdc,其 中 aWb 且 cWd。如:12X 42=21 X24o请 编 程 找 出 3050之 间 满足 上 述 等 式 所 有 m,n 值,并 按 上 述 等 式 的 格 式 这 第 6 章 数 组 编 程 题 11:有 一 个 已 排 好 序 的 数 组 intall=-5,-3,0,6,8,12,16,28,66,88;,要 求 输 入 一 个 数 后,按 原 来 排 序 的 规 律 将 它 插 入 数 组 中。编 程 题 12:输 入 一 个 字 符 串(字 符 个 数 为 小 于 100),统 计 其 中 字 母、数 字、空 格 以 及 其 它 符 号 的 个 数,并 将 大 写 字 母 改 为 小 写 字 母,输 出 改 变 后 的 字 符 串。(提 示:A 的 A S C H 值 为 65,a 的 ASCII 值 为 97)编 程 题 12:输 入 一 行 字 符(字 符 数 组 的 个 数 小 于 100),统 计 其 中 字 母、数 字 以 及 其 它 符 号 的 个 数。(注:数 组 限 定 字 符 个 数 小 于 100)齐 5,守 平 数 第 7 章 函 数 编 程 题 13:编 写 一 个 子 函 数 int fun(int n),其 功 能 是 判 断 整 数 n 是 否 为 素 数,n 是 素 数,返 回 值 为 1;n 不 是 素 数,返 回 值 为 0 o 调 用 该 函数,将 100200之 间 的 素 数 全 部 输 出,要 求 屏 幕 上 每 个 数 占 4 位,每 行 显 示 5 个 素 数,左 对 齐。(循 环、条 件 分 支、子 函 数、变 量 的 值 传 递、屏 幕 显 示 格 式 控 制)编 程 题 16:用 递 归 函 数 计 算 n!。编 程 题 17:编 写 一 个 子 函 数 int fact(intn),计 算 n 的 阶 乘。调 用 该 函 数 计 算 1!+2!+3!+n!,要 求 n 从 键 盘 输 入,如 输 入 n 小 于 0,不 予 计 算。(循 环、递 归 函 数)编 程 题 18:将 16进 制 或 8 进 制 或 2 进 制 数 转 换 为 十 进 制 数(字 符 数 组、字 符 串 函 数、子 函 数、字 符 ASCII值 与 10进 制 数 的 转 换,指 数 函 数 的 调 用)第 第 翱 嗨 秒 写 一 个 子 函 数,将 16进 制 数 转 换 编 程 题 19:篇 写 一 个 子 函 数,主 函 数 用 字 符 数 组 作 为 实 参,统 计 字 符 串 中 字 母、数 字、空 格 以 及 其 他 符 号 的 个 数,要 求 主 函 数 中 显 示 字 符 串 与 统 计 结 果。编 程 题 20:编 写 一 个 子 函 数,主 函 数 输 入 一 行 字 符,子 函 数 找 出 字 符 串 中 最 长 的 单 词,并 显 示 结 果。编 程 题 21:用 递 归 法 将 一 个 整 数 n 转 换 为 字 符 串。例 如:输 入 483,输 出 字 符 串“483”,n 的 位 数 不 确 定。编 程 题 22:写 一 个 子 函 数,将 输 入 的 字 符 串 按 反 序 存 放,在 main中 输 入 和 输 出 字 符 串。第 8章 指 针 编 程 题 23:编 写 一 个 子 函 数 mystrcmp(char为 1,char*s2)实 现 2 个 字 符 串 的 比 较。编 程 题 23:编 程 实 现 两 个 字 符 串 连 接 起 来,不 要 用 strcat函 数。编 程 题 23:用 函 数 调 用 实 现 字 符 串 的 复 制。编 程 题 23:写 一 个 函 数,求 一 个 字 符 串 的 长 度。在 main函 数 中 输 入 字 符 串,并 输 出 邓 度。编 程 题 24:写 一 个 用 矩 形 处 当 此 上 上 1用 函数,分 别 计 算 编 程 题 25:输 入 一 个 字 符 串,内 有 数 字 和 非 数 字 字 符,如:A123x456 17960?302tab5876,将 其 中 连 续 的 数 字 作 为 一 个 整 数,依 次 用 数 组 存 放 第 9章 结 构 编 程 题 27:建 立 一 个 链 表,每 个 结 点 包 括:学 号、姓 名、性 别、年 龄,输 入 一 个 年 龄,如 果 链 表 中 的 结 点 所 包 含 的 年 龄 等 于 此 年 龄,则 将 此 结 点 删 去。编 程 题 28:13个 人 围 成 一 圈,从 第 一 个 人 开 始 顺 序 报 号,凡 报 到 3 者 退 出 圈 子,找 出 最 后 留 在 圈 子 中 的 人 原 来 的 序 号。要 求 用 链 表 实 现。编 程 题 29:阅 读 链 表 操 作 相 关 函 数,完 成 指 定 链 表 内 容 仅 限 表 头 表 尾 添 加、删 除、查 询、显 示、保 存,不 考 排 序、中 间 节 点 的 插 入 和 删 除 hhh cgoon一 itdlrntates1nSla uteeesddduuut二 一 cruattrhnntQl*lscde桑 cccu搜 nnnrHituaret hs*wList(struct Student*head);/d,struct1st(struct Student*head);tuden head,structnt ffieaastruc StudentStudent*tempi;77表 买 添 加 兀 ct报 册;n7/1礴 dSomeone(strucieSomeone(structtiident*head);/eleteHead(struct Studentstruct Student*head);/id main()Struct Student*head=NULL,*temp=NULL;int choice;ttttttttfnnnnnnnnnnc0(rrrrrrrrcf/(x(vfx(x(x(vcx(Aiffffffffzlxo1954567WGe=:c外 表 受 彳 技 nnnnAVAf f1:c25 ch o1c eCreate(temp);1stCheac);i saveList ead,lse if(choice=2)表 头 添 加 元 素*)malloc(structscanscanscanfstru睚 Stude崛);tehp-nam 口 涉 p f u n g;f(嚼 硼 p-,nam隔 f(啕 号 temp-nunStudent:);:);:);head=ATaitleaqowList;/1saveListIse if(choice=3)删 除 元 素 eteSoeac J;ead);eone(head);僵 赧 啊 澧 也、查 找 元 素 器 段 黑 空 即,/删 除 表 头 head=DeleteHead(head);ShowLjst Cheac);saveList(head);Ise if(choice=6)删 除 表 尾 a)ShowListea*saveList ea数 T揩 J 班 嘲 蹦 翻!n);?就 intf(非 法 输 入,请 输 入 1 7 之 间 的 while(choice!=7);眈 舟 智 般 件 荀 避 摆 suct Studentct Student*pS,*pEnd;据,直 接 读 入 料 股;、1 pS=(struct 仁 i Student*)malloc(sizeof(struct Student);numfp j,%s%d%d”,pS-name,&pS-豁 瑞 F)*1elspEnd=NULL)=pS;next=pS;1f(head!=NULL)表 八 梆 招 唔 戏 典 牛 中 读 入 数 据 创 建 链 delete pS-I fclose(ip;;if(head=NULL)while(1)*)malloc(siFf;,pS-name;if(strcmp(pS-name,scanstruck Studen);Student:);“学 scanf(W ji-num)scanf(%1严(如 5_mathy7 000)号 绩:);:);ifelsete5=NULL)nead=pS;pEnd-next=pS;Pnd=pS;enext=NULL;e pS;return head;转 裳 jf耨 truct Studentprintf(*head)显 示 学 生 姓 名 学 号 成绩 端 盒(head)d-name);affiih);p r i n1;i head=h he ea ad-next,芦 裳 jl爵&籍 t truct Student*head)/保 存 printf(无 法 创 建 文 件 e:list.txt!,z);、return;hile(head)、fpnntf(fp,%sx%d%dn,head-name,head-num,head-math);I head=head-next;fclose(fp);void AddTailCstnict Student*head,structStudent*temp)加 在 表 尾 s产 TchSt%fent*last;last=head:i head=head-next;last-next=temp;temp-next=NULL;st?盟 曝 ud热 瞥 橇 繇 洌 铤 襄 契 dentt,cduareths*rent*first:lats rf;l-dud ftatapxesemehhent一 一 tnCt-rusddurraattleeesfrnHrtruct Student*DeleteSomeone(structtudent*head)Struct Student八*temp;intp螂 rm嘘 繇,printf(:表 为 空!n);return head;f(head-num=xnum)temp=head;head=head-next;delete temp;return head;即 账 咄=head;eak:-next=NULL)(head-next-num=xnum)temp=head-next屋 head-next=temp-next;翌 letf temp;ead=head-next;吗 富 能 铲 目 发 现!n);return first;id FindSomeone(Student*head)按 学 号 查 迪 磁 塌 小 特:);s,f t%d,&xnum);if(head-num=xnum)Student7Ine iammnuzn-dd-aadeeahheh,nodd984 n n(f-f-一 一 ttt-knnngaHlaemrrPPDfb现 发 案 Q一 一 X-fSLan1A1frIrrn/kCLfilcduareths*空 表 eachfntrnuedu1atdda;aREehthitrepr器 ree sda=h hetsf1rttXne-entdsdu-ratd.1esafhethenC-1rudeuraltteeeshdrid DeleteTail(struct Student*head)if(head=NULL)printf(表 为 空!n);if(head-next=NULL)嫌 制 町 心,lsestruct Student*temp,*end;wRiletend-next!=NULL)temp=end:e 二 n 二 d d=二 e en n d-next;temp-next=NULL;第 10章 文 件 编 程 题 30:编 程 实 现:有 一 个 文 本 文 件“a.txt”,里 面 有 大 小 写 英 文 字 母、数 字 和 其 它 符 号。要 求 分 别 统 计 其 中 大 写 字 母、小 写 字 母、数 字 以 及 其 它 字 符 的 个 数。编 程 题 30:从 键 盘 输 入 一 串 字 符,并 以#结 束,将 其 中 的 大 写 字 母 全 部 转 换 成 小 写 字 母,并 输 出 到 计 算 机 D 盘 文 件 test.txt”中 保 存。(提 示:一 串 字 符 并 不 意 味 着 一 行 字 符,另 外 一 串 字 符 的 曹 程 一 按 aawHAS第 1-3章 C语 言 基 础、编 程 规 范、顺 序 结 构 程 序 设 计 一、选 择 题 1.C 语 言 是 一 种(C)程 序 设 计 语 言。A.低 级 B.面 向 对 象 C.高 级 D.智 能 2.下 列 特 性 中,(D)不 是 C 语 言 的 特 征。A.运 行 效 率 高 B.结 构 化 程 序 设 计 C.能 直 接 访 问 物 理 地 址 D.类 型 检 测 严 格 3.下 列 标 识 符 中,(D)不 是 C 的 关 键 字;A.int B.float C.char D.scanf4.下 列 标 识 符 中,(DA.sizeof B.shortdefine5.下 列 标 识 符 中,(DA.goto B.breakprintf6.下 列 标 识 符 中,(DA.static B.struct)不 是 C 的 关 键 字;C.long D.)不 是 C 的 关 键 字;C.auto D.)不 是 C 的 关 键 字;C.void D.include7.下 列 自 定 义 标 识 符 中,(C)是 不 符 合 规 定。A.pointlx B._pointlx C.2pointxD.pointx_28.下 列 自 定 义 标 识 符 中,(C)是 不 符 合 规 定。A.MAX B._MIN C.MAX$D.MIN_29.下 列 自 定 义 标 识 符 中,(D)是 不 符 合 规 定。A.pointl_ B._pointlx C.pointxD.pointx_#10.下 列 自 定 义 标 识 符 中,(A)是 不 符 合 规 定。A.2_pointlx B._pointlx C.pointxD.pointx_211.下 列 四 个 选 项 中,是 不 合 法 的 用 户 标 识 符 的 选 项 是(C)A,P_0 B._abcC,goto D temp12.下 面 是 不 正 确 的 字 符 串 常 量 的 是(A)A.abc B,12 1213.已 知 int a;float f;scanf(a=%d,f=%fw,&a,&f);为 了 把 10 和3.1 4 分 别 赋 值 给 a 和 f,则 正 确 的 输 入 为(C)A.10,3.14 B.10 3.14 C.a=10,f=3.14 D.a=10 f=3.1414.输 入 语 句 为:scanf(%f,&radius,&high);下 列 键 盘 输 入(D)是 正 确 的。A.1 2/;B.1,2n/;C.1/2/;D.1,2/;15.输 入 语 句 为:scanf(z,a=%f,b=%f”,&radius,&high);从 键 盘 输 入(D)是 正 确 的。A.1 2/;B.1,2/;C.1/2/;D.a=l,b=2/;16.输 入 语 句 为:scanf(zza=%f,b=%fn”,&radius,&high);从 键 盘 输 入(D)是 正 确 的。A.1 2/;B.1,2/;C.1/2/;D.a=l,b=2n/;17.输 入 语 句 为:scanf(zza=%fb=%fz,,&radius,&high);从 键 盘 输入(D)是 正 确 的。A.1 2/;B.1,2/;C.1/2/;D.a=lb=2Z;18.double PI=3.1415926,输 出 语 句 为:printf(%3.21f,PI);下 列 输 出 结 果(D)是 正 确 的。A.3.1415926;B.3.2;C.3.1;D.3.14;19.double PI=3.1415926,输 出 语 句 为:printf(%5.41f,PI);下 列 输 出 结 果(B)是 正 确 的。A.3.1415926;B.3.1415;C.3.1416;D.5.4;20.double PI=3.1415926,输 出 语 句 为:printf(%3.41f,PI);下 列 输 出 结 果()是 正 确 的。A.3.1415926;B.3.141;C.3.1415;D.3.1416;21.设 x,y 均 为 float型 变 量,则 下 列 不 合 法 的 赋 值 语 句 是()A,+xB.y=(x%2)/10C,x*=y+8D.x=y=O22.double PI=3.1415926,输 出 语 句 为:printfC%4.21f,PI);下 列 输 出 结 果()是 正 确 的。A.3.1415926;B.4.2;C.3.141;D.3.14;23.int a=-l;C 语 言 整 型 数 分 配 4 个 字 节,在 计 算 机 中 下 列 十 六 进 制 表 示 的(A)是 正 确 的。A.ffffffff;B.80000001;C.10000001;D.00000001;24.int a=l;C 语 言 整 型 数 分 配 4 个 字 节,在 计 算 机 中 下 列 十 六 进 制 表 示 的 a()是 正 确 的。A.00000001;B.10000001;C.80000000;D.ffffffff;25.int a=-l;C 语 言 整 型 数 分 配 4 个 字 节,在 计 算 机 中 下 列 十 六 进 制 表 示 的 a()是 正 确 的。A.10000001;B.-00000001;C.-1;D.ffffffff.*26.int a=-l;C 语 言 整 型 数 分 配 4 个 字 节,在 计 算 机 中 下 列 十 六 进 制 表 示 的 a()是 正 确 的。A,-ffffffff;B,80000001;C.ffffffff.D.-1;*27.设 有 下 列 变 量 说 明:char a;int x;floaty;double z;则 表 达 式 a*x-z+y的 值 的 数 据 类 型 为()o*A.float B.char C.intD.double28.已 知 字 母 a 的 ASCII码 为 十 进 制 数 97,且 设 c h 为 字 符 型 变 量,则 表 达 式 ch=a+,8-,3 的 值 为()A.f B.aC.d D.10229.已 知 ch是 字 符 型 变 量,下 列 不 正 确 的 赋 值 语 句 是()A.ch=a+b B.ch=0C.ch=a+b D.ch=5+930.若 s 是 int型 变 量,则 表 达 式 s=25/3%3的 值 为。A.25 B.1 C.2D.331.若 s是 int型 变 量,则 表 达 式 s%2+(s-l)%2的 值 为()A.0 B.1 C.-1D.232.若 s是 int型 变 量,则 表 达 式 s%2+(s+l)%2的 值 为()A.0 B.1 C.2D.不 确 定 33.下 列 表 达 式 中,不 能 正 确 表 达 代 数 式 笔 含 义 ah的 C 语 言 表 达 式 是。A.x/a/b*y*2 B.2*x*y/a/bC.2*x*y/a*b D.x*y/b/a*234.若 x、i、j、k 均 为 int变 量,则 计 算 表 达 式 x=(i=4,j=16,k=32);后,x 的 值 为()A.4 B.16 C.32D.5235.已 知 int a=6,b=6;执 行 b=(+b)+(a+);后,a 和 b 的 值 为。A.a=7,b=13 B.a=7,b=14 C.a=6,b=13 D.a=6,b=1436.若 有 定 义:int x=5,y=2;则 计 算 表 达 式 y+=y-=x*=y 后,y 的 值 为。A.16 B.-16 C.7D.1037.若 a 是 int型 变 量,且 其 初 值 为 6,则 计 算表 达 式 a+=a-=a*a后,a 的 值 为()A.-30 B.-60 C.-24D.638.若 x 的 初 值 为 7,执 行 语 句 x+=x-=x+x;后,x 的 值 为()A.21 B.-14 C.14D.-2139.C 语 言 的 编 译 系 统 对 宏 命 令 的 处 理 是。A.在 程 序 运 行 时 进 行 的 B.在 程 序 连 接 时 进 行 的 C.和 C 程 序 中 的 其 他 语 句 同 时 进 行 编 译 的 D.在 对 源 程 序 中 其 他 成 分 正 式 编 译 之 前 进 行 的 40.以 下 正 确 的 叙 述 是()A.C 语 言 的 预 处 理 功 能 是 指 完 成 宏 替 换 和 包 含 文 件 的 调 用 B.预 处 理 指 令 只 能 位 于 C 源 程 序 文 件 的 首 部 C.凡 是 C 源 程 序 中 行 首 以 标 识 的 控 制 行 都 是 预 处 理 命 令 D.C 语 言 的 编 译 预 处 理 就 是 对 源 程 序 进 行 初 步 的 语 法 检 查41.以 下 在 任 何 情 况 下 计 算 平 方 数 时 都 不 会 引 起 二 义 性 的 宏 定 义 是。A.ftdefineB.#define POWER(x)C.#defineD.ftdefine POWER(x)POWER(x)(x)*(x)POWER(x)(x)*(x)x*x(x*x)42.以 下 有 关 宏 替 换 的 叙 述 中 错 误 的 是()A.宏 替 换 不 占 用 运 行 时 间 B.宏 替 换 只 是 字 符 替 换 C.宏 替 换 在 编 译 之 前 进 行 D.宏 名 必 须 用 大 写 字 母 表 示 43.下 列 程 序 段 的 运 行 结 果 为()。void main()char cl,c2;cl=A+5-3;c2=A+6-3;printf(,cl,c2)A.C,DB.67,D C.B,C D.无 确 定 值 二、填 空 题1.在 C 语 言 中,实 型 变 量 可 以 分 为 两 种 类 型,它 们 是 和 O2.若 x,a 为 整 型 变 量,则 计 算 表 达 式 x=(a=4,6*2)后 的 x 值 为,计 算 表 达 式 x=a=4,6*2后 的 x 值 为 o3.若 x 和 n 均 是 int型 变 量,且 x 和 n 的 初 值 均 为 5,则 计 算 表 达 式 x+=n+后 x 的 值,n 的 值 为 o三、阅 读 下 列 程 序,在 下 划 线 上 写 出 输 出 结 果 1.程 序 段:#define MUL(x)(x)*(x)*(x)main()printf(%d”,MUL(1+2)+3);的 结 果 是 o2.程 序 段:define y(t)(t)*(t)main()printf(“d”,y(l+2)+3);的 结 果 是 o3.以 下 程 序 的 输 出 结 果 是(19)21。#include#define M(xzy,z)x*y+zvoid main()int a=2 zb=3 z c=4;printf(dXn*,M(a+b,b+c,c+a);/知 识 点:宏 定 义 是 编 译 时 先 替 换,运 行 时 才 计 算)第 4 章 选 择 结 构 程 序 设 计 一、选 择 题 1.若 x 是 i n t型 变 量,则 表 达 式 x%2+(x+l)%2的 值 为。A.0 B.1 C.2 D.不 确 定 2.设 有 定 义 in t a=3,b=4,c=5,则 表 达 式 a|b+c&b=c 的 值 为()oA.3 B.1 C.0D.不 确 定 3.判 断 字 符 串 a 和 b 是 否 相 等,应 当 使 用()A.i f(a=b)B.i f(a=b)C.i f(strcpy(a,b)D.i f(strcmp(a,b)4.表 达 式 5!=4的 值 是。A.0 B.1C.true D.任 一 非 零 数 5.设 逻 辑 型 变 量 a,b,c,其 中 a 的 值 为 1,则逻 辑 运 算 表 达 式 a|b|c 的 值 是()A.0 B.1C.tru e D.不 确 定 6.若 a=5,b=4,c=2时,表 达 式 ab!二 c 的 值 是()A.1 B.0 C.非 1 D.不 确 定 7.设 逻 辑 型 变 量 a,b,c,其 中 a 的 值 为 0,则 逻 辑 运 算 表 达 式 a&b&c的 值 是。A.0 B.1C.非 1 D.不 确 定 8.若 当 a 的 值 为 奇 数 时,表 达 式 的 值 为“真”,当 a 的 值 为 偶 数 时,表 达 式 的 值 为“假”,则 以 下 不 能 满 足 要 求 的 表 达 式 是。A.a%2=l B.!(a%2=0)C.!(a%2)D.a%29.判 断 字 符 型 变 量 x 是 否 为 大 写 字 母 的 正 确 表 达 式 是()A.A=x=A)&(x=,A)&(x=,A)and(x=,Z)10.若 x=5,y=2,z=l,则 表 达 式 x-y z|y=z的 值 是()A.0 B.1 C.3D.211.以 下 不 正 确 的 if语 句 形 式 是()A.if(xy&x!=y);B.if(x=y)x+=y;C.if(x!=y)x=l else x=2;D.if(xb)&(n二 cd)后 n 的 值 是()A.1 B.2 C.3D.4二、填 空 题 1.在 C 语 言 中,若 x,y,z 均 为 int型 变 量,则“x 或 y 中 有 一 个 小 于 z”的 表 达 式 描 述 形 式 为 o三、阅 读 下 列 程 序,在 下 划 线 上 写 出 输 出 结 果 1.#include void main()(int x=l,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+;break;)case 2:a+;b+;break;)printf(%d,%d,a,b);/*输 出 结 果:*/2.以 下 程 序 的 运 行 结 果 是 一 ttinclude void main()oint x=5;if(x+5)printf(,x);elseprintf(dn,x一);四、程 序 填 空 1.下 列 程 序 的 功 能 是 实 现 输 出 a,b,c 三 个 数 中 的 最 大 值。请 为 程 序 填 空。#include void main()(int a=5,b=4,c=8;_ 9if()u=a;elseu=b;if()v=u;else;printf(v=%dn,v);)2.下 列 程 序 的 功 能 是 根 据 下 列 函 数 关 系,输 入 x 的 值,计 算 y 的 值。请 为 程 序 填 空。x(x+5)2 x 10),=4x-1 x 2x-6 工 4-1ttinclude void main()int x,y;scanf(%d”,);if()y=x*(x+5);else if()y=4*x;elseprintf(%dn,y);第 5章 循 环 结 构 程 序 设 计 一、选 择 题 1.执 行 语 句 for(i=l;i+3;);后 变 量 i 的 值 的 是()。A.3 B.4 C.5D.不 确 定 2.对 于 程 序 段 int k=10;while(k)k=k-l;下 面 描 述 正 确 的 是。A.循 环 体 执 行 10次 B.该 循 环 为 无 穷 循环 3.程 序 段:a=10;b=0;do(b+=2;a-=2+b;while(a=0);中 循 环 体 的 执 行 次 数()A.1 B.2 C.3D.4C.循 环 体 执 行 一 次 D.循 环 体 一 次 也 不 执 行 4.设 i为 整 型 变 量,则 语 句 for(i=2;i=0;)a=3;中 循 环 体 的 执 行 次 数 为()A.无 限 次 B.0 次 C.1 次 D.2 次 5.设 有 下 列 程 序 段:x=l;do x=x*x;while(!x)则 该 循 环 是。A.死 循 环 B.循 环 执 行 一 次 C.循 环 执 行 二 次 D.语 句 错 误 6.设 有 程 序 段:int k=10;while(k=0)k一;则 下 列 描 述 中 正 确 的 是。A.while 循 环 执 行 10 次 B.while循 环 执 行 无 限 次 C.while循 环 执 行。次 D.while循 环 执 行 1次 7.程 序 段:x=y=0;while(x15)y+,x+=+y;执 行 后 x 值 是()A.7 B.12 C.8D.208.与 语 句 while(!E)中 表 达 式!E 等 价 的 是()A.E=0 B.E!=1 C.E!=0 D.E=l9.以 下 不 是 死 循 环 的 语 句 是()A.for(y=0,x=l;x+y;x=i+)i=x;B.for(;x+=i);C.for(i=10;i-)a+=i;D.while(1)a+;;10.程 序 段 do i+;while(i=10);执 行 后 i 的 值 为()A.11 B.12 C.10D.不 确 定 11.执 行 语 句 for(i=l;i+3;);后 变 量 i 的 值 的 是()A.3 B.4 C.5D.不 确 定 12.for(x=0,y=0;(y=123)&(x4);x+);的 循 环 执 行 次 数 为 OA.无 限 次 B.次 数 不 定 C.执 行 3 次 D.执 行 4 次 13.程 序 段 x=2;do printf(*);x一;while(!x=0)的 运 行 结 果 为()A.*B.*C.*D.*14.执 行 语 句 for(i=4;i0;);后 变 量 i 的 值 的 是()A.0 B.1 C.2D.不 确 定 二、填 空 题 1.若 for循 环 语 句 用 以 下 形 式 表 示:for(表 达 式 1;表 达 式 2;表 达 式 3)循 环 体 语 句 则 执 行 语 句:for(i=0;i4;i+)printf(“*”);时,表 达 式 1 执 行 次,表 达 式 3 执 行 了 次。三、阅 读 下 列 程 序,在 下 划 线 上 写 出 输 出 结 果 1.设 有 程 序 段 k=l;n=263;do k*=n%10;n/=10;while(n);其 运 行 结 束 后 k 的 值 为 循 环 结 束 后 n 的 值 是。2.写 出 以 下 程 序 的 运 行 结 果。ftinclude main()(int y=10;do(y一;while(一 y);printf(%d,,y-);3.阅 读 下 列 程 序,在 下 划 线 上 写 出 输 出 结 果。ttinclude main()(int y=-10;do y+;while(+y);printf(a%d,”,y+);/*输 出 结 果:*/4.以 下 程 序 的 运 行 结 果 是 ottinclude void main()(int i;for(i=l;i=5;i+)switch(i%5)(case 0:printf(;break;case 1:printf(;break;default:printf(”);case 2:printf(&);)四、程 序 填 空 1.下 列 程 序 的 功 能 是 采 用“顺 序 查 找 法”查 找 数 组 中 是 否 存 在 元 素 X。请 为 程 序 填 空。#includevoid main()int a8=9,1,3,2,6,4,7,8;int i,x;scanf(%d”,);for(i=0;i=8;i+)(if(x=ai)(printf(Found!The Indexis:%dn,-i);)if()printf(anot found!”;)第 6章 数 组 一、选 择 题 1.在 C 语 言 中 引 用 数 组 元 素 时,其 数 组 下 标 的 数 据 类 型 可 以 是。A.整 型 常 量 B.整 型 表 达 式 C.整 型 常 量 或 整 型 表 达 式 D.任 何 类 型 的 表 达 式 2.以 下 能 对 一 维 数 组 a 进 行 正 确 初 始 化 的 语 句 是()。A.int a10=(0,0)B.int a10=;C.inta=0;D.int a10=10*l;3.若 有 说 明:inta10;则 对 a 数 组 元 素 的 正 确 引 用 是。A.a10 B.A3.5 C.a(5)D.A10-104.若 有 说 明:int a3 4;则 对 a 数 组 元 素 的 正 确 引 用 是。A.a2 4 B.A2,4 C.al+l0 D.A(2)(1)5.若 有 以 下 说 明:inta 3=1,2,3,4,5,6,7;则 数 组 a 的 第 一 维 的 大 小 是。A.4 B.3 C.2D.不 确 定 6.二 维 数 组 x 有 m 歹 I),若 元 素 x00是 第 一 个 元 素,则 在 数 组 中 的 位 置 是。A.i*m+j B.j*m+i C.i*m+jTD.i*m+j+l7.下 面 能 正 确 进 行 字 符 串 赋 值 操 作 的 是()A.char a5=“ABCDE”;B.chara5=,A,,B,C,D,E,;C.char*a;a=AB