C语言考试试题.pdf

上传人:s****u 文档编号:12791599 上传时间:2020-05-24 格式:PDF 页数:11 大小:151.49KB
返回 下载 相关 举报
C语言考试试题.pdf_第1页
第1页 / 共11页
C语言考试试题.pdf_第2页
第2页 / 共11页
C语言考试试题.pdf_第3页
第3页 / 共11页
点击查看更多>>
资源描述
1.若 x为 int型 变 量 , 则 执 行 以 下 语 句 后 , x的 值 为 -60。x=6;x+=x-=x*x; x=x-x*x=-30 x=x+x=-602. 若 有 定 义 int a23; 则 对 a数 组 的 第 i行 第 j列 元 素 地 址 的 正 确 引 用 为 ai+j。3. 若 有 说 明 : int i, j=2, *p=, 则 能 完 成 i=j赋 值 功 能 的 语 句 是 *p=*a/=SQR(k+m)/SQR(k+m); a/=k+k*m+m/k+k*m+mprintf(%dn,a);6. 以 下 程 序 的 输 出 结 果 是 4。 main()int b33=0,1,2,0,1,2,0,1,2,i,j,t=1;for(i=0;i3;i+)for(j=i;j=i;j+) for(j=i;jy) f(x,y);else if(yz) f(y,z); else f(x,z);printf(%d,%d,%dn,x,y,z); 单 向 值 传 递 , 形 参 变 化 不 改 变 实 参18. 分 析 下 面 程 序 的 运 行 结 果 是 sum= 10。#define ADD(x) x+xmain() int m=1,n=2,k=3;int sum=ADD(m+n)*k; sum=m+n+m+n*kprintf(sum=%d,sum);19. 20/7, -20/7的 结 果 均 为 整 型 , 而 20.0/7和 -20.0/7结 果 为 实 型 。 正 确20. 执 行 下 面 程 序 , 屏 幕 输 出 的 值 是 4。int i;printf(%dn,(i=2,i+,i+2,+i); 21. 以 下 运 算 符 中 优 先 级 最 低 的 是 以 下 运 算 符 中 优 先 级 最 低 的 是 += 。22. 运 行 下 列 带 有 指 针 数 组 的 程 序 , 输 出 结 果 为 r,two, 完 成 程 序 。main()char *s=one,two,three,*p;p=s2;printf(%c,%sn,*(p+2),s1);23. 用 指 针 数 组 的 元 素 指 向 整 型 数 据 , 输 出 a数 组 的 各 元 素 。main()static int a5=1,3,5,7,9;int *num5=int *p,i;p=num;for(i=0;ibc) 从 左 至 右 : ab1,(ab)c1c0,故 执 行 else ifprintf(%dn,d);else if(c-1=d)=1)printf(%dn,d+1); elseprintf(%dn,d+2);执 行 后 输 出 结 果 是 3 。27. 以 下 程 序 段 中 不 能 根 据 x值 正 确 计 算 出 y值 的 是 :y=0;if(x0) y=1;else if(x0) y=-1;无 x=0;28. 下 面 程 序 的 输 出 结 果 死 循 环 。main() int i,sum; 未 给 sum赋 值for(i=1;i=3;sum+) sum+=i;printf(%dn,sum); 29. 以 下 程 序 的 输 出 结 果 是 youstrcpy(arr,you);strcpy(arr1,me);arr03=printf(%sn,arr);30. 若 a为 整 型 变 量 , 此 循 环 执 行 的 次 数 为 0次 。for(a=5;a=0;a+)给 a赋 值 5后 , 判 断 a=0不 成 立 , 循 环 不 执 行31. 以 下 程 序 执 行 后 输 出 结 果 是 011122。main() int i;for(i=0;i3;i+)switch(i) case 1: printf(%d,i);case 2: printf(%d,i);default: printf(%d,i);无 break32. 若 x、 y、 z、 m、 n均 为 int 型 变 量 , 写 出 执 行 结 果 7,9,7。m=10;n=5;x=(-m=n+)?-m:+n; (-m=n+)?n=6-+nn=7y=m+;z=n;printf(%d,%d,%dn,x,y,z);33. C语 言 提 供 的 预 处 理 功 能 主 要 有 宏 定 义 、 文 件 包 含 、 条 件 编 译 三 种 。 正 确34. 数 组 char x=12345;和 char y=1,2,3,4,5;长 度 相 同 。 错 误 35. 若 定 义 一 个 只 允 许 本 源 文 件 中 使 用 的 全 局 变 量 , 则 该 变 量 存 储 类 别 是 static。 正 确36 在 下 面 选 项 中 081fd不 是 正 确 的 转 义 控 制 字 符 。37 若 有 以 下 定 义 , 则 对 a数 组 元 素 的 正 确 引 用 是 *38 若 已 定 义 char ch10;则 以 下 表 达 式 中 只 有 ch+不 是 表 示 ch1的 地 址 。A.int n;printf(nInput a string:); gets(s);n=strlen(s);p1=s;p2 = s+n-1;while (p1p2) if (*p1!=*p2) break;else p1+; p2-;if (p1p2) printf(Non);else printf(Yesn);41. 以 下 程 序 运 行 后 的 输 出 结 果 是 65535。main() unsigned int a; int b=-1;a=b;printf(%u,a); -1在 计 算 机 内 存 中 以 补 码 形 式 存 放 是 : 11 11 11 11 11 11 11 11 ( 第 一 位 为 符 号位 ) unsigned 为 无 符 号 数 ,而 对 应 的 11 11 11 11 11 11 1111 为 6553542. 宏 定 义 命 令 由 #define来 标 识 。 正 确43. 一 条 #include命 令 只 能 指 定 包 含 一 个 头 文 件 。 正 确44. 若 有 定 义 int(*p)();则 定 义 p为 一 个 指 向 函 数 的 指 针 变 量 , 函 数 的 返 回 值 为 整 型 。正 确 45. 函 数 调 用 可 以 作 为 一 个 函 数 的 实 参 。 正 确46. 系 统 不 允 许 用 户 重 新 定 义 标 准 库 函 数 。 错 误47. 若 已 定 义 char ch10;则 以 下 表 达 式 中 只 有 ch+不 是 表 示 ch1的 地 址 。ch+为 ch0的 地 址48. 执 行 语 句 for(i=1;+i3;i+);后 变 量 i的 值 是 4。 i=+i=2i+-i=3-i=+i=449. 以 下 程 序 执 行 后 结 果 是 32 。#include main() int i=0,a=0;while(i20)for(;) if(i%10)=0) break; i=0-i=i+11=11-a=a+i=11-i=10-i=i+11=21-a=a+i=32else i-;i+=11; a+=i;printf(%dn,a);50.下 列 程 序 执 行 后 输 出 的 结 果 是 4 。# include f(int a) int b=0; static c=3;a=c+, b+; 整 体 值 为 b+,将 c+赋 值 给 a.return(a);main() int a=2, i, k;for(i=0; i2; i+)k=f(a+);printf(%dn, k);51. int x=10; 则 表 达 式 x+(char)1/2.0值 的 类 型 是 double 。52. 程 序 for(i=100;i=1;i-) break;执 行 完 后 , i的 值 等 于 100。 程 序 不 执 行53. 以 下 程 序 的 运 行 结 果 是 a=3,b=5,c=2#a=5,b=2,c=1。#include main() int a=3, b=2, c=1; int b=5, c=12; c-=b*2;printf(a=%d,b=%d,c=%d#, a, b, c);a+=c;printf(a=%d,b=%d,c=%dn, a, b, c);54. C语 言 的 预 处 理 功 能 是 指 完 成 宏 替 换 和 包 含 文 件 的 调 用 。 错 误55. 下 面 程 序 的 执 行 完 后 全 局 变 量 n的 值 是 21 。int n=1;main() static int x=5;int y;y=n;func();func(); func() static int x=4;int y=10;x=x+2;n=n+10; 函 数 调 用 两 次 : n=n+10+10=21y=y+n;56. 执 行 下 面 程 序 , 输 出 结 果 是 6,6,4。main( )int a=2,b=6,c=4;if(ab) a=b; a=b=6;if(ac) a=c; a=6c不 成 立printf(%d,%d,%dn,a,b,c);57 执 行 下 面 程 序 段 后 , z的 值 是 65534。unsigned int x =0 xffff, y=2; unsigned long z;z = x * y;58. 以 下 文 本 加 密 程 序 执 行 后 输 出 结 果 是 utrpomec。main()char a=computer;char t;int i,j=0;for(i=0;i8;i+)for(j=i+1;j8;j+)if(aiaj)t=ai; ai=aj; aj=t;printf(%s,a);59. 执 行 for语 句 后 , 变 量 i的 值 是 7。 for (i=1;i+=5;);i=i+=6=5不 成 立 i=761. C语 言 中 有 字 符 串 变 量 , 与 字 符 数 组 等 价 。 错 误62. 若 调 用 一 个 函 数 , 且 此 函 数 中 没 有 return语 句 , 则 该 函 数 没 有 返 回 值 。 错 误 63. 为 了 明 确 表 示 函 数 不 带 回 值 , 可 以 用 void定 义 函 数 无 类 型 。 正 确64 若 有 以 下 定 义 , 则 对 a数 组 元 素 的 正 确 引 用 是 *65. 判 断 字 符 串 a和 字 符 串 b是 否 相 等 , 应 当 使 用 if (strcmp(a,b)。66. 判 断 下 面 函 数 aaa的 功 能 是 求 字 符 串 长 度 。aaa(char *s)char *t=s ;while(*t+);return(t-s);67 以 下 只 有 在 使 用 时 才 为 该 类 型 变 量 分 配 内 存 的 存 储 类 型 说 明 是 auto和register。68. 编 译 预 处 理 命 令 进 行 宏 替 换 后 , 系 统 编 译 时 也 不 做 语 法 检 查 。 错 误69. C语 言 的 编 译 预 处 理 就 是 对 源 程 序 进 行 初 步 的 语 法 检 查 。 错 误 70. 如 果 形 参 与 实 参 的 类 型 不 一 致 , 则 以 实 参 类 型 为 准 。 错 误71. 以 下 程 序 的 运 行 结 果 是 运 行 后 报 错 。#include stdio.hmain( )int a =1,2,3,4,5,6,7,8,9,10,11,12;int *p=a+5, *q=NULL;*q=*(p+5);printf(%d %d n,*p,*q);72. 以 下 程 序 的 输 出 结 果 是 31。fun(int x, int y, int z) z=x*x+y*y; main() int a=31; fun(5,2,a); 单 向 值 传 递 , 无 a=fun(5,2,a);printf(%d,a);73. 若 有 以 下 程 序 段 ( n所 赋 的 是 八 进 制 数 ) , 执 行 后 输 出 结 果 是 32762,32763。int m=32762, n=032763;printf(%d,%on, m, n);75. 建 立 函 数 的 目 的 之 一 是 提 高 程 序 的 执 行 效 率 。 错 误76. 下 面 程 序 的 功 能 为 : 输 出 数 组 中 的 数 据 元 素 。 请 将 程 序 补 充 完 整 。#define N 5main() int *p,i,aN;p=a;printf(nInput 5 numbers:);for (; pa+N; p+) scanf(%d,p);p=a; 给 变 量 赋 初 值printf(nOutput array:); for (; pa+N; p+)printf(%d , *p );77. 下 面 的 程 序 是 输 入 二 维 数 组 的 行 、 列 值 , 输 出 该 位 置 的 元 素 值 , 请 完 善 程 序 。main() static int a34=1,3,5,7,9,11,13,15,17,19,21,23;int (*p)4,i,j;p=a;scanf(%d, %d, printf(a%d,%d=%dn,i,j, *(( *p+i) +j);79. 若 有 以 下 定 义 和 语 句 : char s110;则 语 句 s1=C test;可 以 给 s1正 确 赋 值 。错 误 80. 当 #include后 面 的 文 件 名 用 双 引 号 括 起 , 仅 搜 索 当 前 目 录 。 错 误 81. 写 出 下 面 程 序 的 执 行 结 果 n=6。main()int i,j,n;for (i=1;i=5;i+)n=0;for (j=1;j=3;j+)n=n+j; n=1+2+3=6printf(n=%dn,n); 82. 有 一 个 数 组 , 内 放 5个 学 生 成 绩 , 求 平 均 分 , 用 函 数 实 现 ,请 填 空 。main() float average();int score5=60,70,80,90,80, i;float aver;printf(nScores:); for (i=0; i5; i+)printf(%d , *(score+i);aver=average(score); /* 函 数 调 用 ,传 入 首 地 址 */printf(nAverage score: %6.2f,aver);float average(int *array)int i;float aver,sum=0;for (i=0;i0); c4=0puts(c);94. 实 参 可 以 是 常 量 、 变 量 或 表 达 式 , 不 一 定 要 求 它 们 有 确 定 的 值 。 错 误95. 一 个 函 数 返 回 值 的 类 型 是 由 调 用 函 数 决 定 的 。 错 误96. 若 x为 int型 变 量 , 则 逗 号 表 达 式 x=2*3,x+5,x+,x+25的 结 果 为 32, x的 值 为7。 x+5与 x的 值 无 关97 C语 言 规 定 , 形 参 应 与 其 对 应 的 实 参 类 型 一 致 。 正 确 98 下 列 程 序 段 的 输 出 结 果 是 2 1 4 3。void fun(int *x, int *y) printf(%d %d, *x, *y); *x=3; *y=4; main() int x=1,y=2;fun(printf(%d %d ,x, y);99. 输 入 年 、 月 、 日 , 计 算 该 日 子 是 当 年 的 第 几 天 , 即 天 数 , 请 填 空 。#include main()int year,mon,day;int day_tab212=31,28,31,30,31,30,31,31,30,31,30,31, /*行 i=0 */31,29,31,30,31,30,31,31,30,31,30,31;/*行 i=1 */printf(Please Input year,month,day:);scanf(%d%d%d,printf(days=%dn,day_of_year(day_tab,year,mon,day); day_of_year(int (*p)12, int year,int mon,int day)int i,j;if (year%4=0)else i=0;for (j=0;j10if(x/3)x+;break; x=16 执 行 x+后 , breakelse continue;printf(%dn,x);_105. 以 下 程 序 运 行 后 ,输 出 结 果 是 8,17。func(int a, int b) static int m=0,i=2;i+=m+1;m=i+a+b; return(m);main() int k=4,m=1,p;p=func(k,m);printf(%d,p);p=func(k,m);printf(%dn,p); i=3+8+1,m=12+4+1106. 若 有 定 义 : int s46,t64,(*p)6; ,则 以 下 正 确 的 赋 值 语 句 是p=s;。 与 (s4)6对 应107. 以 下 程 序 运 行 后 的 输 出 结 果 是 25#21#37。main() int a,b,c;a=25;b=025; c=0 x25;printf(%d#%d#%dn,a,b,c);108. 下 面 程 序 的 功 能 为 : 在 a数 组 中 查 找 与 x值 相 同 的 元 素 的 所 在 位 置 , 用 指 针实 现 。 请 将 程 序 补 充 完 整 。main()int a6,x,i;printf(nInput 5 numbers:);for (i=1; i0) printf(%5ds position is: %4dn,x,i);else printf(%5d Not been found!n,x);109. 若 有 以 下 定 义 和 语 句 : int x=10,*p=*p=x;则 两 处 的 *p都 用 来 给 指 针 变量 p赋 值 。 错 误110. 编 译 预 处 理 只 对 宏 作 简 单 的 替 换 工 作 , 并 不 作 正 确 性 检 查 。 正 确111. 语 言 提 供 了 #define命 令 来 实 现 文 件 包 含 的 操 作 错 误112. 宏 的 定 义 可 用 制 定 的 标 示 符 代 表 多 个 表 达 式 ( 错 误 )113. 条 件 编 译 就 是 根 据 编 译 的 条 件 来 选 择 编 译 源 程 序 中 的 不 同 部 分 ( 正 确 )114. 宏 替 换 不 占 用 运 行 时 间 , 只 占 编 译 时 间 。 ( 正 确 )116.有 一 个 占 两 个 字 节 的 整 数 , 二 进 制 为 00101011 10010100, 要 想 取 出 其 中的 高 字 节 00101011, 将 该 数 与 八 进 制 0177400按 位 “与 ”即 可 。0177400它 的 二 进 制 是 1111111100000000117. unsigned int x=0 xffff,y=2; unsigned long z; z=x*y;结 果 65535-2 118. 缓 冲 文 件 系 统 指 系 统 会 自 动 在 内 存 区 为 每 一 个 正 在 使 用 的 文 件 开 辟 一个 缓 冲 区 。119. 以 下 各 数 均 不 是 合 法 的 八 进 制 数 : 256、 03A2、 -0127。 错 误
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!