c语言试题

更新时间:2023-10-18 13:31:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、 单选题

1-1. 以下______是面向过程的程序设计语言。 A. 机器语言 B. 汇编语言 C. 高级语言 D. 第四代语言

1-2. 程序设计一般包含以下四个步骤,其中首先应该完成的是______。 A. 设计数据结构和算法 B. 建立数学模型 C. 编写程序 D. 调试运行程序

1-3. 以下常用算法中,适合计算等差级数的算法是______。 A. 枚举法 B. 递推法 C.分治法 D. 排序法 1-4. 以下不属于算法基本特征的是______。

A. 有穷性 B. 有效性 C.可靠性 D. 有一个或多个输出 1-5.下面描述中,不正确的是______。 A. 程序就是软件,但软件不仅仅是程序。

B. 程序是指令的集合,计算机语言是编写程序的工具。 C. 计算机语言都是形式化语言,它有严格的语法规则和定义。 D. 计算机语言只能编写程序而不能表示算法。 1-6.下面描述中,正确的是______。

A. 结构化程序设计方法是面向过程程序设计的主流。 B. 算法就是计算方法。

C. 一个正确的程序就是指程序书写正确。

D. 计算机语言是编写程序的工具而不是表示算法的工具。 1-7.下面描述中,不正确的是______。 A. 递归法的关键是必须有一个递归终止条件。 B. 递归算法要求语言具有反复自我调用子程序的能力。 C. 对于同一个问题,递推算法比递归算法的执行时间要长。 D. 递推算法总可以转换为一个递归算法。

1-8. N-S图与传统流程图比较,其主要优点是______。 A. 杜绝了程序的无条件转移。

B. 具有顺序、选择和循环三种基本结构。 C. 简单、直观。 D. 有利于编写程序

二、 填空题

1-9. 在流程图符号中,判断框中应该填写的是______。 1-10. 结构化程序设计是_______应遵循的方法和原则。 1-11. 结构化程序必须用_______程序设计语言来编写。

1-12. 可以被连续执行的一条条指令的集合称为计算机的_______。

1-13. 只描述程序应该\做什么\,而不必描述\怎么做\的语言被称为_______。 1-14. 任何简单或复杂的算法都是由_______和_______这两个要素组成。

1-15. 算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。 1-16. 在三种基本结构中,先执行后判断的结构被称为______。

1-17. 在程序设计中,把解决问题确定的方法和有限的步骤称作为______。 1-18. 程序设计风格主要影响程序的______。 1-19. 用模块组装起来的程序被称为______结构程序。 1-20. 采用自上而下,逐步求精的设计方法便于______。

三、 应用题

1-21. 用任何一种熟悉的方法描述求N个数中最小数的算法。

1-22. 试用枚举法设计例1-4中百钱买百鸡问题的算法,并用流程图表示。 1-23. 分别用递推和递归两种算法计算斐波那契数列: f(n+2)=f(n+1)+f(n),f(1)=f(0)=1 的前30项,并用流程图表示。

1-24. 求例1-6中方程x3-x-1=0在x=1.5附近的一个根。试用迭代法设计其算法,并用流程图表示。 1-25. 有一分数序列如下:

试用迭代法求出这个数列前20项之和,用流程图表示其算法。

1-26. 对输入的任意三个数a,b,c,要求按从小到大的顺序把它们打印出来,用流程图表示该算法。 1-27. 判断一个整数n能否同时被3和7整除,用流程图表示该算法。 1-28. 求某课全班的平均分,用流程图表示该算法。

习题二

一、 单项选择题

1-1. 以下______不是C语言的特点。 A. 语言的表达能力强 B. 语法定义严格 C. 数据结构系统化 D. 控制流程结构化

1-2. C编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的是______。 A. 编辑和编译 B. 编译和连接 C. 连接和运行 D. 编辑和运行 1-3. 以下______不是二进制代码文件。 A. 标准库文件 B. 目标文件 C. 源程序文件 D. 可执行文件

1-4. 下面各选项组中,均属于C语言关键字的一组是______。 A. auto,enum,include B. switch,typedef,continue C. signed,union,scanf D. if,struct,type

1-5 下面四组字符串中,都可以用作C语言程标识符的是______。 A. print B. I\\am C. sign D. if _maf scanf 3mf ty_pe mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY

1-6. 以下不属于流程控制语句的是______。 A. 表达式语句 B. 选择语句 C. 循环语句源程序文件 D. 转移语句 1-7.下面描述中,不正确的是______。 A. C程序的函数体由一系列语句和注释组成。 B. 注释内容不能单独写在一行上。

C. C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明; D. scanf和printf是标准库函数而不是输入和输出语句。 1-8.下面描述中,正确的是______。

A. 主函数中的花括号必须有,而子函数中的花括号是可有可无的。 B. 一个C程序行只能写一个语句。 C. 主函数是程序启动时唯一的入口。 D. 函数体包含了函数说明部分。

二、 填空题

1-9. 一个完整的C程序至少要有一个_______函数。

1-10. 标准库函数不是C语言本身的组成部分,它是由_______提供的功能函数。 1-11. C程序是以______为基本单位,整个程序由______组成。

1-12. 常用的标准库函数有数学函数、字符函数和字符串函数、动态分配函数、随机函数和_______函数等几个大类。

1-13. 标准库函数存放在_______文件中。 1-14. 目标程序文件的扩展名是______。

1-15. 程序连接过程是将目标程序、______或其他目标程序连接装配成可执行文件。

