程序设计基础习题及参考答案

合集下载

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析1. 习题一:编写一个C程序,输出“Hello World!”。

解析:这是一个非常简单的C程序,只需要使用printf函数输出所需的字符串即可。

```c#include <stdio.h>int main() {printf("Hello World!");return 0;}```2. 习题二:编写一个C程序,计算两个整数的和并输出结果。

解析:这个程序需要使用scanf函数从用户输入中读取两个整数,并使用printf函数输出它们的和。

```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d", sum);return 0;}```3. 习题三:编写一个C程序,判断一个数是奇数还是偶数并输出结果。

解析:这个程序需要使用scanf函数读取用户输入的整数,并使用if-else语句判断该数的奇偶性,然后使用printf函数输出结果。

```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("该数是偶数");} else {printf("该数是奇数");}return 0;}```4. 习题四:编写一个C程序,判断一个年份是否为闰年并输出结果。

计算机程序设计基础(C语言)编程习题

计算机程序设计基础(C语言)编程习题

计算机程序设计基础(C语言)编程练习题及参考答案1.输入2个整数,求两数的平方和并输出。

#include <stdio.h>main(){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);}2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include <stdio.h>#define PI 3.14 <stdio.h>main(){ float r ,s , l;printf("please input r:\n");scanf("%f”,&r);if (r>=0){s=pi*r*r;l=2*i*r ;printf("the area is %f\n",s);printf("the circumference is %f\n",l);}elseprintf("input error!\n");}3、函数y=f(x)可表示为:2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)编程实现输入一个x值,输出y值。

main(){int x,y;scanf(“%d”,&x);If(x<0)y=2*x+1;If(x>0)y=2*x-1;If(x==0) y=0;prin tf(“%d”,y);}4、编写一个程序,从4个整数中找出最小的数,并显示此数。

main( ){int a,b,c,d,t;scanf (“%d,%d,%d,%d ”,&a,&b,&c,&d);if (a>b){t=a; a=b; b=t;}if (a>c){t=a; a=c; c=t;}if (a>d){t=a; a=d; d=t;}pri ntf (“m in = %d \n”,a);}5.有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。

Python程序设计基础练习题及答案

Python程序设计基础练习题及答案

思考与练习答案练习一1.(略)2. 答:只有在第一行为‘空’、进入到第二行时,Sublime菜单项‘文件(F)’下拉菜单中的‘保存(S)’命令才成为可用。

3. 答:程序执行和交互执行两种方式。

4. 答:C练习二1. 答:不行,因为3不是一个有效的变量名,变量名只能以英文字母或下划线打头。

2. 答:可以。

3. 答:空字符串是单引号(或双引号)里不包含任何字符的字符串。

若单引号(或双引号)里包含了一个空格字符,那就表明该字符串里有字符,因此它不是空字符串。

所以,空字符串与单引号(或双引号)里面只包含一个空格字符的字符串,它们是两个不同的字符串概念。

4. 答:第一个print语句输出Please Wait Beyond TheLine.;第二个print语句输出please wait beyond the line.;第三个print语句输出Please Wait Beyond TheLine.5. 答:第一句输出的结果是20;第二句输出的是-1。

6. 答:输出:中华人民共和国,中华人民共和国7. 答:程序中出现n时,代表的是英文中的一个小写字母n;程序中出现\n时,反斜杠后跟随的n就不再是英文中的小写字母n,这个整体被视为是换行符。

8. 答:用str1[-10:-1]截取出的切片是a student。

为了将此切片反转过来,应该做如下的两个操作,第一是先将该切片存放到另一个变量str2里:str2=str1[-10:-1];然后将str2进行反转,即:str2[::-1]。

9. 答:7、32、1。

10. 答:有两种办法,一是当字符串中出现撇号(’)时,用双引号定义该字符串;二是用转义字符\’代替直接使用撇号。

11.答:0b、0o、0x。

12. 答:(1)表示要确定变量ch里的内容是否是介于0与9之间;(2)表示要确定变量ch里的内容是否是介于小写字母a与z之间; (3)表示要确定变量ch里的内容是否是介于大写字母A与Z之间。

《计算机程序设计基础》课后练习题参考标准答案

《计算机程序设计基础》课后练习题参考标准答案

《计算机程序设计基础》课后练习题1一.判断题(1)(错)事件过程由某个用户事件或系统事件触发执行,但不能被其他过程调用。

(2)(错)若X=2, Y=5,则表达式 Y-2>X AND X+2>Y 的结果为:True。

(3)(错)常量是指在程序运行过程中其值可以改变的那些量。

(4)(错,timer没有)VB工具箱中的所有控件都具有宽度(Width)和高度(Height)属性。

(5)(错)定义变量:Dim max,min as Single , 则max 和 min 的数据类型均为Single。

(6)(对)如果创建的菜单项的标题是一个减号“-”,则该菜单项显示为一条分隔线。

(7)(错)标准模块文件的扩展名是“*.VBP”。

(8)(错,都不能)定时器控件可以响应Click事件,但不能响应DbClick事件。

(9)(错)在默认情况下,数组下标下界的缺省值为1。

(10)(对)在使用字体对话框时,需要对其Flags属性先进行相应设置。

二.单选题(11)在Visual Basic中,表示鼠标单击事件的是 C 。

A)Activate B)DoubleClick C)Click D)MouseDown(12)用于设置计时器时间间隔的属性是 A 。

A)Interval B)Name C)Left D)Top(13)函数Int(10*Rnd)是在 D 范围内的整数。

A)[1,10] B)[1,10] C) [0,9) D)[0,9](14)Select case语句结构的结尾应使用 D 。

A)End B) End Case C) End Sub D) End Select(15)改变了容器的坐标系后,该容器的 A 属性值不会改变。

A)left B)scaleleft C)scaletop D)scalewidth(16)执行下列语句后,列表框中各表项顺序为 DList1.ClearFor i=1 to 4 : List1.AddItem i-1,0 :Next iA)B)C)D)(17)输入对话框InputBox的返回值的类型是 A 。

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语言程序设计练习题(含程序及参考答案)

