C语言程序设计复习题_第1页
C语言程序设计复习题_第2页
C语言程序设计复习题_第3页
C语言程序设计复习题_第4页
C语言程序设计复习题_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

C 语言程序设计复习题 一 单选题 1 能正确表示逻辑关系 a 10 或 a 0 的 C 语言表达式是 D A a 10 or a 0 a 10 i1 f 8 f 4 i2 f 4 4 f 2 2 printf d d n i1 i2 程序运行后的输出结果是 C A 64 28 B 4 4 C 4 3 D 64 64 19 有以下函数 int fun char s char t s while t return t s 该函数的功能是 C A 比较两个字符串的大小 B 计算 s 所指字符串占用 内存字节个数 C 计算所指字符串的长度 D 将 s 所指字符串复制到 t 串中 20 以下选项中值为 1 的表达式是 B A 1 0 B 1 0 C 0 0 D 1 0 21 C 语言程序的三种基本结构是 A A 顺序结构 选择结构 循环结构 B 递归结构 循 环结构 转移结构 C 嵌套结构 递归结构 顺序结构 D 循环结构 转 移结构 顺序结构 22 C 语言中函数返回值的类型是由 D 决定 A return 语句中的表达式类型 B 调用函数的主调函 数类型 C 调用函数时临时 D 定义函数时所指 定的函数类型 23 C 语言中数组名作为参数传递给函数 作为实在参数的数组 名被处理为 D A 该数组的长度 B 该数组的元素个数 C 该数组中各元素的值 D 该数组的首地址 24 C 语言中数组下标的下限是 B A 1 B 0 C 视具体情况 D 无固定下限 25 表达式 10 9 的值是 D A True B False C 0 D 1 26 表示关系 x y z 的 C 语言表达式为 A A X Y 则数组 x 在内存中所占字节数是 D A 3 B 6 C 10 D 20 28 C 语言中最简单的基本数据类型包括 B A 整型 实型 逻辑型 B 整型 实型 字符型 C 整型 字符型 逻辑型 D 整型 实型 逻辑型 字符型 29 若变量已正确说明为 int 类型 要给 a b c 输入数据 以下 正确的输入语句是 D A read a b c B scanf d d d a b c C scanf D D D D scanf d d d 30 表达式 D 是满足 当 c 的值为 1 3 5 三个数时值为 真 否则值为 假 的表达式 A c 1 c 3 c 5 B c 1 printf d u n k k A 1 1 B 1 65536 C 1 32768 D 1 65535 37 若有定义 int a 8 b 5 c 执行语句 c a b 0 4 后 c 的值为 B A 1 4 B 1 C 2 0 D 2 38 若有以下程序段 int c1 1 c2 2 c3 c3 1 0 c2 c1 则执行后 c3 中的值是 A A 0 B 0 5 C 1 D 2 39 若有以下定义 char a int b float c double d 则表 达式 a b d c 值的类型为 D A float B int C char D double 40 若有以下定义和语句 char c1 b c2 e printf d c n c2 c1 c2 a A 则输出结果是 B A 2 M B 3 E C 2 E D 输出项与对应的格式控制不一致 输出结果不确定 41 若有以下函数调用语句 fun a b x y fun n k d a b 在此函数调用语句中实参的个数是 A A 3 B 4 C 5 D 6 42 若执行下面的程序时 main int a b s scanf d d s a if a 3 s a b printf d n s 从键盘上输入 3 和 4 则输出是 B A 14 B 15 C 16 D 17 43 若 k 为整型 以下 while 循环了 C 次 int k 10 while k 0 k k 1 A 10 次 B 无限循环 C 一次不执行 D 执行一次 44 若执行下面的程序时 main int x scanf d if x 5 printf d n x else printf d n x 从键盘上输入 5 则输出是 B A 7 B 6 C 5 D 4 45 设 a b 和 c 都是 int 型变量 且 a 3 b 4 c 5 则下列表达式 中 值为 0 的表达式是 D A a 则表达式 x 1 3 的值是 A A 3 B 4 C 11 D 12 50 设有如下定义 char aa 2 abcd ABCD 则以下说法中正确的是 D A aa 数组元素的值分别是 abcd 和 ABCD B aa 是指针变量 它指向含有两个数组元素的字符型一维 数组 C aa 数组的两个元素分别存放的是含有 4 个字符的一维字 符数组的首地址 D aa 数组的两个元素中各自存放了字符 a 和 A 的地址 51 设有如下定义 int x 10 y 3 z 则语句 printf d n z x y x y 的输出结果是 D A 1 B 0 C 4 D 3 52 设有数组定义 char array China 则数组 array 所 占的空间为 C A 4 个字节 B 5 个字节 C 6 个字节 D 7 个字节 53 设有说明语句 char a 72 则变量 a 中 A A 包含 1 个字符 B 包含 2 个字符 C 包含 3 个字符 D 说明不合法 54 设有以下语句 int x 3 y 2 z 1 那么语句 printf d x y printf d n a a 1 a 6 b 2 则上面程序的输出结果是 B A 1 B 2 C 3 D 4 58 请阅读程序 int i 0 j 0 a 6 if i 0 j 0 a printf i d j d a d n i j a 则上面程序的输出结果是 B A i 0 j 0 a 6 B i 1 j 0 a 7 C i 1 j 1 a 6 D i 1 j 1 a 7 59 下列描述中不正确的是 C A 字符型数组中可以存放字符串 B 可以对字符型数组进行整体输入 输出 C 可以对整型数组进行整体输入 输出 D 不能在赋值语句中通过赋值运算符 对字符型数组进行 整体赋值 60 下列说法中正确的是 B A 在 switch 语句中一定要使用 break 语句 B 在 switch 语句中不一定要使用 break 语句 C break 语句是 switch 语句的一部分 D break 只能用于 switch 语句中 61 下面的 DO 循环中 一共循环 D 次 M 5 N 1 DO WHiLE N M N N 1 A 1 B 6 C 4 D 5 62 请阅读程序 include include main int a 1 b 4 c 2 float x 5 5 y 9 0 z z a b c sqrt double y 1 2 c x printf f n z 则上面程序的输出结果是 C A 数据溢出 B 9 3 C 9 300000 D 0 93 63 一个 C 语言的语句至少应包一个 C A B 逗号 C 分号 D 什么都不要 64 一个完整的 C 源程序是 B A 要由一个主函数 或 一个以上的非主函数构成 B 由一个且仅由一个主函数和零个以上 含零 的非主函数 构成 C 要由一个主函数和一个以上的非主函数构成 D 由一个且只有一个主函数或多个非主函数构成 65 以下 for 语句构成的循环执行了 C 次 include define N 2 define M N 1 define NUM M 1 M 2 main int i n 0 for i 1 i NUM i n printf d n A 4 B 6 C 8 D 10 66 有以下函数 char fun char p return p 该函数的 返回值是 B A 无确切的值 B 形参 p 中存放的地址 值 C 一个临时存储单元的地址 D 形参 p 自身的地址值 67 在 C 语言程序中 注释部分从哪开始 到哪结束 D A 从 到 结束 B 从 REM 开始无结束志标志 C 无起始标志 D 从 开始 结束 68 在 C 语言中 不正确的 int 类型的常数是 A A 32768 B 0 C 037 D 0 xAF 69 在 C 语言中 若对函数类型未加明显式说明 则函数的隐含 类型是 C 类型 A void B double C int D char 70 在 C 语言中 函数的隐含存储类别是 C A auto B static C extern D 无存储 类别 71 在 C 语言中 形参的缺省存储类别是 A A auto B register C static D extern 72 在宏定义 define PI 3 14159 中 用宏名 PI 代替一个 D A 单精度数 B 双精度数 C 常量 D 字符串 73 字符 char 型数据在微机内存中的存储形式是 D A 反码 B 补码 C EBCDIC 码 D ASCII 码 74 执行下面的程序后 a 的值为 B 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 75 在以下定义中 正确的说明语句为 D A int a a B int a 3 4 C int a D int a 10 76 执行下面程序片段的结果是 B int x 23 do printf 2d x while x A 打印出 321 B 打印出 23 C 不打印任何内容 D 陷入死循环 77 在说明语句 int f 中 标识符 f 代表的是 D A 一个用于指向整型数据的指针变量 B 一个用于指向一维数组的行指针 C 一个用于指向函数的指针变量 D 一个返回值为指针型的函数名 78 在下列选项中 不正确的赋值语句是 D A t B n1 n2 n3 0 C k i j D a b c 1 79 在 C 语言中 若需一变量只在本文件中所有函数使用 则该变量的存储类别是 D A extern B register C auto D static 80 以下函数值的类型是 A fun float x float y y 3 x 4 return y A int B 不确定 C void D float 81 以下说法中正确的是 C A C 语言程序总是从第一个函数开始执行 B 在 C 语言程序中 要调用的函数必须在 main 函数中定义 C C 语言程序总是从 main 函数开始执行 D C 语言程序中的 main 函数必须放在程序的开始部分 82 以下所列的各函数首部中 正确的是 C A void play var a 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 84 以下叙述正确的是 D A 输入项可以是一个实型常量 如 scanf f 3 5 B 只有格式控制 没有输入项 也能正确输入数据到内存 例如 scanf a d b d C 当输入一个实型数据时 格式控制部分可以规定小数点后的位数 如 scanf 4 2f D 格式控制后面 必须指明变量地址 例如 scanf f 85 以下叙述正确的是 D A do while 语句构成的循环不能用其它语句构成的循环来代替 B do while 语句构成的循环只能用 break 语句退出 C 用 do while 语句构成的循环 在 while 后的表达式为非零时结束循环 D 用 do while 语句构成的循环 在 while 后的表达式为零时结束循环 86 以下叙述中不正确的是 D A 在不同的函数中可以使用相同名字的变量 B 函数中的形式参数是局部变量 C 在一个函数内定义的变量只在本函数范围内有效 D 在一个函数内的复合语句中定义的变量在本函数范围内有效 87 以下程序运行后 输出结果是 B main int y 18 i 0 j a 8 do a i y 2 i y y 2 while y 1 for j i 1 j 0 j printf d a j printf n A 1000 B 10010 C 00110 D 10100 88 以下对 C 语言函数的有关描述中 正确的是 A A 在 C 中 调用函数时 只能把实参的值传送给形参 形参的值不能传送给实参 B C 函数既可以嵌套定义又可以递归调用 C 函数必须有返回值 否则不能使用函数 D C 程序中有调用关系的所有函数必须放在同一个源程序文件中 89 以下对枚举类型名的定义中正确的是 B A enum a one two three B enum a one 9 two 1 three C enum a one two three D enum a one two three 90 以下选项中不属于 C 语言的类型的是 D A signed short int B unsigned long int C unsigned int D long short 91 有如下程序 int runc int a int b return a b main0 int x 2 y 5 z 8 r r func func x y z printf d n r 该程序的输出的结果是 D A 12 B 13 C 14 D 15 92 有如下程序 long fib int n if n 2 return fib n 1 fib n 2 else return 2 main printf d n fib 3 该程序的输出结果是 D A 2 B 4 C 6 D 8 93 下面函数的功能是 A int funl char x char y x while y return y x 1 A 求字符串的长度 B 比较两个字符串的大小 C 将字符串 x 复制到字符串 y D 将字符串 x 连接到字符串 y 后面 94 下面函数的功能是 B sss char s char t while s return s t A 求字符串的长度 B 比较两个字符串的大小 C 将字符串 s 复制到字符串 t 中 D 将字符串 s 接续到字符串 t 中 95 设 x y 均为整型变量 且 x 10 y 3 则语句 printf d d n x y 的输出结果是 D A 10 3 B 9 3 C 9 2 D 10 2 96 设有如下一段程序 int var ab ab 100 var ab var 10 执行上面的程序后 ab 的值为 B A 120 B 110 C 100 D 90 97 设有如下的函数 ggg float x printf n d x x 则函数的类型 C A 与参数 x 的类型相同 B 是 void C 是 int D 无法确定 98 设有 static char str Beijing 则执行 printf d n strlen strcpy str China 后的输出结果为 A A 5 B 7 C 12 D 14 99 设 int x 1 y 1 表达式 x y 的值是 B A 0 B 1 C 2 D 1 100 若有以下说明 int a 12 1 2 3 4 5 6 7 8 9 10 11 12 char c a d g 则数值为 4 的表达式是 D A a g c B a 4 C a d c D a d c 101 若变量 a i 已正确定义 且 i 已正确赋值 合法的语句是 B A a i B i C a a 5 D a int i 102 若 k 是 int 型变量 且有下面的程序片段 k 3 if k 0 printf else printf 输出结果是 D A B s1 s2 printf d n strcmp s1 s2 输出结果是 A A 正数 B 负数 C 零 D 不确定的值 104 当 D 时 可以不指定数组长度 A 对静态数组赋初值 B 对动态数组赋初值 C 只给一部分元素赋值 D 对全部数组元素赋初值 105 C 语言中函数能否嵌套调用和递归调用 D A 二者均不可 B 前者可 后者不可 C 前者不可 后者可 D 二者均可 106 C 语言联合类型在任何给定时刻 B A 所有成员一直驻留在结构中 B 只能有一个成员驻留在结构中 C 部分成员驻留在结构中 D 没有成员驻留在结构中 108 若想要通过异或运算对变量 a 进行高 4 位求反 低四位不变 则 b 应为 A 二进制表示 A 11110000 B 00001111 C 视 a 值而定 D 不可能实现 109 若给定条件表达式 M a a 则 其中表达式 M 和 C 等价 A M 0 B M 1 C M 0 D M 0 110 若有说明 int i j 2 p 则能完成 i j 赋值功能的语句是 B A i p B p C i D i p 111 若有说明 long p a 则不能通过 scanf 语句正确给输入项读入数据的程序段是 A A p scanf ld p B p long malloc 8 scanf ld p C scanf ld p D scanf ld 112 设有如下程序 include main int k j i 100 j k printf d n k 上面程序的输出结果是 B A 运行错误 B 100 C i 的地址 D j 的地址 113 设一整型 int 变量占用 2 个字节 则下述共同体变量 x 所占用内存字节数为 C union exp int i float j double k x A 14 个 B 7 个 C 8 个 D 随机而定 114 设 x 的值为 4 则表达式 x x x 的值是 B A 12 B 18 C 16 D 21 115 设 a 3 b 2 则表达式 a b 2 的值的二进制表示为 D A 00000011 B 00000110 C 00000100 D 00000010 116 设 ch 是 char 型变量 其值为 A 且有下面的表达式 ch ch A printf 请输入一个整数 scanf d y 0 while t x 2 x x 2 printf 新的整数为 d n y x y y 2 t 3 给出年月日 计算出该日是该年的第几天 如 输入 2000 3 1 输出 61 程序 main int year month day days i d printf 请输入年 月 日 scanf d d d days 0 for i 1 i switch case1 case3 case5 case7 case8 case10 case12 d 31 break case4 case6 case9 case11 d 30 break case2 if year 4 0 else d 28 days d printf d 年 d 月 d 日是该年的第 d 天 n year month day i month i days day 3 main 利用 swap 函数交换两个变量 include main float x 10 y 20 swap printf f f n x y swap noat x float y float temp temp x y x x y y temp 4 寻找并输出 2000 以内的亲密数对 亲密数对的定义为 若正整数 a 的所有因子 不包括 a 和为 b b 的所有因子 不包括 b 和为 a 且 a b 则称 a 和 b 为亲密数对 程序 factorsum int x 求数 x 的因子和 不包括 x int i y 0 for i 1 i if x i 0 y i return y main int i j for i 2 i 2000 i j factorsum i if printf d d n i j 程序运行结果为 220 284 1184 1210 i newp p 将插入位置以后的数据全部后移一位 a newp x 将 x 插入到数组中 lastp main int a 100 i x for i 0 i 10 i scanf d for i 0 i 10 i if i 10 0 printf n printf 5d a i pa p a p 1 a p insert a x 6 程序输出以下结果 1 2 3 4 5 6 1 1 2 3 4 5 1 2 1 2 3 4 1 3 3 1 2 3 1 4 6 4 1 2 1 5 10 10 5 1 程序 main int a 6 6 i j for i 0 i 6 i for j 0 j 6 j if a i j 1 第一列数据和对角线上的数据为 1 else if i j a i j 上三角数据赋给数组 a else a i j 下三角数据赋给数组 a printf 4d a i j printf n i j j 0 j i 1 a i 1 j 1 a i 1 j 7 下面的程序实现从 10 个数中找出最大值和最小值 int max min find max min int p int n int q max min p for q q if max q else if min q main int i num 10 printf input 10 numbers n for i 0 i 10 i scanf d find max min num 10 printf max d min d n max min p qmax q min 8 下面程序实现从键盘上输入一行字符 存入一个字符数组中 然后输出该字符串 main char str 101 sptr int i for i 0 ix h 1 p y h 0 p h 1 p h 11 下面程序将从键盘输入的字符串存入文件中 字符串以 结束 文件名从键盘输入 include main FILE fp char ch fname 10 printf Input the name of file n gets fname if fp NuLL printf Cannot open n exit 0 printf Enter data n while ch getchar fputc fp fclose fp fopen fname w ch 12 以下程序的功能是 从键盘上输入一个字符串 把该字符串中的小写字母转换为大写字母 输 出到文件 test txt 中 然后从该文件读出字符串并显示出来 include main FILE fp char str 100 int i 0 if fp fopen text txt NULL printf can t open this file n exit 0 printf input a string n gets str while str i if str i a fputc str i fp i fclose fp fp fopen test txt fgets str 100 fp printf s n str fclose fp w str i a A r 四 写出下列程序的运行结果 1 main int i j i 8 j 10 printf d d d d n i j i j 运行结果 9 11 9 10 2 main int a 1 b 2 C 3 printf d d d d n a b c a b c a b c a b c 运行结果 3 1 0 0 3 main int a 10 b 20 c 30 d d a 20 c printf d d d d n a b c d 运行结果 11 19 30 1 4 main int i 2 float x 457 898 printf i 5d 8o 3x u c n i i i i i E printf x 10f 10 2f 10 4f 2f f n x x x x x 运行结果 i 2 177776 fffe 65534 C x 457 898010 457 90 457 8980 457 90 457 898010 5 main int x 1 y 2 z 3 if x y z else y z printf d d d n x y z 运行结果 0 3 4 6 main int i 2 j 2 if i if j 2 i j printf ni j d i j else i j printf ni j d i j if i for j 1 j i 1 j if j i printf nj d j else printf nOK GOOD n 运行结果 i j 6 OK GOOD 7 main int x y for x y 1 x 10 break if y 3 1 y y 3 continue printf d n x 运行结果 4 8 sub int x int y 0 static int

温馨提示

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

评论

0/150

提交评论