《2023年全国计算机等级二级C语言考试题库及答案.pdf》由会员分享,可在线阅读,更多相关《2023年全国计算机等级二级C语言考试题库及答案.pdf(67页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、2023%含 计 耳 机 等 藏 二 微 C语 言 考 被 败 席 4 答 案(M)1.程 序 流 程 图 中 带 有 箭 头 的 线 段 表 示 的 是(C)oA)图 元 关 系 B)数 据 流 控 制 流 D)调 用 关 系 2.结 构 化 程 序 设 计 的 基 本 原 则 不 包 括(A)。多 态 性 B)自 顶 向 下 C)模 块 化 D)逐 步 求 精 3.软 件 设 计 中 模 块 划 分 应 遵 循 的 准 则 是(B)。A)低 内 聚 低 耦 合 高 内 聚 低 耦 合 C)低 内 聚 高 耦 合 D)高 内 聚 高 耦 合 4.在 软 件 开 发 中,需 求 分 析 阶 段
2、 产 生 的 主 要 文 档 是(B)。A)可 行 性 分 析 报 告 软 件 需 求 规 格 说 明 书 C)概 要 设 计 说 明 书 D)集 成 测 试 计 划 5.算 法 的 有 穷 性 是 指(A)0 算 法 程 序 的 运 行 时 间 是 有 限 的 B)算 法 程 序 所 处 理 的 数 据 量 是 有 限 的 C)算 法 程 序 的 长 度 是 有 限 的 D)算 法 只 能 被 有 限 的 用 户 使 用 6.对 长 度 为 n的 线 性 表 排 序,在 最 坏 情 况 下,比 较 次 数 不 是 n(n-1)/2的 排 序 方 法 是(D)。A)快 速 排 序 B)冒 泡
3、排 序 C)直 接 插 入 排 序 堆 排 序 7.下 列 关 于 栈 的 叙 述 正 确 的 是(B)oA)栈 按“先 进 先 出”组 织 数 据 栈 按“先 进 后 出 组 织 数 据 C)只 能 在 栈 底 插 入 数 据 D)不 能 删 除 数 据 8.在 数 据 库 设 计 中,将 E R图 转 换 成 关 系 数 据 模 型 的 过 程 属 于(C)oA)需 求 分 析 阶 段 B)概 念 设 计 阶 段 逻 辑 设 计 阶 段 D)物 理 设 计 阶 段 9.有 三 个 关 系 R、S和 T如 下:由 关 系 R和 S通 过 运 算 得 到 关 系 T,则 所 使 用 的 运 算
4、 为(D)oTh 217A)并 B)自 然 连 接 C)笛 卡 尔 积 交 10.设 有 表 示 学 生 选 课 的 三 张 表,学 生 S(学 号,姓 名,性 别,年 龄,身 份 证 号),课 程 C(课 号,课 名),选 课 SC(学 号,课 号,成 绩),则 表 SC的 关 键 字(键 或 码)为(C)oA)课 号,成 绩 B)学 号,成 绩 学 号,课 号 D)学 号,姓 名,成 绩 1 L以 下 叙 述 中 错 误 的 是(A)。C语 言 中 的 每 条 可 执 行 语 句 和 非 执 行 语 句 最 终 都 将 被 转 换 成 二 进 制 的 机 器 指 令 B)C程 序 经 过
5、编 译、连 接 步 骤 之 后 才 能 形 成 一 个 真 正 可 执 行 的 二 进 制 机 器 指 令 文 件 C)用 C语 言 编 写 的 程 序 称 为 源 程 序,它 以 ASCII代 码 形 式 存 放 在 一 个 文 本 文 件 中 D)C语 言 源 程 序 经 编 译 后 生 成 后 缀 为.obj的 目 标 程 序 12.以 下 选 项 中,合 法 的 一 组 C语 言 数 值 常 量 是(A)。12.0Xa23 4.5e0 B)028.5 e-3-OxfC).177 4el.5 Oabc D)0 x8A 10,000 3.e513.以 下 选 项 中 不 合 法 的 标 识
6、 符 是(A)o&a B)FOR C)print D)_ 0 014.若 有 代 数 式 而 百(其 中 e仅 代 表 自 然 对 数 的 底 数,不 是 变 量),则 以 下 能 够 正 确 表 示 该 代 数 式 的 C语 言 表 达 式 是(A)。sqrt(fabs(pow(n,x)4-exp(x)x)4-pow(x,e)C)sqrt(abs(nAx+eAx)B)sqrt(fabs(pow(n,D)sqrt(fabs(pow(x,n)+exp(x)15.若 有 定 义:double a=22;in ti=0,k=1 8;,则 不 符 合 C语 言 规 定 的 赋 值 语 句 是(B)A)
7、i=(a+k)=(i+k);i=a%11;C)a=a+,i+D)i=!a;16.有 以 下 程 序:#include main()int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(%d,%dn,s,t);在 VC6.0平 台 上 编 译 运 行,程 序 运 行 后 的 输 出 结 果 是(D)A)10,6 B)4,4 C)2,4 H 4,817.有 以 下 程 序:#include main()char a,b,c,d;scanf(%c%c,&a,&b);c=getchar();d=getchar();printf(%c%c%c%cn
8、,a,b,c,d);)当 执 行 程 序 时,按 下 列 方 式 输 入 数 据(从 第 1列 开 始,代 表 回 车,注 意:回 车 也 是 一 个 字 符)1234则 输 出 结 果 是(D)。A)1234B)12C)1234D)12318.下 关 于 逻 辑 运 算 符 两 侧 运 算 对 象 的 叙 述 中 正 确 的 是(A)o 可 以 是 任 意 合 法 的 表 达 式 B)只 能 是 整 数 0或 非 0整 数 C)可 以 是 结 构 体 类 型 的 数 据 D)只 能 是 整 数 0或 119.有 以 下 程 序:#include main()int a=0,b=0,c=0,d
9、=0;if(a=1)b=1;c=2;else d=3;printf(%d,%d,%d,%dn,a,b,c,d);程 序 输 出(C)oA)1,1,2,0 B)0,0,0,3 编 译 有 错 D)0,1,2,020.有 以 下 程 序:#include main()int x=1,y=0,a=0,b=0;switch(x)case 1:switch(y)case 0:a+;break;case 1:b+4-;break;case 2:a+;b+;break;case 3:a4-+;b+;Iprintf(a=%d,b=%dn,a,b);程 序 的 运 行 结 果 是(B)oA)a=2,b=2 m
10、a=2,b=1 C)a=1,b=1 D)a=1,b=021.以 下 程 序 段 中 的 变 量 已 正 确 定 义:for(i=0;i4;i+,i+)for(k=1;k3;k+);printf(*);程 序 段 的 输 出 结 果 是(C)oA)*B)*c)*D)*2 2.有 以 下 程 序 段:#include int i,n;for(i=0;i8;i+)n=rand()%5;sw itch(n)case 1:case 3:printf(%d n,n);break;case 2:case 4:printf(%d n,n);continue;case 0:exit(O);printf(%d n
11、,n);以 下 关 于 程 序 段 执 行 情 况 的 叙 述,正 确 的 是(D)oA)for循 环 语 句 固 定 执 行 8次 B)当 产 生 的 随 机 数 n为 4时 结 束 循 环 操 作 C)当 产 生 的 随 机 数 n为 1和 2时 不 做 任 何 操 作 当 产 生 的 随 机 数 n为 0时 结 束 程 序 运 行 2 3.有 以 下 程 序:#include int f(int x);main()int n=1,m;m=f(f(f(n);printf(%dn,m);)int f(int x)re tu rn x*2;程 序 运 行 后 的 输 出 结 果 是(A)o 8
12、 B)2 C)4 D)12 4.以 下 叙 述 中 错 误 的 是(A)o 可 以 给 指 针 变 量 赋 一 个 整 数 作 为 地 址 值B)函 数 可 以 返 回 地 址 值 C)改 变 函 数 形 参 的 值,不 会 改 变 对 应 实 参 的 值 D)当 在 程 序 的 开 头 包 含 头 文 件 stdio.h时,可 以 给 指 针 变 量 赋 NULL25.设 已 有 定 义:float x;,则 以 下 对 指 针 变 量 p进 行 定 义 且 赋 初 值 的 语 句 中 正 确 的 是(B)oA)int*p=(float)x;float*p=&x;C)float p=&x;D
13、)float*p=1024;26.以 下 数 组 定 义 中 错 误 的 是(D)oA)int X23=1,2,3,4,5,6;B)int x3=0;C)int X3=1,2,3,4,5,6;int x23=1,2,3,4,5,6;27.有 以 下 程 序:#include void fun(int a,int n)int i,t;for(i=0;in/2;i+)t=ai;ai=an 1 i;an 1 i=t;main()int k10=1,2,3,4,5,6,7,8,9,10),i;fun(k,5);for(i=2;i8;i+)printf(%d,ki);printf(n);程 序 的 运
14、行 结 果 是(A)o 321678 B)876543 C)1098765 D)34567828.有 以 下 程 序:#include#define N 4void fun(int aN,int b)int i;for(i=0;iN;i+)bi=aii aiN 1 i;main()int XNN=1,2,3,4,5,6,7,8),9,10,11,12,13,14,15,16,yN,i;fun(x,y);for(i=0;iN;i+)printf(%d,yi);printf(n);程 序 运 行 后 的 输 出 结 果 是(A)o-3,B)-1 2,-3,0,0,C)0,1,2,3,D)-3,3,
15、3,3,29.设 有 定 义:char s81;int i=0;,以 下 不 能 将 一 行(不 超 过 80个 字 符)带 有 空 格 的 字 符 串 正 确 读 入 的 语 句 或 语 句 组 是(C)oA)gets(s);B)while(si+=getcharQ)!=n);si=01;H scanf(%s,s);D)do scanf(%c,&si);while(si+!=n);si=0;30.设 有 定 义:char p=l,2,3,*q=p;,以 下 不 能 计 算 出 一 个 char型 数 据 所 占 字 节 数 的 表 达 式 是(A)。H sizeof(p)B)sizeof(c
16、har)C)sizeof(*q)D)sizeof(p0)31.有 以 下 程 序:#include#include main()char str20=One*World,One*Dream!,*p=strl;printf(%d,strlen(p);printf(%sn,p);程 序 运 行 后 的 输 出 结 果 是(A)o10,One*Dream!B)9,One*Dream!C)9,One*World D)10,One*World32.有 以 下 程 序:#include main()char s=012xy08s34f4w2;int i,n=0;for(i=0;si!=0;i+)if(si
17、=O&si=9)n+;printf(%dn,n);)程 序 运 行 后 的 输 出 结 果 是(B)oA)0 B)3 C)7 D)833.有 以 下 程 序:#include fun(int x,int y)static int m=0,i=2;i+=m+1;m=i+x+y;return m;)main()int j=l,m=l,k;k=fun(j,m);printf(%d,k);k=fun(j,m);printf(%dn,k);)执 行 后 的 输 出 结 果 是(A)o 5,11 B)5,5 C)11,11 D)11,534.在 C语 言 中,只 有 在 使 用 时 才 占 用 内 存 单
18、 元 的 变 量,其 存 储 类 型 是(C)。A)auto 和 static B)extern 和 register-auto 和 register D)static 和 register35.下 面 结 构 体 的 定 义 语 句 中,错 误 的 是(A)。struct ord int x;inty;int z;struct ord a;B)struct ord int x;inty;int z;struct ord a;C)struct ord int x;inty;int z;a;D)struct int x;inty;int z;a;36.有 以 下 程 序:#include typ
19、edef struct int b,p;A;void f(A c)/*注 意:c是 结 构 变 量 名*int j;c.b+=1;c.p+=2;)main()int i;A a=l,2;f(a);printf(%d,%dn,a.b,a.p);)程 序 运 行 后 的 输 出 结 果 是(B)oA)2,4 1,2 C)1,4 D)2,337.以 下 叙 述 中 正 确 的 是(A)o在 C语 言 中,预 处 理 命 令 行 都 以 r 开 头 B)预 处 理 命 令 行 必 须 位 于 C源 程 序 的 起 始 位 置 C)#inchide必 须 放 在 C程 序 的 开 头 D)C语 言 的
20、预 处 理 不 能 实 现 宏 定 义 和 条 件 编 译 的 功 能 38.有 以 下 程 序:#include#include int fun(int n)int*p;p=(int*)malloc(sizeof(int);*p=n;return*p;main()int a;a=fun(10);printf(%dn,a+fun(10);程 序 的 运 行 结 果 是(C)oA)0 B)10 20 D)出 错 39.有 以 下 程 序:#include main()unsigned char a=8,c;c=a3;printf(%dn,c);程 序 运 行 后 的 输 出 结 果 是(B)oA
21、)16 B)1 C)32 D)040.读 取 二 进 制 文 件 的 函 数 调 用 形 式 为:fread(buffer,size,count,fp);,其 中 buffer代 表 的 是(D)。A)一 个 内 存 块 的 字 节 数 B)一 个 整 型 变 量,代 表 待 读 取 的 数 据 的 字 节 数 C)一 个 文 件 指 针,指 向 待 读 取 的 文 件 一 个 内 存 块 的 首 地 址,代 表 读 入 数 据 存 放 的 地 址 11.下 列 叙 述 中 错 误 的 是(B)。A)C程 序 可 以 由 多 个 程 序 文 件 组 成 一 个 C语 言 程 序 只 能 实 现
22、 一 种 算 法 C)C程 序 可 以 由 一 个 或 多 个 函 数 组 成 D)一 个 C函 数 可 以 单 独 作 为 一 个 C程 序 文 件 存 在 12.以 下 选 项 中,能 用 作 数 据 常 量 的 是(A)o 115L B)0118 C)1.5el.5 D)o ll513.按 照 C语 言 规 定 的 用 户 标 识 符 命 名 规 则,不 能 出 现 在 标 识 符 中 的 是(D)oA)大 写 字 母 B)下 划 线 C)数 字 字 符 H 连 接 符14.设 变 量 已 正 确 定 义 并 赋 值,以 下 正 确 的 表 达 式 是(A)o x=y+z+5,+y B)
23、int(15.8%5)C)x=y*5=x+z D)x=25%5.015.设 有 定 义:int x=2;,以 下 表 达 式 中,值 不 为 6的 是(A)。A)2*x,x+=2 B)x+,2*x C)x*=(l+x)D)x*=x+116.有 以 下 程 序:#include main()int x,y,z;x=y=1;z=x+,y+,+y;printf(%d,%d,%dn,x,y,z);程 序 运 行 后 的 输 出 结 果 是(C)oA)2,3,3 B)2,3,2 2,3,1 D)2,2,117.有 以 下 程 序:#include main()char c l,c2;cl=A+8-4;c
24、2=A4-8-5;printf(%c,%dn,c l,c2);已 知 字 母 A的 ASCII码 为 6 5,程 序 运 行 后 的 输 出 结 果 是(A)o E,68 B)D,69 C)E,D D)输 出 无 定 值 18.若 有 定 义 int x,y;并 已 正 确 给 变 量 赋 值,则 以 下 选 项 中 与 表 达 式(xy)?(x+):(y+)中 的 条 件 表 达 式(xy)等 价 的 是(A)。(x-y0)B)(x-y0)D)(x-y=0)19.有 以 下 程 序:#include main()int x=1,y=0;if(!x)y+;else if(x=0)if(x)y+
25、=2;else y+=3;printf(%dn,y);/I程 序 运 行 后 的 输 出 结 果 是(D)oA)3 B)2 C)1 1 020.若 有 定 义:float x=1.5;int a=1,b=3,c=2;则 正 确 的 switch语 句 是(A)。U sw itc h(a 4-b)case 1:printf(*n);case 2+1:printf(*n);B)s witch(int)x);case 1:printf(*n);case 2:printf(*n);C)switch(x)case 1.0:printf(*n);case 2.0:printf(*n);D)switch(a
26、+b)case 1:printf(*n);case c:printf(*n);21.有 以 下 程 序:#include main()int y=9;for(;y0;y-)if(y%3=0)printf(%d,-y);程 序 的 运 行 结 果 是(A)o 852 B)963 C)741 D)8754212 2.有 以 下 程 序:#include main()int i,j,m=1;for(i=1;i0;j-)if(i*j3)break;m*=i*j;I/printf(m=%d n,m);)程 序 运 行 后 的 输 出 结 果 是(C)oA)m=4 B)m=2 m=6 D)m=52 3.有
27、 以 下 程 序:#include int fun(int x,int y)if(x!=y)re tu rn(x+y)/2);else re tu rn(x);main()int a=4,b=5,c=6;printf(%dn,fun(2*a,fun(b,c);(A)6 B)3 C)8 D)122 4.有 以 下 程 序:#include int add(int a,int b)re tu rn(a+b);main()int k,(*f)(),a=5,b=10;f=a d d;则 以 下 函 数 调 用 语 句 错 误 的 是(D)。A)k=f(a,b);B)k=add(a,b);C)k=(*f
28、)(a,b);D)k=*f(a,b);25.有 以 下 程 序:#include main()int n,*p=NULL;*p=&n;printf(Input n:);scanf(%d,&p);printf(output n:);printf(%dn,p);该 程 序 试 图 通 过 指 针 p为 变 量 n读 入 数 据 并 输 出,但 程 序 有 多 处 错 误,以 下 语 句 正 确 的 是(A)int n,*p=NULL;B)*p=&n;C)scanf(%d,&p)D)printf(%dn,p);26.下 列 定 义 数 组 的 语 句 中,正 确 的 是(A)o#define N 1
29、0 int xN;B)int N=10;intxN;C)int x0.10;D)int x;27.有 以 下 程 序:#include main()int a=2,3,5,4),i;for(i=0;i4;i+)switch(i%2)case 0:switch(ai%2)case 0:ai+4-;break;case 1:ai-;break;case 1:ai=0;for(i=0;i4;i+)printf(%d,ai);printf(n);程 序 运 行 后 的 输 出 结 果 是(D)。A)0 3 0 4 B)2 0 5 0 C)3 3 4 4 3 04 028.有 以 下 程 序:#incl
30、ude main()intb33=0,l,2,0,l,2,0,l,2,i,j,t=l;for(i=0;i3;i+)for(j=i;j=i;j+)t+=bibji;printf(%dn,t);程 序 运 行 后 的 输 出 结 果 是(B)oA)3 4 C)1 D)929.以 下 语 句 中 存 在 语 法 错 误 的 是(A)ochar ss620;ssl=right?B)charss()20=right?;C)char*ss6;ssl=right?D)char*ss()=right?30.以 下 不 能 将 s所 指 字 符 串 正 确 复 制 至!Jt所 指 存 储 空 间 的 是(A)d
31、o*t+=*s+4-;while(*s);B)for(i=0;ti=si;i+);C)while(*t=*s)t4-4-;s+D)for(i=0,j=0;ti+4-=s j+;);31.有 以 下 程 序:#include void swap(char*x,char*y)char t;t=*x;*x=*y;*y=t;main()char*sl=abc,*s2=123;swap(sl,s2);printf(%s,%sn,s i,s2);程 序 执 行 后 的 输 出 结 果 是(D)oA)321,cba B)abc,123 C)123,abclbc,a2332.有 以 下 函 数:int fun
32、(char*x,char*y)int n=0;while(*x=*y)&*x!=0)x+;y+;n+;return n;函 数 的 功 能 是(C)oA)将 y所 指 字 符 串 赋 给 x所 指 存 储 空 间 B)查 找 x和 y所 指 字 符 串 中 是 否 有 0统 计 x和 y所 指 字 符 串 中 最 前 面 连 续 相 同 的 字 符 个 数 D)统 计 x和 y所 指 字 符 串 中 相 同 的 字 符 个 数 33.有 以 下 程 序:#include int fun()static int x=1;x*=2;return x;main()int i,s=1;for(i=1;
33、i=3;i+)s*=fun();printf(%dn,s);f程 序 运 行 后 的 输 出 结 果 是(B)oA)10 30 C)0 D)6434.在 一 个 C源 程 序 文 件 中 所 定 义 的 全 局 变 量,其 作 用 域 为(A)o 由 具 体 定 义 位 置 和 extern说 明 来 决 定 范 围 B)所 在 程序 的 全 部 范 围 C)所 在 函 数 的 全 部 范 围 D)所 在 文 件 的 全 部 范 围 35.以 下 叙 述 中 错 误 的 是(A)o 可 以 通 过 typedef增 加 新 的 类 型 B)可 以 用 typedef将 已 存 在 的 类 型
34、用 一 个 新 的 名 字 来 代 表 C)用 typedef定 义 新 的 类 型 名 后,原 有 类 型 名 仍 有 效 D)用 typedef可 以 为 各 种 类 型 起 别 名,但 不 能 为 变 量 起 别 名 36.有 以 下 程 序:#include struct S int a,b;data2=10,100,20,200;main()struct S p=datal;printf(%dn,+(p.a);程 序 运 行 后 的 输 出 结 果 是(D)oA)10 B)11 C)20 1 2137.有 以 下 程 序:#include#define PT 3.5;#define
35、S(x)PT*x*x;main()int a=1,b=2;printf(%4.lfn,S(a+b);程 序 运 行 后 的 输 出 结 果 是(C)oA)7.5 B)31.5 程 序 有 错 无 输 出 结 果 D)14.038.有 以 下 程 序:#include main()unsigned char a=2,b=4,c=5,d;d=a|b;d&=c;printf(%dn,d);程 序 运 行 后 的 输 出 结 果 是(B)oA)3 B)4 C)5 D)639.有 以 下 程 序:#include#include main()int*a,*b,*c;a=b=c=(int*)malloc(
36、sizeof(int);*a=1;*b=2,*c=3;a=b;printf(%d,%d,%dn,*a,*b,*c);程 序 运 行 后 的 输 出 结 果 是(D)oA)1,1,3 B)2,2,3 C)1,2,3 3,3,340.以 下 叙 述 中 正 确 的 是(A)o 当 对 文 件 的 读(写)操 作 完 成 之 后,必 须 将 它 关 闭,否 则 可 能 导 致 数 据 丢 失 B)打 开 一 个 已 存 在 的 文 件 并 进 行 了 写 操 作 后,原 有 文 件 中 的 全 部 数 据 必 定 被 覆 盖 C)在 一 个 程 序 中 当 对 文 件 进 行 了 写 操 作 后,必
37、 须 先 关 闭 该 文 件 然 后 再 打 开,才 能 读 到 第 1个 数 据 D)C语 言 中 的 文 件 是 流 式 文 件,因 此 只 能 顺 序 存 取 数 据 1L以 下 叙 述 中 错 误 的 是(A)o使 用 三 种 基 本 结 构 构 成 的 程 序 只 能 解 决 简 单 问 题 结 构 化 程 序 由 顺 序、分 支、循 环 三 种 基 本 结 构 组 成 C语 言 是 一 种 结 构 化 程 序 设 计 语 言 结 构 化 程 序 设 计 提 倡 模 块 化 的 设 计 方 法 12.以 下 四 个 程 序 中,完 全 正 确 的 是(B)。A)#include ma
38、in();/*/programming/*/printf(programming!n);B)#include main()OD)/*programming*/printf(programming!n);C)#include main()/*/*programming*/*/printf(programming!n);D)include main()/*programming*/printf(programming!n);13.C源 程 序 中 不 能 表 示 的 数 制 是(D)0A)十 六 进 制 B)八 进 制 C)十 进 制 二 进 制 14.以 下 选 项 中,能 用 作 用 户 标
39、识 符 的 是(A)o_ 0 _ B)8_8 C)void D)unsigned15.若 有 定 义 语 句:int x=1 0;,则 表 达 式 x-=x+x的 值 为(C)oA)0 B)-20-10 D)1016.有 以 下 程 序:#include main()int a=1,b=0;printf(%d,b=a+b);printf(%dn,a=2*b);(A)1,2 B)1,0 C)3,2 D)0,017.有 以 下 程 序:#include main()int a l,a2;char c l,c2;scanf(%d%c%d%c,&al,&cl,&a2,&c2);printf(%d,%c
40、,%d,%c,a l,c l,a2,c2);若 想 通 过 键 盘 输 入,使 得 a l的 值 为 12,a2的 值 为 34,c l的 值 为字 符 a,c2的 值 为 字 符 b,程 序 输 出 结 果 是:12,a,34,b 则 正 确 的 输 入 格 式 是(以 下 一 代 表 空 格,代 表 回 车)(D)oA)12_a34_,b B)12一,a-3 4 j bC)12,a,34,b 1 12a34b18.若 变 量 已 正 确 定 义,在 if(W)printf(%dn,k);中,以 下 不 可 替 代 W的 是(A)。ab+c B)ch=getchar()C)a=b+cD)a+
41、19.有 以 下 程 序 段:#include int a,b,c;a=10;b=50;c=30;if(ab)a=b,b=c;c=a;printf(a=%d b=%d c=%dn,a,b,c);程 序 的 输 出 结 果 是(B)oA)a=10 b=50 c=30&=10 b=50 c=10 C)a=10 b=30 c=10 D)a=50 b=30 c=5020.下 列 叙 述 中 正 确 的 是(A)oH 在 switch语 句 中,不 一 定 使 用 break语 句 B)在 switch语 句 中 必 须 使 用 defaultC)break语 句 必 须 与 switch语 句 中 的
42、 case配 对 使 用 D)break语 句 只 能 用 于 switch语 句 21.以 下 不 构 成 无 限 循 环 的 语 句 或 语 句 组 是(A)oA)n=0;do+n;while(n=0);B)n=0;while(1)n+;C)n=10;while(n);n-;D)for(n=0,i=1;i+)n+=i;22.有 以 下 程 序:#include main()int c=0,k;for(k=1;k3;k+)switch(k)default:c+=k;case 2:c+;break;case 4:c+=2;break;printf(%dn,c);程 序 运 行 后 的 输 出
43、结 果 是(C)oA)7 B)5|3 D)923.有 以 下 程 序:#include int f(int x,int y)return(y x)*x);main()int a=3,b=4,c=5,d;d=f(f(a,b),f(a,c);printf(%dn,d);I/程 序 运 行 后 的 输 出 结 果 是(D)oA)7 B)10 C)8 924.若 有 定 义 语 句:double a,*p=&a;以 下 叙 述 中 错 误 的 是(A)o 定 义 语 句 中 的*号 是 一 个 间 址 运 算 符 B)定 义 语 句 中 的*号 是 一 个 说 明 符 C)定 义 语 句 中 的 p只
44、 能 存 放 double类 型 变 量 的 地 址 D)定 义 语 句 中,*p=&a把 变 量 a的 地 址 作 为 初 值 赋 给 指 针 变 量 p25.若 有 定 义 语 句:double x,y,*px,*p y;执 行 了 px=&x;py=&y;之 后,正 确 的 输 入 语 句 是(A)scanf(%lf%le,px,py);B)scanf(%f%f&x,&y);C)scanf(%f%f,x,y);D)scanf(%lf%lf,x,y);2 6.以 下 定 义 数 组 的 语 句 中 错 误 的 是(B)。A)int num3=1,2,3,4,5,6;int num 24=1
45、,2,354,5,6;C)int num=1,2,3,4,5,6;D)int num 4=123,4,5,6;2 7.有 以 下 程 序:#include void fun(int a,int b)int t;t=a;a=b;b=t;)main()int c10=l,2,3,4,5,6,7,8,9,0,i;for(i=0;i10;i+=2)fun(ci,c i+1);for(i=0;i10;i+)printf(%d,ci);printf(n);)程 序 的 运 行 结 果 是(A)o.1,2,3,4,5,6 7 8,9,0,C)0,9,8,7,6,5,4,3,2,l,2 8.有 以 下 程 序
46、:#include main()int x32=0,i;for(i=0;i3;i+)printf(%3d%3d%3dn若 运 行 时 输 入:2 4 6 回 车,2 0 4 B)2 02 4 62 9.有 以 下 程 序 段:#include B)2,1,4,3,6,5,8,7,0,9,D)0,1,2,3 3,5,6,7,8,9,scanf(%d,xi);,x00,x0l,xl0);,则 输 出 结 果 为(A)o0 C)2 4 0 D)int j;float y;char name50;scanf(%2d%f%s,&j,&y,name);当 执 行 上 述 程 序 段,从 键 盘 上 输 入
47、 55566 7777abc后,y的 值 为(A)。566.0 B)55566.0 C)7777.0 D)566777.030.下 列 语 句 组 中,正 确 的 是(char*s;s=Olympic;Olympic;C)char*s;s=Olympic;Olympic;31.有 以 下 函 数:int fun(char*s)char*t=s;while(*t+);r eturn(t s);A)B)char s7;s=D)char s7;s=该 函 数 的 功 能 是(C)A)计 算 s所 指 字 符 串 的 长 度 串 的 大 小 计 算 s所 指 字 符 串 占 用 内 存 字 节 的 个
48、 数 串 复 制 到 字 符 串 t中 32.有 以 下 程 序(注:字 符 a的 ASCII码 值 为 97):#include B)比 较 两 个 字 符 D)将 s所 指 字 符 main()char*s=abc;do printf(%d,*s%10);+s;while(*s);程 序 运 行 后 的 输 出 结 果 是(A)o 789 B)abc C)7890 D)97989933.设 有 如 下 函 数 定 义:#include int fun(int k)if(kl)re tu rn 0;else if(k=1)re tu rn 1;else re tu rn fu n(k-1)4
49、-1;若 执 行 调 用 语 句:n=f u n(3);,则 函 数 fu n总 共 被 调 用 的 次 数 是(B)oA)2 B)3 C)4 D)53 4.有 以 下 程 序:#include int f(int n);main()int a=3,s;s=f(a);s=s+f(a);printf(%dn,s);|int f(int n)static int a=1;n+=a+;re tu rn n;程 序 运 行 后 的 输 出 结 果 是(A)o 9 B)8 C)7 D)103 5.设 有 定 义:stru c t complex int real,u n real;d a ta l=1,
50、8 d a ta 2;则 以 下 赋 值 语 句 中 错 误 的 是(A)odata2=(2,6);B)data2=d a t a l;C)d a ta 2.real=d ata 1.re a l;D)data2.real=d a ta l.u n re a l;3 6.有 以 下 程 序:#include stru c t Sint n;in t a20;void f(struct S*p)(int i,j,t;for(i=0;in 1;i+)for(j=i+1;jn;j+)if(p-ai p-aj)t=p-ai;p-ai=p-aj;p-aj=t;main()int i;struct S s