(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。

#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。

#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。

大学计算机基础(程序设计基础)习题与答案

大学计算机基础(程序设计基础)习题与答案

一、单选题1、计算机能够直接执行的程序是()。

A.汇编语言程序B.可执行文件C.源程序D.命令文件正确答案:B2、汇编语言也称为()。

A.面向应用的语言B.面向对象的语言C.面向机器的语言D.面向过程的语言正确答案:C3、C、C++、Java可归类为()语言。

A.符号B.机器C.高级D.自然正确答案:C4、根据计算机语言发展的过程,下列排列顺序正确的是()。

A.机器语言、高级语言、汇编语言B.机器语言、汇编语言、高级语言C.汇编语言、机器语言、高级语言D.高级语言、机器语言、汇编语言正确答案:B5、编译程序将高级语言程序翻译成与之等价的机器语言程序,编译前的程序可以称呼()。

A.目标程序B.源程序C.临时程序D.原程序正确答案:B6、()都属于计算机的低级语言。

A.机器语言和高级语言B.汇编语言和高级语言C.机器语言和汇编语言D.高级语言和数据库语言正确答案:C7、在程序设计中,把解题过程准确而完整地描述出来,就叫()。

A.算法B.方法C.事件D.过程正确答案:A8、()是一种使用几何图形描述程序逻辑关系的程序设计方法。

A.流程图B.饼图C.数据流图D.柱形图正确答案:A9、用C语言编写的程序需要用()程序翻译后计算机才能识别。

A.汇编B.解释C.连接D.编译正确答案:D10、可被计算机直接执行的程序由()语言编写的程序。

A.汇编B.机器C.高级D.网络正确答案:B11、由二进制编码构成的语言是()。

A.C语言B.BASIC语言C.汇编语言D.机器语言正确答案:D12、结构化程序设计中的三种基本程序结构是指()。

A.顺序结构、转移结构、分支结构B.顺序结构、转移结构、循环结构C.顺序结构、选择结构、循环结构D.转移结构、选择结构、分支结构正确答案:C13、算法的基本结构中不包括()。

A.选择结构B.循环结构C.顺序结构D.逻辑结构正确答案:D14、在计算机科学中,算法这个术语是指()。

A.求解问题并选择编程工具B.求解问题的数学方法C.求解计算机问题的一系列步骤D.选择求解问题的计算机系统正确答案:C15、高级语言翻译程序是将高级语言编写的源程序翻译成目标程序有两种工作方式。

计算机程序设计基础习题册含答案)

计算机程序设计基础习题册含答案)

《计算机程序设计基础》计算机程序设计基础_基础知识(一) 班级学号 姓名 成绩一、 单选题习题册1.C++源程序文件的默认扩展名为A。

2.A) cpp B) exeC) obj D) lik3.由C++源程序文件编译而成的目标文件的默认扩展名为C。

4.A) cpp B) exeC) obj D) lik5.由C++目标文件连接而成的可执行文件的默认扩展名为B。

6.A) cpp B) exeC) obj D) lik7.编写C++程序一般需经过的几个步骤依次是B。

8.A)编译、编辑、连接、调试B)编辑、编译、连接、调试C)编译、调试、编辑、连接D)编辑、调试、编辑、连接9.程序中主函数的名字为A 。

10.A) main B) MAINC) Main D) 任意标识符11.下面四个选项中,均是不合法的用户标识符的选项的是C。

12.A) A p_o doB)float lao _AC)b-a goto intD)_123 temp INT13.下列变量名中合法的是C。

14.A) B)C)Tom B) 3a66C) _6a7b D) $ABC15.存储以下数据,占用存储字节最多的是 D 。

16.A) 0 B) ‘0’C) “0” D) 0.017.在C++语言中,字符型数据在内存中的存储形式是D。

18.A) 补码 B) 反码C) 原码 D) ASCII码19.若有说明语句:char c =’\072’;则变量c A。

20.A) 包含1个字符B) 包含2个字符C) 包含3个字符D) 说明不合法,变量的值不确定二、填空题1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。

2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。

3.一条表达式语句必须以__分号_;___作为结束符。

4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。

程序设计基础(C语言)习题以及答案

程序设计基础(C语言)习题以及答案

其身正,不令而行;其身不正,虽令不从。

——《论语》一、选择题1.下列属于C语言中合法的标识符的是( B )A 、ex-1B 、-cookC 、951aD 、if2.若 x 为 float 型变量,则以下语句(A )。

x=213.82631;printf("%-4.2f\n",x);A、输出为213.83B、输出格式描述符的域宽不够,不能输出C、输出为213.82D、输出为-213.823.一个C程序的执行是从(C )A、main函数开始,直到最后一个函数结束B、第一个函数开始,直到最后一个函数结束C、main函数开始,直到main函数结束D、第一条语句开始,直到最后一条语句结4.构成C语言源程序的基本单位是(B )A、过程B、函数C、子程序D、命令5.以下叙述不正确的是(D )A、注释说明被计算机编译系统忽略B、注释说明必须跟在“//”之后不能换行或者括在“/*”和“*/”之间且注释符必须配对使用C、注释符“/”和“*”之间不能有空格D、在C程序中,注释说明只能位于一条语句的后面6.在C程序中,main函数的位置( A)A、可以任意B、必须作为最后一个函数C、必须作为第一个函数D、必须放在它所调用的函数之后7. C语言属于(C )A、机器语言B、汇编语言C、高级语言D、低级语言云路鹏程九万里,雪窗萤火二十年。

——《王实甫》人之为学,不日进则日退,独学无友,则孤陋而难成;久处一方,则习染而不自觉。

——《顾炎武》8.使用“scanf("a=%d,b=%d",&a,&b)”,要使a,b的值均为25,正确的输入是(D )。

A、a=25 b=25(空格分开)B、25 25(空格分开)C、25,25D、a=25,b=259. 下列叙述中,不正确的是( C)A、分号是C语句的必要组成部分B、C语句的注释可以写在语句的后面C、主函数的名字不一定用main表示D、函数是C程序的基本单位10.C程序是由( B)构成的A、若干过程B、一个或多个函数C、若干子程序D、一个主程序与若干子程序11. 以下程序的输出结果是(B )。

C语言程序设计基础知识 习题一及参考答案

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、N-S图与传统流程图比较,主要优点是( )。

A)杜绝了程序的无条件转移。

B)具有顺序、选择和循环三种基本结构。

C)简单、只管。

D)有利于编写程序。

A)B)C)D)二、填空题1、在流程图符号中,判断框中应该填写的的是________。

(判断条件)2、结构化程序设计是__________应遵循的方法和原则。

(面向过程编程)3、结构化程序必须用__________程序设计语言来编写。

(具有结构化控制语句)4、可以被连续执行的一条条指令的集合称为计算机的________。

(程序)5、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。

计算机程序设计基础(C++)(景红版)课后全部习题及参考答案

计算机程序设计基础(C++)(景红版)课后全部习题及参考答案

()7. short,int都是C++语言的关键字。

()8. C++编译系统对源程序编译时,可以检查出注释语句中的语法错误。

()9. 将一个字符常量放到一个字符变量中,并不是把该字符本身放到内存变量中去,而是将该字符相应的ASCII代码放到存储单元中。

()10. 语句int answer=3+2 9/(10-6);执行完毕后,变量answer的值是7.5。

三、单项选择题1. C++源程序文件的扩展名为()。

(A).CPP(B).OBJ(C).C(D).EXE2. 下列变量名中,()是合法的。

(A)double(B)A+a(C)CHINA(D)5s3. 下列符号能用作C++标识符的是()(A)xyz/2 (B)2xsale (C)x-sale (D)x_sale4. 下列各运算符中,()只能用于整型数据的运算。

(A)+(B)/(C) (D)%5.()不是C++的基本数据类型。

(A)字符类型(B)数组类型(C)整数类型(D)布尔类型6. 下列运算符中,优先级最高的是()。

