c语言作业答案,c语言作业答案.doc

253b171540df25e1b84436cbe50dfc72.gifc语言作业答案.doc

No Name 第1讲C语言概述 注 本系列习题中符号表示一串字符中的空格 符号表示下划线 符号 表示换行回车 即键盘 上Enter键 一 选择题 1 一个C程序的执行是从A A 本程序main函数开始 到main函数结束 B 本程序文件第一个函数开始 到最后一个函数结束 C 本程序文件第一个函数开始 到本main函数结束 D 本程序main函数开始 到本程序文件最后一个函 数结束 2 以下叙述不正确的是D A 一个C源程序必须包含一个main函数 B 一个C源程序可由一个或多个函数组成 C C程序的基本组成单位是函数 D 在C程序中 注释说明只能位于一条语句的后面 3 以下叙述正确的是C A 在对一个C程序进行编译的过程中 可发现注释中 的拼写错误 B 在C程序中 main函数必须位于程序的最前面 C 语言本身没有输入输出语句 D C程序的每行中只能写一条语句 4 一个C语言程序是由B A 一个主程序和若干个子程序组成 B 函数组成 C 若干过程组成 D 若干子程序组成 5 以下叙述中正确的是C A C语言比其他语言高级 B C语言可以不用编译就能被计算机识别执行 C C语言以接近英语国家的自然语言和数学语言作为 语言的表达形式 D C语言出现的最晚 具有其他语言的一切优点 6 下列叙述中正确的是D A C语言编译时不检查语法 B C语言的子程序有过程和函数两种 C C语言的函数可以嵌套定义 D C语言的函数可以嵌套调用 7 以下叙述中正确的是A A 构成C程序的基本单位是函数 B 可以在一个函数中定义另一个函数 C main函数必须放在其他函数之前 D 所有被调用的函数一定要在调用之前进行定义 8 C语言规定 在源程序中 main函数的位置C A 必须在最开始 B 必须在系统调用的库函数的后面 C 可以仸意 D 必须在最后 9 下列选项中不是结构化程序基本结构的是B A 顺序结构B 分支结构 C 选择结构D 循环结构 10 下列四组选项中 均不是C语言关键字的是A A define IF type B getc char printf C include case scanf D while go pow 11 下列四组选项中 均是不合法的标识符的是B A W P 0 do B b a goto int C float la0 A D 123 abc TEMP 12 下列可用于C语言标识符的一组是B A void define WORD B a3 b3 123 Car C For abc IF Case D 2a DO sizeof 13 以面的C程序中 错误的是D A main B main int x y z int x y z x 0 y x 1 x 0 y x 1 z x y z x y C main D main int x z int x y z int y x 0 y x 1 x 0 y x 1 z x y z x y 14 C语言中的标识符只能由字母 数字和下划线三种字符 组成 且第一个字符C A 必须为字母 B 必须为下划线 C 必须为字母或下划线 D 可以是字母 数字和下划线中仸一字符 15 下面各选项中 均是C语言标识符的选项组是B A 33 we auto B 23 me 3ew C 43 3e else D ER DF 32 二 填空题 1 国际上C语言常见的三个标准是 标准C ANSI C 和ISO C 2 C语言源程序的文件格式为 c和 h 3 请描述C程序中main函数的作用 接受系统调用 开始程序的执行 直至程序结束 三 程序编写题 请在本页背面作答 1 编写一个C程序 输出以下信息 Very Good 2 编写程序 实现求整数10 20和35的平均值 提示 注意给出的是三个整数 求出的平均值 不是整数 1 No Name 第2讲C语言基本数据类型 一 选择题 1 若x i j k都是int型变量 则计算下面表达式 后 x的值为C x i 4 j 16 k 32 A 4 B 16 C 32 D 52 2 下列四组选项中 均是合法转义字符的是A A n B 017 C 018 f xab D 0 101 xlf 3 下面正确的字符常量是D A c B C D K 4 以下叙述不正确的是D A 在C程序中 逗号运算符的优先级最低 B 在C程序中 MAX和max是两个不同的变量 C 若a和b类型相同 在计算了赋值表达式a b后 b中的值将放入a中 b中的值不变 D 从键盘输入数据时 对于整型变量只能输入整型 数值 对于实型变量只能输入实型数值 5 以下叙述正确的是C A 在C程序中 每行只能写一条语句 B 若a是实型变量 C程序中允许赋值a 10 因此 实型变量中允许存放整型数 C 在C程序中 是只能用于整数运算的运算符 D 在C程序中 无论是整数还是实数 都能被准确 无误地表示 6 已知字母A的ASCII码为十进制数65 且c2为字符型 则执行语句c2 A 6 3 后 c2的值为A A D B 68 C 不确定的值D C 7 sizeof float 是B A 一个双精度型表达式B 一个整型表达式 C 一种函数表达式D 一个不合法的表达式 8 设C语言中 一个int型数据在内存中占2个字节 则unsigned int 型数据的取值范围为C A 0 255 B 0 32767 C 0 65535 D 0 2147483647 9 设有说明 char w int x float y double z 则 表达式w x z y值的数据类型D A float B char C int D double 10 设以下变量均为int类型 则值不等于7的表达式 是C A x y 6 x y x 1 B x y 6 x y y 1 C x 6 x 1 y 6 x y D y 6 y 1 x y x 1 11 C语言中的基本数据类型包括B A 整型 实型 逻辑型B 整型 实型 字符型 C 整型 字符型 逻辑型D 字符型 实型 逻辑型 12 若变量已正确定义并赋值 以下符合C语言语法的表达 式是B A a b 1 B a b c 2 C int 18 5 3 D a a 7 c b 13 C语言中运算对象必须是整型的运算符是A A B C D 14 若变量a i已正确定义 且i已正确赋值 合法的语句 是B A a 1 B i C a a 5 D a int i 15 int a 7 float x 2 5 y 4 7 则表达式x a 3 int x y 2 4的值是A A 2 500000 B 2 750000 C 3 500000 D 0 000000 16 在16位C编译系统上 若定义long a 则能 给a赋40000的正确语句是D A a 20000 20000 B a 4000 10 C a 30000 10000 D a 4000L 10L 17 设有int x 11 则表达式 x 1 3 的值是A A 3 B 4 C 11 D 12 18 下列数据中 不合法的C语言实型数据的是C A 0 123 B 123e3 C 2 1e3 5 D 789 0 19 若变量a是int类型 并执行了语句 a A 1 6 则正 确的叙述是D A a的值是字符C B 不允许字符型和浮点型相加 C a的值是浮点型 D a的值是字符 A 的ASCII值加上1 20 设变量n为float类型 m为int类型 则以下能实现 将n中的数值保留小数点后两位 第三位进行四舍五 入运算的表达式是B A n n 100 0 5 100 0 B m n 100 0 5 n m 100 0 C n n 100 0 5 100 0 D n n 100 0 5 100 0 21 下面四个选项中 均是不正确的8进制数或16进制数的 选项是D A 016 0 x8f 018 B 0abc 017 0 xa C 010 0 x11 0 x16 D 0a12 7ff 123 22 以下选项中 与k n 完全等价的表达式是A A k n n n 1 B n n 1 k n C k n D k n 1 23 下面均是合法整型常量的选项是A A 160 0 xffff 011 B 0 xcdf 01a 0 xe C 01 986012 0668 D 0 x48a 2e5 0 x 24 假定x和y为double型 则表达式x 2 y x 3 2的值 是D A 3 500000 B 3 C 2 000000 D 3 000000 25 以下变量x y z均为double类型且已正确赋值 不能 正确表示数学式子x y z的C语言表达式是A A x y z B x 1 y z C x y 1 z D x y z 26 已知int k m 1 执行语句k m 后 k的值是A A 1 B 0 C 1 D 2 27 已知int m float k 正确的语句是D A int k m B int k m C int k m D int k m 28 不能进行 和 运算的数据类型为D A 指针B 整型C 长整型D 常量 2 No Name 29 putchar函数可以向终端输出一个D A 整型变量表达式B 实型变量值 C 字符串D 字符或字符型变量值 30 printf函数中用到格式符 5s 其中数字5表示输出的字 符串占用5列 字符串长度大于5 则输出按方式B 如果字符串长度小于5 则输出按方式C A 从左起输出该字符串 右补空格 B 按原字符长从左向右全部输出 C 右对齐输出该字符串 左补空格 D 输出错误信息 31 阅读以下程序 当输入数据的形式为 25 13 10 则 正确的输出结果为D main int x y z scanf d d d printf x y z d n x y z A x y z 48 B x y z 35 C x z 35 D 不确定 32 根据下面的程序及数据的输入和输出形式 程序中输入 语句的正确形式应该为A main char ch1 ch2 ch3 输入语句 printf c c c ch1 ch2 ch3 输入形式 A B C 输出形式 A B A scanf c c c B scanf c c c C scanf c c c D scanf c c 33 已知ch是字符型变量 下面不正确的赋值语句是A A ch a b B ch 0 C ch 7 9 D ch 5 9 34 若变量已正确说明为float型 要通过语句scanf f f f 给a赋予10 0 b赋予22 0 c赋 予33 0 下列不正确的输入形式是B A 10 22 33 B 10 0 22 0 33 0 C 10 0 22 0 33 0 D 10 22 33 35 下列程序段的输出结果是 C int a 1234 float b 123 456 double c 12345 54321 printf 2d 2 1f 2 1f a b c A 无输出B 12 123 5 12345 5 C 1234 123 5 12345 5 D 1234 123 4 1234 5 36 已有定义int a 2 和输出语句printf 8lx a 以 下正确的叙述是D A 整型变量的输出形式只有 d一种 B x是格式符的一种 可适用于仸何一种类型的数据 C x是格式符的一种 其变量的值按十六进制输出 但 8lx是错误的 D 8lx不是错误的格式符 其中数字8规定了输出字 段的宽度 二 填空题 1 若有定义 int m 5 y 2 则计算表达式y y m y后的y值是 16 2 在C语言中 一个int型数据在内存中占2个字节 则int型数据的取值范围为 32768 32767 3 若a是int型变量 则计算表达式a 25 3 3后a的值为2 4 若x和n均是int型变量 且x和n的初值均为5 则计算表达式x n 后x的值为10 n的值为6 5 若有定义 char c 0108F 0 则字符串c中包含的字符个数为5 6 定义int a 5 b 则执行表达式b a a之后 变量b的值为25 7 已知字母a的ASCII码为十进制数97 且设ch为字符型变量 则表达式ch a 8 3 的值为102 或 f 8 以下程序段的输出结果是i dec 4 oct 177774 hex fffc unsigned 65532 main short i i 4 printf ni dec d oct o hex x unsigned u n i i i i 9 假设变量a和b均为整型 请填空使得以下语句可以不借助仸何变量把a b中的值进行交换 a b b a b a b 10 有一输入语句scanf d k 则不能使float类型变量k得到正确数值的原因是 1 k应该加上取地址符号 switch x case 0 b case 1 a case 2 a b printf a d b d n a b A a 2 b 1 B a 1 b 1 C a 1 b 0 D a 2 b 2 2 以下程序执行后输出结果是C main int i 1 j 1 k 2 if j k A 1 1 2 B 2 2 1 C 2 2 2 D 2 2 3 3 如下程序的输出结果是C main float x 2 0 y if x 0 0 y 0 0 else if x12 x 10 x 12 printf d n y A 0 B 22 C 12 D 10 6 在C程序中 判逻辑值时 用 非0 表示逻辑值 真 又用 0 表示逻辑值 假 在求逻辑值时 逻辑表达式 值为 真 和 假 分别用A 表示 A 1和0 B 0和1 C 非0和非0 D 1和1 7 以下4个选项中 不能看做一条语句的是D A B a 5 b 2 5 c 3 6 C if a 10 or a 0 a 10 if a b if b 0 c 0 else c printf d n c A 0 B 1 C 2 D 3 10 设x y和z都是int型变量 且x 3 y 4 z 5 则下面 表达式中 值为0的表达式D A x if a b c printf n else printf n A 有语法错不能通过编译 B 可以通过编译但不能通过连接 C 输出 D 输出 15 当k的值不为0时 在下列选项中能够将k的值赋给变 量m和n的是B A m k n B m k while t 1 则以下叙述正确的 是B A 循环控制表达式值为0 B 循环控制表达式值为1 C 循环控制表达式不合法D 以上说法都不对 17 下面程序输出结果是B main int n 9 while n 6 n printf d n A 987 B 876 C 8765 D 9876 18 在下列程序段中 没有构成死循环的是D A B C D int i 10 for int k 10 int s 36 while 1 do k while s i i 3 1 while k 10 s if i 10 break 19 以下程序段的描述 正确的是C x 1 do x x x while x A 是死循环B 循环执行两次 C 循环执行一次D 有语法错误 4 No Name 20 在下述程序中 判断i j共执行的次数是D main int i 0 j 10 k 2 s 0 for i k if i j printf d s break s i A 4 B 7 C 5 D 6 21 下面程序的功能是把316表示为两个加数的和 使两个 加数分别能被13和11整除 请选择填空 满足题意的选 项是B include main int i 0 j k do i k 316 13 i while j k 11 printf 316 13 d 11 d i j A k 11 B k 11 C k 11 0 D k 11 0 22 下面程序的运行结果是B include main int a 1 b 10 do b a a while b 0 printf a d b d n a b A a 3 b 11 B a 2 b 8 C a 1 b 1 D a 4 b 9 23 执行语句for i 1 i 4 后变量i的值是C A 3 B 4 C 5 D 不定 24 关于程序段int k 10 while k 0 k k 1 下面描述 中正确的是C A while循环执行10次B 循环是无限循环 C 循环体语句一次也不执行D 循环体语句执行一次 25 表达式for 表达式1 表达式3 可理解为B A for 表达式1 0 表达式3 B for 表达式1 1 表达式3 C for 表达式1 表达式1 表达式3 D for 表达式1 表达式3 表达式3 26 以下程序的输出结果是B main int i j x 0 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 27 以下描述中正确的是C A 因do while循环中循环体语句只能是一条可执行语句 所以循环体内不能使用复合语句 B do while循环由do开始 用while结束 在while 表达 式 后面不能写分号 C 在do while循环体中 先执行一次循环 再进行判断 D do while循环中 根据情况可以省略while 28 针对下列语句说法正确的是A int i x for i 0 x 0 i 9i scanf d x A 最多的执行10次B 最多执行9次 C 是无限循环D 循环体一次也不执行 29 C语言中while 和do while循环的主要区别是A A do while的循环体至少无条件执行一次 B while的循环控制条件比do while更严格 C do while允许从外部转到循环体内 D do while 的循环体不能是复合语句 30 执行程序段int k 1 while k 4 后k值为A A 4 B 5 C 6 D 8 二 填空题 1 执行程序段int a 1234 printf 2d n a 的输出结果是1234 2 以下程序的输出结果是16 main int a 0 a a 8 printf d n a 三 程序编写题 如本页空间不够请在背面作答 1 编写程序求解求和公式S 1 1 2 1 3 1 4 的前10项 要求画出流程图 ANSI流程图和NS流程图 2 编写程序实现输入整数n 输出如下所示数字组成的菱形 如n 5 要求画出流程图 ANSI 流程图和NS流程图 1 1 2 1 1 2 3 2 1 1 2 3 4 3 2 1 1 2 3 4 5 4 3 2 1 1 2 3 4 3 2 1 1 2 3 2 1 1 2 1 1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值