C语言全部考试系统题库含答案_第1页
C语言全部考试系统题库含答案_第2页
C语言全部考试系统题库含答案_第3页
C语言全部考试系统题库含答案_第4页
C语言全部考试系统题库含答案_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

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

文档简介

精品文档 1欢迎下载1欢迎下载 目录目录 目录 1 单元练习题一 C 语言基础知识 3 一 判断题 3 二 单项选择题 4 三 读程序选择题 7 四 程序填空题 8 五 编程题 10 单元练习题二 C 语言程序结构 10 一 判断题 10 二 单项选择题 11 三 读程序选择题 18 四 程序填空题 30 五 编程题 35 单元练习题三 数组 36 一 判断题 36 二 单项选择题 37 三 读程序选择题 39 四 程序填空题 43 五 编程题 49 单元练习题四 函数 49 一 判断题 49 二 单项选择题 50 三 读程序选择题 52 四 程序填空题 60 五 编程题 63 单元练习题五 预处理 63 一 判断题 63 二 单项选择题 64 三 读程序选择题 64 四 程序填空题 65 五 编程题 65 单元练习题六 指针 66 一 判断题 66 二 单项选择题 66 三 读程序选择题 67 四 程序填空题 74 五 编程题 77 单元练习题七 结构体与共用体 78 一 判断题 78 二 单项选择题 78 精品文档 2欢迎下载2欢迎下载 三 读程序选择题 79 四 程序填空题 83 五 编程题 83 单元练习题八 文件 84 一 判断题 84 二 单项选择题 84 三 读程序选择题 84 四 程序填空题 85 五 编程题 87 精品文档 3欢迎下载3欢迎下载 第一章第一章 C C 语言基础知识语言基础知识 C C 语言概述 算法 数据类型语言概述 算法 数据类型 运算符运算符 表达式 位运算 表达式 位运算 一 一 判断题判断题 正确的填正确的填 A A 错误的填 错误的填 B B R1 在 C 语言中 逗号运算符的优先级最低 A 2 在 语言可执行程序的开始执行点是程序中第一个函数 B 3 5ch 是合法的变量名 B 4 C 语言程序书写格式自由 一行内可以写几个语句 一个语句可以分写在多 行上 A 5 当输入数据时 必须指明变量的地址 如 scanf f a 7 floatfloat x 2 5 x 2 5 y 4 7 y 4 7 则表达式则表达式 x a 3 int x a 3 int x y 4 x y 4 的值是 的值是 A A 2 752 75 B B 3 53 5 C C 2 52 5 D D 0 0 19 设 int m 1 n 2 则 m n 的结果是 A 0 B 1 C 2 D 3 N20 若变量已定义并赋值 下列符合 C 语法的表达式是 A a b 1B a b c 2 C int 18 5 3D a a 7 c b R 3 在 C 程序中 设一表达式中包含有 int long unsigned 和 char 类型的 变量和数据 则表达式最后的运算结果类型是 A int B char C unsigned D long R21 C 语言中基本的数据类型包括 A 整型 实型 逻辑型 B 整型 实型 字符型 C 整型 字符型 逻辑型 D 整型 实型 逻辑型 字符型 精品文档 6欢迎下载6欢迎下载 N22 若定义 x 和 y 为 double 类型 则表达式 x 2 y x 5 2 的值是 A 4 B 4 5 C 4 0 D 3 0 23 在以下运算符中 优先级最高的运算符是 A B C 则表达式 z x 5 2 y 的值是 A 7 B 7 5 C 17 D 19 5 6 以下说法中正确的是 A C 语言程序总是从第一个定义的函数开始执行 B 在 C 语言程序中 要调用的函数必须在 main 函数中定义 C C 语言程序总是从 main 函数开始执行 D C 语言程序中的 main 函数必须放在程序的开始部分 1 设 int a 2 b 则执行 b a语句后 b 的结果是 A 0 B 1 C 2 D 3 N 2 逗号表达式 a 3 5 a 4 a 15 的值是 A 15 B 60 C 30 D 75 7 若已经定义了一个字符型变量为 a 下面哪个表达式的含义跟其余表达式不 同 A a 0 B a 0 C a D a 8 在以下运算符中 优先级最高的运算符是 A B C scanf d d a 三个字符 b 三个字符 a a b printf d d a b 2 选择程序的运行结果 main int x 1 y 2 z a b c d 精品文档 8欢迎下载8欢迎下载 z x y printf x d n x printf y d n y 输出结果 三个字符 a 1 b 2 c a printf b d n b 输出结果 三个字符 3 3 以下程序的结果为以下程序的结果为 main main unsignedunsigned intint a 3 a 3 b 10 b 10 printf d n a 1 printf d n a 1 输出结果输出结果 printf d n a 1 printf d n a 1 输出结果输出结果 4 若 x 3 y z 4 则下列表达式的值是 1 z y x 1 0 值为 2 z y 6 表达式 c 则变量 c 中包含的字符个数为 数字 10 C 语言所提供的基本数据类型的整型类型包括 整型 按每种类型所占字节数 从小到大排列 精品文档 9欢迎下载9欢迎下载 第二章第二章 C C 语言程序结构语言程序结构 顺序程序设计 选择结构程序设计 循环控制 顺序程序设计 选择结构程序设计 循环控制 一 一 判断题判断题 正确的填正确的填 A A 错误的填 错误的填 B B 1 do while 语句中的条件为非 0 时 就结束该循环 B 2 在 switch case 语句中 不是每个 case 后都要使用 break 语句 A 3 Break 语句只能用于循环结构中 B 48 未给变量赋初值 只是运行结果不正确 不会有其他不良影响 B 5 switch 语句中 可以不使用 break 语句 A 6 for 语句中 三个表达式都可以省略 A 7 7 在 for 循环中使用 break 语句的目的是使流程跳出循环体 终止当前循 环 A 8 continue 语句只能用于循环语句中 A 9 while 语句中的条件为 0 时 就结束该循环 A 10 在循环体内使用 break 语句或 continue 语句的作用相同 B 在 C 语言中 逻辑值 真 用 表示 11 1 12 大于 0 的数 13 非 0 的整数 14 14 非非 0 0 的数的数 在循环语句的循环体中 continue 语句的作用是 15 立即终止整个循环 16 继续执行 continue 语句之后的循环体 17 17 结束本次循环结束本次循环 18 结束本次循环并跳出循环 语句 while e 中 条件 e 等价于 19 e 0 20 e 0 21 e 1 22 e 1 设 int c 5 和 int a a 2 c c c 8 c 则 a 23 15 24 24 1414 25 13 26 16 若要表示 if a 不等于 0 这一关系式 则能正确表示这一关系的表达式为 if 27 a0 28 a 29 a 0 30 30 a a 精品文档 10欢迎下载10欢迎下载 二 二 单项选择题单项选择题 N1 以下不是死循环的语句是 for x i while 1 x for i 10 i sum i for for c getchar c getchar n n printf c printf c c c 2 设有程序段 int k 10 while k 0 k k 1 以下描述正确的是 A A 循环体语句一次也不执行 循环体语句一次也不执行 B 循环是无限循环 C while 循环语句执行十次 D 循环体语句执行一次 3 对下述程序 正确的判断是 main int a b scanf d d if a b a b b a else a b printf d d a b A A 有语法错误不能通过编译有语法错误不能通过编译 B 若输入 4 5 则输出 5 6 C 若输入 5 4 则输出 4 5 D 若输入 5 4 则输出 5 5 R4 以下程序 main int i 010 j 10 k 0 x10 printf d d d n i j k 有语法错误不能通过编译 输出结果是 A 8A 8 1010 1616 B 8 10 10 C 10 10 10 D 10 10 16 R5 若变量已正确说明为 int 类型 要给 a b c 输入数据 以下语句正确的是 A read a b c B scanf d d d a b c C scanf D D D D D scanf d d d scanf d d d R6 已知在 ASCII 字符集中 数字 0 的序号为 48 下面程序的输出结果为 main char x y x 0 y 9 pirntf d d n x y A 因输出格式不合法 输出错误信息 B 48 57B 48 57 精品文档 11欢迎下载11欢迎下载 C 0 9 D 48 58 7 语句 for k 0 k y z 应使用 C 语言表达式 A y z A y z B x y AND y z C x y z D x y k 0 elseelse k 1 k 1 和和 等等 价 价 A A k a b 1 0 k a b 1 0 B B k a b k a b C C k a b k a b D D a ba b 0 0 1 1 9 以下程序的输出结果是 void main int a 2 b 5 printf a d b d a b A A a 2 b 5a 2 b 5 B a 2 b 5 C a d b d D a d b d N10 以下程序的输出结果是 void main int x 10 y 10 printf d d n x y A 10 10 B 9 9 C 9 10 D D 1010 9 9 11 若要表示 if a 不等于 0 这一关系式 则能正确表示这一关系的表达式为 if A a0 B a C a 0 D D a a R12R12 对于循环语句 while 1 下面 是正确的 A A 死循环 死循环 B 循环一次 C 不进入循环体 D 编译有错 13 下面程序的输出是 假设 int 数据是 2 个字节 void main int a 32768 精品文档 12欢迎下载12欢迎下载 printf a d n a A a 32768 B a 32767 C C a 32768a 32768 D a 1 14 表达式 是满足 当 c 的值为 1 3 5 三个数中任意一个时值为 真 否则值为 假 的表达式 A c 1 c 3 c 5 B c 1 do printf 3d x 2 while x A 1 B 3 0 C C 1 1 2 2 D 死循环 16 数字字符 0 的 ASCII 值为 48 若有以下程序 main char a 1 b 2 printf c b printf d n b a 程序运行后的输出结果是 A 3 2 B 50 2 C C 2 22 2 D 2 50 17 有以下程序 main int a b d 25 a d 10 b a printf d d n a b 程序运行后的输出结果是 A 6 1 B B 2 2 1 1 C 6 0 D 2 0 18 若定义 float a 现要从键盘输入 a 的数据 其整数位为 3 位 小数位为 2 位 则选用 A A scanf f scanf f B scanf 5 2f a C scanf 6 2f D scanf f a 1919 若定义 若定义 intint i i 则以下循环语句的循环执行次数是 则以下循环语句的循环执行次数是 for i 2 for i 2 i 0 i 0 printf d printf d i i A A 无限次无限次 B B 0 0 次次 C C 1 1 次次 D D 2 2 次次 精品文档 13欢迎下载13欢迎下载 20 下面程序段 x 3 do y x if y printf x continue printf while 1 x 2 A 将输出 B 将输出 C C 是死循环是死循环 D 含有不合法的控制表达式 21 以下程序中 while 循环的循环次数是 include stdio h main int i 0 while i 10 if i5 printf d x else printf d n x 1 A 7 和 5 B 6 和 3 C 7 和 4 D 6 和 4 6 语句 while e 中 条件 e 等价于 A e 0 B e 0 C e 1 D e 0 R25 下面程序的输出是 main int k 11 printf k d k o k x n k k k A k 11 k 12 k 13 B k 11 k 13 k 13 C k 11 k 013 k oXb D D k 11 k 13 k bk 11 k 13 k b 26 7 下面程序的运行结果是 main int i 1 sum 0 lop sum sum i i i 2 if i 6 goto lop printf sum d n sum A sum 4 B sum 9 C sum 16 D sum 25 27 以下程序的输出结果是 精品文档 15欢迎下载15欢迎下载 void main int a 2 b 5 printf a d b d a b A A a 2 b 5a 2 b 5 B a 2 b 5 C a d b d D a d b d 2828 执行下面的程序后 执行下面的程序后 a a 的值为的值为 main main intint a b a b forfor a 1 b 1 a 100 a a 1 b 1 a 20 b 20 break break ifif b 3 1 b 3 1 b 3 b 3 continue continue b 5 b 5 A A 7 7 B B 8 8 C C 9 9 D D 1010 29 30 下面的程序会 main int x 3 y 0 z 0 if x y z printf else printf A 有语法错误不能通过编译 B 输出 C 可以通过编译 但不能通过连接 因而不能运行 D 输出 4 以下程序的输出结果是 main int x 10 y 10 i for i 0 x 8 y i printf d d x y A 10 1 9 2 B 9 8 7 6 C 10 9 9 0 D 10 10 9 精品文档 16欢迎下载16欢迎下载 1 1 下面程序的输出是 main int k 11 printf k d k o k x n k k k A k 11 k 12 k 13 B k 11 k 13 k 13 C k 11 k 013 k oXb D D k 11 k 13 k bk 11 k 13 k b 2 两次运行下面的程序 如果从键盘上分别输入 6 和 4 则输出结果是 main int x scanf d if x 5 printf d x else printf d n x A 7 和 5 B 6 和 3 C C 7 7 和和 4 4 D 6 和 4 3 读程序 include stdio h main int a float b c scanf 2d 3f 4f printf na d b f c f n a b c 若运行时从键盘上输入 9876543210 表示回车 则上面程序的输出结 果是 A a 98 b 765 c 4321 B a 1 b 432 c 8765 C C a 98 b 765 000000 c 4321 000000a 98 b 765 000000 c 4321 000000 D a 98 b 765 0 c 4321 0 5 下面程序的输出是 main int x 3 y 6 a 0 while x y 1 a 1 if y x break printf x d y d a d n x y a A x 4 y 4 a 1 B x 5 y 5 a 1 C x 5 y 4 a 3 D D x 5 y 4 a 1x 5 y 4 a 1 精品文档 17欢迎下载17欢迎下载 6 7 8 8 三 三 程序填空题程序填空题 F1 以下程序可判断输入的一个整数是否能被 3 或 7 整除 若能整除 输出 yes 否则输出 no 请填空 include stdio h void main int k printf Enter a int number scanf d if printf yes n else printf no n N2 N2 下面程序的功能是计算下面程序的功能是计算 1 3 5 7 1 3 5 7 99 101 99 101 的值 的值 main main intint i t 1 s 0i t 1 s 0 for i 1for i 1 i 101i 101 i 2 i 2 t t s s t s s t t t printf d n s printf d n s F3 下面程序的功能是从键盘上输入若干学生的学习成绩 统计并输出最高成绩 和最低成绩 当输入为负数时结束输入 main float x amax amin scanf f i s k count 0 for i 100 i 1000 i for i 100 i 1000 i s 0 s 0 k i k i while k while k s s k 10 s s k 10 k k if count if count printf d count printf d count F5 下列程序功能是求数组中主对角线元素之和 请补充完成 main int a 3 3 i j s 0 for i 0 i 3 i for j 0 j 3 j scanf d for i 0 i 3 i for j 0 j 3 j if s a i j printf s d n s 精品文档 19欢迎下载19欢迎下载 R6 下面程序的功能是 输入一个字符 如果它是一个大写字母 则把它 变成小写字母 如果它是一个小写字母 则把它变成大写字母 其它字符不变 请将程序补充完整 main char ch scanf c if ch A else if a ch a printf c ch R7 请将用户输入的 x y z 三个整数按照从小到大的顺序排列 main int x y z t scanf d d d if x y t y y x x t if z t z z x x t if z t y y z z t printf small to big d d d n x y z F8 以下程序从读入的整数数据中 统计大于零的整数个数和小于零的整数个 数 用输入零来结束输入 程序中用 i 统计大于零的个数 用变量 j 统计小于 零的整数 请填空 void main int n i j i 0 j 0 printf Enter INT numbers with 0 to end n scanf d while if n 0 i i if n 0 j j printf i 4d j 4d n i j 精品文档 20欢迎下载20欢迎下载 F9 以下程序用 辗转相除法 来求出两个正整数的最大公约数 请填空 若 两个数分别放在 m 和 n 中 求最大公约数的算法如下 1 将两数中最大的那个放在 m 中 小的放在 n 中 2 求出 m 被 n 除后的余数 r 3 若余数为 0 则执行步骤 7 否则执行步骤 4 4 把除数作为新的被除数 把余数作为新的除数 5 求出新的余数 r 6 重复步骤 3 到 5 7 输出 n n 即为最大公约数 voidvoid main main intint r m n r m n printf Enterprintf Enter m n m n scanf d d scanf d d printf m dprintf m d n d n m n n d n m n ifif m n m n r m m n n r r m m n n r r r while r 0 while r 0 m n n r r m m n n r r m printf H C F d n n printf H C F d n n R10 以下程序可判断输入的一个字符是否为小写字母 如果是 则转换为对应 的大写字母并输出 否则 就原样输出 请填空 include stdio h void main char k printf Enter a character here scanf c if a else printf c n k 1 程序打印如下形式的图形 精品文档 21欢迎下载21欢迎下载 main for int i 1 i 4 i for int j 1 j i j printf printf n 2 2 充下列程序 找出充下列程序 找出 100100 200200 之间的全部素数之间的全部素数 includeinclude math h math h main main intint m k i n 0 m k i n 0 forfor m 101 m 200 m m 2 m 101 m 200 m m 2 k sqrt m k sqrt m forfor i 2 i 2 6 6 i k ik i k printf d m printf d m n n 1 n n 1 ifif n 10 0 n 10 0 printf n printf n printf n printf n 3 第三章第三章 数组数组 正确的填正确的填 A A 错误的填 错误的填 B B 一 一 判断题判断题 1 字符串 girl 大于字符串 good B 2 C 语言中有字符串变量 与字符数组等价 B R3 同一数组可以存储不同类型的值 B N4 N4 若有 若有 intint a 2 3 a 2 3 则则 a 1a 1 和和 a 1 a 1 的值以及类型都一样 的值以及类型都一样 B B R5 字符 0 的值就是 0 A 精品文档 22欢迎下载22欢迎下载 6 C 语言中是用字符串变量来存放字符串 B 7 7 表达式表达式 sizeofsizeof abc abc 的值是 的值是 4 4 B B A A N8 同数组的名字一样 函数的名字也是一种指针 A 9 C 语言中在定义数组时 一个数组的数组元素的数据类型可以不相同 B 10 char a 10 a 10 9 上述语句编译不会出错 A B B R11 数组元素的下标是从 1 开始标号的 B N12 若 a 为一维数组名 则 a i 与 a i 等价 A 13 循环语句中的 continue 语句的作用是结束整个循环 B 14 字符串 That 小于字符串 the A 15 字符个数多的字符串比字符个数少的字符串大 B 有以下语句 int b char c 10 则正确的输入语句是 16 scanf d s 17 17 scanf d s scanf d s 18 scanf d s b c 19 scanf d s b 已有定义 char a xyz b x y z 以下叙述中正确的是 20 数组 a 和 b 的长度相同 21 a 数组长度小于 b 数组长度 2222 a a 数组长度大于数组长度大于 b b 数组长度数组长度 设有数组定义 char array China 则数组 array 所占的存贮空间为 个字节 23 4 24 5 2525 6 6 26 7 若定义 int x 10 则 Turbo C 编译系统为该数组分配 个字节存储单元 27 10 28 11 29 20 30 21 二 二 单项选择题单项选择题 R1 对两个数组 a 和 b 进行如下初始化 char a ABCDEF char b A B C D E F 则以下叙述正确的是 A a 与 b 数组完全相同 B a 与 b 长度相同 C a 和 b 中都存放字符串 D D a a 数组比数组比 b b 数组长度长数组长度长 R2 若有说明 int a 3 4 则对 a 数组元素的正确引用是 A a 2 4 B a 1 3 C a 1 1 0 C a 1 1 0 D a 2 1 R3 合法的数组定义是 精品文档 23欢迎下载23欢迎下载 A int a string B int a 5 0 1 2 3 4 5 C vhst s string D char a 0 1 2 3 4 5 4 以下正确的声明是 A int a 1 4 1 2 3 4 5 B float x 3 1 2 3 C long b 2 3 1 1 2 1 2 3 D D doubledouble y 3 0 y 3 0 5 下列语句的执行结果是 static char str 10 china printf d strlen str A 10 B 6 C 5C 5 D 0 R6 以下能正确定义一维数组的选项是 A int a 5 0 1 2 3 4 5 B char a 0 1 2 3 4 5 C char a A B C D int a 5 0123 7 7 下面程序段的运行结果是 char a 7 abcdef char b 4 ABC strcpy a b printf c a 5 A 空格 B 0 C e D fD f 8 定义如下变量和数组 则输出结果是 int i int x 3 3 1 2 3 4 5 6 7 8 9 for i 0 i 3 i printf d x i 2 i A 1 5 9 B 1 4 7 C 3C 3 5 5 7 7 D 3 6 9 9 下列对一维数组 a 的正确说明语句为 A int a 10 B int n 10 a n C int n scanf d int a n D D define define SIZESIZE 1010 intint a SIZE a SIZE 10 下列二维数组的说明中 不正确的是 A float a 3 8 7 3 B float a 3 0 1 8 C define L 3 float a L 3 D int a 6 7 精品文档 24欢迎下载24欢迎下载 11 执行以下程序段后 s 的值是 int a 5 3 7 2 1 5 4 10 int s 0 k for k 0 k 8 k 2 s a k A 17 B 27 C 13 D 无定值 12 若有定义 char c 10 从键盘输入 LiFang 则正确的函数引用是 A scanf c B gets c C scanf s D gets c 10 N13 以下程序的输出结果是 main char s1 20 China s2 20 for s 10 if strcmp s1 s2 printf s n strcat s2 s1 else printf d n strlen s1 A Chinafor B 5 C C forChinaforChina D 3 14 选择下面程序运行的结果 include stdio h int m 3 3 1 2 3 int n 3 3 1 2 3 main printf d n m 1 0 n 0 0 printf d n m 0 1 n 1 0 第 1 条 printf 语句行输出的结果为 A 0B 1C 3D 2 R15 9 以下对一维数组 a 中的所有元素进行正确初始化的是 A int a 10 0 0 0 0 B int a 10 C int a 0 D int a 10 10 2 16 10 8 若定义 int x 10 则 Turbo C 编译系统为该数组分配 个字节存 储单元 精品文档 25欢迎下载25欢迎下载 A 10 B 11 C 20 D 21 N18 有如下程序 main int a 3 3 1 2 3 4 5 6 i j s 0 for i 1 i 3 i for j 0 j i j s a i j printf d s 该程序的输出结果是 A 18 B 19 C 20 D 21 N19 执行下列程序时输入 123456789 输出结果是 include stdio h main char s 100 int c i scanf c scanf d scanf s s printf c d s n c i s A 123 456 789 B 1 456 789 C 1 23 456 789 D 1 23 456 20 以下程序的输出结果是 main char str 12 s t r i n g printf d n strlen str strlen 不算 0 sizeof 算 0 A A 6 6 B 7 C 11 D 12 21 合法的数组定义是 A int a string B int a 5 0 1 2 3 4 5 C vhst s string D D charchar a 0 1 2 3 4 5 a 0 1 2 3 4 5 22 以下正确的声明是 A int a 1 4 1 2 3 4 5 B float 精品文档 26欢迎下载26欢迎下载 x 3 1 2 3 C long b 2 3 1 1 2 1 2 3 D D doubledouble y 3 0 y 3 0 N23 阅读下面程序 回答问题 include stdio h void main int i j row column m static int array 3 3 100 200 300 28 72 30 850 2 6 m array 0 0 for i 0 i 3 i for j 0 j 3 j if array i j m m array i j row i column j printf d d d m row column 该程序的功能是 A 计算二维数组的元素和 B B 求二维数组的最小值及其下标 求二维数组的最小值及其下标 C 对二维数组进行排序 D 求二维数组的最大值及其下标 24 若有以下程序段 int a 4 0 2 3 1 k j t for j 1 j 0k a k 1 t 则该程序段的功能是 8 A 对数组 a 进行插入排序 升序 B B 对数组对数组 a a 进行插入排序 降序 进行插入排序 降序 C 对数组 a 进行选择排序 升序 D 对数组 a 进行选择排序 降序 N25 执行如下程序段 当输入为 I am时 输出的结果是 精品文档 27欢迎下载27欢迎下载 char str 80 scanf s str strcat str sad printf s str A I am sad B Isad C C I I sad sad D sad 3 main int a 10 1 2 3 4 5 6 7 8 9 10 s 0 for int i 0 i 10 i if a i 0 break s a i printf d s s 6 3 下面程序的输出是 include stdio h include stdlib h main char str1 20 str2 20 scanf s str1 从键盘输入 hello world printf s str1 输出结果 1 fflush stdin gets str2 从键盘输入 crazy english printf s str2 输出结果 2 输出 crazy english 输出结果 1 是 A Hello B World C Hello World D World Hello 输出结果 2 是 A Hello B World C Hello World D World Hello 7 1 选择下面程序运行的结果 include stdio h int m 3 3 1 2 3 精品文档 28欢迎下载28欢迎下载 int n 3 3 1 2 3 main printf d n m 1 0 n 0 0 printf d n m 0 1 n 1 0 第 1 条 printf 语句行输出的结果为 A 0B 1C C 3 3D 2 2 还是刚才 1 题那个程序 第 2 条 printf 语句行输出的结果为 A 2B 4C 6D D 0 0 5 函数调用 strcat strcpy str1 str2 str3 的功能是 A 将串 str1 复制到串 str2 中后再连接到串 str3 之后 B 将串 str1 连接到串 str2 之后再复制到串 str3 之后 C C 将串 将串 str2str2 复制到串复制到串 str1str1 中后再将串中后再将串 str3str3 连接到串连接到串 str1str1 之后 之后 C 将串 str1 复制到串 str2 中后再将串 str3 连接到串 str2 之后 三 程序填空题三 程序填空题 F1F1 整型数组求和 int a 10 0 1 2 3 4 5 6 7 8 9 sum 0 pa pa a for pa a pa a 10 pa a sum sum pa F2 下面函数的功能是将一个字符串逆序存放 请填空 include stdio h include string h void fun char str int i j for i 0 j strlen str i j i j m str i str i str j 1 m printf s n str 精品文档 29欢迎下载29欢迎下载 R3 下程序从终端读入数据到数组中 统计其中正数的个数 并计算它们之和 请填空 main int i a 20 sum count sum count 0 for i 0 i 20 i scanf d if a i 0 count sum printf sum d count d n sum count F4 函数 YangHui 的功能是把杨辉三角形的数据赋给二维数组的下半三角 形 式如下 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 其构成规律是 第 0 列元素和主对角线无素均为 1 其余元素为其左上方和正上方元素之和 数据的个数每行递增 1 请将程序补充完整 defint N 6 void YangHui int N N int i j x 0 0 1 for i 1 i N i x i 0 1 for j 1 j i j x i j x i 1 j F5 以下程序的功能是将字符串 s 中的数字字符放入 d 数组中 最后输出 d 中 的字符串 例如 输入字符串 abc123edf456gh 执行程序后输出 精品文档 30欢迎下载30欢迎下载 123456 include stdio h include string h main char s 80 d 80 int i j gets s for i j 0 s i 0 i if s i 0 s i 9 d j s i j d j puts d R6 将 60 分以下的所有成绩显示到屏幕上 int score 10 56 76 65 43 98 67 34 89 90 76 i for i 0 i 10i i if score i 60score i printf score d d n i score i F7 在 n 行 n 列的矩阵中 每行都有最大的数 本程序求这 n 个最大数中的最小 一个 include define N 100 int a N N void main int row col max min n 输入合法 n 100 和输入 n n 个整数到数组 a 的代码略 for row 0 row n row for max a row 0 col l col n col if max a row col max a row col if min max else if min max 精品文档 31欢迎下载31欢迎下载 printf the min of max numbers if d n min F9 求字符串中字符的个数 char p Hello World int num 0 k 0 while p k num k printf num d num N10 4 统计字符串的单词数量 单词用空格分隔 char str 30 Welcome my friend int i num for i 1 str i i if str i printf num d num 5 2 6 3 求字符串中字符的个数 char p Hello World int num 0 k 0 精品文档 32欢迎下载32欢迎下载 while p k 0 0 1 num num 2 k k 3 printf num d num 7 4 统计字符串的单词数量 单词用空格分隔 char str 30 Welcome my friend int i num for i 1 str i 0 0 i 1 if str i printf num d num 折半查找法 设数组长度为 n 则将输入的数 m 与 a n 2 比较 若 ma n 2 则将 a n 2 1 到 a n 的数继续折半进行查找 8 程序功能 有 10 个数按升序放在一个数组中 输入一个数 要求用折半查 找该数是数组中的第几个元素 如果该数不在数组中 打印出 NO include stdio h void main int a 10 12 32 45 62 71 76 80 85 90 95 int num bott top mid scanf d bott 0 top 9 while bott 小于等于 top mid bott top 2 精品文档 33欢迎下载33欢迎下载 if num a mid printf d is the d number n num mid break else if num 小于 a mid else bott mid 1 if 大于 top printf NO n 第四章第四章 函数函数 一 一 判断题判断题 正确的填正确的填 A A 错误的填 错误的填 B B R1 C 程序中 函数的定义和函数的调用均可以嵌套 B R2 C 程序中 若对函数类型未加显示说明 则函数的隐含类型为 int A 3 在调用函数时 只能将实参的值传递给形参 形参的值不能传递给实参 A R4 函数的返回值是通过函数中的 return 语句获得的 A 5 用数组名作函数参数时传递的是数组的值 B 6 6 全局变量可以被任何一个函数中的任何一个表达式使用 全局变量可以被任何一个函数中的任何一个表达式使用 B B 7 一个函数可以带回一个整型值 字符值 实型值等 也可以带回指针型的 数据 A 8 C 函数既可以嵌套定义又可以递归调用 B 9 C 语言规定 函数的实参应与其对应的形参类型一致 A 10 若全局变量和局部变量同名 则全局变量被遮蔽 A 11 若要在函数 f 中修改变量 a 的值 应该把 a 的地址传递给 f A 12 当数组做为参数传递给函数时 是把数组中的所有元素都传递给了该函数 B N13 给局部变量加上 static 属性后 其生存期和作用域都扩展了 B 14 在某个变量前用 在某个变量前用 externextern 声明 可以扩展变量的作用域 声明 可以扩展变量的作用域 B B 15 外部变量采用静态存储 内部变量采用动态存储 外部变量采用静态存储 内部变量采用动态存储 B B 16 静态外部变量只能在本文件使用 其他文件不能使用该变量 静态外部变量只能在本文件使用 其他文件不能使用该变量 A A 17 1 不同函数内的变量 可以用相同的名字 A N18 2 设函数调用表达式为 fun fun a b c 则函数 fun 带 3 个参数 B 19 4 C 语言中 函数返回值的类型是由定义函数时所指定的函数类型决定的 A 精品文档 34欢迎下载34欢迎下载 20 5 在 main 函数内定义的变量在整个程序范围内有效 B 21 10 静态外部变量 不允许其它文件中的函数访问 静态外部变量 不允许其它文件中的函数访问 A A 22 1 不同函数内的变量 可以用相同的名字 A N23 2 设函数调用表达式为 add sub a b c 则函数 add 带 3 个参数 B 24 在 C 程序中 return 语句最多可以返回一个值 A 25 若函数类型和 return 语句中表达式类型不一致时 返回类型以函数类型为准 A 26 在 C 语言中实参和与其对应的形参各占用独立的存储单元 A 27 由一个函数调用另一个函数 被调用的函数又调用其他函数的关系 称为函 数的嵌套调用 T 28 一个函数直接或者间接地自己调用自己的过程成为递归调用 T 29 使用递归方法解决问题 必须要有一个明确的结束递归的条件 T 30 递归调用也称为循环定义 即用其自身来定义自己的过程 T 二 二 单项选择题单项选择题 1 C 语言规定 简单变量做实参时 它和对应形参之间的数据传递方式是 A 地址传递 B B 单向值传递单向值传递 C 由实参传给形参 再由形参传回给实参 D 由用户指定传递方式 R2 若调用一个函数 且此函数 中没有 return 语句 则正确的说法是 该函数 A 没有返回值 B 返回若干个系统默认值 C 能返回一个用户所希望的函数值 D D 返回一个不确定的值返回一个不确定的值 R3 语言允许函数值类型缺省定义 此时该函数值隐含的类型是 A float 型 B intB int 型型 C long 型 D double 型 R4 在 C 语言程序中 以下描述正确的是 A 函数的定义可以嵌套 但函数的调用不可以嵌套 B B 函数的定义不可以嵌套 但函数的调用可以嵌套函数的定义不可以嵌套 但函数的调用可以嵌套 C 函数的定义和函数的调用均不可以嵌套 D 函数的定义和函数的调用均可以嵌套 5 void main int f int int w 2 k for k 0 k 3 k w f w printf d n w 精品文档 35欢迎下载35欢迎下载 int f int x int y 0 static int z 3 y z return x y z 程序结束后 z 的值为 1 A 3 B 4 C 5 D D 6 6 R6 在一个被调用函数中 关于 return 语句使用的描述 错误的是 A 被调用函数中可以不用return语句 B 被调用函数中可以使用多个return语句 C 被调用函数中 如果有返回值 就一定要有return语句 D 被调用函数中 一个return语句可返回多个值给调用函数 7 以下程序输出的结果是 include int func int a int b return a b main int x 2 y 5 z 8 r r func func x y z printf d n r A 12 B 1

温馨提示

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

评论

0/150

提交评论