(A)%(B)!(C)>=(D)/7. 字符串常量“ME”的字符个数是()。

(A)4(B)3(C)2(D)18. 在C++语言中,080是()。

(A)八进制数(B)十进制数(C)十六进制数(D)非法数9. 整型变量i定义后赋初值的结果是()。

int i=2.8 6;(A)12(B)16(C)17(D)1810.如有int m=31;则表达式(m++*1/2)的值是()。

(A)0 (B)15 (C)15.5 (D)1611.每个C++程序都必须有且仅有一个()。

(A)预处理命令(B)主函数(C)函数(D)语句12.在C++语言中,自定义的标志符()。

(A)能使用关键字并且不区分大小写(B)不能使用关键字并且不区分大小写(C)能使用关键字并且区分大小写(D)不能使用关键字并且区分大小写13.下列C++标点符号中表示一条语句结束的是()。

程序设计基础试题(附答案)

程序设计基础试题(附答案)

程序设计基础试题(附答案)程序设计基础复习题一、单选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语言(第2版) 课后习题参考答案.

程序设计基础——基于C语言(第2版)  课后习题参考答案.

习题1参考答案1.1解释以下术语(1)计算机软件:计算机软件是一系列按照特定结构组织的程序、数据(Data)和文档(Document)的集合。

(2)计算机程序:用计算机语言所编写的一系列指令的集合。

(3)数据:数据是程序加工和处理的对象。

(4)算法:算法是一组有穷的规则,它们规定了为解决某一特定问题而采取的一系列运算步骤。

(5)数据结构:数据结构是存在一种或多种特定关系的数据元素的集合,其外在表现为数据的组织形式。

(6)数据类型:数据类型是一个值的集合和定义在这个值集上的操作的总称。

(7)程序设计:程序设计是给出解决特定问题程序的方法和过程,是软件构造活动中的重要组成部分。

1.2 简答题(1)简述内存的组织结构形式?计算机系统把内存看作是由若干个连续的存储单元(Storage Location)组成的,每个存储单元的大小为一个字节(Byte)。

为了能唯一标志每个存储单元,在计算机系统中给每个存储单元指定一个唯一的编号,该编号被称为存储单元的地址(Address),计算机在读写内存时就是按照存储单元的地址进行的。

(2)为什么计算机系统是一个通用的计算系统?在计算机硬件相对固定不变的前提下,计算机的通用性主要表现在通过运行不同的程序来完成不同的计算任务。

(3)简述结构化程序设计的基本思想?在程序设计过程中,如果仅仅使用顺序、选择和循环这三种基本控制结构,并且使每个代码块只有一个入口和一个出口,则这样的程序设计方法被称为结构化程序设计(Structured Programming)。

(4)简述计算机语言的发展史?程序设计语言经历了从机器语言、汇编语言、高级语言到超高级语言的发展历程。

(5)简述利用计算机进行问题求解的过程?1、理解问题特征2、设想解决方案3、优化解决方案4、描述解决方案5、执行并分析解决方案(6)简述各个程序质量要素的含义?1、正确性(Correctness):正确性是指一个计算机程序的正确程度,即程序在预定的运行环境下能正确完成预期功能的程度。

程序设计基础习题及答案

程序设计基础习题及答案

程序设计基础习题及答案1.下面对类-对象主要特征描述正确的是()。

AA)对象唯一性B)对象无关性C)类的单一性D)类的依赖性3.下面不属于对象主要特征的是()。

CA)唯一性B)多态性C)可复用性D)封装性5.下面不属于对象主要特征的是()。

DA)对象唯一性B)对象分类性C)对象多态性D)对象可移植性7.面向对象方法中,实现对象的数据和操作结合于统一体中的是()。

B A)结合B)封装C)隐藏D)抽象9.在面向对象方法中,不属于"对象"基本特点的是()。

AA)一致性B)分类性C)多态性D)标识唯一性11.结构化程序所要求的基本结构不包括()。

BA)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构13.下列选项中不属于结构化程序设计原则的是()。

AA)可封装B)自顶向下C)模块化D)逐步求精15.下列选项中属于面向对象设计方法主要特征的是()。

AA)继承B)自顶向下C)模块化D)逐步求精17.结构化程序设计中,下面对goto语句使用描述正确的是()。

C A)禁止使用goto语句B)使用goto语句程序效率高C)应避免滥用goto语句D)以上说法都不对19.下面属于整数类的实例是()。

AA)0x518B)0.518C)"-518"D)518E-221.下面不属于对象基本特点的是()。

BA)标识唯一性B)可复用性C)多态性D)封装性23.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是()。

AA)C编译程序B)ERP系统C)学籍管理系统D)CAI软件25.不属于结构化程序设计原则的是()。

AA)可封装B)自顶向下C)模块化D)逐步求精27.将C语言的整数设为整数类I,则下面属于类I的实例的是()。

A A)-381B)0.381C)381E-2D)"0x381"29.结构化程序的基本控制结构仅包含()。

计算机程序设计基础(C语言)编程习题

计算机程序设计基础(C语言)编程习题

计算机程序设计基础(C语言)编程练习题及参考答案1.输入2个整数,求两数的平方和并输出。

#include <stdio.h>main(){ intt a ,b,s;printf("please input a,b:\n");scanf("%d%d”,&a,&b);s=a*a+b*b;printf("the result is %d\n",s);}2. 输入一个圆半径(r)当r>=0时,计算并输出圆的面积和周长,否则,输出提示信息。

#include <stdio.h>#define PI 3.14 <stdio.h>main(){ float r ,s , l;printf("please input r:\n");scanf("%f”,&r);if (r>=0){s=pi*r*r;l=2*i*r ;printf("the area is %f\n",s);printf("the circumference is %f\n",l);}elseprintf("input error!\n");}3、函数y=f(x)可表示为:2x+1 (x<0)y= 0 (x=0)2x-1 (x>0)编程实现输入一个x值,输出y值。

main(){int x,y;scanf(“%d”,&x);If(x<0)y=2*x+1;If(x>0)y=2*x-1;If(x==0) y=0;pri ntf(“%d”,y);}4、编写一个程序,从4个整数中找出最小的数,并显示此数。

main( ){int a,b,c,d,t;scanf (“%d,%d,%d,%d ”,&a,&b,&c,&d);if (a>b){t=a; a=b; b=t;}if (a>c){t=a; a=c; c=t;}if (a>d){t=a; a=d; d=t;}pri ntf (“m in = %d \n”,a);}5.有一函数当x<0时y=1,当x>0时,y=3,当x=0时y=5,编程,从键盘输入一个x值,输出y值。

《C语言程序设计基础》习题集(含答案)

《C语言程序设计基础》习题集(含答案)

第一章C语言概述1.1、选择题(1)一个C语言程序是由()组成。

A. 一个主程序及若干个子程序B. 一个主程序C. 一个主函数及若干个子函数D. 一个主函数(2) 一个C语言程序总是从()开始执行。

A. 主过程B. 主函数C. 子程序D. 主程序(3) main函数在源程序中的位置()。

