程序设计基础期末样题 (1)word版本
- 格式:doc
- 大小:60.00 KB
- 文档页数:18
2014-2015学年第2学期《程序设计基础实验》课程期末考查题注意:考试结束时,将该试题页以你的“学号_姓名”命名并发送到liruisheng2013@提交时间截至16:30分,不按指定格式命名的或未按时提交者,成绩按0分计。
一、程序填空题(共10空,每空2分,共20分)注意:将蓝色下划线部分补充完整并使得程序能够完成要求的功能1.下列程序功能是:输出100以内能被3整除且个位数为6的所有整数。
#include <stdio.h>void main(){ int i,j;for(i=0;(1);i++){j=i*10+6;if((2)) continue;printf("%d,",j); } }2.下面程序用以求解“1!+2!+3!+……+20!”的值,请将其补充完整#include <stdio.h>int main(){double s=0,t=1;int n;for (n=1;n<=20;n++){(3);(4);}printf("1!+2!+...+20!=%22.15e\n",s);return 0;}3. 下面程序的功能是:把数组a(大小为M)中前M-1个元素中的最小值放入a 的最后一个元素中。
#include <stdio.h>#define M 11void main(){ int a[M],i;for(i=0;i<M-1;i++)scanf("%d",&a[i]);a[M-1]=a[0];for(i=1;(5);i++)if((6))a[M-1]=a[i];printf("Max is %d\n",a[M-1]);}4. 下面程序的功能是:打印出1至1000中满足其个位数字的立方等于其本身的所有整数。
本题的结果为:1 64 125 216 729。
程序设计期末试题及答案1. 题目描述假设有一个学生成绩管理系统,具有以下功能:- 添加学生信息- 修改学生信息- 删除学生信息- 查询学生信息- 统计学生人数- 计算学生平均分请你设计一个基于面向对象编程思想的学生成绩管理系统。
2. 解题思路首先,我们需要定义一个Student类,该类包含以下属性:- 学生姓名- 学生学号- 学生成绩可以使用构造函数初始化这些属性,同时提供设置和获取属性值的方法。
接下来,我们需要设计一个ManageSystem类,该类用于实现学生成绩管理系统的各种功能。
我们可以将学生信息存储在一个列表中,通过列表的操作来实现添加、修改、删除和查询学生信息的功能。
具体来说,ManageSystem类需要实现以下方法:- 添加学生信息:接受学生姓名、学号和成绩作为参数,创建一个Student对象并将其添加到学生列表中。
- 修改学生信息:接受学生学号和新的学生信息作为参数,遍历学生列表,找到对应学号的学生对象并修改其属性值。
- 删除学生信息:接受学生学号作为参数,遍历学生列表,找到对应学号的学生对象并从列表中删除。
- 查询学生信息:接受学生学号作为参数,遍历学生列表,找到对应学号的学生对象并返回其属性值。
- 统计学生人数:返回学生列表的长度。
- 计算学生平均分:遍历学生列表,累加每个学生的成绩,并返回总成绩除以学生人数的结果。
3. 代码实现```pythonclass Student:def __init__(self, name, student_id, score): = nameself.score = scoredef get_name(self):return def get_student_id(self):return self.student_iddef get_score(self):return self.scoredef set_name(self, name): = namedef set_student_id(self, student_id):self.student_id = student_iddef set_score(self, score):self.score = scoreclass ManageSystem:def __init__(self):self.students = []def add_student(self, name, student_id, score): student = Student(name, student_id, score)def modify_student(self, student_id, name=None, score=None): for student in self.students:if student.get_student_id() == student_id:if name:student.set_name(name)if score:student.set_score(score)def delete_student(self, student_id):for student in self.students:if student.get_student_id() == student_id:self.students.remove(student)def query_student(self, student_id):for student in self.students:if student.get_student_id() == student_id:return studentdef count_students(self):return len(self.students)def calculate_average_score(self):total_score = 0for student in self.students:total_score += student.get_score()return total_score / len(self.students)```4. 程序使用示例```python# 创建学生成绩管理系统对象system = ManageSystem()# 添加学生信息system.add_student("张三", "001", 80)system.add_student("李四", "002", 90)system.add_student("王五", "003", 85)# 修改学生信息system.modify_student("002", name="赵六", score=95) # 删除学生信息system.delete_student("001")# 查询学生信息student = system.query_student("003")print(student.get_name()) # 输出:王五# 统计学生人数count = system.count_students()print(count) # 输出:2# 计算学生平均分average_score = system.calculate_average_score()print(average_score) # 输出:90.0```5. 总结通过以上设计和实现,我们可以得到一个基于面向对象编程思想的学生成绩管理系统。
一、单项选择题,请将正确答案填在横线处。
(每小题2分,共20分)1. 一个算法应该具有"确定性"等5个特性,下面对另外4个特性的描述中错误的是______。
A.有零个或多个输入B.有零个或多个输出C.有穷性D.可行性2.下述标识符中,______不是合法的标识符。
A.A#CB.getchC.vodD.ab3. 下列关于单目运算符++.--的叙述中正确的是______。
A.它们的运算对象可以是任何变量和常量B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量D.它们的运算对象可以是char型变量.int型变量和float型变量5. 以下程序的输出结果是______。
#include<stdio.h>void main(){ int a=5,b=4,c=6,d;printf("%d\n",d=a>c?(a>c?a:c):(b));}A.5B.4C.6D.不确定6. 有以下程序main(){int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf(“%d,%d,%d,%d\n”,a,b,c,d);}程序输出______。
A.0,1,2,0B. 0,0,0,3C.1,1,2,0D.编译有错7. C语言中,下列叙述正确的是______。
A.不能使用do-while语句构成的循环B.do-while语句构成的循环,必须用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环8. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是______。
A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元9. 有如下程序#define N 2#define M N+1#define NUM 2*M+1main(){ int i;for(i = 1; i <= NUM; i++)printf("%d\n",i);}该程序中的for循环执行的次数是______。
(word 版)C 语言程序设计期末考试卷及答案.doc,文档1 / 91装 装 .--C 语言程序设计期末考试卷及答案- -- -- -- - --- -- - - - - - --- - 得分 阅卷人 复核人 --- -- -- - - - - -- ---- -A 、B 、C 、D 四个选项中,选择一个最正确答案填入括号内 (每题 1分,共计 30分)。
- -一、单项选择题。
从- -- -- -- -〕。
- -1.一个C 语言程序的执行是从〔- -2 1 - -- 号 - A 〕本程序文件的第一个函数开始,到本程序文件的最后一个函数结束-- - - -- 学 -- - -- - - B 〕本程序的main 函数开始,到main 函数结束- - -- - -- - -- - -- - - C 〕本程序的main 函数开始,到本程序文件的最后一个函数结束- - -- - -- - - - -- D 〕本程序文件的第一个函数开始,到本程序的main 函数结束- --- - -- - -- - -C 语言关键字的是〔 〕。
- - -2.以下选项中不属于- - - ...- --- ---- -- A 〕switch B 〕printf C〕default D 〕case- --- - -- -3.设有语句inta=4; ,那么执行了语句a+=a-=a*a; 后,变量a 的值是〔 〕。
-- --名A 〕24B 〕-24C 〕4D 〕16-- -姓第 第 --- 4.inti;floatd; ,那么正确的表达式是〔 〕。
--- --A 〕(intd)B 〕int(d)%i C 〕(int)d%iD 〕int(d%i) -- -- -,执行语句i=(a=3*9,a/5),a+11; 后,变量i 的值是〔 - 线 -5.inti,a;〕。
- - - - -- - - - --- - -A 〕5B 〕16C 〕27D 〕38 - - - - - - - - -- - - 〕。
C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。
答案:42. C语言中,使用______关键字可以定义一个无限循环。
答案:while3. C语言中,数组的元素默认初始化为______。
程序设计基础考试(答案见尾页)一、选择题1. 在程序设计中,什么是变量?A. 存储器中的一个存储单元B. 可变的数据段C. 一个存储单元D. 以上都不是2. 在程序设计中,什么是循环?A. 重复执行一段代码直到满足特定条件B. 一次性执行一系列操作C. 基于条件执行不同的操作D. 以上都不是3. 在程序设计中,什么是函数?A. 一组用于执行特定任务的代码块B. 一个独立的程序C. 一个计算式D. 以上都不是4. 在程序设计中,什么是数组?A. 一个存储一系列数字的列表B. 一个存储一系列字符的列表C. 一种数据结构,用于存储相同类型的元素集合D. 以上都不是5. 在程序设计中,什么是递归?A. 一个函数调用自身B. 一个循环结构C. 一个基于条件的重复过程D. 以上都不是6. 在程序设计中,什么是算法?A. 一系列解决问题的清晰指令B. 一组计算机能执行的指令C. 一个计算过程D. 以上都不是7. 在程序设计中,什么是变量命名?A. 给变量分配一个唯一的名称B. 为变量设置一个描述性的名字C. 为变量分配一个数值D. 以上都不是8. 在程序设计中,什么是参数?A. 函数或过程中接收的外部输入B. 函数或过程中使用的局部变量C. 函数或过程中的一个变量D. 以上都不是9. 在程序设计中,什么是控制结构?A. 程序中的顺序执行B. 程序中的选择执行C. 程序中的循环执行D. 程序中的条件执行10. 在程序设计中,什么是数据类型?A. 数据的类型B. 数据的格式C. 数据的存储方式D. 数据的可变性11. 在程序设计中,什么是变量?A. 存储数据的一个名称B. 控制程序流程的结构C. 用来表示特定数制下的一个数值D. 以上都是12. 下面哪个是C语言中的关键字?A. ifB. whileC. includeD. void13. 在C语言中,用于函数定义的关键字是?A. functionB. procedureC. funcD. def14. 程序中的基本结构不包括以下哪一项?A. 顺序结构B. 分支结构C. 循环结构D. 递归结构15. 在程序设计中,什么是循环?A. 重复执行一段代码直到满足特定条件B. 一次执行一系列操作C. 预先定义的一组指令D. 不执行任何操作16. 在程序设计中,什么是函数?A. 一段可重用的代码块B. 一个计算结果的过程C. 一个独立的代码单元D. 以上都是17. 在C语言中,什么是数组?A. 一组有序的数据元素B. 一个存储数据的结构C. 一个计算结果的过程D. 以上都是18. 什么是算法?A. 一系列解决问题的清晰指令B. 一系列解决问题的模糊指令C. 一系列无序的数据元素D. 以上都是19. 在程序设计中,什么是指针?A. 操作数组的一种方式B. 一个存储数据的位置C. 一个计算结果的过程D. 以上都是20. 什么是数据结构?A. 程序中的基本结构B. 一系列相互关联的数据元素C. 一种计算方法D. 以上都是21. 在程序设计中,什么是变量?A. 存储数据的一个符号名B. 控制程序流程的结构C. 用来表示特定数据结构的符号D. 以上都不是22. 在程序设计中,什么是循环?A. 重复执行一段代码直到满足特定条件B. 用来初始化变量值的过程C. 用来定义函数或过程的关键字D. 以上都不是23. 在程序设计中,什么是函数?A. 一组可以重复使用的代码块B. 用来计算数学表达式的值C. 用来控制程序流程的结构D. 以上都不是24. 在程序设计中,什么是数组?A. 一种数据结构,用于存储一系列相同类型的数据B. 用来表示文本数据的对象C. 用来描述具有不同属性的对象集合D. 以上都不是25. 在程序设计中,什么是指针?A. 用于存储和操作变量或数据结构的内存地址B. 用来表示字符串的数据类型C. 一种数据结构,用于存储一系列相同类型的数据D. 以上都不是26. 在程序设计中,什么是算法?A. 一系列解决问题的清晰指令B. 用于计算数学问题的公式C. 一种特定的编程风格或方法D. 以上都不是27. 在程序设计中,什么是条件语句?A. 根据特定条件执行不同操作的代码块B. 用于初始化变量值的过程C. 用来定义函数或过程的关键字D. 以上都不是28. 在程序设计中,什么是函数调用?A. 将程序的执行从一个函数切换到另一个函数B. 用于计算数学表达式的值C. 用来描述具有不同属性的对象集合D. 以上都不是29. 在程序设计中,什么是递归?A. 一种程序设计技术,其中一个函数调用自身以解决问题B. 用于初始化变量值的过程C. 用来定义函数或过程的关键字D. 以上都不是30. 在程序设计中,什么是参数?A. 函数或过程中接收输入值的变量B. 用于计算数学表达式的值C. 用来描述具有不同属性的对象集合D. 以上都不是31. 在程序设计中,什么是变量?A. 存储器的一种B. 表示值的符号名C. 用来存储数据的容器D. 以上都不是32. 在程序设计中,什么是循环?A. 重复执行一段代码直到满足特定条件B. 一次性的操作C. 用于处理数组或列表的特定方法D. 以上都不是33. 在程序设计中,什么是函数?A. 一组用于执行特定任务的代码块B. 一种输入输出操作C. 用于计算数学表达式的值D. 以上都不是34. 在程序设计中,什么是算法?A. 一系列解决问题的清晰指令B. 一种特定的编程语言C. 用于解决特定问题的步骤D. 以上都不是35. 在程序设计中,什么是数据类型?A. 确定数据长度的特性B. 数据的唯一性C. 数据的取值范围D. 以上都不是36. 在程序设计中,什么是变量命名规则?A. 只能包含字母和数字B. 必须以字母或下划线开头C. 必须唯一D. 长度没有限制37. 在程序设计中,什么是数组?A. 一种数据结构,用于存储相同类型的元素集合B. 一种输入输出操作C. 用于表示具有不同属性的数据集合D. 以上都不是38. 在程序设计中,什么是指针?A. 操作数组的一种方式B. 保存和操作变量或数据结构的内存地址C. 一种特定的编程语言D. 以上都不是39. 在程序设计中,什么是递归?A. 一种解决问题的方法,通过调用自身来解决问题B. 一种特定的编程语言C. 用于处理数组或列表的特定方法D. 以上都不是40. 在程序设计中,什么是异常处理?A. 一种错误处理机制B. 一种特定的编程语言C. 用于解决特定问题的步骤D. 以上都不是二、问答题1. 什么是编程语言中的变量?请举例说明。
程序设计基础期末复习题程序设计基础期末复习题随着信息技术的不断发展,程序设计已经成为了一个重要的技能。
无论是在科研、工程还是日常生活中,我们都离不开程序设计。
因此,学习程序设计基础是非常重要的。
下面,我们来复习一些程序设计的基础知识。
一、变量和数据类型在程序设计中,变量是存储数据的容器。
不同的数据类型有不同的特点和用途。
常见的数据类型包括整数、浮点数、字符和布尔值等。
在定义变量时,需要指定变量的数据类型,并为其分配内存空间。
例如,整数类型的变量可以用来存储整数值,而浮点数类型的变量可以用来存储带小数点的数值。
字符类型的变量可以存储单个字符,而布尔类型的变量只能存储真或假的值。
在程序设计中,我们还可以使用运算符对变量进行运算。
常见的运算符包括加减乘除和取余等。
此外,我们还可以使用条件语句和循环语句来控制程序的执行流程。
二、函数和模块函数是一段具有特定功能的代码块,可以被多次调用。
函数可以接受输入参数,并返回输出结果。
通过使用函数,我们可以将程序分解成多个模块,提高代码的可读性和可维护性。
在程序设计中,函数可以是内置函数,也可以是自定义函数。
内置函数是编程语言提供的函数,可以直接调用。
而自定义函数则是由程序员根据需要编写的函数。
在编写函数时,我们需要考虑函数的输入和输出。
输入参数可以是必需的,也可以是可选的。
输出结果可以是一个值,也可以是一个数据结构。
通过合理设计函数的输入和输出,我们可以使函数更加灵活和通用。
三、数组和列表数组和列表是存储多个数据的数据结构。
它们可以存储相同类型的数据,并按照一定的顺序进行访问。
数组和列表的主要区别在于其大小是否可变。
数组是一种固定大小的数据结构,一旦创建后,其大小就不能改变。
而列表是一种大小可变的数据结构,可以根据需要动态调整其大小。
在程序设计中,我们可以使用数组和列表来存储一系列数据,并通过索引来访问其中的元素。
通过使用循环语句,我们可以对数组和列表中的元素进行遍历和操作。
《程序设计基础》期末考试卷试卷一一、语言基础(每小题2分,共26分)1.设有变量定义:int a=3, b=4, c=5; 表达式 !(a+b)+c-1 && b+c/2的值是多少?2.写出与代数式(x+2)e x+2对应的C表达式。
3.写出执行下列语句后的输出结果。
int x=5;if(x=3) printf(“%d\n”,x);else printf (“%d\n”,x+2);4.写出“仅当char类型变量ch是大写英文字母时改变ch为对应小写字母”的C表达式。
5.若程序中使用了库函数toupper、strcpy,写出在预处理命令中必须包含的头文件名。
6.写出下列程序段的输出结果:int i,s=0;for(i=1;i<10;i=i+2) s=s+i;printf(“i=%d s=%x\n”,i,s);7.设有宏定义“#define f(a,b,x) a*x+b”,写出下列语句的输出结果: printf(“%d %d\n”,f(1,2,3),f(f(1,2,3),4,2) );8.写出下列程序段的输出结果:int x=010,y=0x10,z=10;printf(“%d,%d,%d\n,x,y,z);9.写出下列程序段的输出结果:int k,j=3;k=j++;printf(“k=%d j=%d\n”,k,j);10.student 是结构体类型标识符,x是student类型变量,写出计算x字节数的表达式。
11.写出下列程序段的输出结果:int f(int x){ static y=1;x+=y; y++;return x;}void main( ){ int k;k=f(3);printf(“%d %d\n”,k,f(k) );}12.自定义函数fact的功能是计算k的阶乘,函数原型可以写作“float fact(int)”。
按照以下各小题的要求写出相应的函数原型。
(1)自定义函数f1的功能是计算平面上任意两点之间的距离。
单项选择==================================================题号:23095任何一个C语言的可执行程序都是从()开始执行的.A、main()函数的入口处B、程序中的第一条语句C、程序中的第一个函数D、编译预处理语句答案:A题号:23285C语言程序的三种基本结构是顺序结构,选择结构和()结构.A、循环B、转移C、递归D、嵌套答案:A题号:23286C语言中,定义结构体的保留字是().A、enumB、unionC、structD、typedef答案:C题号:23333程序流程图PFD中的"□"代表的是().A、控制流B、加工步骤C、数据流D、组成关系答案:B题号:23161C语言中,下列叙述正确的是().A、do-while 语句构成的循环不可用B、do-while 语句构成的循环,没有break语句就是死循环C、do-while 语句构成的循环,当while 语句中的表达式值为零时结束循环D、do-while 语句构成的循环,当while 语句中的表达式值为非零时跳出循环答案:C题号:23405以下不能正确进行字符串赋初值的语句是().A、char *str="good!";B、char str[5]={'g','o','o','d',0};C、char str[5]="good!";---超界D、char str[]="good!";答案:C题号:23400下述错误的C语言常量是().A、5.B、.25C、0xfD、090答案:D题号:23577以下对C语言中联合类型数据的正确叙述是().A、定义了联合变量后,即可引用该变量或该变量中的任意成员B、一个联合变量中可以同时存放其所有成员C、在向联合中的一个成员进行赋值时,联合中其他成员的值不会改变D、联合中的各个成员使用共同的存储区域答案:题号:23584如已定义x和y为double 类型,则表达式x=1,y=x+5/2的值是().A、3.0B、3.5C、2D、3答案:A题号:23493有以下程序:#include<stdio.h>main(){int a1,a2;char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是以下代表空格,<CR>代表回车.A、12,a,34,b<CR>B、12 a34 b<CR>C、12 a 34]b<CR>D、12a34b<CR>答案:D题号:24158关于%-m.nf格式符,下列描述中,正确的是().A、字符"-"表示在输出字符前面加上字符"-".B、字符"-"表示输出字符靠左对齐.C、字符"-"表示在输出字符最后加上字符"-".D、字符"-"表示输出字符靠右对齐.答案:B题号:23674下面程序的输出结果是().main(){int i=2,p;p=f(i,i+1);printf("%d",p);}int f(int a,int b){int c;c=a;if(a>b)c=1;else if(a==b)c=0;else c=-1;return c;}A、0B、1C、2D、-1答案:D题号:23833在数据库设计中,将E-R图转换成关系数据模型的过程属于().A、物理设计阶段B、需求分析阶段C、逻辑设计阶段D、概念设计阶段答案:C题号:23779已有声明"int x=5,y;float z=2;",则以下表达式语法正确的是().A、x>0? y=x:y=-xB、y=x/2=zC、y=x=z/2D、y=x%z答案:C题号:23735关系表中的每一横行称为一个.A、元组B、字段C、行D、码答案:A题号:24289若有int i=0;,则以下程序段中,while 循环的循环次数是()while(i<10){if(i<1)continue;if(i==5)break;i++;}A、6B、死循环,不能确定次数C、1D、4答案:B题号:24605以下不是无限循环的语句为().A、while(1){x++;}B、for(i=10;;i--)sum+=i;C、for(y=0,x=1;x>++y;x=i++)i=x;D、for(;;x++=i);答案:C题号:24655下面程序的功能是将从键盘输入的一对数,由小到大排序输出.当输入一对相等数时结束循#include<stdio.h>void main(){int a,b,t;scanf("%d%d",&a,&b);while(){if(a>b){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}A、!a=bB、a=bC、a !=bD、a==b答案:C题号:24192请阅读以下程序:#include<stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++;b++; break;}printf("a=%d,b=%d\n",a,b);}上面程序的输出结果是().A、a=1,b=1B、a=2,b=2C、a=2,b=1答案:C题号:24329有以下程序:#include<stdio.h>int a=1;int f(int c){static int a=2;c=c+1;return (a++)+c;}main(){int i,k=0;for(i=0;i<2;i++){int a=3;k+=f(a);}k+=a;printf("%d\n",k);}程序的运行结果是().A、15B、14C、程序不正确,无法编译D、16答案:B题号:24750设有数组定义:char array[]="China";,则数组 array所占的空间为().A、5个字节B、4个字节C、6个字节D、7个字节答案:C题号:24979有以下程序:#include<stdio.h>#include<string.h>main(){char a[10]="abcd";printf("%d,%d\n",strlena,sizeofa);}程序运行后的输出结果是().A、8,8B、10,10C、7,4D、4,10答案:D题号:24996下面程序的输出结果是().#include<stdio.h>#include<string.h>main(){ char p1[]="WHO",p2[]="who",str[50]="xyz";strcpy(str+1,strcat(p1,p2));printf("%s",str);}A、zWHOwhoB、zWHOwhoC、xWHOwhoD、xyzWHOwho答案:C题号:24949有以下程序:#include<stdio.h>main(){ int aa[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}};int i,s=0;for(i=0;i<4;i++)s+=aa[i][2];printf("%d",s);}程序运行后的输出结果是().A、19B、10C、26D、20答案:A题号:24888语句printf"%d\n",strlen"msn\t\01\\\t";的输出结果有几个字符.A、10B、6C、9D、7答案:D题号:25059有以下程序:#include<stdio.h>main(){char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++;printf("%d\n",n);}程序运行后的输出结果是().A、8B、7C、3D、0答案:C题号:24935以下能正确定义数组并正确赋初值的语句是().A、int d[3][2]={{1,2},{34}};B、int c[4][]={{1,2},{3,4}};C、int b[1][3]={{1},{3}};D、int a=1,b[a][a];答案:A题号:24981以下程序的输出结果是().void change int k[]{k[0]=k[5];}main(){int x[10]={1,2,3,4,5,6,7,8,9,10},n=0; while(n<=4){change&x[n];n++;}for(n=0;n<5;n++)printf("%d",x[n]);printf("\n");}A、13579B、62345C、12345D、678910答案:D题号:25123以下对数组初始化错误的是().A、int a[2][3]={{1,2,3},{4,5}}B、int a[2][3]={1,2,3,4};C、int[2][]={1,2,3,4,5,6};D、int a[][3]={1,2,3,4,5,6};答案:C题号:25050若有如下说明,且int类型占两个字节,则正确的叙述为().struct st{ int a;int b[2];}a;A、程序运行时为结构体st分配8字节存储单元B、程序只在执行到该结构体时才为结构体st分配存储单元C、结构体变量a与结构体成员a同名,定义是合法的D、类型名struct st可以通过extern关键字提前引用答案:C题号:25530下列不能正确计算代数式值的C语言表达式是().A、1/3.0*pow(sin(1.0/2),2)B、pow(sin(0.5),2)/3C、1/3 *sin(1/2)*sin(1/2)D、sin(0.5)*sin(0.5)/3答案:C题号:25543已有定义:char c;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是().A、c<=("'z''"-32)&&("'a'"-32)<=cB、isupper(c)C、A'"<=c&&c<="'Z'D、A'"<=c<="'Z'答案:D题号:26457以下程序段中与语句:k=a>b?b>c?1:0:0;功能相同的是().A、if(a<=b)k=0; else if(b<=c)k=1;B、if((a>b)‖(b>c))k=1; else k=0;C、if((a>b)&&(b>c))k=1; else k=0;D、if(a>b)k=1; else if(b>c)k=1; else k=0;答案:C题号:25404若变量x,y已正确定义并赋值,以下符合C语言语法的表达式是().A、++x,y=x--B、x+1=yC、double(x)/10D、x=x+10=x+y答案:A题号:26092调用函数时,基本类型变量做函数参数,实参和对应的形参().A、同名时才能共用存储单元B、各自占用独立的存储单元C、不占用存储单元D、共占用一个存储单元答案:B程序设计================================================== 题号:32147/*------------------------------------------------【程序设计】--------------------------------------------------功能:求小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。
语言程序设计期末考试试题及其答案一、单项选择题〔本大题共20题,每题2分,共40分〕1、以下不是C语言的特点的是()A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是()A、ABCB、abcC、a_bcD、3、一个C语言程序是由()A、一个主程序和假设干子程序组成B、函数组成C、假设干过程组成D、假设干子程序组成4、一个算法应该具有“确定性〞等5个特性,对另外4个特性的描述中错误的是()A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,那么表达式10+‘a’+i*f值的数据类型为()A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后〔<CR>表示回车〕,x的值是()。
#include<stdio.h>main(){intx;floaty;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、假设有以下定义inta,b;floatx,那么正确的赋值语句是()A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是()#include<stdio.h>{inti=10,j=10;printf("%d,%d\n",++i,j--); }A、11,10B、9,1C、11,9D、10,910、巳知字母A的ASCII 码是65,以下程序的执行结果是()#include<stdio.h>main(){charc1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、以下运算符中优先级最高的是()A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,那么下面表达式中值为0 是()。
年国家开放大学电大《程序设计基础》期末考题汇总.期末考试程序设计基础试题一、单项选择题(每空 2 2 分.共 0 30 分)1 1 .当代计算机的最主要的体系结构称为是 () 。
A A .冯 · 诺依曼机B B .非冯 · 诺依曼机C C .图灵机D D .L PASCAL 机2 2 .现代电子计算机诞生的理论基础是 () 。
A A .图灵机B B .图灵测试c c .冯 · 诺依曼机D D .邱奇论题3 3 .计算机软件是指 () 。
A A .计算机程序B B .源程序和目标程序C C .源程序D D .计算机程序及其有关文挡4 4 .计算机能直接执行的语言是 () ) 。
A A .机器语言B B .汇编语言C C .高级语言D D .目标语言5 5 .A JAVA 语言的类别是 () 。
A A .面向过程的程序设计语言B B .面向问题的程序设计语言C C .面向对象的程序设计语言D D .面向硬件的程序设计语言6 6 .在 C C 语言中,字符串常量的定界符是 ( ) 。
A A 。
空格B B .单引号C C .双引号D D .方括号7 7 .C C 语言中 t int 变量能够表示的数值范围是 () 。
A.- - 32767 — 32768B.- - 32768 ~ 32767C.0 ~ 655 35D.O - - 655368 8 .C C 语言中的循环控制语句中属于“ 直到型” 循环的语句是 () 。
A.gotoB.whileC C . forD . do- - while9 9 .数据的存储结构分为两种,它们是 () 。
A A .线性存储和数组存储B B .顺序存储和链式存储C C .线性存储和树型存储D D .数组存储和指针存储10 .如果在内存中采用链式保存线性表,则元素之间的逻辑关系通过 () ) 。
单项选择================================================== 题号:23095任何一个C语言的可执行程序都是从() 开始执行的.A、main() 函数的入口处B、程序中的第一条语句C、程序中的第一个函数D、编译预处理语句答案:A题号:23285C语言程序的三种基本结构是顺序结构, 选择结构和() 结构.A、循环B、转移C、递归D、嵌套答案:A题号:23286C语言中, 定义结构体的保留字是().A、enumB、unionC、structD、typedef答案:C题号:23333程序流程图PFD中的" □" 代表的是().A、控制流B、加工步骤C、数据流D、组成关系答案:B题号:23161C语言中, 下列叙述正确的是().A、do-while 语句构成的循环不可用B、do-while 语句构成的循环, 没有break 语句就是死循环C、do-while 语句构成的循环, 当while 语句中的表达式值为零时结束循环D、do-while 语句构成的循环, 当while 语句中的表达式值为非零时跳出循环答案:C题号:23405以下不能正确进行字符串赋初值的语句是().A、char *str="good!";B、char str[5]={'g','o','o','d',0};C、char str[5]="good!";--- 超界D、char str[]="good!";答案:C题号:23400下述错误的C语言常量是().A、5.B、.25C、0xfD、090答案:D题号:23577以下对C语言中联合类型数据的正确叙述是().A、定义了联合变量后, 即可引用该变量或该变量中的任意成员B、一个联合变量中可以同时存放其所有成员C、在向联合中的一个成员进行赋值时, 联合中其他成员的值不会改变D、联合中的各个成员使用共同的存储区域答案:D题号:23584如已定义x和y为double 类型, 则表达式x=1,y=x+5/2 的值是().A、3.0B、3.5C、2D、3答案:A题号:23493有以下程序:#include<stdio.h>main(){int a1,a2;char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通过键盘输入, 使得a1的值为12,a2 的值为34,c1 的值为字符a,c2 的值为字符b, 程序输出结果是:12,a,34,b, 则正确的输入格式是以下代表空格,<CR>代表回车.A、12,a,34,b<CR>B、12 a34 b<CR>C、12 a 34]b<CR>D、12a34b<CR>答案:D题号:24158关于%-m.nf格式符, 下列描述中, 正确的是().A、字符"-" 表示在输出字符前面加上字符"-".B、字符"-" 表示输出字符靠左对齐.C、字符"-" 表示在输出字符最后加上字符"-".D、字符"-" 表示输出字符靠右对齐.答案:B题号:23674下面程序的输出结果是().main(){int i=2,p;p=f(i,i+1);printf("%d",p);}int f(int a,int b){int c;c=a;if(a>b)c=1;else if(a==b)c=0;else c=-1;return c;}A、0B、1C、2D、-1答案:D题号:23833在数据库设计中, 将E-R图转换成关系数据模型的过程属于().A、物理设计阶段B、需求分析阶段C、逻辑设计阶段D、概念设计阶段答案:C题号:23779已有声明"int x=5,y;float z=2;", 则以下表达式语法正确的是().A、x>0? y=x:y=-xB、y=x/2=zC、y=x=z/2D、y=x%z答案:C题号:23735关系表中的每一横行称为一个.A、元组B、字段C、行D、码答案:A题号:24289若有int i=0;, 则以下程序段中,while 循环的循环次数是()while(i<10){if(i<1)continue;if(i==5)break;i++;}A、6B、死循环, 不能确定次数C、1D、4答案:B题号:24605以下不是无限循环的语句为().A、while(1){x++;}B、for(i=10;;i--)sum+=i;C、for(y=0,x=1;x>++y;x=i++)i=x;D、for(;;x++=i);答案:C题号:24655下面程序的功能是将从键盘输入的一对数, 由小到大排序输出. 当输入一对相等数时结束循#include<stdio.h>void main(){int a,b,t;scanf("%d%d",&a,&b);while(){if(a>b){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}A、!a=bB、a=bC、a !=bD、a==b答案:C题号:24192请阅读以下程序:#include<stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++;b++; break;}printf("a=%d,b=%d\n",a,b);}上面程序的输出结果是().A、a=1,b=1B、a=2,b=2C、a=2,b=1答案:C题号:24329有以下程序:#include<stdio.h>int a=1;int f(int c){static int a=2;c=c+1;return (a++)+c;}main(){int i,k=0;for(i=0;i<2;i++){int a=3;k+=f (a);}k+=a;printf("%d\n",k);}程序的运行结果是().A、15B、14C、程序不正确, 无法编译D、16答案:B题号:24750设有数组定义:char array[]="China";, 则数组array 所占的空间为().A、5个字节B、4个字节C、6个字节D、7个字节答案:C题号:24979有以下程序:#include<stdio.h>#include<string.h>main(){char a[10]="abcd";printf("%d,%d\n",strlena,sizeofa);}程序运行后的输出结果是().A、8,8B、10,10C、7,4D、4,10答案:D题号:24996下面程序的输出结果是().#include<stdio.h>#include<string.h>main(){ char p1[]="WHO",p2[]="who",str[50]="xyz";strcpy(str+1,strcat(p1,p2));printf("%s",str);}A、zWHOwhoB、zWHOwhoC、xWHOwhoD、xyzWHOwho答案:C题号:24949有以下程序:#include<stdio.h>main(){ int aa[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}};int i,s=0;for(i=0;i<4;i++)s+=aa[i][2];printf("%d",s);}程序运行后的输出结果是().A、19B、10C、26D、20答案:A题号:24888语句printf"%d\n",strlen"msn\t\01\\\t"; 的输出结果有几个字符.A、10B、6C、9D、7答案:D题号:25059有以下程序:#include<stdio.h>main(){char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++;printf("%d\n",n);}程序运行后的输出结果是().A、8B、7C、3D、0答案:C题号:24935以下能正确定义数组并正确赋初值的语句是().A、int d[3][2]={{1,2},{34}};B、int c[4][]={{1,2},{3,4}};C、int b[1][3]={{1},{3}};D、int a=1,b[a][a];答案:A题号:24981以下程序的输出结果是().void change int k[]{k[0]=k[5];}main(){int x[10]={1,2,3,4,5,6,7,8,9,10},n=0;while(n<=4){change&x[n];n++;}for(n=0;n<5;n++)printf("%d",x[n]);printf("\n");}A、13579B、62345C、12345D、678910答案:D题号:25123以下对数组初始化错误的是().A、int a[2][3]={{1,2,3},{4,5}}B、int a[2][3]={1,2,3,4};C、int[2][]={1,2,3,4,5,6};D、int a[][3]={1,2,3,4,5,6};答案:C题号:25050若有如下说明, 且int 类型占两个字节, 则正确的叙述为().struct st{ int a;int b[2];}a;A、程序运行时为结构体st 分配8字节存储单元B、程序只在执行到该结构体时才为结构体st 分配存储单元C、结构体变量a与结构体成员a同名, 定义是合法的D、类型名struct st 可以通过extern 关键字提前引用答案:C题号:25530下列不能正确计算代数式值的C语言表达式是().A、1/3.0*pow(sin(1.0/2),2)B、pow(sin(0.5),2)/3C、1/3 *sin(1/2)*sin(1/2)D、sin(0.5)*sin(0.5)/3答案:C题号:25543已有定义:char c;, 程序前面已在命令行中包含ctype.h 文件, 不能用于判断c中的字符是否为大写字母的表达式是().A、c<=("'z''"-32)&&("'a'"-32)<=cB、isupper(c)C、A'"<=c&&c<="'Z'D、A'"<=c<="'Z'答案:D题号:26457以下程序段中与语句:k=a>b?b>c?1:0:0; 功能相同的是().A、if(a<=b)k=0 ;else if(b<=c)k=1 ;B、if((a>b) ‖(b>c))k=1 ;else k=0 ;C、if((a>b)&&(b>c))k=1 ;else k=0;D、if(a>b)k=1 ;else if(b>c)k=1 ;else k=0 ;答案:C题号:25404若变量x,y 已正确定义并赋值, 以下符合C语言语法的表达式是().A、++x,y=x--B、x+1=yC、double(x)/10D、x=x+10=x+y答案:A题号:26092调用函数时, 基本类型变量做函数参数, 实参和对应的形参().A、同名时才能共用存储单元B、各自占用独立的存储单元C、不占用存储单元D、共占用一个存储单元答案:B程序设计================================================== 题号:32147/*------------------------------------------------【程序设计】--------------------------------------------------功能:求小于lim 的所有素数并放在aa数组中,该函数返回所求出素数的个数。
程序设计基础期末样题题目:程序设计基础期末样题字数:1990程序设计基础期末样题一、题目描述请编写一个程序,实现以下功能:1. 从用户输入中获取一组数据,包括整数和浮点数,个数不限;2. 对输入的数据进行排序,从小到大排列;3. 计算排序后数据的平均值、最大值和最小值;4. 将排序后的数据输出到屏幕上。
要求使用C语言编写程序,采用任意合适的排序算法。
二、程序设计思路在编写程序之前,我们需要明确设计思路。
根据题目描述,我们需要实现以下功能:获取一组数据、排序数据、计算统计值、输出数据。
首先,我们需要定义一个数组,用于存储用户输入的所有数据。
为了便于操作和统计,我们可以定义一个足够大的数组,以保证可以存储用户可能输入的任意个数的数据。
然后,通过循环语句,从用户输入中逐个读取数据,并将其存储到数组中。
根据题目要求,数据包括整数和浮点数,因此我们可以使用合适的数据类型来接收用户输入。
接下来,我们需要对数组中的数据进行排序。
可以选择常用的排序算法,如冒泡排序、快速排序等。
这里我们以冒泡排序为例。
通过嵌套循环,不断比较并交换相邻元素的位置,实现对数据的排序。
在排序完成后,我们可以通过循环遍历数组,计算平均值、最大值和最小值。
通过累加数据的总和,再除以数据个数,即可得到平均值。
同时,通过比较每个元素的大小,可以找到最大值和最小值。
最后,将排序后的数据逐个输出到屏幕上。
通过循环遍历数组,将每个元素依次输出即可。
三、程序设计实现以下是使用C语言编写的程序实现:#include <stdio.h>#define MAX_SIZE 100int main(){float data[MAX_SIZE];int size;int i, j;float sum = 0;float avg, max, min;float temp;printf("请输入数据个数:");scanf("%d", &size);if (size > MAX_SIZE){printf("输入数据过多,请重新运行程序!\n"); return 0;}printf("请输入一组数据:\n");for (i = 0; i < size; i++){scanf("%f", &data[i]);}for (i = 0; i < size - 1; i++){for (j = 0; j < size - i - 1; j++){if (data[j] > data[j + 1]){temp = data[j];data[j] = data[j + 1];data[j + 1] = temp;}}}for (i = 0; i < size; i++){sum += data[i];}avg = sum / size;max = data[size - 1];min = data[0];printf("排序后的数据为:\n"); for (i = 0; i < size; i++){printf("%.2f ", data[i]);}printf("\n");printf("平均值:%f\n", avg);printf("最大值:%f\n", max);printf("最小值:%f\n", min);return 0;}四、实验结果和分析我们运行上述程序,并输入一组测试数据进行验证。
XXX《程序设计基础(上)》20春期末考核答卷XXX《程序设计基础(上)》20春期末考核一、单选题(共15道试题,共30分)1.以下不正确的 if 语句形式是哪个?A。
if(x>y);B。
if(x=0)x+=y;C。
if(X!=y)cin。
x;D。
if(x>y。
{ x++。
y++。
}答案:B2.已知“char *s="mybook";”,则 strlen(s) 的值为多少?A。
4B。
6C。
7D。
不确定答案:B3.下列函数原型中,错误的是哪个?A。
int fun(int。
int);B。
void fun(int x。
y);C。
int fun(int x。
int y);D。
void fun();答案:B4.已知“char *s="mybook";”,则下列语句正确的是哪个?A。
strcpy(s,"hello");B。
strcat(s。
"hello");C。
s="hello";D。
以上均不正确答案:C5.计算机中存储数据的最小单位是什么?A。
字节B。
位C。
字D。
KB答案:B6.十进制数123变换为等值的二进制数是多少?A。
xxxxxxxB。
xxxxxxxC。
xxxxxxxD。
xxxxxxx答案:C7.下面关于数组的描述中,错误的是哪个?A。
数组的长度必须在定义数组时指定,且数组中所有元素的数据类型必须相同B。
如果定义一维数组时提供了初始化列表,则数组的长度可以省略C。
如果定义二维数组时提供了初始化列表,则数组的列下标可以省略D。
如果定义二维数组时提供了初始化列表,则数组的行下标可以省略答案:C8.表达式的 XXX'a' 数据类型是什么?A。
floatB。
doubleC。
long doubleD。
错误的表达式答案:B9.表达式 sqrt(b*b-4*a*c)>=0 && a!=0 是哪种表达式?A。
(完整word版)程序设计基础-期末考试答案2013-2014-1期末考试科目:《程序设计基础》日期:2014年1月4日计科系班级: 学号姓名第1题(2分)C语言程序从main()函数开始执行,所以这个函数要写在( )A. 程序文件的开始B. 程序文件的任何位置C. 程序文件的最后D。
它所调用的函数的前面第2题(2分)不正确的标识符是()A。
_a2B。
a2_iC. IntD. 2ai第3题(2分)以下对字符型变量c进行赋值的错误语句是?( )A。
char c1 = ‘a’;B. char c2 = 97;C。
char c3 = ‘\100’;D. char c3 = ”k";第4题(2分)若t为int型,逗号表达式:t=1,t+5,t++ 的值是()(完整word版)程序设计基础-期末考试答案A. 2B。
1C. 7D. 6第5题(2分)x=2,y = -3,z=3,则表达式x||y+z&&y—z 的值为()A。
0B。
—1C. 1D. 2第6题(2分)在C语言中对变量定义描述正确的是( )A. 可以不定义即可使用B。
在函数的开始先定义后使用C。
随时定义随时用D. 定义可以不用指明变量类型第7题(2分)下列哪个运算符的优先级高于算术运算符?A. !B. ||C. +=D. !=第8题(2分)下列哪条语句能够实现:输出double类型的变量d,输出2位小数,共占10列宽度,如果宽度不够在左边补空格。
()A. printf("%f”,d);B。
printf("%10lf”,d);C. printf(”%10。
2lf",d);D。
pri ntf(”%—10.2lf”,d);第9题(2分)对于C程序的函数,以下哪条叙述是正确的?()A。
函数定义不能嵌套,但函数调用可以嵌套B. 函数的定义可以嵌套,但函数调用不能嵌套C. 函数定义与调用均不能嵌套D. 函数定义与调用均可以嵌套第10题(2分)一个函数返回值的类型是由()决定的。
程序设计基础试题及答案一、选择题(每题2分,共10分)1. 下列哪个选项是C语言中正确的整型常量表示?A. 0x1AB. 0x1aC. 0X1AD. 0x1A和0x1a答案:D2. 在C语言中,下列哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B3. 以下哪个选项是合法的C语言变量名?A. 2variableB. variable2C. _variableD. variable$2答案:B4. 在C语言中,下列哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"'D. 'Hello, World!'答案:A5. 下列哪个选项是C语言中正确的注释方式?A. // This is a commentB. /* This is a comment */C. <!-- This is a comment -->D. Both A and B答案:D二、填空题(每题2分,共10分)1. 在C语言中,用于定义一个整型变量的关键字是________。
答案:int2. C语言中,用于定义一个浮点型变量的关键字是________。
答案:float 或 double3. C语言中,用于定义一个字符型变量的关键字是________。
答案:char4. C语言中,用于定义一个布尔型变量的关键字是________。
答案:_Bool 或 bool(C99标准)5. 在C语言中,用于定义一个数组的语法是________。
答案:类型数组名[大小]三、简答题(每题5分,共20分)1. 简述C语言中函数的定义和调用过程。
答案:函数定义包括返回类型、函数名、参数列表和函数体。
调用函数时,需要使用函数名和相应的参数列表。
程序设计基础期末样题(1)单项选择==================================================题号:23095任何一个C语言的可执行程序都是从()开始执行的.A、main()函数的入口处B、程序中的第一条语句C、程序中的第一个函数D、编译预处理语句答案:A题号:23285C语言程序的三种基本结构是顺序结构,选择结构和()结构.A、循环B、转移C、递归D、嵌套答案:A题号:23286C语言中,定义结构体的保留字是().A、enumB、unionC、structD、typedef答案:C题号:23333程序流程图PFD中的"□"代表的是().A、控制流B、加工步骤C、数据流D、组成关系答案:B题号:23161C语言中,下列叙述正确的是().A、do-while 语句构成的循环不可用B、do-while 语句构成的循环,没有break语句就是死循环C、do-while 语句构成的循环,当while 语句中的表达式值为零时结束循环D、do-while 语句构成的循环,当while 语句中的表达式值为非零时跳出循环答案:C题号:23405以下不能正确进行字符串赋初值的语句是().A、char *str="good!";B、char str[5]={'g','o','o','d',0};C、char str[5]="good!";---超界D、char str[]="good!";答案:C题号:23400下述错误的C语言常量是().A、5.B、.25C、0xfD、090答案:D题号:23577以下对C语言中联合类型数据的正确叙述是().A、定义了联合变量后,即可引用该变量或该变量中的任意成员B、一个联合变量中可以同时存放其所有成员C、在向联合中的一个成员进行赋值时,联合中其他成员的值不会改变D、联合中的各个成员使用共同的存储区域答案:D题号:23584如已定义x和y为double 类型,则表达式x=1,y=x+5/2的值是().A、3.0B、3.5C、2D、3答案:A题号:23493有以下程序:#include<stdio.h>main(){int a1,a2;char c1,c2;scanf("%d%c%d%c",&a1,&c1,&a2,&c2);printf("%d,%c,%d,%c",a1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b,则正确的输入格式是以下代表空格,<CR>代表回车.A、12,a,34,b<CR>B、12 a34 b<CR>C、12 a 34]b<CR>D、12a34b<CR>答案:D题号:24158关于%-m.nf格式符,下列描述中,正确的是().A、字符"-"表示在输出字符前面加上字符"-".B、字符"-"表示输出字符靠左对齐.C、字符"-"表示在输出字符最后加上字符"-".D、字符"-"表示输出字符靠右对齐.答案:B题号:23674下面程序的输出结果是().main(){int i=2,p;p=f(i,i+1);printf("%d",p);}int f(int a,int b){int c;c=a;if(a>b)c=1;else if(a==b)c=0;else c=-1;return c;}A、0B、1C、2D、-1答案:D题号:23833在数据库设计中,将E-R图转换成关系数据模型的过程属于().A、物理设计阶段B、需求分析阶段C、逻辑设计阶段D、概念设计阶段答案:C题号:23779已有声明"int x=5,y;float z=2;",则以下表达式语法正确的是().A、x>0? y=x:y=-xB、y=x/2=zC、y=x=z/2D、y=x%z答案:C题号:23735关系表中的每一横行称为一个.A、元组B、字段C、行D、码答案:A题号:24289若有int i=0;,则以下程序段中,while 循环的循环次数是() while(i<10){if(i<1)continue;if(i==5)break;i++;}A、6B、死循环,不能确定次数C、1D、4答案:B题号:24605以下不是无限循环的语句为().A、while(1){x++;}B、for(i=10;;i--)sum+=i;C、for(y=0,x=1;x>++y;x=i++)i=x;D、for(;;x++=i);答案:C题号:24655下面程序的功能是将从键盘输入的一对数,由小到大排序输出.当输入一对相等数时结束循环.请选择.#include<stdio.h>void main(){int a,b,t;scanf("%d%d",&a,&b);while(){if(a>b){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}A、!a=bB、a=bC、a !=bD、a==b答案:C题号:24192请阅读以下程序:#include<stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++;b++; break;}printf("a=%d,b=%d\n",a,b);}上面程序的输出结果是().A、a=1,b=1C、a=2,b=1D、a=1,b=0答案:C题号:24329有以下程序:#include<stdio.h>int a=1;int f(int c){static int a=2;c=c+1;return (a++)+c;}main(){int i,k=0;for(i=0;i<2;i++){int a=3;k+=f(a);}k+=a;printf("%d\n",k);}程序的运行结果是().A、15B、14C、程序不正确,无法编译D、16答案:B题号:24750设有数组定义:char array[]="China";,则数组 array所占的空间为().A、5个字节B、4个字节C、6个字节D、7个字节答案:C有以下程序:#include<stdio.h>#include<string.h>main(){char a[10]="abcd";printf("%d,%d\n",strlena,sizeofa);}程序运行后的输出结果是().A、8,8B、10,10C、7,4D、4,10答案:D题号:24996下面程序的输出结果是().#include<stdio.h>#include<string.h>main(){ char p1[]="WHO",p2[]="who",str[50]="xyz";strcpy(str+1,strcat(p1,p2));printf("%s",str);}A、zWHOwhoB、zWHOwhoC、xWHOwhoD、xyzWHOwho答案:C题号:24949有以下程序:#include<stdio.h>main(){ int aa[5][5]={{1,2,3,4},{5,6,1,8},{5,9,10,2},{1,2,5,6}}; int i,s=0;for(i=0;i<4;i++)s+=aa[i][2];printf("%d",s);}程序运行后的输出结果是().A、19B、10C、26D、20答案:A题号:24888语句printf"%d\n",strlen"msn\t\01\\\t";的输出结果有几个字符.A、10B、6C、9D、7答案:D题号:25059有以下程序:#include<stdio.h>main(){char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9')n++;printf("%d\n",n);}程序运行后的输出结果是().A、8B、7C、3D、0答案:C题号:24935以下能正确定义数组并正确赋初值的语句是().A、int d[3][2]={{1,2},{34}};B、int c[4][]={{1,2},{3,4}};C、int b[1][3]={{1},{3}};D、int a=1,b[a][a];答案:A题号:24981以下程序的输出结果是().void change int k[]{k[0]=k[5];}main(){int x[10]={1,2,3,4,5,6,7,8,9,10},n=0; while(n<=4){change&x[n];n++;}for(n=0;n<5;n++)printf("%d",x[n]);printf("\n");}A、13579B、62345C、12345D、678910答案:D题号:25123以下对数组初始化错误的是().A、int a[2][3]={{1,2,3},{4,5}}B、int a[2][3]={1,2,3,4};C、int[2][]={1,2,3,4,5,6};D、int a[][3]={1,2,3,4,5,6};答案:C题号:25050若有如下说明,且int类型占两个字节,则正确的叙述为().struct st{ int a;int b[2];}a;A、程序运行时为结构体st分配8字节存储单元B、程序只在执行到该结构体时才为结构体st分配存储单元C、结构体变量a与结构体成员a同名,定义是合法的D、类型名struct st可以通过extern关键字提前引用答案:C题号:25530下列不能正确计算代数式值的C语言表达式是().A、1/3.0*pow(sin(1.0/2),2)B、pow(sin(0.5),2)/3C、1/3 *sin(1/2)*sin(1/2)D、sin(0.5)*sin(0.5)/3答案:C题号:25543已有定义:char c;,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是().A、c<=("'z''"-32)&&("'a'"-32)<=cB、isupper(c)C、A'"<=c&&c<="'Z'D、A'"<=c<="'Z'答案:D题号:26457以下程序段中与语句:k=a>b?b>c?1:0:0;功能相同的是().A、if(a<=b)k=0; else if(b<=c)k=1;B、if((a>b)‖(b>c))k=1; else k=0;C、if((a>b)&&(b>c))k=1; else k=0;D、if(a>b)k=1; else if(b>c)k=1; else k=0;答案:C题号:25404若变量x,y已正确定义并赋值,以下符合C语言语法的表达式是().A、++x,y=x--B、x+1=yC、double(x)/10D、x=x+10=x+y答案:A题号:26092调用函数时,基本类型变量做函数参数,实参和对应的形参().A、同名时才能共用存储单元B、各自占用独立的存储单元C、不占用存储单元D、共占用一个存储单元答案:B程序设计==================================================题号:32147/*------------------------------------------------【程序设计】--------------------------------------------------功能:求小于lim的所有素数并放在aa数组中,该函数返回所求出素数的个数。