C语言程序设计试题及答案解析[1]全解.doc_第1页
C语言程序设计试题及答案解析[1]全解.doc_第2页
C语言程序设计试题及答案解析[1]全解.doc_第3页
C语言程序设计试题及答案解析[1]全解.doc_第4页
C语言程序设计试题及答案解析[1]全解.doc_第5页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

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

文档简介

C C 语言程序设计试题语言程序设计试题 第第 1 1 2 2 3 3 章章 概述 类型 表达式概述 类型 表达式 一 选择题一 选择题 1 一个 C 程序由若干个 C 函数组成 各个函数在文件中的位置顺序为 A 任意 B 第一个函数必须是主函数 其他函数任意 C 必须完全按照执行的顺序排列 D 其他函数可以任意 主函数必须在最后 2 下列四个叙述中 正确的是 A C 程序中的所有字母都必须小写 B C 程序中的关键字必须小写 其他标示符不区分大小写 C C 程序中的所有字母都不区分大小写 D C 语言中的所有关键字必须小写 3 下列四个叙述中 错误的是 A 一个 C 源程序必须有且只能有一个主函数 B 一个 C 源程序可以有多个函数 C 在 C 源程序中注释说明必须位于语句之后 D C 源程序的基本结构是函数 4 下面不是 C 语言合法标识符的是 A abc B 5n C 4m D x3 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 语言 VC 环境 中 5 种基本数据类型的存储空间长度的排列顺序为 A char int long int float double B char int long int float double C char int long int float double D char int long int float double 10 在 C 语言中 VC 环境 一定是长整型常数的是 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 10 or a 0 B a 0 C a 10 a 10 后 t 的值为 0 29 若 a 和 b 类型相同 在计算了赋值表达式 a b 后 b 中的值将放入 a 中 而 b 中的值不 变 30 在 C 程序中 是只能用于整数运算的运算符 31 在 C 语言中 逻辑 真 等价于不等于 0 的数 32 C 语言中字符型 整型 实型都能用八进制表示 33 在 VC 语言中 5 种基本数据类型的存储空间长度的排列顺序为 char int long int float double 34 变量的三要素是 变量名 变量类型 变量的值 三 多选题三 多选题 1 目前程序设计采用的基本方法有 A 面向过程的程序设计 B 面向对象的程序设计 C 面向问题的程序设计 D 面向机器的程序设计 第第 4 章章 顺序结构顺序结构 一 选择题一 选择题 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 k 11 k 13 k b 2 以下合法的 C 语言赋值语句是 A a b 58 B k int a b C a 58 b 58 D i 3 以下程序的输出结果是 main int x 10 y 3 printf d n y x y A 0 B 1 3 D 不确定 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 0 B 1 2 C 0 5 D 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 0 0 0 B 0 0 5 C 5 0 5 D 10 0 10 7 以下程序段的输出是 float a 57 666 printf 2 2f n a A 57 B 58 C 57 66 D 57 67 8 若有以下定义和语句 int a 5 b b a 此处 b 的值是 A 7 B 6 C 5 D 4 9 若有以下定义和语句 char c1 b c2 e printf d c n c2 c1 c2 a A 则输出结果是 A 2 M B 3 E C 2 e D 输出结果不确定 10 以下程序的输出结果是 main int x 10 y 10 printf d d n x y A 10 10 B 9 9 C 9 10 D 10 9 11 在 C 语言中 如果下面的变量都是 int 类型 则输出结果是 sum pad 5 pad sum pad pad printf d n pad A 7 B 6 C 5 D 4 12 以下程序的输出结果 include main int i 010 j 10 printf d d n i j A 11 10 B 9 10 C 010 9 D 10 9 13 在 C 语言中 short 类型数据的范围是 32768 32767 下面程序段的输出结果是 short i 65536 printf d n i A 65536 B 0 C 1 D 超出取值范围 无输出结果 14 已知字符 A 的 ASCII 码为十进制的 65 下面程序的输出是 main char ch1 ch2 ch1 A 5 3 ch2 A 6 3 printf d c n ch1 ch2 A 67 D B B C C C D D 不确定的值 15 若有定义和语句 char s s abcd printf d n s 则结果是 A 输出 97 B 输出 a C 输出 adcb D 编译不能通过 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 和 5 B 6 和 3 C 7 和 4 D 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 14 B 16 C 18 D 20 19 设 i 是 int 型变量 f 是 float 型变量 用下面的语句给这两个变量输入值 scanf i d f f 为了把 100 和 765 12 分别赋给 i 和 f 则正确的输入为 A 100765 12 B i 100 f 765 12 C 100765 12 D x 100 y 765 12 20 以下程序的输出结果是 include main int n printf d n n A 1 B 0 C 1 D 不确定 二 判断题二 判断题 1 在 C 语言中 实型数据在内存都中占 4 个字节 2 在 C 语言中 参加算术 运算的数据可以是任何类型的数据 3 若有定义和语句 int a char c scanf d c 当通过键盘输入 10 A 之后 则变量 a 中存放的是 10 变量 c 中存放的是 A 4 C 语言中 变量名只能是小写字母表示 符号常量名可用大写表示 5 在 C 语言中 变量可以不要定义 直接使用 6 一个 C 语言程序总是从主函数开始执行的 7 注释语句必须用 和 括起来 且只能位于某一语句的后面 8 a 和 a 均是占用 1 个字节的内存空间的数据 三 多选题三 多选题 1 以下所列语句中 不合法的语句是 A a 1 b 2 B a C a a 1 5 D y int a E a b c 10 2 下列描述正确的是 A putchar 函数的作用是向屏幕输出一个字符 B putchar 函数能在屏幕上输出控制字符 C putchar c 函数中 c 只能是字符型变量 不能是整型变量 D putchar 函数能在屏幕上输出转义字符 E putchar 函数的使用需要包含 stdio h 头文件 3 下列描述正确的是 A getchar 函数只能接收一个字符 B getchar 函数得到的字符可以赋给一个字符变量 C getchar 函数得到的字符可以赋给一个整型变量 D getchar 函数得到的字符可以作为表达式的一部分 E getchar 函数是编程者自定义的函数 4 printf 函数中 关于格式字符描述正确的是 A 格式字符 o 表示以八进制无符号形式输出整数 B 格式字符 u 表示以无符号十进制形式输出整数 C 格式字符 x 表示以无符号十六进制形式输出整数 D 格式字符 f 表示以实数形式输出单 双精度数 E 格式字符 e 表示以浮点数形式输出单 双精度数 5 假设 int x y z 若从键盘给 x y z 输入数据 下列不正确的输入语句是 A input x y z B scanf d d d B getchar ch C ch getchar D scanf c E printf c ch B 9 下面属于转义符的有 A t B n C d D 376 E x20 10 若 a 为整型变量 则下列表达式的值为 0 的是 A a a B a a C 3 4 D 3 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 2 B 3 C 4 D 编译时有错 无结果 4 有以下程序 main int i 0 s 0 do if i 2 i continue i s i while ib a c a c b A 5 B 4 C 6 D 不确定 6 以下程序中 while 循环的循环次数是 main int i 0 while i 10 if i 1 continue if i 5 break i A 1 B 10 C 6 D 死循环 不能确定次数 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 31 B 13 C 10 D 20 8 以下程序的输出结果是 main int a 4 b 5 c 0 d d a printf d n d A 1 B 0 C 非 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 21 B 32 C 33 D 11 10 阅读以下程序 main int x scanf d if x 5 printf d x else printf d x 程序运行后 如果从键盘上输人 5 则输出结果是 A 3 B 4 C 5 D 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 4 B 3 C 2 D 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 101 B 6 C 5 D 4 13 若执行以下程序时从键盘上输入 9 则输出结果是 main int n scanf d if n 10 printf d n n else printf d n n A 11 B 10 C 9 D 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 15 B 14 C 不确定 D 0 16 有以下程序段 int x 3 do printf d x 2 while x 其输出结果是 A 1 B 3 0 C 1 2 D 死循环 17 若变量 c 为 char 类型 能正确判断出 c 为小写字母的表达式是 A a c a c z C a c D c a char ch while ch getchar switch ch case a case h default v1 case 0 v2 printf d d n v1 v2 A 2 0 B 5 0 C 5 5 D 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 4 B x 8 C x 6 D 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 2 B 4 C 6 D 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 3 B 7 4 C 6 2 D 7 3 29 有以下程序 main int x i for i 1 i12 15 6 5 8 9 后 变量 k 的值为 A 9 B 8 C 15 D 1 32 以下程序运行后 如果从键盘上输人 5 则输出结果是 main int x scanf d for k 2 k 6 k k s 1 for j k j 6 j s j printf d n s A 9 B 1 C 11 D 10 34 以下程序段的输出是 int i j m 0 for i 1 i 15 i 4 for j 3 j 19 j 4 m printf d n m A 12 B 15 C 20 D 25 35 以下程序段的输出结果是 int i sum for i 1 i 6 i sum sum printf d n sum A 15 B 14 C 不确定 D 0 36 下面程序的输出是 D main int x 3 y 6 a 0 while x y 1 a if y7 n printf 3d n A 10 9 8 B 9 8 7 C 10 9 8 7 D 9 8 7 6 38 以下程序段的输出结果是 int x 3 do printf 3d x 2 while x A 1 B 3 0 C 1 2 D 死循环 39 执行下面的程序后 a 的值为 main int a b for a 1 b 1 a 20 break if b 3 1 b 3 continue b 5 A 7 B 8 C 9 D 10 40 读程序 main int num 0 while num 2 num printf 3d num 上面程序的输出结果是 A 1 B 2 2 C 1 2 3 D 1 2 3 4 41 以下循环体的执行次数是 main int i j for i 0 j 1 i j 1 i 2 j printf d n i A 3 B 2 C 1 D 0 42 在 C 语言的循环语句 for while do while 语句中 用于直接中断最内层循环的语句是 A switch B continue C break D if 二 判断题 二 判断题 1 用 1 作 while 循环的判断条件 则循环一次也不执行 2 for 循环表达式的括号内的 3 个表达式均不可以省略 3 语句 while E 中的条件 E 等价于 E 0 4 语句 while E 中的条件 E 等价于 E 0 5 若有 for 是指循环体执行 0 次 6 程序有死循环的时候 上机编译不能通过 7 强制终止死循环可以使用 CTRL BREAK 组合键 8 执行 for I 0 I 3 I 后 I 的值为 2 9 执行 for I 0 j 0 Ib m a B if a C if a b 0 m a D if a b 0 m a 3 如果不加花括号表示 else 与 if 的配对关系 则 else 与 if 的匹配方法 不正确的是 A else 与它上面最远的 if 配对 B else 与它上面最近的 if 配对 C else 与离它最近的 if 配对 D else 与它上面最近的且没有和其他 else 配对的 if 配对 4 关于条件运算符的叙述正确的是 A 条件运算符的优先级别比关系运算符和算术运算符都低 B 条件运算符是 C 语言中惟一的一个三目运算符 C 条件运算符的结合方向是 自右至左 D 条件运算符可以替代任何 if 语句的功能 5 关于 switch 语句叙述正确的是 A 语句中 case 的冒号后面允许没有语句 B switch 语句中 每一个 case 的冒号后面都允许跟有多条语句 C 在与 switch 语句配套的 case 语句中所使用的表达式可以是变量或 常量 D switch 语句中 可以没有 default 语句 6 在计数循环 for 表达式 1 表达式 2 表达式 3 中 可以省略的表达式是 A 表达式 1 B 表达式 2 C 表达式 3 D 三个表达式都可以 E 一个都不能少 7 下列语句段是死循环的是 A n 100 B s 33 while n n n 100 1 while s 2 s 2 s C for D for i 1 if i break E x 0 do x while x 0 第第 7 7 章章 数组数组 一 选择题一 选择题 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 3 B 6 C 10 D 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 数组 y 的长度大于数组 x 的长度 5 下面程序段的输出结果是 int j int x 3 3 1 2 3 4 5 6 7 8 9 for j 0 j 3 j printf d x j 2 j A 1 5 9 B 1 4 7 C 3 5 7 D 3 6 9 6 下列程序运行后的输出结果是 main int n 3 t j k for t 0 t 3 t n t 0 k 2 for t 0 t k t for j 0 j 3 j n j n t 1 printf d n n 1 A 2 B 1 C 0 D 3 7 有以下程序 main int p 7 11 13 14 15 16 17 18 i 0 k 0 while i 7 i printf d n k 执行后输出结果是 A 58 B 56 C 45 D 24 8 以下能正确定义数组并正确赋初值的语句是 A int N 5 b N N B int a 1 2 1 3 C int c 2 1 2 3 4 D int d 3 2 1 2 3 4 9 有以下程序 main int m 3 1 4 7 2 5 8 3 6 9 int i j k 2 for i 0 i 3 i printf d m k i 执行后输出结果是 C A 4 5 6 B 2 5 8 C 3 6 9 D 7 8 9 10 以下能正确定义一维数组的选项是 A int num B int num 0 100 C define N 100 D int N 100 int num N int num N 11 下列选项中正确的语句组是 A char s 8 s Beijing B char s s Beijing C char s 8 s Beijing D char s s Beijing 12 有以下程序段 int a 10 1 2 3 4 5 6 7 8 9 10 p b p 5 b 中的值是 A 5 B 6 C 8 D 9 13 有以下程序 main char a abcdefg b 10 abcdefg printf d d n sizeof a sizeof b 执行后输出结果是 A 7 7 B 8 8 C 8 10 D 10 10 14 有以下程序的输出结果是 void swap1 int c int t t c 0 c 0 c 1 c 1 t void swap2 int c0 int c1 int t t c0 c0 c1 c1 t main int a 2 3 5 b 2 3 5 swap a swap2 b 0 b 1 printf d d d d n a 0 a 1 b 0 b 1 A 5 3 5 3 B 5 3 3 5 C 3 5 3 5 D 3 5 5 3 15 有以下程序 int f int b 4 int i j s 0 for j 0 j2 i 3 j s b i j return s main int a 4 4 1 2 3 4 0 2 4 5 3 6 9 12 3 2 1 0 printf d n f a 执行后的输出结果是 A 12 B 11 C 18 D 16 16 有以下程序 void sort int a int n in t i j t for i 0 i n 1 i 2 for j i 2 j n j 2 if a i a j t a i a i a j a j t main int aa 10 1 2 3 4 5 6 7 8 9 10 i sort aa 10 for i 0 i 10 i printf d aa i printf n 其输出结果是 A 1 2 3 4 5 6 7 8 9 10 B 10 9 8 7 6 5 4 3 2 1 C 9 2 7 4 5 6 3 8 1 10 D 1 10 3 8 5 6 7 4 9 2 17 有以下程序 void f int a int i int j int t if i j t a i a i a j a j t f a i 1 j 1 main int i aa 5 1 2 3 4 5 f aa 0 4 for i 0 i 5 i printf d aa i printf n 执行后输出结果是 A 5 4 3 2 1 B 5 2 3 4 1 C 1 2 3 4 5 D 1 2 3 4 5 18 以下程序的输出结果是 main char cf 3 5 AAAA BBB CC printf s n ch 1 A AAAA B BBB C BBBCC D CC 19 以下程序的输出结果是 main int b 3 3 0 1 2 0 1 2 0 1 2 i j t 1 for i 0 i 3 i for j i j i j t t b i b j j printf d n t A 3 B 4 C 1 D 9 20 有以下程序 main int aa 4 4 1 2 3 4 5 6 7 8 3 9 10 2 4 2 9 6 int i s 0 for i 0 i 0 j 2 s 10 s ch j 0 printf d n s A 12ba56 B 66521 C 6 D 62 26 设已定义 char s Name Address n 则字符串 s 所占的字节数是 A 19 B 18 C 15 D 14 27 设已定义 char c 8 Tianjin 和 int j 则下面的输出函数调用中错误的是 A printf s c B for j 0 j 8 j printf c c j C puts c D for j 0 j 8 j puts c j 28 设已定义 char a 10 和 int j 则下面输入函数调用中错误的是 A scanf s a B for j 0 j 9 j scanf c a j C gets a D for j 0 j 9 j scanf c 29 设已定义 char x 8 和 int j 为了给该数组赋值 下面语句中正确的是 A x 8 Turbo C B x Turbo C C x Turbo C D for j 0 j 7 j x i getchar 30 有如下程序 main int n 5 0 0 0 j k 2 for j 0 js2 B if strcmp s1 s2 C if strcmp s2 s1 0 D if strcmp s1 s2 0 44 若有说明 int a 4 0 0 则下面不正确的叙述是 A 数组 a 的每个元素都可得到初值 0 B 二维数组 a 的第一维大小为 1 C 因为二维数组 a 中初值的个数不能被第二维大小的值整除 则第一维的大小等于 所得商数再加 1 故数组 a 的行数为 1 D 只有元素 a 0 0 和 a 0 1 可得到初值 0 其余元素均得不到初值 45 下列语句中 不正确的是 A char str 5 hello B char str h e l l o 0 C char str 5 hi D char str 100 46 下面错误的初始化语句是 A char str hello B char str 100 hello C char str h e l l o D char str hello 47 定义了一维 int 型数组 a 10 后 下面错误的引用是 A a 0 1 B a 10 2 C a 0 5 2 D a 1 a 2 a 0 48 下面的二维数组初始化语句中 错误的是 A float b 2 2 0 1 0 2 0 3 0 4 B int a 2 1 2 3 4 C int a 2 1 2 3 4 D float a 2 2 0 49 引用数组元素时 数组下标可以是 A 整型常量B 整型变量C 整型表达式D 以上均可 50 定义了 int 型二维数组 a 6 7 后 数组元素 a 3 4 前的数组元素个数为 A 24B 25C 18D 17 51 strlen A 0B 0C 的结果为 A 0B 1C 2D 3 52 下面程序的运行结果是 main int a 3 1 2 3 4 5 6 printf d a 1 1 A 3B 4C 5D 6 53 下面程序的运行结果是 main char s1 20 Good char s2 15 AB printf d strlen strcpy s1 s2 A 20B 15C 5D 2 54 下面程序的运行结果是 main char s1 20 ABCDEF int i 0 while s1 i 0 printf c s1 i A ABCDEF B BDF C ABCDED BCDE 55 下面程序的运行结果是 main int n 2 0 i j k 2 for i 0 i k i for j 0 j k j n j n i 1 printf d n n k A 不确定的值B 3C 2D 1 56 下面程序的运行结果是 main int x 22 33 44 55 66 77 88 int k y 0 for k 1 k 4 k if x k 2 1 y printf d y A 0B 1C 2D 3 57 下面程序的运行结果是 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 0 i A abB ab1c2d4eC abcdeD a 60 下面程序的运行结果是 main int i 0 n 0 char s 10 298h01 for i 0 s i 0 i if s i 0 n n 10 s i 0 else break printf d n n A 298h01B 29801C 01D 298 二 判断题 二 判断题 1 在程序中可以对数值数组中的数据进行整体使用 2 如果 strcmp s1 s2 的返回值为一个负数 则表明字符串 s1 一定小于字符串 s2 3 字符数组的输出不能一次性的整体输出 4 用 scanf 函数输入的字符串不可以带空格 5 用 gets 函数输入的字符串可以带空格 6 实现两个字符串的复制可以使用 str1 str2 语句 7 使用 strcpy 函数可以实现两个字符串的复制 8 使用 strcat 函数可以实现两个字符串的连接 9 使用 strlen 函数可以求出一个字符串的实际长度 包含 0 字符 10 如有定义 char a student 则数组 a 的长度为 7 11 如有定义 char a 20 则可以通过 a I am a boy 给 a 赋值 12 如有定义 int a 2 3 则数组 a 的最后一个元素为 a 1 2 13 如有定义 int a 3 4 0 则数组 a 的所有元素初值均为 0 14 C 语言中数组名实质上是数组的首地址 是一个变量地址 可对其进行赋值 15 构成数组的各个元素可以有不同的数据类型 16 若有说明 int a 10 则可以 a 10 引用数组 a 的第 10 个元素 17 引用数组元素时 其数组下标的数据类型允许的是 整型常量或整型表达式 18 若有 int a 10 6 7 8 9 10 则是将 5 个初值依次赋给 a 0 至 a 4 19 一个一维数组 它的每一个元素也是类型相同的一维数组时 便构成二维数组 20 在 C 语言中 允许用字符串来直接初始化字符数组 21 字符数组的输出不能一次性的整体输出 22 使用 strcat 函数可以实现两个字符串的复制 三 多选题三 多选题 1 以下关于数组的描述中 正确的有 在定义数组时 有时可以将该数组的维数省略 数组名实质上是数组的首地址 是一个变量地址 可对其进行赋值 构成数组的各个元素可以有不同的数据类型 有定义 int a 3 则定义了 a 0 a 1 a 2 三个数组元素 在程序中可以对数值数组中的数据进行整体使用 2 以下关于数组的描述中 错误的有 引用数组元素时 其数组下标的数据类型允许的是 整型常量或整型表达式 可以通过数组名来整体引用一个数组 在程序中可以对数值数组中的数据进行整体使用 若有说明 int a 10 则可以 a 10 引用数组 a 的第 9 个元素 若有说明 int a 10 则可以 a 10 引用数组 a 的第 10 个元素 3 以下关于数组的描述中 错误的有 可以通过如下语句来完成对一个数组的输入 int a 10 scanf d a 可以通过如下语句来完成对一个数组的输入 int a 10 scanf d 若有 int a 10 6 7 8 9 10 则是将 5 个初值依次赋给 a 0 至 a 4 数组元素可以像普通变量一样使用 int a 9 则数组 a 的下标范围是 1 9 4 以下关于数组的描述中 正确的有 数组名实质上是数组的首地址 是一个常量 不能对其赋值 在定义数组时 有时可以将该数组的维数省略 一个一维数组 它的每一个元素也是类型相同的一维数组时 便构成二维数组 如有定义 int a 3 4 0 则数组 a 的所有元素初值均为 0 可以通过数组名来整体引用一个数组 5 以下关于数组的描述中 错误的有 如有定义 int a 2 3 则数组 a 的最后一个元素为 a 1 2 一个一维数组 它的每一个元素也是类型相同的一维数组时 便构成二维数组 若有说明 static int a 3 3 那么数组 a 中每个元素初值为 0 在定义二维数组时 可以将该数组的两个维数全部省略 如有定义 char a 20 则可以通过 a I am a boy 给 a 赋值 6 若有说明 int a 4 0 0 则下面正确的叙述有 数组 a 的每个元素都可得到初值 0 二维数组 a 的第一维大小为 1 因为二维数组 a 中初值的个数不能被第二维大小的值整除 则第一维的大小等于所 得商数再加 1 故数组 a 的行数为 1 只有元素 a 0 0 和 a 0 1 可得到初值 0 其余元素均得不到初值 只有元素 a 1 1 和 a 1 2 可得到初值 0 其余元素均得不到初值 7 以下关于数组的描述中 正确的有 若有定义 char a hello 则数组 a 的长度为 6 有定义 char a 3 则定义了 a 1 a 2 a 3 三个数组元素 构成字符数组的各个元素必须是字符类型的数据 可以通过数组名来整体引用一个数组 设有数组定义 char array China 则数组 array 所占的空间为 5 个字节 8 以下关于数组的描述中 正确的有 在 C 语言中 允许用字符串来直接初始化字符数组 若有定义 char a 20 则可以通过 a I am a boy 给 a 赋值 若有 char a 10 1 2 3 则是将 3 个初值依次赋给 a 1 至 a 3 构成字符数组的各个元素必须是字符类型的数据 数组名实质上是数组的首地址 是一个常量 不能对其赋值 9 以下关于数组的描述中 错误的有 字符数组的输出不能一次性的整体输出 若有 char a 10 1 2 3 则是将 3 个初值依次赋给 a 0 至 a 2 构成字符数组的各个元素可以是不同数据类型的元素 构成字符数组的各个元素必须是字符类型的数据 若有定义 char b hello 则数组 b 的长度为 6 10 下列语句中 正确的有 char str 5 hello char str h e l l o 0 char str 5 hi char str 100 char str 3 this 11 函数调用 strcat strcpy str1 str2 str3 的功能 以下说法错误的有 将串 str1 复制到串 str2 中后在连接到串 str3 之后 将串 str1 连接到串 str2 之后再复制到串 str3 之后 将串 str2 复制到串 str1 中后再将串 str3 连接到串 str1 之后 将串 str2 连接到串 str1 中后再将串 str1 复制到串 str3 中 将串 str2 连接到串 str1 中后再将串 str3 复制到串 str1 中 12 以下关于数组的描述中 正确的有 在定义数组时 有时可以将该数组的维数省略 数组元素可以像普通变量一样使用 若有 int a 10 6 7 8 9 10 则是将 5 个初值依次赋给 a 0 至 a 4 如有定义 char a student 则数组 a 的长度为 7 若有定义 double x 3 5 则 x 数组中行下标的下限为 0 列小标的上 限为 4 13 定义了一维 int 型数组 a 10 后 下面正确的引用有 a 0 1 a 10 2 a 0 5 2 a 1 a 2 a 0 a 2 a 1 a 0 第第 8 8 章章 函函 数数 一 选择题一 选择题 1 若调用一个函数 且此函数中没有 RERUrn 语句 则关于该函数正确的说法是 A 没有返回值 B 返回若干个系统默认值 C 能返回一个用户所希望的函数值 D 返回一个不确定的值 2 在 c 语言中以下不正确的说法是 A 实参可以是常量 变量 或表达式 B 形参可以是常量 变量或表达式 C 实参可以为任意类型 D 形参应与其对应的实参类型一致 3 以下程序有语法性错误 有关错误原因的正确说法是 main int G 5 k void prt char k prt char G A 语句 void prt char 有错 它是函数调用语句 不能用 void 说明 B 变量名不能使用大写字母 C 函数说明和函数调用语句之间有矛盾 D 函数名不能使用下划线 4 以下正确的说法是 A 函数的定义可以嵌套 但函数的调用不可以嵌套 B 函数的定义不可以嵌套 但函数的调用可嵌套 C 函数的定义和调用均不可以嵌套 D 函数的定义和调用均可以嵌套 5 若使用一个数组名作函数实参 则以下正确的说法是 A 必须在主调函数中说明此数组的大小 B 实参数组类型与形参数组类型可以不匹配 C 在被调用函数中 不需要考虑形参数组的大小 D 实参数组名与形参数组名必须一致 6 在一个函数内部定义的变量是 A 简单变量 B 局部变量 C 全局变量 D 标准变量 7 若已定义的函数有返回值 则以下关于该函数调用的叙述中错误的是 A 函数调用可以作为独立的语句存在 B 函数调用可以作为一个函数的实参 C 函数调用可以出现在表达式中 D 函数调用可以作为一个函数的形参 8 已定义以下函数 fun int p return p 该函数的返回值是 A 不确定的值 B 形参 p 中存放的值 C 形参 p 所指存储单元中的值 D 形参 p 的地址值 9 以下所列的各函数首部中 正确的是 A void play var Integer var b Integer B void play int a b C void play int a int b D Sub play a as integer b as integer 10 当调用函数时 实参是一个数组名 则向函数传送的是 A 数组的长度 B 数组的首地址 C 数组每一个元素的地址 D 数组每个元素中的值 11 在调用函数时 如果实参是简单变量 它与对应形参之间的数据传递方式是 A 地址传递 B 单向值传递 C 由实参传给形参 再由形参传回实参 D 传递方式由用户指定 12 以下函数值的类型是 fun float x float y y 3 x 4 return y A int B 不确定 C void D float 13 下列函数的功能是 int fun1 chat x char y x while y return y x 1 A 求字符串的长度 B 比较两个字符串的大小 C 将字符串 X 复制到字符串 Y D 将字符串 X 连接到字符串 Y 后面 14 下面程序的输出结果是 void prty int x printf d n x main int a 25 prtv A 23 B 24 C 25 D 26 15 以下对 C 语言函数的有关描述中 正确的是 A 只能把实参的值传送给形参 形参的值不能传送给实参 B C 函数既可以嵌套定义又可以递归调用 C 函数必须有返回值 否则不能使用函数 D C 程序中所有函数都可以嵌套调用 16 以下叙述中不正确的是 A 在 C 中 函数体中定义的动态变量可以赋初值 每调用一次 赋一次初值 B 在 C 中 函数体中定义的静态变量可以赋初值 每调用一次 赋一次初值 C 在 C 中 局部变量的隐含类别是自动存储类别 D 在 C 中 在调用函数时 实在参数和对应形参在类型上只需赋值兼容 17 以下叙述中不正确的是 A 在不同的函数中可以使用相同名字的变量 B 函数中的形式参数是局部变量 C 在一个函数内定义的变量只在本函数范围内有效 D 在一个函数内的复合语句中定义的变量在本函数范围内有效 18 有以下程序 void fun int a int b int c a 456 b 567 c 678 main int x 10 y 20 z 30 fun x y z printf d d d n x y z 输出结果是 A 30 20 10 B 10 20 30 C 456 567 678 D 678 567 456 19 有以下程序 int fun int x int y int cp int dp cp x y dp x y main int a b c d a 30 b 50 fun a b printf d d n c d 输出结果是 A 50 30 B 30 J50 C 80 20 D 80 20 20 下列程序执行后的输出结果是 void func int a int b b 0 a 6 main int a b 5 a 0 b 0 3 func printf d n b 0 A 6 B 7 C 8 D 9 21 一个完整的可运行的 C 源程序中 A 可以有一个或多个函数 B 必须有且仅有一个主函数 C 可以没有主函数 D 必须有主函数和其他函数 22 下述函数定义形式正确的是 A int f int x int y B int f int x y C int f int x int y D int f x y int 23 关于函数参数 说法正确的是 A 实参与其对应的形参各自占用独立的内存单元 B 实参与其对应的形参共同占用一个内存单元 C 只有当实参和形参同名时才占用同一个内存单元 D 形参是虚拟的 不占用内存单元 24 一个函数的返回值由 确定 A return 语句中的表达式B 调用函数的类型 C 系统默认的类型D 被调用函数的类型

温馨提示

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

评论

0/150

提交评论