A. 必须在最开始B. 必须在子函数的后面C. 可以任意D. 必须在最后(4) 一个C程序的执行是从()。

A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到最后一个函数结束C. 本程序的main函数开始,通常也在main函数结束D. 本程序的第一个函数开始,到main函数结束(5) 以下叙述不正确的是()。

A. 一个C程序可由一个或多个函数组成B. 一个C程序必须包含一个main函数C. 在C程序中,注释只能位于一条语句的最后面D. C程序的基本组成单位是函数1.2、编程题(1)参照本章例题,编程输出如下信息:**********Very good!**********(2)编写一个C程序,输出以下信息:******Turbo C ** * * * *1.3 请根据自己的认识,写出C语言的主要特点。

1.4 简述C程序主要由哪些部分构成?1.5 用户编写的C程序上机运行要经过哪些步骤?第二章基本数据类型和表达式2.1 单项选择题(1) 以下不能用作变量名的是()A)_26 B)case C)scanf D)Double(2) 以下合法的八进制数是()A)0135 B)068 C)013.45 D)o7(3) 若变量已正确定义,以下非法的表达式是()A)a/=b+c B)a%(4.0) C)a=1/2*(x=y=20,x*3) D)a=b=c (4) 设x 为int 类型,其值为11,则表达式:(x++*1/3)的值是()A)3 B)4 C)11 D)12(5) 若题中各变量已正确定义并赋值,下面符合C 语法的表达式是()A )a%=7.6; B)a++,a=7+b+c C)int(12.3)%4 D)a=c+b=a+7 (6) 设k 和x 均为int 型变量,且k=7,x=12,则能使值为3的表达式是()A)x%=k%=5 B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)- (k%=5) (7) 能正确表示数学公式|)sin(|x ,的C 语言表达式是()A)sqrt(abs(sin(x*π/180)))B)sqrt(abs(sin(x*3.14/180))) C)sqrt(sin(x))D)sqrt (fabs (sin(x*3.14/180)))(8) 以下变量x 、y 、z 均为double 型且已正确赋值,不能正确表示代数式z y x的C 语言表达式是()A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z (9) 以下叙述中正确的是()A ) A )C 程序中,赋值运算符的优先级最低。

程序设计基础答案

程序设计基础答案