1-16. 因为源程序是______类型的文件,所以它可以用具有文本编辑功能的任何编辑程序完成编辑。

三、 应用题

1-17. 你认为C语言的主要特点和用途是什么?它和其它高级语言有什么不同? 1-18. C语言以函数为程序的基本单位,它有什么好处? 1-19. C语言程序结构的特点是什么?由哪些基本部分组成?

1-20. C语言标识符的作用是什么?命名规则是什么?与关键字有何区别?

1-21. 指出下列符号中哪些是C语言标识符?哪些是关键字?哪些既非标识符亦非关键字? stru au_to _auto sizeof 3id file m_i_n -min call..menu hello A BC SIN90 n*m x.y x1234 until cos2x 1234 1234hello s+3 s_3 1-22. 什么是标准C和ANSI C? 1-23. 为什么可以称C为\中级语言\

1-24. 请参照例2-1,编写一个能输出一个简单课程表的C程序,并上机运行该程序。

1-25. 请参照例2-2和图1-2的流程图,编写任意两数交换的C程序,要求分别输出交换前的两数和交换后的两数。上机运行该程序。

1-26. 上机运行本章例2-1和例2-1的C程序。

习 题 三

一、单选题

1-1.C语言中字符型(char)数据在内存中的形式存储是 。 A.原码 B.补码 C.反码 D. ASCII码

1-2. 运算符有优先级,在C语言中关于运算符优先级的正确叙述是 。 A. 逻辑运算符高于算术运算符,算术运算符高于关系运算符 B. 算术运算符高于关系运算符,关系运算符高于逻辑运算符 C. 算术运算符高于逻辑运算符,逻辑运算符高于关系运算符 D. 关系运算符高于逻辑运算符,逻辑运算符高于算术运算符

1-3. C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的说法是 。 A. 任何不同数据类型都不可以同用

B.有些不同类型的变量可以在一个表达式中运算

C.在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型 D.同一个运算符号在不同的场合可以有不同的含义 1-4.以下选项中属于C语言的数据类型是 。 A.复数型 B. 逻辑型 C. 双精度型 D. 集合型

1-5在C语言中,int、char和short三种类型数据所占用的内存 。 A. 均为2个字节 B. 由用户自己定义 C. 由所用机器的机器字长决定 D. 是任意的 1-6.下列常数中不能作为C的常量的是 。 A. 0xA5 B. 2.5e-2 C. 3e2 D. 0582

1-7.设int类型的数据长度为2个字节,则unsigned int类型数据的取值范围是 。 A. 0至255 B. 0至65535 D.-256至255 C.-32768至32767 1-8. 在C语言中,数字029是一个 。

A. 八进制数 B. 十六进制数 C. 十进制数 D. 非法数

1-9.下列可以正确表示字符型常数的是 。 A. \B. '\\t' C. \D. 297 1-10.以下错误的转义字符是 。 A. '\\\\' B. '\\'' C. '\\81' D. '\\0'

1-11.C语言中整数-8在内存中的存储形式是 。 A. 1111 1111 1111 1000 B. 1000 0000 0000 1000 C. 0000 0000 0000 1000 D. 1111 1111 1111 0111

1-12.已知 int i;float f;正确的语句是 。 A.(int f)%i B. int(f)%i C. int(f%i) D. (int)f%i

1-13.已知:char a;int b;float c;double d;执行语句 c=a+b+c+d;后,变量c的数据类型是 。 A. int B. char C. float D. double

1-14.已知 int i,a;执行语句\,a*5),a+6;\后,变量i的值是 。 A. 6 B. 12 C. 30 D. 36

1-15.已知 int i=5;执行语句 i+=++i;i的值是 。 A. 10 B. 11 C. 12 D. A,B,C答案都不对 1-16.字符串\的长度是 。 A. 8 B. 7 C. 6 D. 5

1-17.已知:char c='A';int i=1,j;执行语句 j=!c&&i++;则i和j的值是 。 A.1,1 B.1,0 C. 2,1 D. 2,0

1-18.已知:int x=1,y=2,z;则执行:z=x>y?++x:++y;则z的值为 。 A. 1 B. 2 C. 3 D. 4

1-19.为求出s=10!的值,则变量s的类型应当为 。 A. int B. unsiged C. long D. 以上三种类型均可 1-20.已知:float x=1, y; 则:y=++x*++x的结果为 。 A. y=9 B. y=6 C. y=1 D. 表达式是错误的

1-21.已知\,则执行表达式\后变量 a 的值为 。 A. 0 B. 1 C. 4 D. 5

1-22.已知:char w;int x;float y;double z;则表达式w*x+z-y结果的类型是 。 A. float B. Char C. int D. double 1-23.选出使变量i的运行结果为4的表达式 。 A. int i=0, j=0; B. int i=1, j=0; (i=3,(j++)+i); j=i=((i=3)*2); C. int i=0, j=1; D. int i=1, j=1; (j==1) ? (i=1):(i=3); i+=j+=2;

1-24.已知:int x;则使用逗号运算的表达式\的结果为 ① ,变量x的值为 ② 。 ① A. 20 B. 100 C. 表达式不合法 D. 45 ② A. 20 B. 100 C. 125 D. 45

1-26.执行下面语句后x的值为 。 int a=14, b=15, x; char c='A'; x = ( (a&b) && (c<'a') ); A. TRUE B. FALSE C. 0 D. 1

本文来源:https://www.bwwdw.com/article/i85f.html

Top