电大2012年春《C语言程序设计》形成性考核册答案_第1页
电大2012年春《C语言程序设计》形成性考核册答案_第2页
电大2012年春《C语言程序设计》形成性考核册答案_第3页
电大2012年春《C语言程序设计》形成性考核册答案_第4页
电大2012年春《C语言程序设计》形成性考核册答案_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

C 语言程序设计形成性考核册 共25页 1 C C 语言程序设计形成性考核语言程序设计形成性考核 作业一作业一 一 选择题一 选择题 1 在每个 C 语言程序中都必须包含有这样一个函数 该函数的函数名为 A A A main B MAIN C name D funtion 2 C 语言原程序文件的缺省扩展名为 D D A cpp B exe C obj D C 3 由 C 语言目标文件连接而成的可执行的缺省扩展名为 B B A cpp B exe C obj D C 4 程序运行中需要从键盘输入多于一个数据时 各数据之间应使用 D D 符号作为分隔 符 A 空格或逗号 B 逗号或回车 C 回车或分号 D 空格或回车 5 每个 C 语言程序的编译错误分为 B B 类 A 1 B 2 C 3 D 4 6 设 x 和 y 均为逻辑值 则 x a a a 则执行结束后 a 的值为 C C A 12 B 144 C 156 D 288 8 x 0 B const int M2 20 C const M3 10 D const char mark 3 11 带有随机函数的表达式 rand 20 的值在 C C 区间内 A 1 19 B 1 20 C 0 19 D 0 20 12 当处理特定问题时的循环次数已知时 通常采用 A A 循环来解决 A for B while C do while D switch 13 在 switch 语句的每个 case 块中 假定都是以 break 语句结束的 则此 switch 语句容 易被改写为 B B 语句 A for B if C do D while 14 for 语句能够被改写为 D D 语句 A 复合 B if C switch D while 15 下面循环语句执行结束后输出的 i 值为 B B for int i 0 in 2 cout i endl break A n 2 B n 2 1 C n 2 1 D n 1 16 在下面循环 w 语句中内层循环体 S 语句的执行次数为 D D for int i 0 i n i for int j i j n j S A n2 B n 1 2 C n n 1 2 D n n 1 2 17 在下面的 do 循环语句中 其循环体被执行的次数为 A A int i 0 do i while i i0 x5 的相反表达式为 x yb b 5 的相反表达式为 a5 by 逻辑值为 false 0 35 若 x 5 y 10 则 x y 逻辑值为 true 1 C 语言程序设计形成性考核册 共25页 3 36 假定 x 5 则执行 a x 10 20 语句后 a 的值为 10 37 执行 typedef int DataType 语句后 在使用 int 定义整型变量的地方都可以使用 DataType 来定义整型变量 38 在 switch 语句中 每个语句标号所含保留字 case 后面的表达式必须是 整型 39 作为语句标号使用的 C 保留字 case 和 default 只能用于 switch 语句的定义体中 40 在 switch 语句时 在进行作为条件的表达式求值后 将从某个匹配的标号位置起向下 执行 当碰到下一个标号位置时 停止 不停止 不停止 执行 41 若 do 循环的 尾 为 while i 10 并且 i 的初值为 0 同时在循环体不会修 改 i 的值 由循环体将被重复执行 10 次后正常结束 42 当在程序执行到 break 语句时 将结束本层循环语句或 switch 语句的执行 43 在程序中执行到 return 语句时 将结束所在函数的执行过程 返回到调用该函数 的位置 44 在程序执行完 主 main 函数调用后 将结束整个程序的执行过程 返回到操作系 统或 C 语句集成开发环境界面窗口 三 写出下列每个程序运行后的输出结果三 写出下列每个程序运行后的输出结果 1 include void main int x 5 switch 2 x 3 case 4 printf d x case 7 printf d 2 x 1 case 10 printf d 3 x 1 break default printf s default n printf s n switch end 输出结果为 输出结果为 11 14 switch end Press any key to continue 2 include void main int i s 0 for i 1 i 6 i s i i printf s d n s 输出结果为 输出结果为 s 91 Press any key to continue C 语言程序设计形成性考核册 共25页 4 3 include void main int i s1 0 s2 0 for i 0 i 10 i if i 2 s1 i else s2 i printf d d n s1 s2 输出结果为 输出结果为 25 20 Press any key to continue 4 include void main int n 10 y 1 while n y y printf y d n y 输出结果为 输出结果为 y 21 Press any key to continue 5 include void main int f f1 f2 i f1 f2 1 printf d d f1 f2 for i 3 i 10 i f f1 f2 printf d f if i 5 0 printf n f1 f2 f2 f printf n 输出结果为 输出结果为 1 1 2 3 5 8 13 21 34 55 Press any key to continue C 语言程序设计形成性考核册 共25页 5 6 include include void main int i n for n 2 n 20 n int temp int sqrt n sqrt n 求出 n 的平方根并取整 for i 2 itemp printf d n printf n 输出结果为 输出结果为 2 3 5 7 11 13 17 19 Press any key to continue 7 include include const int M 20 void main int i c2 c3 c5 c2 c3 c5 0 for i 1 i M i if i 2 0 c2 if i 3 0 c3 if i 5 0 c5 printf d d d n c2 c3 c5 输出结果为 输出结果为 10 6 4 Press any key to continue 8 include include const int M 20 void main int i s for i 1 s 0 i 15 i if i 2 0 i 3 0 continue C 语言程序设计形成性考核册 共25页 6 printf d i s i printf d n s 输出结果为 输出结果为 1 5 7 11 13 37 Press any key to continue C 语言程序设计形成性考核语言程序设计形成性考核 作业二作业二 一 一 选择题选择题 1 在下面的一维数组定义中 C 语句有语法错误 A int a 1 2 3 B int a 10 0 C int a D int a 5 n 2 在下面的二维数组定义中 C 语句是正确的 A int a 5 B int a 5 C int a 3 1 3 5 2 D int a 10 3 假定一个二维数组的定义语句为 int a 3 4 3 4 2 8 6 则元素 a 1 2 的值为 C A 2 B 4 C 6 D 8 4 假定一个二维数组的定义语句为 int a 3 4 3 4 2 8 6 则元素 a 2 1 的值为 A A 0 B 4 C 8 D 6 5 将两个字符串连接起来组成一个字符串时 选用 C 函数 A strlen B strcap C strcat D strcmp 二 填空题二 填空题 1 假定一维数组的定义为 char a 8 则该数组所含元素的个数为 8 2 假定一维数组的定义为 char a 8 则该数组所占存储空间的字节数为 32 3 假定二维数组的定义为 int a 3 5 则该数组所占存储空间的字节数为 60 4 假定二维数组的定义为 char a M N 则该数组所所含元素的个数为 M N 5 假定二维数组的定义为 double a M N 则每个数组元素的行下标取值范围在 0 M 1 之间 6 假定二维数组的定义为 double a M N 则每个数组元素的列下标取值范围在 0 N 1 之间 7 使用 typedef char BB 10 50 语句定义 BB 为含有 10 行 50 列的二维字符数 组类型 8 存储字符 a 需要占用存储器的 1 个字节空间 9 空字符串的长度为 0 10 存储一个空字符串需要占用 1 个字节 11 字符串 a xxk 数据 的长度为 11 C 语言程序设计形成性考核册 共25页 7 12 用于存储一个长度为 n 的字符串的字符数组的长度至少为 n 1 13 strcmp 函数用于进行两个字符串之间的 大小比较 14 Strcpy 函数用于把一个字符串 复制到 另一个字符数组空间中 15 一个二维字符数组 a 10 20 能够存储 10 个字符串 16 一个二维字符数组 a 10 20 能够存储的每个字符串的长度至多为 19 三 写出下列每个程序运行后的输出结果三 写出下列每个程序运行后的输出结果 1 include void main int a 10 12 39 26 41 55 63 72 40 83 95 int i i1 0 i2 0 for i 0 i 10 i if a i 2 1 i1 else i2 printf d d n i1 i2 输出结果为 输出结果为 6 4 Press any key to continue 2 include include void main int i char a 5 student worker cadre soldier peasant char p1 p2 p1 p2 a 0 for i 0 i0 p1 a i if strcmp a i p2 0 p2 a i printf s s n p1 p2 输出结果为 输出结果为 worker cadre Press any key to continue 3 include int a 10 4 5 6 15 20 13 12 7 8 9 void main int i s0 s1 s2 s0 s1 s2 0 for i 0 i 10 i C 语言程序设计形成性考核册 共25页 8 switch a i 3 case 0 s0 a i break case 1 s1 a i break case 2 s2 a i break printf d d d n s0 s1 s2 输出结果为 输出结果为 42 24 33 Press any key to continue 4 include void main char a abcdbfbgacd int i1 0 i2 0 i 0 while a i if a i a i1 if a i b i2 i printf d d d n i1 i2 i 输出结果为 输出结果为 2 3 11 Press any key to continue 5 include void main int a 3 4 1 2 7 8 5 6 10 6 9 12 3 4 int m a 0 0 int ii 0 jj 0 int i j for i 0 i 3 i for j 0 jm m a i j ii i jj j printf d d d n ii jj a ii jj 输出结果为 输出结果为 2 1 12 C 语言程序设计形成性考核册 共25页 9 Press any key to continue 6 include void main int a b for a 1 b 2 b 50 printf d d a b a a b b a b printf n 输出结果为 输出结果为 1 2 3 5 8 13 21 34 Press any key to continue 四 写出下列每个函数的功能四 写出下列每个函数的功能 1 include int SA int a int b if a b return 1 else if a b return 0 else return 1 函数功能为 函数功能为 根据实参 a 大于 等于或小于实参 b 返回 1 0 或 1 2 include int SC int a int b int c if a b if b a return c 函数功能为 函数功能为 返回实参 a b c 中的最大数 3 double SF double x int n n 为大于等于 0 的整数 double p 1 s 1 for i 1 i n i p x s p i 1 C 语言程序设计形成性考核册 共25页 10 return s 函数功能为 函数功能为 计算 x x2 2 x3 3 xn n 1 的值 4 include int SC int x int a int sqrt x int i 2 while i a if x i 0 break i if i 0 return 0 else return 1 函数功能为 函数功能为 判断一个整数是否是素数 5 include void trans int x char a 10 int i 0 rem do rem x 16 x x 16 if rem0 printf c a i printf n 函数功能为 函数功能为 将一个整数化成十六进制数 五 根据下列每个题目要求编写程序五 根据下列每个题目要求编写程序 1 编写一个函数 函数头格式为 void fun4 char a int b 分别求出由字符指针 a 所指 向的字符串中包含的每种十进制数字出现的次数 把统计结果保存在数组 b 的相应元素 include void fun4 char a int b do if a 0 while a C 语言程序设计形成性考核册 共25页 11 void main char a 9888 int b 10 0 fun4 a b for int i 0 i 10 i printf d b i 2 编写一个函数 函数头格式为 double Mean double a M N int m int n 要求返回 二维数组 a m n 中所有元素的平均值 假定在计算过程是采用变量 v 存放平均值 include const int M 2 N 3 double Mean double a M N int m int n double v 0 for int i 0 i m i for int j 0 j n j v a i j return v m n void main double a 2 3 1 2 3 4 5 6 printf lf n Mean a 2 3 3 编写一个递归函数 int FF int a int n 求出数组 a 中所有元素 n 个元素之积并返 回 include int FF int a int n int mul 1 if n 1 mul a 0 else mul a n 1 FF a n 1 return mul void main int a 6 1 2 3 4 5 6 printf d n FF a 6 C 语言程序设计形成性考核册 共25页 12 4 编写一个主函数 利用 while 循环 求出并显示满足不等式 1 1 2 1 3 1 n 5 的 最小 n 值 include void main double sum 0 int n 1 while true if sum 1 double n 5 break else sum 1 double n n printf d lf n n sum 5 编写一个主函数 求满足不等式 22 42 n2 1000 的最大 n 值 假定分别用 i 和 s 为取偶数值和累加值的变量 并限定使用 do 循环编程 include void main int s 0 i 2 do s i i if s i 2 i 2 1000 break else i 2 while true printf i d s d i s 6 编写一个主函数 计算并输出 n 的值 其中 n 值由键盘输入 include void main int s 0 n printf 请输入 n 的值 scanf d for int i 1 i n i s i i printf n d s d n s C 语言程序设计形成性考核册 共25页 13 C 语言程序设计形成性考核语言程序设计形成性考核 作业三作业三 一 选择题一 选择题 1 在下面的 C 函数声明语句存在语法错误 A AA int a int b B AA int int C AA int a int b D AA int a int 2 在下面的 C 不能作为函数的返回类型 A void B int C new D long 3 下面正确的函数原型语句是 B A int Function void a B void Function int C int Function a D void int double a 4 函数调用 func exp1 exp2 exp3 exp4 exp5 中所含实参的个数为 B 个 A 1 B 2 C 4 D 5 5 下面的标识符中 C 是文件级作用域 A 函数形参 B 语句标号 C 外部静态类标识符 D 自动类标识符 6 下面的标识符中 B 具有全局级作用域 A 函数形参 B 全局变量 C 内部静态类标识符 D 自动变量符 7 假定 p 是一个指向 float 型数据的指针 则 p 1 所指数据的地址比 p 所指数据的地址大 C 字节 A 1 B 2 C 4 D 8 8 假定 a 为一个字符数组名 则 a 8 的地址比该数组的首地址大 B 个字节 A 4 B 8 C 16 D 32 9 假定 a 为一个数组名 则下面的 B 表示有错误 A a i B a C a D a 1 10 用 calloc 函数创建具有 10 个整型元素的一维数组的正确语句是 C A int p calloc 10 2 B int p callo 10 C int p calloc 10 4 D int p malloc 10 11 假定变量 m 定义为 int m 7 则定义 p 的正确语句为 B A int p B int p C int D int p m 12 假定 k 是一个 double 类型的变量 则定义变量 p 的正确语句为 B A double p B double p C double D char p Thank you 13 假定一条定义语句为 int a 10 x pa a 若要把数组 a 中下标为 3 的元素赋值给 x 则不正确的语句为 D A x pa 3 B x a 3 C x a 3 D x pa 3 14 假定有定义 int b 10 int pb 则不正确的赋值语句为 D A pb b B pb C pb b 2 D pb b 5 15 假定指针变量 p 定义为 int p new int 100 要释放 p 所指向的动态内存 应使用 语句 A C 语言程序设计形成性考核册 共25页 14 A delete p B delete p C delete D delete p 16 假定指针变量 p 定义为 int p calloc 30 sizeof int 要释放 p 所指向的动态内存 应使用语句 D A delete p B delete p C free p D free p 二 填空题二 填空题 1 在 C 语言中 一个函数由函数头和 函数体 组成 2 在函数外定义的变量称为全局变量 若没有被初始化则系统隐含对它所赋的初值为 0 3 如果一个函数只允许同一程序文件中的函数调用 则应在访函数定义前加上的 C 保留 字为为 static 4 如果一个函数直接或间接地调用自身 这样的调用被称为 递归 调用 5 调用系统函数时 要先使用 include 命令包含该函数的原型语句所在 头 文件 6 函数形参的作用域是该函数的 内部 7 假定 p 所指对象的值为 25 p 1 所指对象的值为 46 则 p 的值为 25 8 假定 p 所指对象的值为 25 p 1 所指对象的值为 46 则 p 的值为 46 9 假定 p 所指对象的值为 25 p 1 所指对象的值为 46 则执行 p 语句后 p 所 指对象的值为 46 10 假定 a 是一个指针数组 则 a 1 所指对象的地址比 a 地址大 4 字节 11 若要把一个整型指针 p 转换为字符指针 则采用的强制转换表达式为 char p 12 假定一个数据对象为 int 类型 则指向该对象的指针类型为 int 13 假定 p 是一个指向整数对象的指针 则用 break case B case b printf GG break case C case c printf PP break default printf BB break void main char a1 b a2 C a3 f SB a1 SB a2 SB a3 SB A printf n C 语言程序设计形成性考核册 共25页 15 输出结果为 输出结果为 GGPPBBWW Press any key to continue 2 include include double SD int a int b char op double x switch op case x a b break case x a b break case x a b break case if b x double a b else exit 1 break default 运算符错 n exit 1 return x void main int x 20 y 8 printf 3 2lf SD x y printf 3 2lf SD x y printf 3 2lf SD x y 输出结果为 输出结果为 12 00 160 00 2 50 Press any key to continue 3 include void WF int x int y x x y y x y printf subs x y d d n x y void main int x 18 y 23 printf main x y d d n x y WF x y x 2 x printf main x y d d n x y C 语言程序设计形成性考核册 共25页 16 输出结果为 输出结果为 main x y 18 23 subs x y 41 64 main x y 36 23 Press any key to continue 4 include include void fun char ss void main char s 15 fun s printf s n s void fun char ss int i n strlen ss for i 0 i n 2 i char c ss i ss i ss n 1 i ss n 1 i c 输出结果为 输出结果为 Press any key to continue 5 include void InsertSort int a int n int i j x for i 1 i 0 j 为 x 顺序向前寻找合适的插入位置 if x a j a j 1 a j else break a j 1 x void main int i int a 6 20 15 32 47 36 28 InsertSort a 6 for i 0 i 6 i printf d a i C 语言程序设计形成性考核册 共25页 17 printf n 输出结果为 输出结果为 47 36 32 28 20 15 Press any key to continue 6 include void main int a 8 3 5 7 9 11 13 15 17 int i p a for i 0 i 8 i printf 5d p if i 1 4 0 printf n 输出结果为 输出结果为 3 5 7 9 11 13 15 17 Press any key to continue 7 include int LA int a int n int i s 0 for i 0 i n i s a i return s void main int a 5 10 15 20 25 30 int b LA a 4 int c LA a 2 3 printf d d n b c 输出结果为 输出结果为 50 60 Press any key to continue 8 include int LB int a int n int i s 1 for i 0 i n i s a return s void main C 语言程序设计形成性考核册 共25页 18 int a 1 2 3 4 2 4 5 2 int b LB a 4 LB printf b d n b 输出结果为 输出结果为 b 184 Press any key to continue 四 写出下列每个函数的功能四 写出下列每个函数的功能 1 include int WB int a int n int x for int i 0 i n i if a i x return 1 return 0 函数功能为 函数功能为 根据整型数组元素中是否能找到整数 x 返回 1 或 0 2 include int WC int a int n int k int c 0 for int i 0 i k c return c 函数功能为 函数功能为 返回数组中前 n 个其值大于等于 k 的元素个数 3 include include include const int N 10 int ff int x int y int z printf d d x y scanf d if x y z return 1 else return 0 void main int i a b c 0 srand time 0 初始化随机数系列 for i 0 i N i a rand 20 1 rand90 函数产生 0 32767 之间的一个随机数 b rand 20 1 c ff a b C 语言程序设计形成性考核册 共25页 19 printf 得分 d n c 10 函数功能为 函数功能为 函数 ff 让两个数相加 要求输入其和 判断结果是否正确 在主函数中用随机函数产生两 个 20 以内的随机整数 通过 10 次调用这个函数 算对一次得 10 分 计算所得分 4 int fun6 int m int n int b 2 if m b else if m b 0 else return fun6 m n b 函数功能为 函数功能为 此函数带有一个默认参数 若使用默认值 则通过递归调用 返回前 2 参数的最小公倍数 不使用默认值时 若最后一个参数不小于前 2 个参数 则返回前 2 参数之乘积 否则 通过递归调用 返回前 2 参数最小公倍数的 n 倍数 5 include include void LI int n int a int malloc n sizeof int int i for i 0 i 0 i printf d a i printf n free a 函数功能为 函数功能为 将从键盘输入的 n 个整数逆序输出 6 include int LK double a int n double s 0 int i m 0 for i 0 i n i s a i s n for i 0 i s m return m 函数功能为 函数功能为 求不小于数组元素之平均值的元素个数 C 语言程序设计形成性考核册 共25页 20 C 语言程序设计形成性考核语言程序设计形成性考核 作业四作业四 一 选择题一 选择题 1 假定有 struct BOOK char title 40 float price struct BOOK book 则不正确的语句 为 A A struct BOOK x malloc book B struct BOOK x C Programming 27 0 C struct BOOK x malloc sizeof BOOK D struct BOOK x 2 假定有 struct BOOK char title 40 float price book 则正确的语句为 B A struct BOOK x B struct BOOK x C struct BOOK x calloc BOOK D struct BOOK x BOOK 3 表示文件结束的符号常量为 C A eof B Eof C EOF D feof 4 C 语言中系统函数 fopen 是 D 一个数据文件的函数 A 读取 B 写入 C 关闭 D 打开 5 从一个数据文件中读入以换行符结束的一行字符串的函数为 B A gets B fgets C getc D fgetc 6 向一个二进制文件写入信息的函数 fwrite 带有 D 参数 A 1 B 2 C 3 D 4 二 填空题二 填空题 1 假定一个结构类型的定义为 struct A int a b A c 则该类型的大小为 12 字节 2 假定一个结构类型的定义为 struct B int a 5 char b 则该类型的大小为 24 字 节 3 假定一个结构类型的定义为 struct D int a union int b double c struct D d 2 则 该类型的大小为 20 字节 4 假定要动态分配一个类型为 struct Worker 的具有 n 个元素的数组 并由 r 指向这个动态 数组 则使用语句的表达式为 struct Worker r Worker malloc n sizeof Worker 5 假定要访问一个结构 x 中的由 a 指针成员所指向的对象 则表示方法为 x a 6 假定要访问一个结构指针 p 所指向对象中的 b 指针成员所指的对象 则表示方法为 p b 7 与结构成员访问表达式 fp score 等价的表达式是 fp score 三 写出下列每个程序运行后的输出结果三 写出下列每个程序运行后的输出结果 1 include C 语言程序设计形成性考核册 共25页 21 struct Worker char name 15 姓名 int age 年龄 float pay 工资 void main struct Worker x wanghua 52 23 50 struct Worker y p y x p printf s d 6 2f n y name y age y pay printf s d 6 2f n p name p age p pay 输出结果为 输出结果为 wanghua 52 23 50 wanghua 52 23 50 Press any key to continue 2 include include struct Worker char name 15 姓名 int age 年龄 float pay 工资 void main struct Worker x char t louting int d 38 float f 493 strcpy x name t x age d x pay f x age x pay 2 printf s d 6 2f n x name x age x pay 输出结果为 输出结果为 louting 39 986 00 Press any key to continue 3 include include struct Worker char name 15 姓名 int age 年龄 float pay 工资 C 语言程序设计形成性考核册 共25页 22 int Less struct Worker r1 struct Worker r2 if r1 age r2 age return 1 else return 0 void main struct Worker a 4 abc 25 420 def 58 638 ghi 49 560 jkl 36 375 struct Worker x a 0 int i for i 1 i 4 i if Less x a i x a i printf s d 6 2f n x name x age x pay 输出结果为 输出结果为 def 58 638 00 Press any key to continue 四 写出下列每个函数的功能四 写出下列每个函数的功能 1 void QA struct Worker a int n int i for i 0 i n i scanf s d f 假定结构 struct Worker 的定义如下 include include incl

温馨提示

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

评论

0/150

提交评论