程序设计基础习题一答案一、单项选择题本大题共20小题,每小题2分,共40分a10;合法的数组元素的最小下标值为;A:10B:9C:1D:0答案:D2.以下运算符中优先级最低的是;A:&&B:&C:||D:|答案:C3.若使用一维数组名作函数实参,则以下正确的说法是;A:必须在主调函数中说明此数组的大小B:实参数组类型与形参数组类型可以不匹配C:在被调用函数中,不需要考虑形参数组的大小D:实参数组名与形参数组名必须一致答案:A4.已知函数的调用形式:freadbuffer,size,count,fp;其中buffer代表的是;A:一个整数,代表要读入的数据项总数B:一个文件指针,指向要读的文件C:一个指针,指向要读入数据的存放地址D:一个存储区,存放要读的数据项答案:C5.对以下说明语句int a10={6,7,8,9,10}; 的正确理解是;A:将5个初值依次赋给a1至a5B:将5个初值依次赋给a0至a4C:将5个初值依次赋给a6至a10D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B6.下列程序的输出结果是;main{ int x=1,y=0,a=0,b=0;switchx{case 1:switchy{case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;case 3:a++;b++;break;}printf"a=%d,b=%d\n",a,b;}A:a=1,b=0B:a=2,b=1C:a=1,b=1D:a=2,b=2答案:B7.下列程序的输出结果为;main{int m=7,n=4;float a=,b=,x;x=m/2+na/b+1/2;printf"%f\n",x;}A:B:C:D:答案:A8.若k为int型变量,则以下程序段的执行结果是; k=-8567; printf"|%06D|\n",k;A:格式描述符不合法,输出无定值B:输出为|%06D|C:输出为|0-8567|D:输出为|-8567|答案:B9.下列程序段的输出结果为;int x=3,y=2;printf"%d",x-=y,x=y+8/5;A:1B:7C:3D:5答案:Ca="This is a program.";输出前5个字符的语句是; A:printf"%.5s",a;B:putsa;C:printf"%s",a;D:a52=0;putsa;答案:A11.下列程序的输出结果是;main{char c1=97,c2=98;printf"%d %c",c1,c2;}A:97 98B:97 bC:a 98D:a b答案:B12.以下选项中合法的实型常数是;A:B:E-3C:.2E0D:答案:C语言中的文件类型只有;A:索引文件和文本文件两种B:ASCII文件和二进制文件两种C:文本文件一种D:二进制文件一种答案:B14.以下叙述不正确的是;A:一个C源程序可由一个或多个函数组成B:一个C源程序必须包含一个main函数C:C程序的基本组成单位是函数D:在C程序中,注释说明只能位于一条语句的后面答案:D15.以下运算符中,优先级最高的运算符是;A:||B:%C:D:==16.执行以下程序段后,输出结果和a的值是;int a=10;printf"%d",a++;A:10 和10B:10 和11C:11 和10D:11 和11答案:B17.能正确表示逻辑关系:"a≥10或a≤0"的C语言表达式是;A:a>=10 or a<=0B:a>=0|a<=10C:a>=10&&a<=0D:a>=10‖a<=0答案:D18.以下叙述中错误的是;A:二进制文件打开后可以先读文件的末尾,而顺序文件不可以B:在程序结束时,应当用fclose函数关闭已打开的文件C:在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据D:不可以用FILE定义指向二进制文件的文件指针答案:D19.下列程序段的输出结果为;float k=;printf"%%%",k100;A:%%B:%C:%D:.85720.若有int p=int mallocsizeofint;则向内存申请到内存空间存入整数123的语句为;A:scanf"%d",p;B:scanf"%d",&p;C:scanf"%d",p;D:scanf"%d",p;答案:A21.经过下列的语句int j,a10,p;定义后,下列语句中合法的是; A:p=p+2;B:p=a5;C:p=a2+2;D:p=&j+2;答案:A22.以下对二维数组a的正确说明是;A:int a3B:float a3,4C:double a14D:float a34答案:C23.经下列语句定义后,sizeofx,sizeofy,sizeofa,sizeofb在微机上的值分别为;char x=65;float y=;int a=100;double b=;A:2,2,2,4B:1,2,2,4C:1,4,2,8答案:C24.以下叙述中不正确的是;A:一个好的程序应该有详尽的注释B:在C程序中,赋值运算符的优先级最低C:在C程序中,j++;是一条赋值语句D:C程序中的include和define均不是C语句答案:B25.应用缓冲文件系统对文件进行读写操作,关闭文件的函数名为; A:fcloseB:closeC:freadD:fwrite答案:Astruct {int a1;float a2;char a3;}a10={1,,'A'};说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存储方式,其中被初始化的下标变量是;A:a1B:a-1C:a0D:a10答案:C27.函数的形式参数隐含的存储类型说明是;A:externB:staticC:registerD:auto答案:D28.可将C源程序存在磁盘上,还可将数据按数据类型分别以什么的形式存在磁盘上;A:内存B:缓冲区C:文件D:寄存器答案:C29.若用数组名作为函数的实参,传递给形参的是;A:数组的首地址B:数组第一个元素的值C:数组中全部元素的值D:数组元素的个数答案:Ax;scanf"%lf",&x;不可以赋值给x变量的常量是;A:123B:100000C:A'D:"abc"答案:D31.以下的选择中,正确的赋值语句是;A:a=1,b=2B:j++C:a=b=5;D:y=intx答案:C32.要打开A盘上user子目录下名为的文本文件进行读、写操作, 下面符合此要求的函数调用是;A:fopen"A:\user\","r"B:fopen"A:\\user\\","r+"C:fopen"A:\user\","rb"D:fopen"A:\\user\\","w"33.与实际参数为实型数组名相对应的形式参数不可以定义为;A:float a;B:float a;C:float a;D:float a3;答案:C34.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为;A:自动autoB:静态staticC:外部externD:寄存器register答案:A35.下面有关for 循环的正确描述是;A:for 循环只能用于循环次数已经确定的情况B:for 循环是先执行循环循环体语句,后判断表达式C:在for 循环中,不能用break 语句跳出循环体D:for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来答案:D36.下列语句的结果是;main{ int j;j=3;printf"%d,",++j;printf"%d",j++;}A:3,3B:3,4C:4,3D:4,437.执行下列程序后,其输出结果是;main{int a=9;a+=a-=a+a;printf"%d\n",a;}A:18B:9C:-18D:-9答案:C38.以下函数调用语句中实参的个数是;funce1,e2,e3,e4,e5;A:2B:3C:5D:语法错误答案:A39.下列四个选项中,均是C语言关键字的选项是; A:auto enum includeB:switch typedef continueC:signed union scanfD:if struct type答案:B40.下列数组说明中,正确的是;A:static char str="China";B:static char str; str="China";C:static char str15,str2={"China"}; str1=str2;D:static char str1,str2;str2={"China"}; strcpystr1,str2;答案:A语言中,要求运算数必须是整型的运算符是;A:^B:%C:D:>答案:B42.以下不能正确定义二维数组的选项是;A:int a22={{1},{2}};B:int a2={1,2,3,4};C:int a22={{1},2,3};D:int a2={{1,2},{3,4}};答案:D43.设int x=1, y=1; 表达式x||y--的值是;A:0B:1C:2D:-1答案:B44.下列选项中正确的语句组是;A:char s8; s={"Beijing"};B:char s; s={"Beijing"};C:char s8; s="Beijing";D:char s; s="Beijing";答案:D45.若有int a10={0,1,2,3,4,5,6,7,8,9},p=a;则输出结果不为5 的语句为;A:printf"%d",a+5;B:printf"%d",p5;C:printf"%d",p+5;D:printf"%d",p5;答案:D46.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+if值的数据类型为;A:intB:floatC:doubleD:不确定答案:C47.以下叙述正确的是;A:在C程序中,main函数必须位于程序的最前面B:C程序的每行中只能写一条语句C:C语言本身没有输入输出语句D:在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案:Ca=1,b=2,c=3;ifa>ba=b;ifa>ca=c;则a的值为;A:1B:2C:3D:不一定答案:A语言中,定义结构体的保留字是;A:unionB:structC:enumD:typedef50.逻辑运算符两侧运算对象的数据类型;A:只能是0或1B:只能是0或非0正数C:只能是整型或字符型数据D:可以是任何类型的数据答案:D51.以下叙述中正确的是;A:C语言的源程序不必通过编译就可以直接运行B:C语言中的每条可执行语句最终都将被转换成二进制的机器指令C:C源程序经编译形成的二进制代码可以直接运行D:C语言中的函数不可以单独进行编译52.下列程序的输出结果是;main{ int x=1,y=0,a=0,b=0;switchx{case 1:switchy{case 0:a++;break;case 1:b++;break;}case 2:a++;b++;break;case 3:a++;b++;break;}printf"a=%d,b=%d\n",a,b;}A:a=1,b=0B:a=2,b=1C:a=1,b=1答案:B53.若二维数组a有m列,则在aij前的元素个数为;A:jm+iB:im+jC:im+j-1D:im+j+1答案:B54.用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是; long a=0xffffff;int b; char c;A:0ffffff 和0x61B:-1和98C:-1和97D:指向同一地址答案:C55.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是;A:地址传递B:单向值传递C:由实参传给形参,再由形参传回实参D:传递方式由用户指定答案:B56.以下数值中,不正确的八进制数或十六进制数是;A:0x16B:16C:-16D:0xaaaa答案:C57.以下运算符中,优先级最高的运算符是;A:=B:>=C:类型D:+答案:C58.以下选项中,与k=n++完全等价的表达式是;A:k=n,n=n+1B:n=n+1,k=nC:k=++nD:k+=n+1答案:A59.结构体类型的定义允许嵌套是指;A:成员是已经或正在定义的结构体型B:成员可以重名C:结构体型可以派生D:定义多个结构体型答案:A60.用户定义的函数不可以调用的函数是;A:非整型返回值的B:本文件外的C:main函数D:本函数下面定义的答案:C二. 多选题本大题共20小题,每小题2分,共40分1.以下对C语言中的函数描述不正确的有;A:可以嵌套定义,不可以嵌套调用B:不可以嵌套定义,可以嵌套调用C:可以嵌套定义,也可以嵌套调用D:嵌套定义和嵌套调用都不允许答案:ACD2.以下叙述正确的是;A:预处理命令行都必须以""开始B:在程序中凡是以""开始的语句行都是预处理命令行C:C程序在执行过程中对预处理命令行进行处理D:define ABCD是正确的宏定义答案:ABD3.以下描述错误的是;A:continue语句的作用是重新开始一次循环体的执行B:只能在循环体内和switch语句体内使用break语句C:在循环体内使用break语句和continue语句的作用相同D:从多重循环嵌套中退出是,只能使用goto语句答案:CD4.有定义语句:int x,y;若要通过scanf"%d,%d",&x,&y;语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中, 正确的有;A:11 12<回车>B:11,<空格>12<回车>C:11,12<回车>D:11,<回车> 12<回车>答案:BCD5.以下合法的十六进制数是;A:oxffB:0XabcC:0x01D:0X9X答案:BC6.以下描述正确的是;A:调用函数时,实参可以是表达式B:调用函数时,实参与形参可以共用内存单元C:调用函数时,将为形参分配内存单元D:调用函数时,实参与形参的类型必须一致答案:ACD7.以下选项中合法的表达式是;A:0<=x<100B:i=j==0C:char65+3D:x+1=x+1答案:ABC8.设有以下定义int a=0;double b=;char c='A';define d 2则下面语句中正确的是;A:a++;B:b++;C:c++;D:d++;答案:ABC9.以下对二维数组a进行正确初始话的是;A:static char word='Turbo\0';B:static char word={'T','u','r','b','o','\0'}; C:static char word={"Turbo\0"};D:static char word="Turbo\0";答案:BCD10.符合C语言语法的实型常量是;A:答案:ABD11.若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是; A:a=b=c=d=100;B:d++;C:c+b;D:d=c=22-b++;答案:ABD12.以下关于数组描述错误的是;A:数组的大小是固定的,但可以有不同的类型的数组元素B:数组的大小是可变的,但所有数组元素的类型必须相同C:数组的大小是固定的,所有数组元素的类型必须相同D:数组的大小是可变的,可以有不同的类型的数组元素答案:ABD13.以下正确的if语句形式是;A:if x>y && x=y;B:if x==y x+=y;C:if x=y scanf"%d",&x else scanf"%d",&y;D:if x<y {x++;y++;}答案:ABD14.以下叙述中正确的是;A:一个C源程序可由一个或多个函数组成B:一个C源程序必须包含一个main函数C:C源程序的基本组成单位是函数D:在C源程序中,注释说明只能位于一条语句的最后答案:ABC15.以下合法的十六进制数是;A:oxffB:0XabcC:0x01D:0X9X答案:BC16.以下选项中,合法的字符常量是;A:'\t'B:'\17'C:"n"D:'\xaa'答案:ABD17.以下用户标识符,其中合法的是;A:returnB:f2_G3C:A3-3D:abc答案:BD18.以下可以定义为用户标识符的有; A:scanfB:shortC:_3com_D:int答案:AC19.以下选项中合法的表达式是;A:0<=x<100B:i=j==0C:char65+3D:x+1=x+1答案:ABC20.以下不符合C语言语法的实型常量是; A:答案:ABD个选项中,可以看作是一条语句的有;A:{;}B:a=0,b=0,c=0;C:ifa>0;D:ifb==0 m=1;n=2;答案:ABC22.以下选项中,合法的字符常量是;A:'\t'B:'\17'C:"n"D:'\xaa'答案:ABD23.以下描述正确的是;A:使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成B:while循环是先判断表达式,后执行循环语句C:do-while和for循环均是先执行循环语句,后判断表达式D:for,while和do-while循环中的循环体均可以由空语句构成答案:ABD24.以下关于数组描述错误的是;A:数组的大小是固定的,但可以有不同的类型的数组元素B:数组的大小是可变的,但所有数组元素的类型必须相同C:数组的大小是固定的,所有数组元素的类型必须相同D:数组的大小是可变的,可以有不同的类型的数组元素答案:ABD25.以下选项中不是C语言合法整数的是;A:10110B:0386C:0XffaD:x2a2答案:BD26.若以下选项中的变量已正确定义,则不正确的赋值语句是;A:x1=%3B:x=3x+xC:x3=0x12D:x4=1+2=3;答案:AD27.下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是; A:只能是0或1B:只能是0或非0正数C:可以是整型或字符型数据D:可以是任何类型的数据答案:ABD28.下列选项中是C语言合法标志符的有;A:good_morningB:mainC:D:8abc答案:AB29.以下对switch语句和break语句中描述错误的有;A:在switch语句中必须使用break语句B:break语句只能用于switch语句C:在switch语句中,可以根据需要使用或不使用break语句D:break语句是switch语句的一部分答案:ABD30.以下叙述中正确的是;A:一个C源程序可由一个或多个函数组成B:一个C源程序必须包含一个main函数C:C源程序的基本组成单位是函数D:在C源程序中,注释说明只能位于一条语句的最后答案:ABC31.下对C语言中的函数描述不正确的有;A:可以嵌套定义,不可以嵌套调用B:不可以嵌套定义,可以嵌套调用C:可以嵌套定义,也可以嵌套调用D:嵌套定义和嵌套调用都不允许答案:ACD32.设有以下定义int a=0;double b=;char c='A';define d 2则下面语句中正确的是;A:a++;B:b++;C:c++;D:d++;答案:ABC33.对do-while语句描述正确的是;A:do-while语句构成的循环可以使用break语句退出循环B:do-while语句构成的循环必须使用break语句退出循环C:do-while语句构成的循环,当while中的表达式值为非零时结束循环D:do-while语句构成的循环,当while中的表达式值为零时结束循环答案:AD34.以下可以定义为用户标识符的有;A:scanfB:shortC:_3com_D:int答案:AC35.以下选项中不是C语言合法整数的是;A:10110B:0386C:0XffaD:x2a2答案:BD36.以下叙述中正确的是;A:一个C源程序可由一个或多个函数组成B:一个C源程序必须包含一个main函数C:C源程序的基本组成单位是函数D:在C源程序中,注释说明只能位于一条语句的最后答案:ABC37.以下正确的if语句形式是;A:if x>y && x=y;B:if x==y x+=y;C:if x=y scanf"%d",&x else scanf"%d",&y;D:if x<y {x++;y++;}答案:ABD38.以下选项中不是C语言合法整数的是;A:10110B:0386C:0XffaD:x2a2答案:BD39.以下关于数组描述错误的是;A:数组的大小是固定的,但可以有不同的类型的数组元素B:数组的大小是可变的,但所有数组元素的类型必须相同C:数组的大小是固定的,所有数组元素的类型必须相同D:数组的大小是可变的,可以有不同的类型的数组元素答案:ABD40.以下描述正确的是;A:使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成B:while循环是先判断表达式,后执行循环语句C:do-while和for循环均是先执行循环语句,后判断表达式D:for,while和do-while循环中的循环体均可以由空语句构成答案:ABD41.对do-while语句描述正确的是;A:do-while语句构成的循环可以使用break语句退出循环B:do-while语句构成的循环必须使用break语句退出循环C:do-while语句构成的循环,当while中的表达式值为非零时结束循环D:do-while语句构成的循环,当while中的表达式值为零时结束循环答案:AD42.在定义int a23;之后,对a的引用正确的有;A:a02B:a1,3C:a1>21D:a20答案:AC43.以下用户标识符,其中合法的是;A:returnB:f2_G3C:A3-3D:abc答案:BD44.以下选项中不合法的字符常量是;A:"B"B:'\010'C:68D:D答案:ACD45.正确的if语句形式是;A:if x>y && x=y;B:if x==y x+=y;C:if x=y scanf"%d",&x else scanf"%d",&y;D:if x<y {x++;y++;}答案:ABD46.以下叙述正确的是;A:C语言严格区分大小写英文字母B:C语言用";"作为语句分隔符C:C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上. D:可以使用/…/对C程序中的任何部分作注释答案:ABCD47.以下描述正确的是;A:调用函数时,实参可以是表达式B:调用函数时,实参与形参可以共用内存单元C:调用函数时,将为形参分配内存单元D:调用函数时,实参与形参的类型必须一致答案:ACD48.若以下选项中的变量已正确定义,则不正确的赋值语句是;A:x1=%3B:x=3x+xC:x3=0x12D:x4=1+2=3;答案:AD49.下列选项中是C语言合法标志符的有;A:good_morningB:mainC:D:8abc答案:AB50.以下4个选项中,可以看作是一条语句的有;A:{;}B:a=0,b=0,c=0;C:ifa>0;D:ifb==0 m=1;n=2;答案:ABC51.以下叙述正确的是;A:预处理命令行都必须以""开始B:在程序中凡是以""开始的语句行都是预处理命令行C:C程序在执行过程中对预处理命令行进行处理D:define ABCD是正确的宏定义答案:ABD52.以下选项中不合法的字符常量是;A:"B"B:'\010'C:68D:D答案:ACD53.以下用户标识符,其中合法的是;A:returnB:f2_G3D:abc答案:BD54.以下选项中,合法的字符常量是;A:'\t'B:'\17'C:"n"D:'\xaa'答案:ABD55.以下选项中合法的表达式是;A:0<=x<100B:i=j==0C:char65+3D:x+1=x+1答案:ABC56.以下4个选项中,可以看作是一条语句的有; A:{;}B:a=0,b=0,c=0;C:ifa>0;D:ifb==0 m=1;n=2;答案:ABC57.设有以下定义int a=0;double b=;char c='A';define d 2则下面语句中正确的是;A:a++;B:b++;D:d++;答案:ABC58.若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是;A:a=b=c=d=100;B:d++;C:c+b;D:d=c=22-b++;答案:ABD59.以下叙述正确的是;A:C语言严格区分大小写英文字母B:C语言用";"作为语句分隔符C:C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上. D:可以使用/…/对C程序中的任何部分作注释答案:ABCD60.定义语句:int x,y;若要通过scanf"%d,%d",&x,&y;语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有;A:11 12<回车>B:11,<空格>12<回车>C:11,12<回车>D:11,<回车> 12<回车>答案:BCD三、判断题本大题共10小题,每小题2分,共20分语言可以直接访问物理位元元址;T语言既可以用来写系统软件,也可以用来写应用软件;T3.用户标识符中可以出现下划线和中划线减号;F4.在C中变量不定义也可以使用;F5.若a=7,b=5; 则执行a&&b++ 后,b为6; T6.在C中能代表逻辑值“假”的是0; T7.若有static int a10; 则a数组的10个元素的值都是0; T8.全局变量的作用域一定比局部变量的作用域范围大;F9.结构类型变量所占内存长度等于成员的长度;而共享体类型变量所占用的内存长度是各成员的内存长度之和,每个成员分别占用其自己的内存单元;F10.有unsigned int a=16;a=a>>2;则a的值是4;T中的变量必须“先定义,后使用”,函数也不例外;T12.一个C源程序只能有一个main函数;T13.表达式’a’和“a”是不同的,前者长度为1,后者长度为2;T14.自增自减运算符++,--可以用于int型、float型和double型资料;T15.若有int x,y,z; x=y=z=1;则执行++x&&++y&&++z后,x,y,z的值分别为2,1,1;F16. continue语句可用于switch语句,也可用于for、while和do循环语句中;F17.函数的实参可以传递给形参,形参也可以传递给实参;F18.define命令是在编译之前处理的;T19.有unsigned int a=16;a=a<<2;则a的值是64;T20.一个无符号整数各数字往左移动2位后,一定是原数的4倍;F21.一个C源程序可以由一个main函数和若干个其它函数组成;T程序中和每一行就是一个语句;F23.在某种意义上,char和int通用;T24.自增运算符和自减运算符的结合方向也是“自左向右”;F语句可用于switch语句,也可用于for、while和do循环语句中;T26.数组类型不是C的基本数据类型,而是一种构造类型 ;T27.一个包含命令include可以包含几个头檔;F28.若定义char str;则str="BOOK";是正确的;T语言中,feof函数用来判断即将读入的是否是文件结束标志,它可用于二进制文件,但不能用于文本文件;F语言的文件存取方式只能是顺序存取,不能随机存取;F1.在C语言中,形参的缺省存储类是:A.auto2.以下选项,与K=n++完全等价的表达式是:=n n=n+1=n=1,k=n =++n +=n+13.以下不能实现回车换行的是:A.printf“n” Bputchar“n”stdout,”n” “n”,1,1stdout4. main{ char s="123",p;p=s;printf"%c%c%c\n",p++,p++,p++;}5. 以下错误的是:A.二进制文件打开后可以先读文件的末尾而顺序文件不可用B.在程序结束时,应该用fclose函数关闭已打开的文件C。

程序设计基础(C语言)第3版习题及答案

程序设计基础(C语言)第3版习题及答案

第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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

习题及参考答案1 单项选择题:(1)下列哪个符号是合法的变量名? ( )A .VB123B .AbsC .99JiD .x\y 答案:选择A 。

其他的:Abs 是Visual Basic 的关键字,99Ji 以数字开头,x\y 使用了整除运算符”\”,都是非法的。

(2)Visual Basic 中的数据也可以以十六进制或八进制表示,十六进制数据以( )符号开头,八进制数据以( )符号开头。

A.$EB.$HC.&OD.&H 答案:D C(3)如果X 是一个正实数,对X 的第三位小数四舍五入的表达式是 ( )A .0.01*Int(x+0.005) B. 0.01*Int(100*(x+0.005)) C. 0.01*Int(100*(x+0.05)) D. 0.01*Int(x+0.05) 答案:选择B 。

x 是一个正实数,要保留n 位小数,第n+1位四舍五入的数字公式是: Int(x*10n+0.5)/10n因此,本题应该选择B 。

(4)数学式子10sin25°写成Visual Basic 表达式是 ( )A .10Sin25B .10* Sin(25)C .10*Sin(25°)D .10*Sin(25*3.14/180) 答案:选择D 。

其他的选项:A 、C 属于语法错误,B 中Sin(25)计算的是25弧度的正弦值,而不是sin25°的值,要将度数转换为弧度的公式是:弧度=度数*180/ 。

(5)下列哪组语句可以将变量A 、B 的值互换? ( )A .A=B:B=A B. A=A+B:B=A-B:A=A-B C. A=C:C=B:B=A D. A=(A+B)/2:B=(A-B)/2 答案:选择B 。

应该对每个选项内的赋值语句进行分析,判断其运行结果。

下面仅对B 选项的三条语句的作用分析如下:◆ A=A+B ‘将变量A 和变量B 相加后赋给变量A ,此时A 中存放的是和数◆ B=A-B ‘由于A 中存放的是和数,A-B 的值就是原先A 中的值,赋给变量B ,B 的值就是原先A 中的值◆ A=A-B ‘由于A 中存放的是和数,B 的值就是原先A 中的值,A-B 的值就是原先B中的值 ,赋给变量A ,A 的值就是原先B 中的值。

这样达到了交换目的。

实际上,在引用第三个变量的情况下,将变量A 、B 的值互换常用如下的语句: T=A:A=B:B=T(6)Visual Basic 中不存在下列哪一种数据类型? ( )A 字符串类型B 日期类型C 逻辑类型D 指针类型 答案:选择D 。

在Visual Basic 中不存在指针(地址)类型,而在C++等语言中有指针类型。

(7)把数值型转换为字符串型需要使用下列哪一个函数? ( )A ValB StrC AscD Chr答案:选择B。

(8)模拟方形骰子投掷的表达式是 ( )A Int(6*Rnd)B Int(1+6*Rnd)C Int(6*Rnd-1)D Int(7*Rnd-1)答案:选择B。

产生1~6 间的随机整数。

请分析A、C、D 各产生什么样的随机整数。

(9)表达式Right(“asdf”,2)+UCase(“as”)的值为 ( )A asasB asASC dfasD dfAS答案:选择D。

(10)关于语句行,下列说法正确的是 ( )A 一行只能写一个语句B 一个语句可以分多行书写C 每行的首字符必须大写 D长度不能超过255个字符答案:选择D。

在不使用续行符的情况下一条语句不可以分多行书写。

如果一条语句太长了,超过编辑窗口的宽度,你以不想使用滚动条时,可以将一条语句分多行书写,但是前行的行末必须使用续行符”_”(空格和下划线)。

例如下面这条语句,就分两行书写:Form1.Print “如果一条语句太长了,超过编辑窗口宽度,”& _“你以不想使用水平滚动条时,可以将一条语句多行书写。

”(11)如果希望用变量X来存放数据1234.5678912应将X定义为什么类型? ( )A.单精度实型B. 双精度实型C.长整型D.字符型答案:选择B。

因为实型数1234.5678912 的有效数字超过7位,应该使用双精度实型。

(12)设Str1,Str2是字符型变量,Str1="Visual Basic123",Str2="a",则下面表达式中结果为True的是 ( )A. Mid (Str1,5,1) = Str2B. Len(Str1)>2*Instr(Str1, "c")C.Right(Str1,3)="c12"D. Instr(Left(Str1,6),"a")+60>Asc(UCase(Str2))答案:选择A。

(13)表达式6+10 Mod 4*2+1的值是 ( )A 9B 11C 1D 3答案:选择A。

要注意表达式中运算符的优先级别,运算顺序是:①先算“*”:4*2=8;②再算”Mod”:10 Mod 8=2;③最后从左到右算两个“+” :6+2+1=9 结果是9(14)在窗体上使用方法Print Format(12.3456,”00000.00%”)将输出什么结果? ( )A.01234.56%B.1234.56%C.12.34%D.12.3400%答案:选择A。

格式串”00000.00%”表示以百分数输出,整数部分4个字符,不足补零,小数部分两位,不足补零。

若使用格式串”####.00%“,则输出的是B。

(15)用于截去字符串左右空格的函数是: ( )A.Trim()B.Rtrim()C.Instr()D.Mid()答案:选择A 。

(16)Variant是一种特殊的数据类型,除了()和()类型外,可以包含任何种类的数据。

A.固定长度字符串B.字节C.实型D.单精度E.可变长度字符串F.整型G.货币H.自定义答案:A H(17)设有以下定义语句:Dim max, min As Single, d1,d2 As Double, abc As String*5则变量max 的类型是(),变量min 的类型是( ) ,变量d1的类型是( ),变量d2的类型是( ),变量abc 的类型是( )A. 可变类型B. 单精度型C. 双精度型D.字符串型答案:A B A C D(18)下列()是日期型常量。

A.”2/1/02”B.2/1/02C.#2/1/02#D.{2/1/02}答案:C(19)表达式”12”+”34”的值是()。

表达式”12”&”34”的值是()。

表达式12&34的值是()。

表达式12+34的值是()。

A.”1234”B.”12””34”C.”46”D.46答案:A A A D(20)表达式Int(Rnd(0)+1) + Int(Rnd(1)-1)的值是()A.1B.0C.-1D.2答案:B(21) Option Explicit语句不可以放在()A. 窗体模块的声明段中B. 标准模块的声明段中C. 类模块的声明段中D. 任何事件过程中答案:D(22)表达式”12”+”34”的值是()。

表达式”12”&”34”的值是()。

表达式12&34的值是()。

表达式12+34的值是()。

A.”1234”B.”12””34”C.”46”D.46答案:A A A D2下列数据中,哪些是变量?哪些是常量?A.Sum B.”ToTal” C.#10/10/99# D.Ture E.PIF.456.89 G.1E1 H.vbCrLf答案:变量有:A. Sum、E.PI; 常量有:B. ”ToTal”(字符常量)、C.#10/10/99#(日期常量)、D. Ture(布尔类型常量)、F. 456.89(数值常量)、G. 1E1(数值常量,科学计数法表示)、H. vbCrLf(系统常量,表示回车换行)3 在Visual Basic中,对于没有赋值的变量,系统默认值是什么?答案:对于不同类型的变量,在没有赋值的情况下,系统有不同的默认值:◆字符型变量:变长的字符串被初始化为一个零长度的字符串(“”) ,而定长的字符串则用空格填充。

◆数值型和货币型变量的默认值是零。

◆日期型变量的默认值是0:00:00。

◆逻辑型变量的默认值是False。

◆可变型变量的默认值是Empty。

4 分别写出下列表达式的值:A.2+2*3^2B.4>5C.#10/20/99#-10D.7/2E.9\4F.-15 Mod 4G.”Sum=” & 2001H.”abcd”+”1234”答案:每个表达式的值和类型如下:5 写出下列函数的值:A.Fix(-123.456)B.Int(-123.456)C.Sqr(Sqr(16))D.Exp(2\3)E.Int(Abs(13-24)/2+.5)F.Str(-345.67)G.Log(Cos(0)) H.Val(“32-23”)I.UCase(“Beijing-2008”)J.Right(“Beijing-2008”,4)K.Sgn(-4 Mod 3+1) L.Len(“Beijing-2008”)答案:每个函数的值和类型如下6 将下列数学表达式,改写成Visual Basic 表达式。

答案:每个数学表达式的Visual Basic 表达式如下 : A 的Visual Basic 表达式是:sqr(p*(p-a)*(p-b)*(p-c) B 的Visual Basic 表达式是:(3*x)/(6-x^3)/(x^3+5*x+3) C 的Visual Basic 表达式是:sqr(abs(b*b-4ac))D 的Visual Basic 表达式是:sin(2*x)+tan(3*x)^2/cos(x) 7 将下列Visual Basic 表达式,还原成数学表达式。

A.x^4/25+x*Abs(x*x-4*x)B.3/4/(B-4)*AC.Sin(42*3.14159/180)/Cos(3.14159/3)D.Log(x)/sqr(x*x+1) 答案:每个 Visual Basic 表达式所对应的数学表达式如下 :A.254x +x x x 42- B.443-B A C.0060cos 42sin D.1ln 2+x x8 根据所给条件,列出逻辑表达式。

(1) 闰年的条件是:年号(year)能被4整除,但不能被 100 整除;或者能被400整除。

xxtg x D AC B C x x x x B c p b p a p p A cos 32sin :4:3563:))()((:2233+-++----(2)一元二次方程ax2+bx+c=0 有实根的条件为a≠0 ,并且b2-4ac≥0。

相关文档
最新文档