




已阅读5页,还剩51页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
习题 1 C 语言基础知识 一 选择题 1 一个 C 程序由若干个 C 函数组成 各个函数在文件中的位置为 A 任意 B 第一个函数必须是主函数 其他函数任意 C 必须完全按照顺序排列 D 其他函数必须在前 主函数必须在最后 2 下列 4 个叙述中 正确的是 A C 程序中的所有字母都必须小写 B C 程序中的关键字必须小写 其他标识符不区分大小写 C C 程序中的所有字母都不区分大小写 D C 语言中的所有关键字必须小写 3 下列 4 个叙述中 错误的是 A 一个 C 源程序必须有且只有一个主函数 B 一个 C 源程序可以含零个或多个子函数 C 在 C 源程序中注释说明必须位于语句之后 D C 源程序的基本结构是函数 4 下面属于 C 语言关键字的是 A intB typedefC enum D union 5 以下叙述不正确的是 A 分号是 C 语句的必要组成部分 B C 程序的注释可以写在语句的后面 C 函数是 C 程序的基本单位 D 主函数的名字不一定用 main 表示 6 C 语言中允许的基本数据类型包括 A 整型 实型 逻辑型 B 整型 实型 字符型 C 整型 字符型 逻辑型 D 整型 实型 逻辑型 字符型 7 C 语言中能用八进制表示的数据类型为 A 字符型 整型 B 整型 实型 C 字符型 实型 双精度型 D 字符型 整型 实型 双精度型 8 下列属于 C 语言合法字符常数的是 A 97 B A C t D 0 9 在 C 语言中 5 种基本数据类型的存储空间长度的排列顺序为 A char int long int float doubleB char int long int float double C char int long int float doubleD char int long int float double 10 在 C 语言中 合法的长整型常数是 A 0L B 4962710 C 0412765 D 0 xa34b7fe 11 若有以下定义语句 char c1 b c2 e printf d c n c2 c1 c2 a A 则输出结果 是 A 2 M B 3 E C 2 E D 输出项与相应的格式控制不一致 输出结果不确定 12 以下赋值语句合法的是 A x y 100 B d C x y D c int a b 13 设变量 t 为 int 型 下列选项中不正确的赋值语句是 A t B n1 n2 n3 0 C k i m D a b c 1 14 在以下一组运算符中 优先级最高的是 A B C D 的输出结果是 A 无输出B 结果不确定 C 1 D 1 二 填空题 1 若有以下定义语句 int u 010 v 0 x10 w 10 printf d d d n u v w 则输出结 果是 2 下面程序的输出结果是 main unsigned a 32768 printf a d n a 3 下面程序的输出结果是 main int k 11 printf k d k o k x n k k k 4 若有以下定义语句 int a 5 printf d n a 则输出结果是 5 设 x 为 int 型变量 执行以下语句 x 10 x x x x 则 x 的值为 6 若定义 x 和 y 为 double 型变量 则表达式 x 1 y x 3 2 的值是 7 若 t 为 double 型变量 表达式 t 1 t 5 t 的值是 8 表达式 10 9 的值是 9 设 x y z 和 t 均为 int 型变量 执行以下语句 x y z 1 t x y 后 t 的值为 10 若 a 1 b 2 c 3 d 4 则表达式 a b a cb a d b d a b 12 假定 w x y z 和 m 均为 int 型变量 下面程序执行后 m 的值为 w 1 x 2 y 3 z 4 m w x w x m m y m y m m z m z 13 语句 printf a bre hi y bou n 的输出结果是 14 以下程序的输出结果是 main unsigned short a 65536 int b printf d n b a 15 若有定义 int a 10 b 9 c 8 接着顺序执行下列语句后 变量 b 的值为 c a b 5 c a 11 b 3 16 设 x 和 y 均为 int 型变量 且 x 1 y 2 则表达式 1 0 x y 的值为 17 语句 x x x x 1 和 x 1 x 执行后都使变量 x 的值增 1 请写出一条同一 功能的赋值语句 不得与列举相同 18 表示 整数 x 的绝对值大于 5 时值为 真 的 C 语言表达式是 19 设 y 是 int 型变量 请写出判断 y 为奇数的关系表达式 20 若定义 int a 25 b 14 c 19 以下语句的执行结果是 a 25 21 设有以下定义 并赋予了确定的值 char w int x float y double z 则表达式 w x z y 所求得值的数据类型为 22 设有 int 11 表达式 x 1 3 的值为 23 设定义 int x 1 y 1 则表达式 x y 的值是 24 若有以下程序段 int c1 1 c2 2 c3 c3 1 0 c2 c1 执行后 变量c3 的值为 25 下列程序的输出结果是 16 00 请将程序填写完整 main int a 9 b 2 float x y 1 1 z z a 2 b x y 1 2 printf 5 2f n z 26 设 x 和 y 均为 int 型变量 且 x 10 和 y 3 则以下语句的输出结果是 printf d d n x y 27 下列程序的输出结果是 main int a 1 b 4 k a 0 printf d d n k a b 28 下列程序的输出结果是 main double d 3 2 int x y x 1 2 y x 3 8 5 0 printf f n d y 29 下列程序的输出结果是 main double d float f long l int j j f l d 20 3 printf d ld f f n j l f d 30 下列程序的输出结果是 main int a 1 b 2 a b b a b a b printf d d n a b 习题 2 顺序结构 一 选择题 1 下面程序的输出结果是 main int k 11 printf k d k o k x n k k k A k 11 k 12 k 13B k 11 k 13 k 13 C k 11 k 013 k oXbD k 11 k 13 k b 2 以下合法的 C 语言赋值语句是 A a b 58B k int a b C a 58 b 58D i 3 以下程序的输出结果是 main int x 10 y 3 printf d n y x y A 0B 1C 3D 不确定 4 若变量已正确说明为 int 类型 要给 a b c 输入数据 以下正确的输入语句是 A read a b c B scanf d d d a b c C scanf D D D a b c D scanf d d d 5 执行下面程序段后 c3 中的值是 int c1 1 c2 2 c3 c3 c1 c2 A 0B 1 2C 0 5D 1 6 若执行以下程序段 其输出结果是 int a 0 b 0 c 0 c a a 5 a b b 3 printf d d d n a b c A 3 0 10B 0 0 5C 10 3 10D 3 0 3 7 以下程序段的输出结果是 float a 57 666 printf 010 2f n a A 0000057 66 B 57 66 C 0000057 67 D 57 67 8 若有以下说明和语句 int a 5 a 此处表达式 a 的值是 A 7B 6C 5D 4 9 若有以下语句 char c1 b c2 e printf d c n c2 c1 c2 a A 则输出结果是 A 2 MB 3 E C 2 eD 输出结果不确定 10 以下程序的输出结果是 main int x 10 y 10 printf d d n x y A 10 10B 9 9C 9 10D 10 9 11 在 C 语言中 如果下面的变量都是 int 类型 则输出结果是 sum pad 5 pAd sum pAd pAd printf d n pad A 7B 6C 5D 4 12 以下程序的输出结果是 include main int i 010 j 10 printf d d n i j A 11 10B 9 10C 010 9D 10 9 13 以下程序的输出结果是 int i 65536 printf d n i A 65535B 0 C 有语法错误 无输出结果 D 1 14 已知字符 A 的 ASCII 码为十进制的 65 下面程序的输出结果是 main char ch1 ch2 ch1 A 5 3 ch2 A 6 3 printf d c n ch1 ch2 A 67 DB B CC C DD 不确定的值 15 若有以下语句 char s 10 s abcd printf d n s 则输出结果是 A abcdB aC adcbD 编译不能通 过 16 若有定义 int x y char a b c 并输入以下数据 此处代表换行 1 2 A B C 则能给 X 赋整数值 1 给 Y 赋数 2 给 a 赋字符 A 给 b 赋字符 B 给 c 赋字符 C 的 正确程序段是 A scanf x d y d a getchar c getchar B scanf d d a getchar b getchar c getchar C scanf d d c c c D scanf d d c c c c c c 17 两次运行下面的程序 如果从键盘上分别输入 6 和 4 则输出结果是 main int x scanf d if x 5 printf d x else printf d n x A 7 和 5B 6 和 3C 7 和 4D 6 和 4 18 若执行下面的程序 从键盘输入 3 和 4 则输出结果是 main int a b s scanf d d s a if a b s b s s s printf d n s A 14B 16C 18D 20 19 设 i 是 int 型变量 f 是 float 型变量 用下面的语句给这两个变量输入值 scanf i d f f 为了将 100 和 765 12 分别赋给 i 和 f 则正确的输入为 A 100765 12B i 100 f 765 12 C 100765 12D x 100 y 765 12 20 以下程序的输出结果是 include main printf d n NULL A 不确定B 0C 1D 1 二 填空题 1 复合语句在语法上被认为是 空语句的形式是 2 ms 表示如果串长 m 则在 m 列范围内 字符串向 靠 补空格 3 如果想输出字符 则应该在 格式控制 字符串中用 表示 4 printf 函数的 格式控制 包括两部分 分别是 和 5 符号 表达式 2 表达式 3 改写为等价的 while 语句为 11 语句标号由标识符表示 由 和 组成 第一个字符必 须是字母或下划线 12 函数中的 格式控制 后面应当是 而不是 13 while 语句的特点是 do while 语句的特点是 14 分析下面的程序 main int x y x 16 y x x printf d n y x 15 printf d d n x x x 20 y x x printf d n y x 13 printf d d x x 程序的输出结果是 15 下列程序的输出结果是 include stdio h main char b ABCDEFG char chp while chp putchar n 三 编程题 1 编写程序 输入两个整数 1 500 和 350 输出它们的商和余数 2 编写程序 读入 3 个整数赋给 a b c 然后交换它们中的数 将 a 中原来的值赋 给 b b 中原来的值赋给 c c 中原来的值赋给 a 且输出改变的 a b c 的值 3 输入两个整型变量 a b 的值 输出 a b a b a b a b float a b a b 的结果 要求连同算式一起输出 每个算式占一行 例如 a 等于 10 b 等于 5 则 a b 的结果输出为 10 5 15 4 输入一个非负数 计算以这个数为半径的圆周长和面积 5 输入任意一个 3 位数 将其各位数字反序输出 例如 输入 123 输出 321 6 输入任意大小的 3 个整数 判断其中是否有两个奇数一个偶数 若是 则输出 YES 不是 则输出 NOT 要求用条件表达式进行判断 不使用 if 语句 7 求前驱字符和后继字符 输入一个字符 找出它的前驱字符和后继字符 并按 ASCII 码值 从大到小的顺序输出这 3 个字符及其对应的 ASCII 码值 习题 3 选择结构和循环结构 一 选择题 1 有以下程序 main int i for i 0 ib c printf d n d else if c 1 d 1 printf d n d 1 else printf d n d 2 执行后 输出结果是 A 2B 3 C 4D 编译时有错 无结果 4 有以下程序 main int i 0 s 0 do if i 2 i continue i s i while ib a c a c b A 5B 4C 6D 不确定 6 以下程序中 while 循环的循环次数是 main int i 0 while i 10 if i 1 continue if i 5 break i A 1B 10 C 6D 死循环 不能确定次数 7 以下程序的输出结果是 main 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 31B 13C 10D 20 8 以下程序的输出结果是 main int a 4 b 5 c 0 d d a printf d n d A 1B 0C 非 0 的数D 1 9 以下程序的输出结果是 include main int i 0 a 0 while i 20 for if i 10 0 break else i i 11 a i printh d n a A 21B 32C 33D 11 10 阅读以下程序 main int x scanf d if x 5 printf d x else printf d x 程序运行后 如果从键盘上输入 5 则输出结果是 A 3B 4C 5D 6 11 假定 w x y z m 均为 int 型变量 有如下程序段 w 1 x 2 y 3 z 4 m w x w x m m y m y m m z m z 则该程序运行后 m 的值是 A 4B 3C 2D 1 12 以下程序的输出结果是 main int a b for a 1 b 1 a 10 break if b 3 1 b 3 continue printf d n a A 101B 6C 5D 4 13 若执行以下程序时 从键盘上输入 9 则输出的结果是 main int n scanf d if n 10 printf d n n else printf d n n A 11B 10C 9D 8 14 有以下程序段 int k 0 while k 1 k while 循环执行的次数是 A 无限次B 有语法错误 不能执行 C 一次也不执行D 执行 1 次 15 以下程序执行后 sum 的值是 main int i sum for i 1 i 6 i sum i printf d n sum A 15B 14C 不确定D 0 16 有以下程序段 int x 3 do printf d x 2 while x 其输出结果是 A 1B 3 0C 1 2D 死循环 17 若变量 c 为 char 类型 能正确判断出 c 为小写字母的表达式是 A a c a c z C a c D c a char z a printf d n xy i printf d d x y A 10 1 9 2B 9 8 7 6C 10 9 9 0D 10 10 9 0 20 以下程序的输出结果是 main int i for i 1 i 6 i if i 2 printf continue printf printf n A B C D 21 以下程序的输出结果是 main int i for i A i5 print d n m else printf d n m A 7B 6C 5D 4 23 运行以下程序后 如果从键盘上输入 china 后回车 则输出结果为 include main int v1 0 v2 0 char ch while ch getchar switch ch case a case h default v1 case 0 v2 printf d d n v1 v2 A 2 0B 5 0C 5 5D 2 5 24 设有如下定义 int a 1 b 2 c 3 d 4 m 2 n 2 则执行表达式 m a b for i 0 i 2 i x for j 0 j 3 j if j 2 continue x x printf x d n x A x 4B x 8C x 6D x 12 26 设 x 和 y 均为 int 型变量 则执行下的循环后 y 值为 for y 1 x 1 y 50 y if x 10 break if x 2 1 x 5 continue x 3 A 2B 4C 6D 8 27 假定 a 和 b 为 int 型变量 则执行以下语句后 b 的值为 a 1 b 10 do b a a while b 3 j if j 3 j j j printf d j A 6 3B 7 4C 6 2D 7 3 29 以下程序的输出结果是 main int x i for i 1 i 50 i x i if x 2 0 x if x 3 0 x if x 7 0 x printf d i A 28B 27C 42D 26 30 假定所有变量均已正确说明 下列程序段运行后 x 的值是 a b c 0 x 35 if a x else if b if c x 3 else x 4 A 34B 4C 35D 3 二 填空题 1 若有以下程序 main int p a 5 if p a 0 printf d n p else printf d n p 2 执行后 输出结果是 2 若有以下程序 main int a 4 b 3 c 5 t 0 if a b t a a b b t if a c t a a c c t printf d d d n a b c 执行后 输出结果是 3 以下程序运行后的输出结果是 main int a 1 b 3 c 5 if c a b printf yes n else printf no n 4 以下程序运行后的输出结果是 main int i m 0 n 0 k 0 for i 9 i 11 i switch i 10 case 0 m n break case 10 n break default k n printf d d d n m n k 5 执行以下程序后 输出 号的个数是 include main int i j for i 1 i 5 i for j 2 j50 printf d a if a 40 printf d a if a 30 printf d a 7 以下程序输出的结果是 main int a 5 b 4 c 3 d d a b c printf d n d 8 以下程序的输出结果是 main int s i for s 0 i 1 i2 printf d n j 10 设有以下程序 main int n1 n2 scanf d while n2 0 n1 n2 10 n2 n2 10 printf d n1 程序运行后 如果从键盘上输入 1298 则输出结果为 11 下列程序段的输出结果是 int n c switch n default printf error break case a case A case b case B printf good break case c case C printf pass case d case D printf warn 12 下面程序输出结果是 main int x 1 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 a d b d n a b 13 程序执行后的输出结果是 main int x 0 y 5 z 3 while z 0 else if c 1 d 1 printf d n d 1 else printf d n d 2 17 当 a 1 b 3 c 5 d 4 时 执行完下面的一段程序后 x 的值是 if a b if c d x 1 else if a c if b d x 2 else x 3 else x 6 else x 7 18 下列程序段的输出结果是 int k s for k 0 s 0 kk break else s k printf k d s d k s 19 输入 c2470f 后 下列程序的输出结果是 include main char ch long number 0 while ch getchar 6 while ch printf ld number ch getchar 20 输入 4后 下列程序的输出结果是 include main int j k n float f s scanf d s 0 f 1 for k 1 k n k for j 1 j k j f f k s s f printf 0f s 21 下面程序的功能是 输出 100 以内能被 3 整除且个位数为 6 的所有整数 请填空 include main int i j for i 0 i j i 10 6 if continue printf d j 22 下面程序的功能是求 1 2 3 4 5 请填空 main int i j f sum 0 for i 1 i 5 i f 1 for j 1 j sum sum f printf 5 d sum 23 以下程序可判断输入的一个整数是否能被 3 或 7 整除 若能整除 输出 yes 否则输出 no 请填空 include main int k printf Enter a int number scanf d if printf yes n else printf 24 以下程序将从读入的整数数据中 统计大于零的整数个数和小于零的整数个数 用输入零来结束输入 程序中用 i 统计大于零的个数 用变量 j 统计小于零的整数 请填 空 main int n i j printf Enter INT numbers with 0 to end n i j 0 scanf d while if n 0 i if n 0 j printf i 4d j 4d n i j 25 如果一个数各位数的立方和等于它本身 则这样的数称为水仙花数 求 100 999 中所有的水仙花数 请填空 main int i a b c for i 100 i 999 i a i 100 b c i 10 if printf 5d i 26 输入一个正整数 n 计算并输出 s 前 n 项的和 请填空 S 1 1 2 1 3 1 4 1 5 1 6 include main int k flag n float s flag 1 s 0 scanf d for k 1 k n k s s printf sum fn s 27 输出下列图形 请填空 1 2 3 4 5 6 7 8 9 2 3 4 5 6 7 8 9 3 4 5 6 7 8 9 4 5 6 7 8 9 5 6 7 8 9 6 7 8 9 7 8 9 8 9 9 main int i j for i 1 i i for j jamax amax x if x amin amin x scanf f printf namax f namin f n amax amin 29 下面程序的功能是计算 1 10 之间的奇数之和与偶数之和 请填空 main int a b c i a c 0 for i 0 i 10 i 2 a 2 c b printf 偶数之和 d n a printf 奇数之和 d n 30 以下程序用 辗转相除法 求出两个正整数的最大公约数 请填空 若两个数分 别放在 m 和 n 中 求最大公约数的算法如下 1 将两数中最大的放在 m 中 小的放在 n 中 2 求出 m 被 n 除后的余数 r 3 若余数为 0 则执行步骤 7 否则执行步骤 4 4 将除数作为新的被除数 将余数作为新的除数 5 求出新的余数 r 6 重复步骤 3 5 7 输出 n n 即为最大公约数 main int r m n t printf Enter m n scanf d d printf m d n d n m n if m15 最小的 N 值 并输出各项之和 s 的值 7 铁路托运行李规定 行李重不超过 50 公斤的 托运费按每公斤 0 15 元计费 如超 过 50 公斤 超过部分每公斤加收 0 10 元 编写程序完成自动计费工作 8 相邻两个奇数都为素数的一对数叫双胞胎素数 输出100 200 之间的所有双胞胎素 数 9 输入一串字符以 结束 如果它是大写字母转换为小写字母输出 如果是小写 字母转换为大写字母输出 如果不是字母 则照原样输出 10 输入一个 4 位数 要求将它的千位 百位 十位 个位上的数字按由小到大排列 输出一个新数 例如 输入 4287 则输出为 2478 11 输入两门课的成绩 如果两门成绩都在 60 分以上 则输出 it is pass 只要有 一门低于 60 分就输出 it is not pass 如果输入的任何一门成绩不在 0 100 范围内则输出 it is error 要求用 switch 语句来编程 12 求任一数字所有因子的组合 仅限两个因子 且不可重复输出 例如 15 1 15 15 3 5 而 15 5 3 15 15 1 就不用输出 13 从键盘输入几个数 以 0 作为结束标志 判断其正负 并求其平方和 14 编写一个译码程序 将一个英语句子译成数字代码 译码规则是以数字 1 代替字 母 a 数字 2 代替字母 b 26 代替字母 z 以数字 27 代替字母 A 数字 28 代替字母 B 42 代替字母 Z 如遇空格则打印一个星号 英文句子以 结束 15 求所有个位 十位 百位数字能组成一个三角形 3 边的 3 位数 注意 三角形任 意两边之和大于第三边 习题 4 函 数 一 选择题 1 建立函数的目的之一是 A 提高程序的执行效率B 提高程序的可读性 C 减少程序的篇幅D 减少程序文件所占内存 2 以下正确的说法是 A 用户若需调用标准函数 调用前必须重新定义 B 用户可以重新定义标准库函数 若如此 该函数将失去原有含义 C 系统根本不允许用户重新定义标准函数 D 用户若需要调用标准库函数 调用前不必使用预编译命令将该函数所在文件包 括到用户源文件中 系统自动去调用 3 在 C 语言中 以下说法正确的是 A 普通实参和与其对应的形参各占用独立的存储单元 B 实参和与其对应的形参共占用一个存储单元 C 只有当实参和与其对应的形参同名时才共占用存储单元 D 形参是虚拟的 不占用存储单元 4 若调用一个函数 且此函数中没有 return 语句 则关于该函数正确的说法是 A 没有返回值 B 返回若干个系统默认值 C 能返回一个用户所希望的函数值 D 返回一个不确定的值 5 在 C 语言中以下不正确的说法是 A 实参可以是常量 变量 或表达式 B 形参可以是常量 变量或表达式 C 实参可以为任意类型 D 形参应与其对应的实参类型一致 6 以下程序有语法性错误 有关错误原因的正确说法是 main int G 5 k void prt char k prt char G A 语句 void prt char 有错 它是函数调用语句 不能用 void 说明 B 变量名不能使用大写字母 C 函数说明和函数调用语句之间有矛盾 D 函数名不能使用下划线 7 有关函数调用 以下错误的描述是 A 出现在执行语句中B 出现在一个表达式中 C 作为一个函数的实参D 作为一个函数的形参 8 以下正确的说法是 A 函数的定义可以嵌套 但函数的调用不可以嵌套 B 函数的定义不可以嵌套 但函数的调用可嵌套 C 函数的定义和调用均不可以嵌套 D 函数的定义和调用均可以嵌套 9 若使用一维数组名作函数实参 则以下正确的说法是 A 必须在主调函数中说明此数组的大小 B 实参数组类型与形参数组类型可以不匹配 C 在被调用函数中 不需要考虑形参数组的大小 D 实参数组名与形参数组名必须一致 10 如果在一个函数中的复合语句中定义了一个变量 则有关该变量说法正确的是 A 只在该复合语句中有效 B 在该函数中有效 C 在本程序范围中均有效 D 为非法变量 二 填空题 1 折半查找法的思路是 先确定待查元素的范围 将其分成两半 然后测试位于中间 点元素的值 如果该待查元素的值大于中间点元素 就缩小待查范围 只测试中点之后的 元素 反之 测试中点之前的元素 测试方法同前 函数 binary 的作用是应用折半查找法 从存有 10 个整数的 a 数组中对关键字 m 进行查找 若找到 返回其下标值 反之 返回 1 请填空 binary int a 10 int m int low 0 high 9 mid while low high mid low high 2 if m a mid else if m a mid else return mid return 1 2 以下程序的运行结果是 define MAX 10 int a MAX i main printf n sub1 sub3 a sub2 sub3 a sub2 int a MAX i max max 5 for i 0 i max i a i i sub1 for i 0 i MAX i a i i i sub3 int a int i for i 0 i MAX i printf d a i printf n 3 下面程序的运行结果是 void num extern int x y int a 15 b 10 x a b y a b int x y main int a 7 b 5 x a b y a b num printf d d n x y 4 以下程序的运行结果是 main int a 2 i for i 0 i 3 i printf 4d f a f int a int b 0 static int c 3 b c return a b c 5 如果输入的值是 125 以下程序的运行结果是 include main int n scanf d printf d n if n 0 printf n fabs n fun n fun int n int k r for k 2 k1 printf r n k if n 1 printf d n n 6 以下程序的运行结果是 main increment increment increment increment int x 0 x 1 printf d x 7 以下 check 函数功能是对 value 中的值进行四舍五入计算 若计算后的值与 ponse 值相等 则显示 well done 否则显示计算后的值 已有函数调用语句 check ponse value 请 填空 void check int ponse float value int val val printf 计算后的值 d val if printf nwell done n else printf nsorry the correct answer is d n val 8 若输入一个整数 10 以下程序的运行结果为 main int a e 10 c i 0 scanf d while a 0 c sub a a a 2 e i c i for i 0 i printf d e i 1 sub int a int c c a 2 return c 9 已有函数 pow 现要求取消变量 i 后 pow 函数的功能不变 请填空 修改前的 pow 函数 pow int x int y int i j 1 for i 1 iy else if return y else return z main int x1 x2 x3 i 1 j x0 printf input 3 numbers scanf d d d x0 max x1 x2 x3 while 1 j x0 i if break i i 1 printf the is d d d zuixiaogongbei is d n x1 x2 x3 11 以下程序的运行结果是 main int x 2 y 3 z 0 printf x d y d z d n x y z add x y z printf x d y d z d n x y z add int x int y int z z x y x x x y y y printf x d y d z d n x y z 12 下面函数 pi 的功能是 根据以下公式 返回满足精度 0 0005 要求的 值 请填空 2 1 1 3 1 3 2 5 1 3 2 5 3 7 1 3 2 5 3 7 4 9 double pi double eps double s t int n for t eps n s t t n t 2 n 1 return main double x scanf lf printf neps lf lf x pi x 13 下面程序运行结果是 long fib int g switch g case 0 return 0 case 1 case 2 return 1 return fib g 1 fib g 2 main long k k fib 7 printf k d n k 14 以下程序的运行结果 f int a int i 0 while a i 10 printf d a i i main int a 1 5 10 9 11 7 f a 1 15 以下程序的运行结果为 main int a 3 3 1 3 5 7 9 11 13 15 17 sum sum func a printf nsum d n sum func int a 3 int i j sum 0 for i 0 i 3 i for j 0 j 3 j a i j i j if i j sum sum a i j return sum 16 已定义一个含有 30 个元素的数组 函数 fav1 的功能是按顺序分别赋予各元素从 2 开始的偶数 函数 fav2 按顺序每 5 个元素求一个平均值 并将该值存放在数组 w 中 请 填空 define SIZE 30 fav1 float s int k i for k 2 i 0 i SIZE i k 2 fav2 float s float w float sum int k i sum 0 0 for k 0 i 0 i a p for i p 1 ib a b return c main int a 8 printf d max a b 24 以下程序的运行结果是 int n 1 main static int x 5 int y y n printf MAIN x 2d y 2d n 2d n x y n func printf MAIN x 2d y 2d n 2d n x y n func func static int x 4 int y 10 x x 2 n n 10 y y n printf FUNC x 2d y 2d n 2d n x y n 25 以下程序的运行结果是 main increment increment increment increment static int x 0 x 1 printf d x 26 以下程序的运行结果是 main incx incy incx incy incx incy incx int x 0 printf x d t x incy static int y 0 printf ny d n y 27 编写程序输出下列图形 请完成填空 void a int i int j k for j 0 j 7 i j printf for k 0 k k printf printf n main int j for j 0 j 0 j 三 编程题 1 已有变量定义和函数调用语句 int x 57 isprime x 函数 isprime 用来判断一个整型 数是否为素数 若是素数 函数返回 1 否则返回 0 试编写 isprime 函数 2 编写程序 将字符串中的第 m 个字符开始的全部字符复制成另一个字符串 要求 在主函数中输入字符串及 m 的值并输出复制结果 在被调用函数中完成复制 3 从键盘输入一个字符串 然后按要求输出一个新字符串 新串是在原串中 每两个 字符之间插入一个空格 如原串为 abcd 则新串为 abcd 要求在函数 insert 中完成新串的 产生 并在函数中完成所有相应的输入和输出 4 设有一数列 包含 10 个数 已按升序排好 现要求编一程序 它能够把从指定位 置开始的 n 个数按降序重新排列并输出新的完整数列 进行降序处理时要求使用函数 5 编写程序 统计从键盘输入的命令行中第二个函数所包含的英文字符个数 6 编写程序 将字符串 computer 赋给一个字符数组 然后从第一个字母开始间隔地 输出该串 7 有 10 个字符串 在每个字符串中 找出最大字符按一一对应的顺序放入一维数组 a 中 即第i 个字符串中的最大字符放入a i 中 输出每个字符串中的最大字符 要求用函数实现 8 把两个已按升序排列的数组合并成一个升序数组 要求用函数实现 9 下列程序功能是应用下面的近似公式计算 e 的 n 次方 函数 f1 用来计算每项分子 的值 函数 f2 用来计算每项分母的值 试编写两个函数 ex 1 x x 2 2 x 3 3 前两项的和 float f2 int n float f1 int x int n main float exp 1 0 int n x scanf d printf d n x exp exp x for n 2 n 19 n exp exp f1 x n f2 n printf nthe is exp d 8 4f n x exp 10 设计一个程序 在主函数中实现从键盘输入一个大写英文字母 在自定义函数中 要求顺序打印出3 个相邻的字母 指定的字母在中间 如指定的字母为Z 则打印YZA 若 为 A 则打印 ZAB 11 有一数列 该数列的第 1 2 项分别为 0 和 1 以后每个奇数编号的项是前两项和 的绝对值 偶数编号的项是前两项的差的绝对值 生成的 20 个数存在一维数组 x 中 并按 每行 4 项的形式输出 试编程 12 从键盘输入若干整数 其值在 0 4 的范围内 用 1 作为输入结束的标志 统计整 数的个数 通过函数实现 13 从键盘输入两个字符串 a 和 b 要求不用 strcat 把 b 中的前 5 个字符连接到 a 中 如果 b 的长度小于 5 则把 b 的所有元素都连接到 a 中 试编程 习题 5 编译预处理 一 选择题 1 宏定义 define PI 31 14159 中 宏名 PI 代替 A 单精度B 双精度C 常量D 字符串 2 设有以下宏定义 define N 3 define Y n N 1 n 执行语句 z 2 N Y 5 1 后 z 的值为 A 出错B 42C 48D 54 3 以下说法正确的是 A define 和 printf 都是 C 语句 B define 是 C 语句 而 printf 不是 C printf 是 C 语句 但 define 不是 D define 和 printf 都不是 C 语句 4 宏定义的宏展开是在 阶段完成的 A 第一遍编译B 第二遍编译 C 程序执行D 预编译 5 编译预处理命令以 结尾 A B C D 回车 二 填空题 1 程序中有定义 define S r r r int a 4 b 3 area 则表达式 area S a b 的值为 2 若有以下宏定义 define STR d c define A 97 已知字符 a 的 ASCII 码值为 97 则语句 printf STR A A 2 的输出结果为 3 以下程序的输出结果是 define M x y z x y z main int a 1 b 2 c 3 printf d n M a b b c c a 4 下列程序执行后的输出结果是 define MA x x x 1 main int a 1 b 2 pirntf d n MA 1 a b 5 C 语言中 宏定义的有效范围从定义处开始 到本源程序结束处中止 但可以用 来提前解除宏定义的作用 习题 6 数 组 一 选择题 1 若有以下语句 int a 12 1 2 3 4 5 6 7 8 9 10 11 12 char c a d g 则数值为 4 的表达式是 A a g c B a 4 C a d c D a d c 2 假设 int 型变量占两个字节的存储单元 若有定义 int x 10 0 2 4 则数组 x 在内存中所占字节数为 A 3B 6C 10D 20 3 下列合法的数组定义是 A int a string B int a 5 0 1 2 3 4 5 C char a string D char a 0 1 2 3 4 5 4 若给出以下语句 char x abcdefg char y a b c d e f g 则正确的叙述为 A 数组 x 和数组 y 等价B 数组 x 和数组 y 的长度相同 C 数组 x 的长度大于数组 y 的长度D 数组
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年从入门到精通香席制作技艺全攻略含试题解析
- 2025年人力资源公司招聘专员模拟面试题及参考答案
- 2025年出版物发行零售项目发展计划
- 护理操作培训知识点课件
- 消毒供应中心医院感染管理
- 2025年科研合作协议书
- 抢救车及抢救药品课件
- 2025年吡虫啉项目发展计划
- 2025年智能小区(楼)系统项目建议书
- 2025年玉米新组合项目合作计划书
- 2025-2026学年湘教版(2024)初中数学八年级上册教学计划及进度表
- GB/T 45763-2025精细陶瓷陶瓷薄板室温弯曲强度试验方法三点弯曲或四点弯曲法
- 【MOOC】理解马克思-南京大学 中国大学慕课MOOC答案
- GB308-2002滚动轴承钢球
- 夹芯彩钢复合板吊顶施工方案
- 剪映入门教程PPT
- 高二物理培优计划
- 高标准农田建设项目施工组织设计 (6)
- 初中英语阅读理解100篇
- 齿轮的设计计算PPT学习教案
- 定稿咳嗽咳痰咯血
评论
0/150
提交评论