(完整版)程序设计基础试题_03_答案
- 格式:doc
- 大小:45.01 KB
- 文档页数:9
一、选择题1. C 语言中,执行下列语句时,要使 x,y 的值均为1.25,正确的输入是 _C scanf(“x=%f,y=%”f,&x,&y);A. 1.25,1.25 C. x=1.25,y=1.252. 已知i,j,k 为int 型变量,若从键盘输入1, 2, 3/,使i 的值为1,j 的值为2, k 的值为 3,则以下选项中正确的输入语句是 A.scanf(“%2d%2d%2d ”,&i,&j,&k) ; C. scanf(“%d,%d,%d ”,&i,&j,&k) ;D. scanf(“i=%d,j=%d,k=%d ”,&i,&j,&k) ;3.以下程序段的执行结果是 int a=1234 ;printf(“%2d\n ”,a); A. 12 C. 12344. 如果x 为float 类型变量,则以下语句输出为 x=213.82631;printf(“%4.2f\n ”,x); A. 213.82 C. 213.826315. 执行下列程序时输入: 123 456 789/,输出结果是 ___D #include<stdio.h> void main(){char s[10]; int c,i;scanf(“%c ”,&c); scanf(“%d ”,&i); scanf(“%s ”,s);printf( “%c,%d,%s\n ”,c,i,s);}A. 123,456,789 C. 1,23,456,789二、填空题1.在 printf() 函数中以小数形式输出单精度、 双精度实数,应采用格式符 __%f___。
2•在seanf()函数中要输入一个字符串,应采用格式符 __%s3. 有以下程序,输入123456789/,其输出结果是 _12,56,789.00000Q_。
程序设计基础复习题一、单项选择1、一个完好的计算机系统应当包含()A、系统软件和应用软件B、计算机及其外面设施C、硬件系统和软件系统D、系统硬件和系统软件2、“裸机”的观点是指()A、正在进行设计还没有组装好的计算机B、已经组装好但还没有安装任何软件的计算机C、仅安装了操作系统的计算机系统D、安装了文字办理软件但没有安装专用数据办理系统的计算机3、世界上第一台电子数字计算机研制成功的时间是()A、1936 年B、1946 年C、1956 年D、1970 年4、CASE的含义是()A、计算机协助设计B、计算机协助制造C、计算机协助教课D、计算机协助软件工程 5、目前宽泛使用的微型计算机是()A、第一代B、第二代C、第三代D、第四代6、今世计算机的系统构造称为是()A、冯·诺依曼机B、非冯·诺依曼机C、图灵机D、比尔盖茨机7、硬盘是()A、输入设施B、输出设施C、储存设施D、计算设施8、下边 4 句话中,最正确的表述是()A、程序 =算法 +数据构造B、程序是使用编程语言实现算法C、程序的开发方法决定算法设计D、算法是程序设计中最重点的要素9、计算机能直接履行的语言是()A、机器语言B、汇编语言C、高级语言D、目口号言10、解说程序的功能是()A、将高级语言程序变换为目标程序B、将汇编语言程序变换为目标程序C、解说履行高级语言程序D、解说履行汇编语言程序11、下边 4 种程序设计语言中,不是面向对象式语言的是()A、JAVAB、Object PascalC、DelphiD、C12、不是 C语言的基本数据种类是()A、intB、doubleC、charD、bool13、在 C 语言中,为了求两个整数相除以后获得的余数,能够使用运算符()A、/B、%C、*D、++14、数据的逻辑构造分为()A、纯属构造和非线性构造B、次序构造和非次序构造C、树型构造和图型构造D、链式构造温次序构造15、用链表表示纯属表的长处是()A、便于随机存取B、便于插入和删除操作C、花销的储存空间较次序储存少D、元素的物理次序与逻辑次序同样16、栈的最主要特色是()A、先进先出B、先进后出C、两头出入D、一端进一端出17、下边 4 句结论只有一句是错误的,它是()A、二叉树是树B、二叉树的左右子树的地点能够颠倒C、能够使用二叉树的思想对数值进行排序D、能够采纳链表方式储存二叉树18、螺旋模型中包含需求定义、风险剖析、工程优惠和评审四个阶段,在开发过程中() A、每个周期都要包含这四个阶段 B、每个周期能够包含不一样的阶段C、在最后交托使用以前才进行评审D、在项目开始时才需要进行风险剖析19、软件工程的出现主假如因为()A、程序设计方法学的影响B、其余工程科学的影响C、软件危机的出现D、计算机的发展20、在软件工程中,软件测试的目的是()A、试验性运转软件B、发现软件错误C、证明软件是正确的D、找出软件中所有错误二、填空题1、世界上最早的高级程序设计语言是()2、计算机依据工作原理进行分类能够分为()和()3、目前计算机的最基来源理采纳的是()4、计算机储存器一般分为两级,它们是()和()5、高级语言程序的翻译有两种方式,一种是(),另一种是()6、数据的储存构造能够用()和()7、树型构造的主要特色是结点之间存在着一种层次的关系,数据元素之间的关系是()的关系。
c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。
b) 一个C程序中至少应包括一个 main函数。
c) 在C语言中,输出操作是有库函数 printf( )函数完成。
二、单选题1、A2、C3、B解析:第1题答案:A 。
因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。
且到main函数结束。
第2题答案:C 。
因为 main函数没有限制必须位于程序的最前面。
C程序书写自由,一行内可写几个语句。
在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。
不过C语言本身并没有输入输出语句,输入输出是由函数完成的。
第3题答案:B。
因为一个C语言程序是由若干个函数组成的。
但至少包含一个main 函数,且main函数的位置不限。
三、编程题1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。
海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。
*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。
*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。
《程序设计基础——C#.NET》练习参考答案:一、选择题的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。
A.互联网 B. Windows C. C# D. 网络操作系统2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。
A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”)C. System.Console.WriteLine(“x={0}”,x)D. System.Console.WriteLine(“x={x}”)3.要退出应用程序的执行,应执行下列的_A___语句。
A. Application.Exit();B. Application.Exit;C. Application.Close();D. Application.Close;4.关于C#程序的书写,下列不正确的说法是__D________。
A.区分大小写B.一行可以写多条语句C.一条语句可以写成多行D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法5. 在C#语言中,下列能够作为变量名的是__C__。
A.if B. 3ab C. b_3a D. a-bc7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。
A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=08. 以下程序的输出结果是___C_____。
A. 5B. 4C. 6D. 不确定9. If语句后面的表达式应该是__A___。
A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:该程序的输出结果是__A___。
A. a=0,b=1B. a=1,b=1C. a=1,b=0D. a=2,b=211.以下叙述正确的是__D___。
2019国开电大《程序设计基础》形考任务3答案程序设计基础形考任务3:1.数据结构研究主要包括三个方面的内容,分别是:数据的逻辑结构,数据的存储结构,以及定义在这上面的数据的运算。
2.当向一个顺序表插入一个元素时,从插入位置开始后的所有元素均需向后移动一个位置,移动过程是从后向前依次移动每一个元素。
3.要从一个顺序表删除一个元素时,被删除之后的所有元素均需向前移动一个位置,移动过程是从前向后依次移动每一个元素。
4.线性表、栈和队列都是线性结构,可以在线性表的任意位置插入和删除元素,而栈只能在栈顶插入和删除元素;对于队列只能在队尾插入元素,在队头删除元素。
5.如果要在链表中删除一个元素,则只要将要删除的元素的前一个元素的指针调整为指向要删除的元素的下一个元素。
6.为了解决假溢出,通常采用循环队列的方法,即把队列的存储空间设想成一个头尾相接的环状结构。
7.二叉树的第i 层上至多有2i-1(i≥1)个结点。
8.在任意二叉树中,若有n0个叶子结点,n2个度为2的结点,则必有:n0=n2+1 9.深度为h且含有2h -1个结点的二叉树为满二叉树。
10.深度为5的二叉树中至多含有31点。
二、选择题(每题6分,合计60分)2数据的存储结构分为两种,它们是______。
选择一项:A. 数组存储和指针存储B. 顺序存储和链式存储C. 线性存储和树型存储D. 线性存储和数组存储3如果在内存中采用链式保存线性表,则元素之间的逻辑关系通过______。
选择一项:A. 保存在元素中的指针表示先后次序B. 元素本身的关键字来表示逻辑次序C. 元素在内存中的相对位置表示逻辑次序D. 设立单独的区域存储元素之间的逻辑次序4进行顺序查找的条件是______。
选择一项:A. 数据有序且采用链式存储方式B. 数据不需要有序,但需要顺序存储C. 数据有序且采用顺序存储方式D. 数据不需要有序,也不限制存储方式5队列的最主要特点是______。
程序设计基础理论练习题(带答案)程序设计基础理论练习题(带答案)1. 编程语言的发展历程从机器语言到高级语言的发展,现代计算机编程语言的分类和特点。
答案:编程语言的发展经历了多个阶段。
最早的计算机只能使用机器语言进行编程,这是一种由0和1组成的二进制代码。
随着计算机的发展,高级语言逐渐出现。
高级语言通过使用更接近自然语言的语法和结构,使得编程更加易于理解和用户友好。
现代计算机编程语言多种多样,比如C、Java、Python等。
它们各自有着不同的特点和用途。
2. 数据类型与变量不同编程语言中常见的数据类型和变量的定义、使用方法。
答案:不同编程语言中常见的数据类型包括整数、浮点数、布尔值、字符和字符串等。
变量用于存储不同类型的数据。
在大部分编程语言中,变量需要先定义,然后才能使用。
定义变量时需要指定变量名和数据类型。
变量名是用于标识变量的名称,而数据类型决定了变量可以存储的值的种类和范围。
使用变量时可以给其赋值或者读取其值。
3. 运算符常见的运算符有哪些?它们的功能和使用方法是什么?答案:常见的运算符包括算术运算符、比较运算符、逻辑运算符和赋值运算符等。
算术运算符包括加、减、乘、除、取余等,用于执行基本的数学运算。
比较运算符用于比较两个值的大小关系,包括等于、大于、小于等。
逻辑运算符用于处理布尔值,比如与、或、非等。
赋值运算符用于将一个值赋给一个变量。
4. 控制流程程序中常见的控制流程结构,包括条件判断和循环结构。
答案:程序中常见的控制流程包括条件判断和循环结构。
条件判断结构用于根据某个条件的真假来决定执行不同的代码段。
常见的条件判断结构有if语句和switch语句。
循环结构用于反复执行某段代码,直到满足某个条件才停止。
常见的循环结构有while循环、do-while循环和for循环。
5. 函数和模块函数和模块的定义和使用方法,函数的参数传递和返回值。
答案:函数是一段封装了特定功能的代码块,可以被反复调用。
程序设计基础试题(附答案)程序设计基础试题(附答案)程序设计是计算机科学领域中的一门重要学科,它涉及到计算机软件的开发过程以及解决问题的方法和技巧。
掌握程序设计基础知识对于想要成为一名优秀的程序员来说至关重要。
本文将给出一些程序设计基础试题,并附上详细的答案解析,希望能够对初学者或者想要提升编程水平的人有所帮助。
题目一:设计一个程序,输入一个整数n,输出1到n之间的所有偶数。
解答:```pythonn = int(input("请输入一个整数:"))for i in range(1, n+1):if i % 2 == 0:print(i)```题目二:编写一个函数,判断一个字符串是否是回文串(正着读和反着读都一样的字符串)。
解答:```pythondef is_palindrome(s):if s == s[::-1]:return Trueelse:return Falsestring = input("请输入一个字符串:")if is_palindrome(string):print("是回文串")else:print("不是回文串")```题目三:编写一个程序,统计一个字符串中每个字符出现的次数。
解答:```pythonstring = input("请输入一个字符串:")char_count = {}for char in string:if char in char_count:char_count[char] += 1else:char_count[char] = 1for char, count in char_count.items():print(f"{char}: {count}")```题目四:设计一个程序,计算斐波那契数列的第n项。
解答:```pythondef fibonacci(n):if n <= 0:return Noneelif n == 1 or n == 2:return 1else:a, b = 1, 1for _ in range(n - 2):a, b = b, a + breturn bn = int(input("请输入一个整数:"))result = fibonacci(n)if result is None:print("请输入一个正整数!")else:print(f"斐波那契数列的第{n}项为:{result}") ```题目五:编写一个函数,判断一个正整数是否是素数。
第3章的内置对象3.8.1 作业题1.使用Response对象,在Default.aspx上输出系统当前日期和时间。
如图1所示:图1 作业题3-12. 创建一个网页Default.aspx,用户输入姓名、年龄,如图2所示。
单击“确定”按钮后,页面跳转到Welcome.aspx,并显示用户刚才输入的信息,如图3所示。
要求只能采用Response和Request对象,页面跳转采用GET请求。
图2 Default.aspx 图3 Welcome.aspx3. 实现不同身份的用户,登录后进入不同的页面。
在Default.aspx的下拉列表中只有admin和user选项,如图4所示。
根据登录的用户名,分别进入Admin.aspx和User.aspx,并且显示如图5、图6所示的欢迎信息。
要求采用Session对象来实现。
图4 Default.aspx 图5 Admin.aspx 图6 User.aspx4.在作业题3的基础上分别统计admin和user的访问量,要求用Application对象来实现。
如图7——图9所示图7 Default.aspx 图8 Admin.aspx 图9 User.aspx5. 如图所示,在默认主页输入昵称,进入网站中的另一个页面NewPage,显示欢迎信息和客户端IP地址。
若是第一次访问,用cookie存储本次访问的时间。
下次再访问时,显示上次访问的时间。
要求采用server对象进行页面跳转并传递参数。
如图10——图12所示。
图10 输入昵称图11 第一次访问时的欢迎信息图12 非第一次访问时的欢迎信息见“课后习题源代码”文件夹下的“homework3-1——homework3-5”3.8.2 思考题有哪些常用内置对象?能否对每个内置对象用一句话简述他们的作用?答案:(1)Response:向浏览器输出信息。
(2)Request:从浏览器获取信息。
(3)Application:为所有用户提供共享信息。
程序设计基础练习题(全部有答案版)程序设计基础练习题(全部有答案版)介绍:程序设计是计算机科学中的一门基础学科,它涉及到计算机程序的设计、编写和调试。
通过练习基础练习题,学生可以巩固和提高自己的程序设计能力。
本文将为您提供一些程序设计基础练习题,并附上答案,帮助您更好地理解和掌握程序设计的基本知识。
1. 基本输入输出题目描述:编写一个程序,要求用户输入两个数字,然后将这两个数字相加并输出结果。
```C++#include <iostream>int main() {int num1, num2, sum;std::cout << "请输入两个数字:" << std::endl;std::cin >> num1 >> num2;sum = num1 + num2;std::cout << "两个数字的和为:" << sum << std::endl;return 0;```2. 条件判断题目描述:编写一个程序,要求用户输入一个整数,然后判断该整数是否为偶数,并输出判断结果。
```Javaimport java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int num;System.out.println("请输入一个整数:");num = scanner.nextInt();if (num % 2 == 0) {System.out.println("该整数是偶数。
");} else {System.out.println("该整数不是偶数。
《Java语言程序设计-基础篇》第03章答案3.1 答:if(i % 2 == 0) System.out.println(“偶数”); else System.out.println(“奇数”); 3.2 答:当 x = 3, y = 2 时,输出:无输出当x = 3, y = 4 时,输出:z is 7 当 x = 2,y = 2 时,输出:x is 2 3.3 答:等价的语句有:a, c和d 正确缩进的是:c 3.4 答:当 x = 2, y = 3 时,输出:x is 2 当 x = 3, y = 2 时,输出:无输出当 x = 3,y = 3 时,输出:z is 7 3.5 答:等价 3.6 答:switch变量可以是char, byte, short, int。
执行case语句后没有break,则继续执行下一个case语句。
switch可转换为等价的if语句(嵌套),反之不一定可以。
3.7 答:y的值是2。
3.8 答:switch(a){ case 1: x += 5; break; case 2: x += 10; break; case 3: x += 16; break; case 4: x += 34; } 3.9 答:System.out.print(count + (count % 10 == 0 ? “\n“ : ““)); 3.10 答:(a)执行0次,无输出(b)执行9次,输出如下:3 5 7 9 3.11 答:(略)3.12 答:相同,均为45。
3.13 答:for(int i = 1; i System.out.println(i); 3.14 答:无限循环。
3.15 答:不能。
3.16 答:能。
(略)3.17 答:(略)3.18 答:(a)输出:balance is 1 (b)不能结束(编译有错,输出语句执行不到)3.19 答:能。
(略)3.20 答:int i=0; while(iif(i%3==0){ i++; continue; } sum += i; i++; } 3.21 答:(a)主方法如下:public static void main(String[] args) { int sum = 0; int number = 0; while(number number++; sum += number; } System.out.println(“The number is “ + number); System.out.println(“The sum is “ + sum); } (b)主方法如下:public static void main(String[] args) { int sum = 0; int number = 0; while(number number++; if(!(number == 10 || number == 11)) sum += number; } System.out.println(“The number is “ + number); System.out.println(“Thesum is “ + sum); } 3.22 答:执行next:后面的语句。
程序设计基础考试(答案见尾页)一、选择题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. 什么是编程语言中的变量?请举例说明。
〖程序设计基础〗练习题3一、单选题(30分)语言是( )。
A.面向问题的解释型高级编程语言B.面向机器的低级编程语言C.面向过程的编译型高级编程语言D.面向对象的解释型高级编程语言2.下列的变量定义中,错误的是( )。
A) int i; B) int i=;C) static int i=100; D) int 123_$;3.以下的变量定义语句中,合法的是( )。
A) float $_*5= ; B) byte b1= 15678;C)double a =Double. MAX_VALUE;D)int _abc_ = 3721L;4.以下字符常量中不合法的是( )。
A) '|' B) '\'' C) "\n" D) '我'5.若以下变量均已正确定义并赋值,下面符合Java语言语法的语句是()。
A) b = a!=7 ; B) a = 7 + b + c=9;C) i=* % 4; D) a = a + 7 = c + b;6.下列程序段执行后t5的结果是()。
int t1 = 9, t2 = 11, t3=8;int t4,t5;t4 = t1 > t2 t1 : t2+ t1;t5 = t4 > t3 t4 : t3;A) 8 B) 20 C) 11 D) 97.设a, b, c, d 均为int 型的变量,并已赋值,下列表达式的结果属于非逻辑值的是( )。
A) a!=b & c%d < a B) a++ = =a+b+c+dC) ++a*b--+d D) a+b>=c+d8.执行下列程序段后,b, x, y的值分别是()。
int x=6,y=8;boolean b;b=x>y&&++x==--y;A) true , 6, 8 B) false , 7, 7C) true, 7, 7 D) false, 6, 89.以下由do-while语句构成的循环执行的次数是()。
程序设计基础试题及答案一、选择题1. 在C语言中,以下哪个是字面常量?A. intB. 5C. xD. if答案:B. 52. 下列语句中,哪个是正确的函数声明?A. int sum(int a, b);B. int sum(int a, int b) {}C. sum(int a, int b) {}D. int sum(int a, int b);答案:D. int sum(int a, int b);3. 下列哪个不是常用的数据类型?A. intB. stringC. floatD. char答案:B. string4. 在C语言中,以下哪个符号用于表示逻辑与操作?A. &&B. ||C. !D. =答案:A. &&5. 在C语言中,以下哪个用于引入标准输入输出函数的头文件?A. <stdio.h>B. <math.h>C. <stdlib.h>D. <string.h>答案:A. <stdio.h>二、填空题1. 下面的程序运行结果是什么?```c#include <stdio.h>int main() {int a = 5, b = 3;if (a > b) {printf("a大于b");} else {printf("a小于等于b");}return 0;}```答案:a大于b2. 下列代码中,缺少的表达式是什么?```c#include <stdio.h>int main() {int i;for (i = 0; i < ; i++) {printf("%d ", i);}return 0;}```答案:缺少循环条件表达式,例如 i < 10。
3. 下面的程序运行结果是什么?```c#include <stdio.h>int main() {int i;for (i = 10; i > 0; i--) {if (i % 2 == 0) {continue;}printf("%d ", i);}return 0;}```答案:9 7 5 3 14. 下列代码中,___ 处应该填入什么运算符?```c#include <stdio.h>int main() {int a = 5, b = 3;int c = a ___ b;printf("%d", c);return 0;}```答案:+,结果为 8。
计算机程序设计基础复习题集附答案计算机程序设计基础复习题集附答案1. 基础知识篇1.1 数据类型在计算机程序设计中,数据类型是非常重要的概念,它决定了我们可以对数据进行的操作以及占用的存储空间大小。
常见的数据类型有整型、浮点型、字符型等。
以下是一些数据类型的介绍:1.1.1 整型(int)整型是用来表示整数的数据类型,可以存储正整数、负整数以及零。
在大多数编程语言中,整型的大小一般为4个字节(32位),可以表示的范围是从-2,147,483,648到2,147,483,647。
1.1.2 浮点型(float)浮点型用来表示带有小数部分的数值,例如 3.14 或者 2.718。
浮点型的大小一般为4个字节(32位),可以表示的范围比整型更大。
1.1.3 字符型(char)字符型用来表示单个字符,例如 'a'、'b' 或者 '1'。
字符型的大小一般为1个字节(8位)。
1.2 运算符在程序设计中,运算符用于对数据进行运算和操作。
常见的运算符包括加法、减法、乘法、除法等。
以下是一些常见的运算符及其使用方法:1.2.1 算术运算符算术运算符用于进行基本的算术运算,包括加法(+)、减法(-)、乘法(*)、除法(/)等。
1.2.2 关系运算符关系运算符用于比较两个值的大小关系,常见的关系运算符包括等于(==)、不等于(!=)、大于(>)、小于(<)、大于等于(>=)和小于等于(<=)。
1.2.3 逻辑运算符逻辑运算符用于组合多个条件,进行复合的逻辑判断。
常见的逻辑运算符包括与(&&)、或(||)和非(!)。
1.3 控制流程控制流程指的是程序的执行流程,即代码在何种条件下执行哪一段代码。
常见的控制流程包括顺序结构、选择结构和循环结构。
1.3.1 顺序结构顺序结构即代码按照书写顺序依次执行,没有分支或循环。
1.3.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、16位无符号整数能表达的最大值是A.32767B.32768C.65536D.65535正确答案:D2、下面谁被称为计算机科学之父A.阿兰图灵B.冯诺依曼C.迪杰斯特拉D.高纳德正确答案:A3、下列不属于输入输出设备的是:A.键盘B.手写板C.内存D.摄像图正确答案:C4、下面关于高级语言的说法正确的是:A.高级语言的出现,使得程序员的门槛大大降低B.高级语言不包括C语言,因为C语言更适用于系统方面的编程C.与汇编语言相比,高级语言开发的程序执行速度更快D.高级语言完全不依赖于硬件正确答案:A5、-0的8位补码是A.其他B.11111111C.00000000D.10000000正确答案:C6、下面的用嵌套循环求阶乘的程序中,总计需要的循环次数是()A.n*i次B.n(n+1)/2次C.n*n次D.n次正确答案:B7、循环不变式的建立是在循环体中选取一个点,在该点建立一个逻辑表达式,使每次循环执行到该点时A.这个逻辑表达式在循环体中不总是为真B.这个逻辑表达式在循环体中总是为假C.这个逻辑表达式在循环体中总是为真D.这个逻辑表达式在循环体中不总是为假正确答案:C8、找到合适的循环不变式能验证A.程序的全部正确性。
B.程序的全部逻辑错误。
C.程序的全部错误。
D.程序的部分正确性。
正确答案:D9、对于直到型循环与当型循环而言,当开始第一次循环且循环条件为假时,下面叙述正确的是()A.只有当型循环的循环体会被执行1次,直到型循环不会执行。
B.两者的循环体都会被执行1次C.两者的循环体都不会被执行D.只有直到型循环的循环体会被执行1次,当型循环不会执行。
正确答案:D10、下列说法错误的是()。
A.如果一个循环中又包含了另一个循环,则称为嵌套循环。
B.嵌套循环的内层和外层循环的循环控制变量不能同名。
C.执行嵌套循环时是先执行内存循环,后执行外层循环。
D.嵌套循环的循环次数等于外层循环的循环次数与内层循环的循环次数之积。
第1章C语言概述【习题1-1】简述C语言的特点。
答:C语言的特点:C语言简洁、紧凑、使用灵活、方便;运算符丰富;数据结构丰富;C是结构式语言;C语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址;C语言程序生成代码质量高;C语言适用范围大,可移植性好。
【习题1-2】简述上机调试运行C程序的操作步骤。
答:上机运行C语言程序的操作步骤为:启动Visual C++ 6.0→建立工程→创建源程序文件→输入(编辑)源程序内容→保存源程序文件→编译源程序文件→连接目标程序→执行程序→开始另一个程序。
【习题1-3】上机运行本章的3个例题。
答:略。
【习题1-4】请从以下的4个选项中选择一个正确答案。
(1)A (2)A (3)C (4)B【习题1-5】参照本章例题,编写一个C语言程序,输出以下信息:**************Nice to meet you!**************编写程序如下:#include<stdio.h>void main(){printf("**************\n");printf("Nice to meet you!\n");printf("**************\n");}第2章基本数据类型和运算符【习题2-1】上机编辑并调试本章所有例题。
答:略。
【习题2-2】下面哪些是合法的常量?⑴20 0.5 012 13e5.1 E-5 8e4 5. 0x6a⑵'mn' "OK" "a" '\012' "a/b" '\\'答:⑴合法的常量有:20 0.5 012 8e4 5. 0x6a⑵合法的常量有: "OK" "a" '\012' "a/b" '\\'【习题2-3】下面的变量名中哪些是合法的?A&b abc123 abc% AbC a_b_cint _abc 123abc a\b?ca bc a*bc 'a'bc答:合法的变量名有:abc123 AbC a_b_c _abc【习题2-4】指出下面的变量定义哪些是正确的,哪些是不正确的,为什么?⑴Int i,j;⑵float a,b;⑶int a,b;float a,b;⑷float a,int b;⑸char 'a';答:⑴错误,因为关键字Int 应该全为小写字母⑵正确⑶错,因为同一变量在程序的同一处不应该声明为不同的数据类型 ⑷错,因为不同类型的变量要分别声明,其间应使用分号,而不是逗号 ⑸错,'a'表示字符常量,不能用作变量名 【习题2-5】把下列数学式子写成C 语言表达式。
程序设计基础试题及答案## 程序设计基础试题及答案### 一、选择题1. 下列哪个选项是C语言中正确的数据类型?A. int32B. float64C. doubleD. string答案:C2. 以下哪个是C语言中的控制结构?A. if-elseB. switch-caseC. forD. All of the above答案:D3. 在C语言中,哪个关键字用于定义一个函数?A. classB. functionC. defD. void答案:D### 二、填空题4. 在C语言中,`printf`函数用于_______。
答案:输出5. 一个C程序的执行从`main`函数的_______开始。
答案:第一行6. C语言中的数组声明方式为:`type arrayName[_______]`。
答案:数组大小### 三、简答题7. 请简述C语言中指针的概念。
答案:指针是一种变量,它存储了另一个变量的内存地址。
在C语言中,指针可以用于直接访问和操作内存,实现高级编程技术,如动态内存分配、函数指针等。
8. 解释C语言中结构体(struct)的作用。
答案:结构体是C语言中一种用户自定义的数据类型,它允许将多个不同类型的变量组合成一个单一的复合数据类型。
结构体可以用来表示复杂的数据对象,如学生信息、员工记录等。
### 四、编程题9. 编写一个C语言程序,实现两个整数的加法,并打印结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```10. 编写一个C语言程序,实现字符串的反转。
广州大学学年第学期考试卷课程高级语言程序设计考试形式(开/闭卷,考试/查)学院系专业班级学号姓名一:选择题(每题3分,共60分)(1)若有以下定义:char a; int b;float c; double d;则表达式a*b+d-c值的类型为(A)A) double B) float C) int D) char(2)设a=1,b=2,c=3,d=4,则表达式:a<B?A:C<D?A:D的结果为(D)A) 4 B) 3 C) 2 D) 1(3)在下列选项中,不正确的赋值语句是(D)A)++t; B)n1=(n2=(n3=0));C)k=i==j; D)a=b+c=1;(4)若有以下说明: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](5)若有以下说明int w[3][4]={{0,1},{2,4},{5,8}};int (*p)[4]=w;则数值为4的表达式是(D)A)*w[1]+1 B)p++,*(p+1)C)w[2][2] D)p[1][1](6)能正确表示a≥10或a≤0的关系表达式是(C)A)a>=10 or a<=0 B)a>=10│a<=0C)a>=10││a<=0 D)a>=10 ││a<=0(7)下列可作为C语言赋值语句的是(C)A) x=3,y=5 B) a=b=6C) i--; D) y=int(x);(8)设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和765.12分别赋给i和f,则正确的输入为(A)A) 100765.12 B) i=100,f=765.12C) 100765.12 D) x=100y=765.12(9)给出以下定义:char x[ ]="abcdefg";char y[ ]={'a','b','c','d','e','f','g'};则正确的叙述为(C)A) 数组X和数组Y等价 B) 数组x和数组Y的长度相同C) 数组X的长度大于数组Y的长度 D) 数组X的长度小于数组Y的长度(10)假定a和b为int型变量,则执行以下语句后b的值为(D)a=1; b=10;do{ b-=a; a++;}while (b--<0);A) 9 B) -2 C) -1 D) 8(11)设有以下宏定义:#define N 3#define Y(n) ( (N+1)*n)则执行语句:z=2 * (N+Y(5+1));后,z的值为(C)A) 出错 B) 42 C) 48 D)54(12)设有如下定义:int arr[]={6,7,8,9,10};int * ptr;则下列程序段的输出结果为(D)ptr=arr;* (ptr+2)+=2;printf ("%d,%d\n",*ptr,*(ptr+2));A)8,10 B)6,8 C)7,9 D)6,10(13)执行以下程序段后,m的值为(A)int a[2][3]={ {1,2,3},{4,5,6} };int m,*p;p=&a[0][0];m=(*p)*(*(p+2))*(*(p+4));A) 15 B) 14 C) 13 D) 12(14)有以下程序main(){ int x,i;for(i=1;i<=50;i++){ x=i;if(++x%2==0)if(x%3==0)if(x%7==0)printf("%d,i);}}输出结果是(D)A) 28 B) 27 C) 42 D) 41(15)若有以下的说明和语句:main(){ int t[3][2], *pt[3],k;for(k=0; k<3;k++) pt[k]=t[k];}则以一选项中能正确表示t数组元素地址的表达式是(D) A}&t[3][2] B}*pt[0] C}*(pt+1) D)&pt[2](16)有以下程序#include <STDIO.H>main(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是(A)A) 2,1 B) 3,2 C) 4,3 D) 2,-1(17)有以下程序#include <STDIO.H>struct stu{ int num;char name[10];int age;};void fun(struct stu *p){ printf("%s\n",(*p).name); }main(){ struct stu students[3]={ {9801,"Zhang",20},{9802,"Wang",19},{9803,"Zhao",18} };fun(students+2);}输出结果是(B)A) Zhang B)Zhao C) Wang D) 18(18)有以下程序main(){ char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0;i<7;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); }输出结果是(D)A) gm B) rg C) or D) ga(19)有以下程序int fun(int x,int y,int *cp,int *dp){ *cp=x+y; *dp=x-y; }main(){ int a, b, c, d;a=30; b=50;fun(a,b,&c,&d);printf("%d,%d\n", c, d);}输出结果是(C)A)50,30 B)30,50 C)80,-20 D)80,20(20)有以下程序#include "atdio.h"int abc(int u,intv);main (){ int a=24,b=16,c;c=abc(a,b);printf('%d\n",c);}int abc(int u,int v){ int w;while(v){ w=u%v; u=v; v=w }return u;}输出结果是(C)A) 6 B) 7 C) 8 D) 9二:填空题(共20分)(1)int a[3][2]={10,20,30,40,50,60}, (*p)[2];p=a;则 *(*(p+2)+1)(2分)(2)(3分)#include <STDIO.H>int fun(int x,int y){ static int m=0,i=2;i+=m+1;m=i+x+y;return m}main(){ int j=4,m=1,k;k=fun(j,m);printf("%d,",k);k=fun(j,m);printf("%d\n",k);}(3)下面程序的输出是5分)long fun5(int n){ long s;if((n==1)||(n==2))s=2;elses=n+fun5(n-1);return(s);}main(){ long x;x=fun5(4);printf("%ld\n",x);}(4)以下程序的功能是:从键盘上输入一行字符,存入一个字符数组中,然后输出该字符串,请填空.(5分)#include"ctype.h"#include"stdio.h"main(){ char str[81],*sptr;int i;for(i=0;i<80;i++){ str[i]=getchar();if(str[i]=='\n') break;}sptr=str;}(5)以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相同符的ASCII码之差.例如:输入的两个字符串分别为abcdef和abceef,则输出为-1.请填空. (5分)#include<STDIO.H>main(){ char str[100],str2[100],c;int i,s;printf("\n input string 1:\n");gest(str1);printf("\n input string 2:\n");gest(str2);i=0;while((strl[i]==str2[i])&&(str1[i]!=_ '\0'___(1)))i++;s=__str1[i]-str2[i]__(2);printf("%d\n",s);fgets(str,100,fp);printf("%s\n",str);fclose(fp);}三:程序编写题(下面3题任选2题,每题10分,共20分)题目1:有一个已经排好序的数组。
现输入一个数,要求按原来的规律将它插入数组中。
题目2:判断1001-2000之间有多少个素数,并输出所有素数。
题目3:海滩上有一堆桃子,五只猴子来分。
第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。
第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?答案:1void insert(int x[],int n,int y){ int i,j;for (i=0;i<n;i++){ if (x[i]>=y)break;}if (i==n)x[i]=y;else{ for (j=n;j>i;j--)x[j]=x[j-1];x[i]=y;}}2#include "stdio.h"#include "math.h"void main(int argc, char* argv[]) {int i,k,sum;for(i=1001,sum=0;i<=2000;i++) {for(k=2;k<=sqrt(i);k++)if ((i mod k)==0) break;if k>=sqrt(i){sum=sum+1;printf("%d ",i);}}printf("\n the total=%d",sum);}3int main(int argc, char* argv[]){ int i,k,n;float m;for (n=4;n<2000;n++){ k=n;for (i=0;i<4;i++){ if ((k-1)%5!=0)break;k=5*k/4+1;}if ((k-1)%5==0)printf( "最少要有%d\n",k);}}。