c语言复习试题_第1页
c语言复习试题_第2页
c语言复习试题_第3页
c语言复习试题_第4页
c语言复习试题_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

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

文档简介

1 C C 语言程序设计语言程序设计 试题库试题库 一 选择题一 选择题 10 以下选项中不合法的用户标识符是 在 C 的用户标识符命名规则中 标识符是要以下划线或字母开头的 标识符中只允 许出现字母 下划线 数字 不允许有小数点 而且还区分大小写 故 Main PRINTF 不是关键字可以作为用户标识符 A 123 B printf C A D Dim 11 c 语言中运算对象必须是整型的运算符是 A B C D 13 若变量已正确定义并赋值 符合 C 语言语法的表达式是 A a a 7 B a 7 b c a C int 12 3 4 D a a 7 c b 19 若有定义 int a 8 b 5 c 执行语句 c a b 0 4 后 c 的值为 A 1 4 B 1 C 2 0 D 2 20 char 型数据在内存中的存储形式是 A 补码 B 反码 C 原码 D ASCII 码 规定的 虽然还是以二进制存 23 若变量 a 是 int 类型 并执行了语句 a A 1 6 则正确的 叙述是 A a 的值是字符 C B a 的值是浮点型 C 不允许字符型和浮点型相加 D a 的值是字符 A 的 2 ASCII 值加上 1 24 以下选项中合法的字符常量是 A B B 010 C 68 D D 27 以下程序的输出结果是 A 0 B 1 C 3 D 不确定的值 main int x 10 y 3 printf d n y x y 29 若变量已正确定义为 int 类型 要给 a b c 输入数据 以下 正确的输入语句是 A read a b c B scanf d d d a b c C scanf D D D D scanf d d d 32 若变量已正确定义 要将 a 和 b 中的数进行交换 下面选项中不正确的是 A float B char C int D double 39 下列运算符中优先级最高的运算符是 A B C D if b a if b 0 c 0 printf d n c 46 设 a b 和 c 都是 int 型变量 且 a 3 b 4 c 5 则以下的表达 式中 值为 0 的表达式是 A a if a b if by z x x y y z A x 10 y 20 z 30 B x 20 y 30 z 30 C x 20 y 30 z 10 D x 20 y 30 z 20 50 以下程序的运行结果是 main int m 5 if m 5 printf d n m else printf d n m A 4 B 5 C 6 D 7 51 若执行以下程序时从键盘上输入 3 和 4 则输出结果是 A 14 B 16 C 18 D 20 main int a b s scanf d d s a if a b s b s s 5 printf d n s 52 运行以下程序 输出 A B if k 0 printf n else printf 53 以下程序的输出结果是 main int x 2 y 1 z 2 if x y if y 0 z 0 else z z 1 printf d n z A 3 B 2 C 1 D 0 57 以下程序段 int k 10 while k 0 k k 1 则下面描述中正确的 是 A while 循环执行 10 次 B 循环是无限循环 C 循环体语句一次也不执行 D 循环体语句执行一次 58 以下程序中 while 循环的循环次数是 main int i 0 6 while i 10 if i 1 break i A 1 B 10 C 6 D 死循环 不能确定次数 60 若执行以下程序时从键盘上输入 9 则输出结果是 A 11 B 10 C 9 D 8 main int n scanf d if n 10 printf d n n else printf d n n 62 对于下面 两个循环语句 是正确的描述 while 1 for A 都是无限循环 B 是无限循环 错误 C 循环一次 错误 D 皆错误 63 语句 while E 中的表达式 E 等价于 A E 0 B E 1 C E 0 D E 1 64 下面程序段运行结果是 x y 0 while x 15 y x x y 7 pirntf d d y x A 20 7 B 6 12 C 20 8 D 8 20 65 设有以下程序段 int x 0 s 0 while x 0 s x printf d s 则 A 运行程序段后输出 0 B 运行程序段后输出 1 a 0 C 程序段中的控制表达式是非法的 D 程序段执行无限次 66 下面程序段的运行结果是 int n 0 while n 2 printf d n A 2 B 3 C 4 D 有语法错误 67 下面程序的运行结果是 include main int num 0 while num 2 num printf d num A 1 B 1 2 C 1 2 3 D 1 2 3 4 68 c 语言中 while 和 do while 循环的主要区别是 71 若 i 为整型变量 则以下循环执行次数是 for i 2 i 0 printf d i 8 A 无限次 B 0 次 C 1 次 D 2 次 72 下面程序的运行结果是 include main int y 10 do y while y printf d n y A 1 B 1 C 8 D 0 74 下面程序段的运行结果是 for y 1 y 10 y x 3 y x 1 x 1 printf x d y d x y A x 27 y 27 B x 12 y 13 C x 15 y 14 D x y 27 76 以下程序段输出结果是 A 9 B 1 C 11 D 10 int k j s for k 2 k 6 k k s 1 for j k j7 n printf d n n 81 以下程序的输出结果是 A 741 B 8 5 2 C 963 D 875421 main int y 10 for y 0 y if y 3 0 printf d y continue 86 C 语言中 字符 char 型数据在微机内存中的存储形式是 A 反码 B 补码 C EBCDIC 码 D ASCII 码 87 设有定义语句 char a 72 则变量 a A 包含 1 个字符 B 包含 2 个字符 C 包含 3 个字符 D 包含 4 个字符 10 88 C 语言中不合法的字符常量是 A xff 扩展码 B 65 八进制 C printf d d n c1 c2 98 以下程序的输出结果是 A 因变量无定义输出不定值 B 0 C 1 D 1 include stdio h 11 main printf d n NULL 99 以下程序的输出结果是 A 5 2 3 B 5 12 7 C 5 12 17 D 5 2 7 void sub int x int y int z z y x main int a b c sub 10 5 sub 7 a sub a b printf d d d n a b c 103 在 c 语言中 引用数组元素时 其数组下标的数据类型允许是 A 整型常量 B 整型表达式 C 整型常量或整型表达式 D 任何类型的表达式 104 以下对一维整型数组 a 的正确说明是 A int a 10 B int n scanf d int a n C int n 10 a n D define SIZE 10 int SIZE 105 以下能对一维数组 a 进行正确初始化的语句是 A int a 10 0 0 0 0 0 B int a 10 C int a 10 12 56 D int a 10 1 106 以下对二维数组 a 的正确说明是 12 A int a 3 B float a 3 4 C double a 1 4 D float a 3 4 107 若有说明 int a 3 4 则对 a 数组元素的正确引用是 A a 2 4 B a 1 3 C a 1 1 0 D a 2 1 108 若有说明 int a 3 4 则对 a 数组元素的非法引用是 A a 0 2 1 B a 1 3 C a 4 2 0 D a 0 4 109 以下能对二维数组 a 进行正确初始化的语句是 A int a 2 1 0 1 5 2 3 B int a 3 1 2 3 4 5 6 C int a 2 4 1 2 3 4 5 6 D int a 3 1 0 1 1 1 111 若有说明 int a 3 4 0 则下面正确的叙述是 A 只有元素 a 0 0 可得到初值 0 B 数组 a 中每个元素均 可得到初值 0 C 数组 a 中各元素都可得到初值 但不一定为 0 D 此说明语 句不正确 113 若二维数组 a 有 m 列 则计算任一元素 a i j 在数组中位置 的公式为 假设 a 0 0 位于数组的第一个位置上 A i m j B j m I C i m j 1 13 D i m j 1 114 对以下说明语句的正确理解是 int a 10 6 7 8 9 10 A 将 5 个初值依次赋给 a 1 至 a 5 B 将 5 个初值依次赋 给 a 0 至 a 4 C 将 5 个初值依次赋给 a 6 至 a 10 D 因为数组长度与初 值的个数不相同 所以此语句不正确 115 若有说明 int a 3 1 2 3 4 5 6 7 则 a 数组第一维的 大小是 A 2 B 3 C 4 D 无确定值 116 定义如下变量和数组 int k int a 3 3 1 2 3 4 5 6 7 8 9 则下面语句的输出结果是 for k 0 ks2 B if strcmp s1 s2 C if srtcmp s2 s1 0 D if strcmp s1 s2 0 128 以下正确的函数定义形式是 A double fun int x int y B double fun int x int y C double fun int x int y D double fun int x y 130 以下正确的说法是 在 C 语言中 A 实参和与其对应的形参各占用独立的存储单元 B 实参和与其对应的形参共占用一个存储单元 C 只有当实参和与其对应的形参同名时才共占用存储单元 D 形参是虚拟的 不占用存储单元 15 131 以下不正确的说法是 C 语言规定 A 实参可以是常量 变量或表达式 B 形参可以是常量 变 量或表达式 C 实参可以为任意类型 D 形参应与其对应的实 参类型一致 132 以下正确的说法是 A 定义函数时 形参的类型说明可以放在函数体内 B return 后边的值不能为表达式 C 如果函数值的类型与返回值类型不一致 以函数值类型为准 D 如果形参与实参的类型不一致 以实参类型为准 133 C 语言允许函数值类型缺省定义 此时该函数值隐含的类型 是 A float 型 B int 型 C long 型 D double 型 134 C 语言规定 函数返回值的类型是由 A return 语句中的表达式类型所决定 B 调用该函数时的主调函数类型所决定 C 调用该函数时系统临时决定 D 在定义该函数时所指定的函数类型所决定 135 下面函数调用语句含有实参的个数为 Func exp1 exp2 exp3 exp4 exp5 只要不在 里 面就是逗号运算符 16 A 1 B 2 C 4 D 5 138 若用数组名作为函数调用的实参 传递给形参的是 A 数组的首地址 B 数组第一个元素的值 C 数组中全部元素的值 D 数组元素的个数 143 凡是函数中未指定存储类别的局部变量 其隐含的存储类别 为 A 自动 auto B 静态 static C 外部 extern D 寄存 器 register 144 以下程序的运行结果是 sub int x int y int z z y x main int a b c sub 10 5 sub 7 a sub a b printf 4d 4d 4d n a b c A 5 2 3 B 5 12 7 C 5 12 17 D 5 2 7 146 以下程序中调用 scanf 函数给变量 a 输入数值的方法是错误 的 其错误原因是 main int p q a b p printf input a scanf d p 17 A p 表示的是指针变量 p 的地址 B p 表示的是变量 a 的值 而不是变量 a 的地址 C p 表示的是指针变量 p 的值 D p 只能用来说明 p 是一个指针变量 148 若有说明 int p1 p2 m 5 n 以下均是正确赋值语句的选 项是 A p1 p2 B p1 p2 p1 p2 C p1 p2 p1 D p1 p2 p1 149 设 p1 和 p2 是指向同一个字符串的指针变量 c 为字符变量 则以下不能正确执行的赋值语句是 A c p1 p2 B p2 c C p1 p2 D c p1 p2 150 下面判断正确的是 A char a china 等价于 char a a china B char str 10 china 等价于 char str 10 str china C char a china 等价于 char s s china D char c 4 abc d 4 abc 等价于 char c 4 d 4 abc 151 下面能正确进行的字符串赋值操作的是 A char s 5 ABCDE B char s 5 A B C D E 18 C char s s ABCDE 指针特殊的字符串赋值 D char s scanf s s s 没有初始化 是悬空的 会导致 scanf 崩溃 152 若有以下定义 则对 a 数组元素的正确因用是 int a 5 p a A 则对 a 数组的第 i 行第 j 列元素值 得正确引用为 A a i j B a i j C a i j D a i j 154 若有以下定义和语句 则对 a 数组元素地址的正确引用为 int a 2 3 p 3 p a A p 2 B p 2 C p 1 1 D p 1 2 158 库函数 strcpy 用以复制字符串 若有以下定义和语句 char str1 string str2 8 str3 str4 string 则对库函数 strcpy 的不正确调用是 A strcpy str1 HELLO1 B strcpy str2 HELLO2 C strcpy str3 HEELO3 D strcpy str4 HELLO4 159 若已定义 19 int a 0 1 2 3 4 5 6 7 8 9 p a i 其中 0 i 9 则对 a 数组元素的引用不正确的是 A a p a B while i 10 scanf d 161 以下程序的输出结果是 A 3 B 4 C 1 D 2 main int a 10 1 2 3 4 5 6 7 8 9 10 p a printf d n p 2 164 以下程序的输出结果是 A 6 B 8 C 4 D 2 main int a 2 4 6 8 p a i for i 0 i 4 i a i p printf d n a 2 20 174 以下程序的输出结果是 A 1 5 9 B 1 4 7 C 3 5 7 D 3 6 9 main int i x 3 3 1 2 3 4 5 6 7 8 9 for i 0 i 3 i printf d x i 2 i 176 以下能正确进行字符串赋值 赋初值的语句组是 A char s 5 a e i o u B char s s good C char s 5 good D char s 5 s good 177 以下程序段的输出结果是 char str ABCD p str printf d n p 4 0 为零 n 为 10 A 68 B 0 C 字符 D 的地址 D 不确定的值 178 以下程序段的输出结果是 printf d n strlen ATS n012 1 后面加的跟 在一起 A 11 B 10 C 9 D 8 181 以下程序的输出结果是 A ABCD B AC DD ABCD BCD B C 21 ABC CD C B AB D D A A main char s ABCD p for p s pb B ch 0 C ch 7 9 D ch 5 9 223 下列关于单目运算符 的叙述中正确的是 A 它们的运算对象可以是任何变量和常量 B 它们的运算对象可以是 char 型变量和 int 型变量 但不能是 float 型变量 C 它们的运算对象可以是 int 型变量 但不能是 double 型变量 和 float 型变量 D 它们的运算对象可以是 char 型变量 int 型变量和 float 型 25 变量 225 以下程序的输出结果是 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 226 已知在 ASCII 代码中 字母 A 的序号为 65 以下程序的输出 的结果是 include main char c1 A c2 C printf d c n c1 c2 A 因输出格式不合法 输出错误信息 B 65 C C A Y D 65 67 229 以下程序的输出结果是 230 已知字母 A 的 ASCII 码为十进制的 65 下面程序的输出是 main char ch1 ch2 26 ch1 B 4 3 ch2 B 2 0 printf d c n ch1 ch2 A 67 D B C C C C D D 不确定的值 233 逻辑运算符两侧运算对象是 A 只能是 0 和 1 B 只能是 0 或非 0 正数 C 只能是整型或字符型数据 D 可以是任何类型的 数据 234 判断 char 型变量 ch 是否为大写字母的正确表达式是 A A ch A 执行 m a b 以下语句执行后 x y z 的值是 if x y z x x y y z A x 10 y 20 z 30 B x 20 y 30 z 30 27 C x 20 y 100 z 100 D x 20 y 30 z 20 239 以下程序的运行结果是 main int m 6 if m 5 printf d n m else printf d n m A 4 B 5 C 6 D 7 241 以下关于运算符优先顺序的描述中正确的是 逻辑运算 符不包括 A 关系运算符 算术运算符 赋值运算符 逻辑运算符 B 逻辑运算符 关系运算符 算术运算符 赋值运算符 C 赋值运算符 逻辑运算符 关系运算符 算术运算符 D 算术运算符 关系运算符 赋值运算符 逻辑运算符 242 语句 while E 中的条件 E 等价于 A E 0 B E 1 C E 0 D E 245 若 x y z 的初值均为 1 则执行表达式 w x y do printf d n x 2 while x 则上面程序段输出的是 A 5 B 1 和 2 C 3 和 0 D 是死循环 29 二 程序填空题或写结果二 程序填空题或写结果 1 以下程序的运行结果是 main int a 100 printf d a printf d a printf d n a 2 下面程序的运行结果是 include main int a s n count a 2 s 0 n 1 count 1 while count 7 n n a s s n count printf s d s 11 以下程序的输出结果是 main int x 10 y 9 int a b c a x y x y b x c y printf d d d a b c 12 以下程序输入 3 时 输出结果是 main int k scanf d 30 switch k case 1 printf d k case 2 printf d k case 3 printf d k case 4 printf d k break default printf FULL printf n 15 以下程序的运行结果是 main int x y z x 1 y 2 z 3 x y x x y z printf d d x y 18 当运行以下程序时 从键盘键入 China 回车 则下面程序的运 行结果是 include stdio h main int v1 0 v2 0 char ch while ch getchar switch ch case a 31 case h default v1 case 0 v2 printf d d n v1 v2 23 以下程序的运行结果是 main if 2 2 5 2 2 4 printf T else printf F 24 下面程序段是从键盘输入的字符中统计数字字符的个数 用换 行符结束循环 请填空 int n 0 c c getchar while c n if n c getchar 27 以下程序是输出 100 200 之间的全部素数 请填空 include main int m k i for m 101 m 200 m m 2 32 k sqrt m for i 2 i k 1 printf d m 28 以下程序是输出 100 以内能被 3 整除并且个位数为 6 的所有整 数 请填空 include main int j i for i 0 i 9 i j i 10 6 if continue printf d j 29 以下程序是输出 100 以内能被 3 整除的数 请填空 include main int i for i 100 i 200 i if i 3 0 printf d i 33 下面程序的功能是从键盘输入 10 个整数中 找出第一个能被 7 整除的数 若找到 打印此数后退出循环 若未找到 打印 33 not exit 请填空 include main int i a for i 1 i 10 i scanf d if a 7 0 printf d a if printf not exist n 36 下面程序的运行结果是 include main int i x y i x y 0 do i if i 2 0 x x i i y y i while i 7 printf x d y d n x y 38 下面程序用来输出如下图案 请填空 34 main int i j for i 1 i for j 1 j 20 4 i j printf for j 1 j printf 4c printf n 41 以下程序的功能是输入 10 个整数 求出其中的正数和 请填空 main int i float sum a for sum 0 i 1 i0 printf sum f sum 42 以下程序的功能是从键盘输入 n 个数 当输入值为负数时结束 输入 求这 n 个数的平均数 请填空 main int n float sum a for sum 0 a 0 a 0 scanf f 35 if a 0 break else sum sum a printf 这 d 个数的平均值为 f n sum n 44 以下程序的输出结果是 void fun int a int b a 100 b 200 main int a 5 b 7 fun a b printf d d n a b 46 以下程序的功能是统计正整数的各位数字中零的个数 并求各 位数字中的最大者 请填空 include main int n count max t count max 0 scanf d do t n 10 if t 0 count else if maxmax max x if min x scanf f printf max f min f n max min 49 以下程序统计从终端输入的字符中每个大写字母的个数 num 0 统 计字母 A 的个数 num 1 统计字母 B 的个数 其它依此类推 用 结束输入 请填空 include stdio h include ctype h 37 main int num 26 0 i char c while if isupper c num 1 50 以下 fun 函数的功能是将一个字符串的内容颠倒过来 请填空 include string h void fun char str int i j k for i 0 j i j i k str i str i str j str j k 51 已知数组中的值在 0 至 9 的范围内 统计每个整数的个数 请 填空 include stdlib h define M 50 define N 10 getdata int s int i for i 0 i M i s i random 10 stat int a int c 数组 C 用来统计整数的个 数 38 int j for j 0 j N j c i 0 给 C 数组赋初值 0 for j 0 j M j 用 C 数组 统计整数的个数 main int a M c N i getdata a stat a for i 0 i N i printf d d n i c i 52 以下 findmin 返回数组 s 中最小元素的下标 数组中元素的个 数由 t 传入 请填空 findmin int s int t int k p for p 0 k p p t p if k p return k 54 以下程序的输出结果是 main int arr 10 i k 0 39 for i 0 i 10 i arr i i for i 0 i 4 i k arr i i printf d n k 55 以下函数 reverse 是用来将字符数组的内容置逆 请填空 reverse char a int i c j for i 0 j strlen a 1 i j i j c

温馨提示

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

评论

0/150

提交评论