南昌航空大学C语言期末考试试卷_第1页
南昌航空大学C语言期末考试试卷_第2页
南昌航空大学C语言期末考试试卷_第3页
南昌航空大学C语言期末考试试卷_第4页
南昌航空大学C语言期末考试试卷_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档 1欢迎下载 一 单项选择题 每题 3 分 共 30 分 注意 答案写在后面的答题卡内 否注意 答案写在后面的答题卡内 否 则则 0 0 分分 1 若有定义 int a 8 b 5 c 执行语句 c a b 0 4 后 c 的值为 A 1 4 B 1 C 2 0 D 2 2 以下程序中 while 循环的次数是 include void main void int i 0 while i 10 if i 1 continue if i 5 break i A 1 B 死循环 不能确定次数 C 6 D 10 3 以下程序的输出结果是 include void main void int a 0 i for i 1 i 5 i switch i case 0 case 3 a 2 case 1 case 2 a 3 default a 5 printf d n a A 31 B 13 C 10 D 20 4 以下程序的输出结果是 include void main void int a 5 b 4 c 6 d printf d n d a b a c a c b A 5 B 4 C 6 D 不确定 5 执行以下程序后的输出结果是 include void main void char a abc 0abc printf s a A abc 0abc B abc C abc 0 D abc 6 当调用函数时 实参是一个数组名 则向函数传送的是 A 数组的长度 B 数组的首地址 C 数组每一个元素的地址 D 数组每个元素中的值 7 执行以下程序后 a 的值为 评阅人 得分 精品文档 2欢迎下载 int p a 10 b 1 p a p b A 12 B 编译出错 C 10 D 11 8 以下正确的叙述是 A 在 C 语言中 main 函数必须位于文件的开头 B C 语言每行中只能写一条语句 C C 语言本身没有输入 输出语句 D 对一个 C 语言进行编译预处理时 可检查宏定义的语法错误 9 以下程序的输出结果是 void main void int a 4 b 5 c 0 d d a printf d n d A 1 B 0 C 非 0 的数 D 1 10 执行以下程序段后 变量 y 的值是 int x y x 1 y x 5 A 5 B 10 C 15 D 20 单项选择题答题卡单项选择题答题卡 12345678 BBACDBDC 910 AB 评分标准 每题选对满分 选错 0 分 二二 分析结果题 20 分 1 9 分 include void f int c int a 0 static int b 0 a b printf d a d b d n c a b void main void int i for i 1 i 3 i f i 运行结果为 1 a 1 b 1 评阅人 得分 精品文档 3欢迎下载 2 a 1 b 2 3 a 1 b 3 2 11 分 include void main void int num c num 2004 do c num 10 printf d c while num 10 0 printf n 运行结果为 4002 三 程序填空题 每空 4 分 共 20 分 1 求 1 2 3 10 include void main void float s 0 t 1 int n for n 1 n 10 n t t n s s t printf 1 2 3 10 f s 2 以下函数的功能是 把两个整数指针所指的存储单元中的内容进行交换 void exchange int x int y int t t y y x x t 四 程序设计题 30 分 1 sum 2 5 8 11 14 输入正整数 n 求 sum 的前 n 项和 10 分 void main 评阅人 得分 评阅人 得分 精品文档 4欢迎下载 int n i t sum 0 1 分 scanf d 1 分 t 2 1 分 for i 1 i n i 2 分 sum sum t 2 分 t t 3 2 分 printf sum d sum 1 分 2 今有 100 块砖 需 100 人来搬 男搬 4 女搬 3 两个小孩搬一砖 问男 女 小孩各几何 8 分 include stdio h void main int man woman child 1 分 for man 0 man 100 man 1 分 for woman 0 woman 100 woman 1 分 for child 0 child 100 child 1 分 if 8 man 6 woman child 200 2 分 3 求一个矩阵外围元素之和 12 分 include define N 4 define M 5 double matrix sum double matrix M double sum 0 int k for k 0 k N k sum sum matrix k 0 sum sum matrix k M 1 3 分 for k 1 k M 1 k sum sum matrix 0 k sum sum matrix N 1 k 3 分 return sum 1 分 void main int i j double matrix source N M double t double result for i 0 i N i 精品文档 5欢迎下载 for j 0 jb 则表达式 k i i j 的值为 A 4 B 8 C 9 D 10 6 有宏定义 define MULT1 a b a b define MULT2 a b a b 宏引用 Y MULT1 3 2 5 8 Z MULT2 3 2 5 8 后 则 Y 和 Z 的值是 A Y 65 Z 65 B Y 21 Z 65 C Y 65 Z 21 D Y 21 Z 21 7 若定义 a 为 int 型变量 则对指针变量 p 的正确初始化是 A int p a B int p a C int p D int p 8 以下程序的输出结果是 main int a 3 printf d n a a a a A 6 B 12 C 0 D 12 9 在一个源文件中定义的全局变量的作用域为 A 本文件的全部范围 B 本程序的全部范围 评阅人 得分 精品文档 6欢迎下载 C 本函数的全部范围 D 从定义该变量的位置开始至本文件结束 10 设有int I I 7 2 printf d I 则执行结果为 A 3 5 B 3 50 C 3 D 3 0 11 在 C 语言中 合法的长整型常数是 A 0L B 4962710 C 324562 A 10 3 B 9 3 C 9 2 D 10 2 15 x y z 被定义为 int 型变量 若从键盘给 x y z 输入数据 正确的输入语句是 A INPUT x y z B scanf d d d C scanf d d d x y z D read d d d 单项选择题答题卡单项选择题答题卡 12345678 CCCBBBDD 9101112131415 DCABDDB 评分标准 选对得满分 否则 0 分 二二 分析结果题 23 分 1 6 分 include stdio h void main int I 6 x y x I y I printf d d x y 运行结果为 6 8 评分标准 写对一个数字得 3 分 全写对得 6 分 2 5 分 include stdio h void main int a 3 3 1 2 3 4 5 6 7 8 9 printf d a 1 2 运行结果为 6 评分标准 写对得 5 分 否则 0 分 3 6 分 评阅人 得分 精品文档 7欢迎下载 include stdio h void sub int s int t int w w s s t t w void main int a b a 100 b 200 sub a b printf d d a b 运行结果为 100 200 评分标准 写对一个数字得 3 分 全写对得 6 分 4 6 分 include stdio h void main int n for n 1 n 20 n if n 3 0 continue printf 3d n 运行结果为 3 6 9 12 15 18 评分标准 写对一个数字得 1 分 全写对得 6 分 三 程序填空题 每空 2 分 共 16 分 1 本程序能实现将若干个数按逆序存放存放 然后输出 请在横线上填写正确内容完成 程序 例如 原顺序为 6 8 4 5 1 逆序后为 1 5 4 8 6 define N 5 void main int i t static int a N 6 8 4 5 1 for i 0 i N N 2 2 i t a i a i a N 1 i a i a N 1 i a a N 1 iN 1 i t t printf n for i 0 i N N i printf 4d a i 评分标准 写对一个空得 2 分 全写对得 8 分 2 以下程序实现 输入三个整数 按从大到小的顺序输出 请在横线上填写正确内 容完成程序 void main int x y z c c scanf d d d if y y z z 精品文档 8欢迎下载 c y y z z c if x x z z c x x z z c if x x y y c x x y y c printf d d d x y z 评分标准 写对一个空得 2 分 全写对得 8 分 四 程序设计题 31 分 1 如果某个 3 位数的各位数字的立方之和等于该数本身 则这个 3 位数 就是一个 水仙花 数 如 153 13 33 53 编程打印所有的 水仙花 数 10 分 include stdio h void main int ge shi bai x 1 分 for ge 0 ge 9 ge 1 分 for shi 0 shi 9 shi 1 分 for bai 1 bai 9 bai 1 分 x ge 10 shi 100 bai 2 分 if x ge ge ge shi shi shi bai bai bai 3 分 printf d x 1 分 2 编程实现函数 void strcopy char dest str char sour str 要求该函数实现将 sour str 中的内容拷贝到 dest str 不许直接调用其他函数来实现 否则 0 分处理 8 分 void strcopy char dest str char sour str int i 0 1 分 while sour str i 2 分 dest str i sour str i 2 分 i 1 分 dest str i 0 2 分 3 用指针做形参编写一个一个子函数 计算学生的最低分 最高分以及平均分 然后在主函数中 从键盘输入 10 个学生的分数 并调用子函数 最后输出最低分 最高分及平均分 13 分 include stdio h float CalculateScore float s int len float max float min float ave s 1 分 max s 1 分 min s 1 分 int i for i 1 i max 1 分 max s i if s i min 1 分 精品文档 9欢迎下载 min s i ave ave s i 1 分 ave ave len 1 分 return ave 1 分 void main float score 10 max min average int i printf Please the score of student n for i 0 i 10 i scanf f 1 分 average CalculateScore score 10 2 分 printf max f min f average f n max min average 1 分 一 单选题 15 2 分 1 若有定义 int a 8 b 5 c 执行语句 c a b 0 4 后 c 的值为 B A 1 4 B 1 C 2 0 D 2 2 以下程序中 while 循环的次数是 B include void main void int i 0 while i 10 if i 1 continue if i 5 break i A 1 B 死循环 不能确定次数 C 6 D 10 3 以下程序的输出结果是 A include void main void int a 0 i for i 1 i 5 i switch i case 0 case 3 a 2 case 1 case 2 a 3 default a 5 printf d n a A 31 B 13 C 10 D 20 4 执行以下程序段后的输出结果是 C int x 5 int m n 精品文档 10欢迎下载 n x x m x x printf d d n m n A 14 10 B 13 13 C 14 14 D 14 12 5 以下程序的输出结果是 c include void main void int a 5 b 4 c 6 d printf d n d a b a c a c b A 5 B 4 C 6 D 不确定 6 执行以下程序后的输出结果是 D include void main void char a abc 0abc printf s a A abc 0abc B abc C abc 0 D abc 7 当调用函数时 实参是一个数组名 则向函数传送的是 B A 数组的长度 B 数组的首地址 C 数组每一个元素的地址 D 数组每个元素中的值 8 执行以下程序后 a 的值为 D int p a 10 b 1 p a p b A 12 B 编译出错 C 10 D 11 9 以下正确的叙述是 C A 在 C 语言中 main 函数必须位于文件的开头 B C 语言每行中只能写一条语句 C C 语言本身没有输入 输出语句 D 对一个 C 语言进行编译预处理时 可检查宏定义的语法错误 10 下面正确的标识符是 A A a2b3 B int C int abc D 2a3b 11 以下程序的输出结果是 A void main void int a 4 b 5 c 0 d d a printf d n d A 1 B 0 C 非 0 的数 D 1 12 执行以下程序段后 变量 y 的值是 B int x y x 1 y x 5 A 5 B 10 C 15 D 20 13 若已定义 int a 9 p a 并在以后的语句中未改变 p 的值 则不能表示 a 1 地址的表达式是 C A p 1 B a 1 C a D p 精品文档 11欢迎下载 14 函数调用 strcat strcpy str1 str2 str3 的功能是 c A 将串 str1 复制到串 str2 中后再连接到串 str3 之后 B 将串 str1 连接到串 str2 之后再复制到串 str3 之后 C 将串 str2 复制到串 str1 中后再将串 str3 连接到串 str1 之后 D 将串 str2 连接到串 str1 之后再将串 str1 复制到串 str3 中 15 在下列选项中 不正确的赋值语句是 D A t B n1 n2 n3 0 C k i j D a b c 1 二 程序填空 16 分 1 求 1 2 3 10 include void main void float s 0 t 1 int n for n 1 n 10 n t t n s s t printf 1 2 3 10 f s 2 以下程序是用来统计从键盘输入的一个正整数中各位数字中零的个数 并求各位数字中最大者 例如 1080 其 零的个数是 2 各位数字中最大者是 8 include void main void unsigned long num max t int count count max 0 scanf ld do t num 10 if t 0 count else if max t max t num 10 while num printf count d max ld n count max 3 下面程序的功能是 输出 100 以内能被 3 整除且个位数字为 6 的所有整数 include void main void int i j for i 0 i 10 i j i 10 6 if j 3 0 continue 精品文档 12欢迎下载 printf d j 4 以下函数的功能是 把两个整数指针所指的存储单元中的内容进行交换 void exchange int x int y int t t y y x x t 三 阅读程序 写出程序的输出结果 24 分 1 include stdio h void main int i j for i 0 i 4 i for j 0 j i j printf for j 0 j 4 i j printf printf n 2 include void f int c int a 0 static int b 0 a b printf d a d b d n c a b void main void int i for i 1 i 3 i f i 1 a 1 b 1 2 a 1 b 2 3 a 1 b 3 3 include void main void 精品文档 13欢迎下载 int num c num 2004 do c num 10 printf d c while num 10 0 printf n 4002 五 编程 30 分 1 sum 2 5 8 11 14 输入正整数 n 求 sum 的前 n 项和 void main int n i t sum 0 scanf d t 2 for i 1 i n i sum sum t t t 3 printf sum d sum 2 编程实现函数 void strcopy char dest str char sour str 要求该函数实现将 sour str 中的内容拷贝 到 dest str 不许直接调用其他函数来实现 否则 0 分处理 void strcopy char dest str char sour str int i 0 while sour str i dest str i sour str i i dest str i 0 3 求一个矩阵外围元素之和 include define N 4 define M 5 double matrix sum double matrix M double sum 0 int k for k 0 k N k sum sum matrix k 0 sum sum matrix k M 1 for k 1 k M 1 k sum sum matrix 0 k 精品文档 14欢迎下载 sum sum matrix N 1 k return sum void main int i j double matrix source N M double t double result for i 0 i N i for j 0 js2 则返回 1 若串 s1 s2 则返回 1 5 编程找出 1000 以内的满足勾股定理 的整数组 a b c 三 选择题 共 40 分 1 以下选项中合法的标识符是 2 分 A abc B abc C abc D 2bc 2 以下说法中正确的是 2 分 A C 语言程序总是从第一个定义的函数开始执行 B 在 C 语言程序中 要调用的函数必须在 main 函数中定义 C C 语言程序总是从 main 函数开始执行 D C 语言程序中的 main 函数必须放在程序的开始部分 3 设有 int c1 5 c2 2 c3 则执行 c3 c1 c2 后 c3 的值是 2 分 A 2 B 5 2 C 2 5 D 3 4 设有 int i 4 j j i 则执行 printf d d i j 后 屏幕上显示的 是 2 分 A 5 5 B 5 4 C 4 5 D 4 4 5 程序中出现的 B int p a C int p D int p 9 x y z 被定义为 int 型变量 若从键盘给 x y z 输入数据 正确的输入语 句是 2 分 A INPUT x y z B scanf d d d t 1 i 3 3 分 t t i 3 分 printf d t 2 本程序功能是求 a b 二个数中的较大者 请在横线上填写正确内容完成程序 6 分 include void main int a b max scanf d d printf max d max 3 本程序功能是求一分数序列 2 1 3 2 5 3 8 5 前 10 项之和 请在横线上填写 正确内容完成程序 9 分 include void main int i t float a 2 b 1 s 0 for i 1 i 3 分 3 分 t a 3 分 b t printf sum f s 4 本程序功能是输入十个整数 并统计大于 0 等于 0 小于 0 的个数 请在横线上填写正确内容完成程序 9 分 include void main int a 10 j m 0 n 0 k 0 for j0 m m 1 if a j 0 n n 1 if a j 0 k k 1 printf m d n d k d m n k 5 分析本程序 并在横线上填入程序的输出 5 分 include void main char a b a a b b a a 32 b b 32 printf c c n a b 输出 5 分 6 分析本程序 并在横线上填入程序的输出 5 分 include stdio h void main int n for n 1 nsex 4 以下叙述中正确的是 A A C 程序中注释部分可以出现在程序中任意合适的地方 B 花括号 和 只能作为函数体的定界符 C 构成 C 程序的基本单位是函数 所有函数名都可以由用户命名 D 分号是 C 语句之间的分隔符 不是语句的一部分 5 以下选项中可作为 C 语言合法整数的是 C A 10110B B 0386 C 0Xffa D x2a2 6 以下不能定义为用户标识符的是 D A scanf B Void C 3com D int 7 以下选项中非法的表达式是 D A 0 x 100 B i j 0 C char 65 3 D x 1 x 1 8 有定义语句 int x y 若要通过 scanf d d 语句使变量 x 得到数值 11 变量 y 得到数值 12 下 面四组输入形式中 错误的是 A A 11 12 B 11 12 C 11 12 D 11 12 9 设有如下程序段 int x 2002 y 2003 printf d n x y 则以下叙述中正确的是 D A 输出语句中格式说明符的个数少于输出项的个数 不能正确输出 B 运行时产生出错信息 C 输出值为 2002 D 输出值为 2003 10 若已定义的函数有返回值 则以下关于该函数调用的叙述中错误的是 D A 函数调用可以作为独立的语句存在 B 函数调用可以作为一个函数的实参 C 函数调用可以出现在表达式中 D 函数调用可以作为一个函数的形参 11 有以下函数定义 void fun int n double x 若以下选项中的变量都已正确定义并赋值 则对函数 fun 的正确调用语句是 C A fun int y double m B k fun 10 12 5 C fun x n D void fun n x 12 以下不能正确定义二维数组的选项是 D A int a 2 2 1 2 B int a 2 1 2 3 4 C int a 2 2 1 2 3 D int a 2 1 2 3 4 13 int a 1 2 3 4 5 6 7 8 9 10 p a i 2 数组元素地址的正确表示 D A 则下面哪一个指针变量的用法与其他三个不同 D A p a B p C p int a D p a 15 有宏定义 define MULT1 a b a b 精品文档 19欢迎下载 define MULT2 a b a b 宏引用 Y MULT1 3 2 5 8 Z MULT2 3 2 5 8 后 则 Y 和 Z 的值是 B A Y 65 Z 65 B Y 21 Z 65 C Y 65 Z 21 D Y 21 Z 21 二二 分析结果题 20 分 1 5 分 include stdio h void main int I 6 x y x I y I printf d d x y 运行结果为 6 8 评分标准 写对一个数字得 2 5 分 全写对得 5 分 2 5 分 include stdio h void main int a 3 3 1 2 3 4 5 6 7 8 9 printf d a 1 2 运行结果为 6 评分标准 写对得 5 分 否则 0 分 3 5 分 include stdio h void sub int s int t int w w s s t t w void main int a b a 100 b 200 sub a b printf d d a b 运行结果为 100 200 评分标准 写对一个数字得 2 5 分 全写对得 5 分 4 5 分 include void swap int r int s int t t r r s s t main int a 1 b 2 p q p q swap printf d d n p q 运行结果为 2 1 评分标准 写对一个数字得 2 5 分 全写对得 5 分 三 程序填空题 每空 2 分 共 16 分 评阅人 得分 评阅人 得分 精品文档 20欢迎下载 3 本程序能实现将若干个数按逆序存放存放 然后输出 请在横线上填写正确内容完成 程序 例如 原顺序为 6 8 4 5 1 逆序后为 1 5 4 8 6 define

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论