C语言程序设计试题及答案.pdf_第1页
C语言程序设计试题及答案.pdf_第2页
C语言程序设计试题及答案.pdf_第3页
C语言程序设计试题及答案.pdf_第4页
C语言程序设计试题及答案.pdf_第5页
已阅读5页,还剩107页未读 继续免费阅读

C语言程序设计试题及答案.pdf.pdf 免费下载

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

文档简介

C语言程序设计试题 第1 2 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 并有以下输入数据 此处 代表换行 代表空格 12 ABC 则能给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章 数组 一 选择题 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 24 B 25 C 18 D 17 51 strlen A 0B 0C 的结果为 A 0 B 1 C 2 D 3 52 下面程序的运行结果是 main int a 3 1 2 3 4 5 6 printf d a 1 1 A 3 B 4 C 5 D 6 53 下面程序的运行结果是 main char s1 20 Good char s2 15 AB printf d strlen strcpy s1 s2 A 20 B 15 C 5 D 2 54 下面程序的运行结果是 main char s1 20 ABCDEF int i 0 while s1 i 0 printf c s1 i A ABCDEF B BDF C ABCDE D 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 3 C 2 D 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 0 B 1 C 2 D 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 ab B ab1c2d4e C abcde D 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 298h01 B 29801 C 01 D 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章 函 数 一 选择题 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 被调用函数的类型 25 以下叙述中正确的是 A C语言程序总是从第一个定义的函数开始执行 B 在C语言程序中 要调用的函数必须在main 函数中定义 C C语言程序总是从main 函数开始执行 D C语言程序中的main 函数必须放在程序的开始部分 26 以下函数 fff float x printf d n x x 的类型是 A 与参数x的类型相同 B void类型 C int类型 D 无法确定 27 以下对C语言函数的描述中 正确的是 A C程序由一个或一个以上的函数组成 B C函数既可以嵌套定义又可以递归调用 C 函数必须有返回值 否则不能使用函数 D C程序中调用关系的所有函数必须放在同一个程序文件中 28 以下叙述中不正确的是 A 在C语言中 调用函数时 只能把实参的值传送给形参 形参 的值不能传送给实参 B 在C的函数中 最好使用全局变量 C 在C语言中 形式参数只是局限于所在函数 D 在C语言中 函数名的存储类别为外部 29 在一个源文件中定义的外部变量的作用域为 A 本文件的全部范围 B 本程序的全部范围 C 本函数的全部范围 D 定义该变量的位置开始至本文件结束 30 有以下函数调用语句 func exp1 exp2 exp3 exp4 exp5 其中含有的实参个数和是 A 1 B 2 C 4 D 5 31 C语言中形参的默认存储类别是

温馨提示

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

评论

0/150

提交评论