第1单元 程序设计基础知识-答案
第1单元程序设计基础知识
一单项选择题(每题2分,共44分)
1 以下叙述正确的是___。
A C程序基本组成单位是语句
B C程序每一行只能写一个语句
C 简单C语句必须以分号作为结束符
D 注释语句可以嵌套
2 一个C语言程序是从___开始执行的。
A 程序中第一个函数
B 名为main的函数
C 包含文件(头文件)的第一个函数
D 程序中的第一个语句
3 请选出合法的C语言赋值语句___。
A a=b=58
B i=i+1;
C a=58,b=58
D k=int(a+b);
4 下面标识符中,合法的用户标识符是___。
A 1abc
B myChar
C a-b-c123
D char
5 以下所列的C语言整形常量中,正确的是___。
A 0x10
B 0976
C 076L
D 01ff
6 C语言中下列运算符的操作数必须为整型的是___。
A %
B ++
C /
D =
7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));
A 20
B 21
C 0
D 23
8 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2
B 3
C 2.6
D 不确定
9 以下合法的字符常量为___。
A 'ab'
B '\482'
C '\'
D '\xaf'
10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;
A 64
B –56
C –112
D –48
11 以下合法的浮点型常量是___。
A e-3
B 1.5e+2.4
C 3.14e+2L
D 3.14 e +5
12 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已
知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);
A 4
B 8
C 6
D 7
13 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。
A 0
B -2
C 65534
D 65535
14 若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为___。
x=a++; y=--a; z=x+y-a--;
A 100
B 400
C 200
D 300
15 若有以下定义和语句:int u=010,v=0x10,w=10,printf("%d,%d,%d\n",u,v,w);,则输出
结果是___。
A 8,16,10
B 10,10,10
C 8,8,10
D 8,10,10
16 设x、y为int型变量,则执行下列语句后,y的值是___。
x=5; y=x++*x++; y=--y*--y;
A 529
B 2401
C 1209
D 625
17 假设在程序中a,b,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式 A 1/a*b*c B 1/(a*b*c) C 1/a/b/(float)c D 1.0/a/b/c
18 若有定义:int a=8,b=5,c;char d='A ';,则执行语句c=a/b+d%a+0.5;后c 的值为___。
A 2
B 2.5
C 3
D 类型不一致,无法计算,编译出错 19 在有以下程序:
main()
{ int i=10,j=1;
i=i+j++;
printf("%d,%d,%d\n ",i++,++j,i);
}
执行后输出结果是___。
A 12,3,11
B 12,2,11
C 11,3,11
D 12,3,12
20 已知int i=65;,则putchar(i);printf("%d ",i);printf("%c ",i);的输出结果为___。
A A,65,A
B 65,65,A
C A,A,65
D A,A,A
21 已知int y,a,i=1;,则语句printf("%d,%d ",-i++,(y=a=3.6*3));的输出结果为___。
A -1,10
B -2,1.8
C 0,3
D 1,18
22 有以下程序:
main()
{ char a,b,c,d;
a='\'; b='\xbc ';
c='\0xab '; d='\023';
printf("%c%c%c%c\n ",a,b,c,d);
}
编译时出现错误,以下叙述中正确的是___。
A 程序中只有a='\';语句不正确
B b='\xbc ';语句不正确
C d='\023';语句不正确
D a='\';和c='\0xab ';语句都不正确
二 填空题(第1题2分,其余每题3分,共56分)
1 设x 为int 型变量,请写出描述“x 是偶数”的表达式是___。
2 已知scanf("a=%d,b=%d,c=%d ",&a,&b,&c);,若从键盘输入2、3、4三个数分别作为变量a 、b 、c 的值则正确的输入形式是___。
3 设有语句int a=3;,则执行了语句 a+=a-=a*a 后,变量a 的值是___。
4 以下程序的输出结果是___。
main()
{ int a=-10,b=-3;
printf("%d\n ",-a++);
printf("%d\n ",-a+b); }
abc
1的表达式是____。
5 以下程序的输出结果是___。
main()
{ char c;
c=0362;
printf("%d\n",c);
}
6 以下程序段(n所赋的是八进制数)执行后输出结果是___。
int m=32767,n=032767; printf("%d,%o\n",m,n);
7 字符串"\\name\\\101ddress\b\xaf"的长度为:___。
8有以下程序段:
int m=0,n=0; char c='a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10<回车>,则输出结果是___。
9 以下程序的输出结果是___。
main()
{ printf("%d,%o,%x\n",10,10,10);
printf("%d,%d,%d\n",10,010,0x10);
printf("%d,%x\n",012,012);
}
10 设a、b、c为整形变量,且a=2、b=3、c=4,则执行完语句 a*=16+(b++)-(++c);之后,
变量a的值为___。
11 以下程序的输出结果为___。
main()
{ int x=023;
printf("%x\n",--x);
}
12 以下程序的结果为___。
main()
{ int a=2,b=3,c,d;
c=(a++)+(a++)+(a++);
d=(++b)+(++b)+(++b);
printf("a=%d c=%d\n",a,c);
printf("b=%d d=%d\n",a,d);
}
13 以下程序
main()
{ char ch1,ch2,ch3;
scanf("%c%c%c",&ch1,&ch2,&ch3);
printf("%c%c%c%c%c",ch1,'#',ch2,'#',ch3);
}
当输入ABC时运行结果为【1】,当输入A BC时运行结果为【2】。
14 若有定义:float x;,以下程序段的输出结果是___。
x=5.16894;
printf("%f\n",(int)(x*1000+0.5)/(float)1000);
15 以下程序的功能是:输入一个小写字母,输出对应的大写字母,将程序补充完整。
main()
{ char ch;
【1】 /* 从键盘输入一个小写字母 */
【2】 /* 将该字母转换为大写字母 */
【3】 /* 输出转换后的结果 */
}
16 当运行以下程序时,在键盘上从第一列开始输入9876543210↙(此处↙代表回车),则
程序的输出结果是___。
main()
{ int a; float b,c;
scanf("%2d%3f%4f",&a,&b,&c);
printf("\na=%d,b=%f,c=%f\n",a,b,c);
}
17 以下程序的运行结果是___。
main()
{ printf("%12.5f\n",123.1234567);
printf("%12f\n",123.1234567);
printf("%12.8d\n",12345);
printf("%12.8s\n","abcdefghij");
}
18 运行以下程序时,如从键盘上输入abcdefg↙,则输出结果是___。
main()
{ char ch1,ch2,ch3;
ch1=getchar(); ch2=getchar(); ch3=getchar();
putchar(ch1); putchar(ch2); putchar(ch3);
putchar('\n');
}
19 运行以下程序时,如从键盘上输入:a=3,b=5↙35,35.12↙abc↙后,结果是___。
main()
{ int a,b; float x,y; char c1,c2;
scanf("a=%d,b=%d",&a,&b);
scanf("%f,%e",&x,&y);
scanf("%c%c%c",&c1,&c1,&c2);
printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);
}
三编程题
1.编写程序,输入设长方形的高和宽,编程求该长方形的周长和面积并输出。
2. 编写一个程序,输入一个大写字母,将它转换为小写字母并输出。
第1单元 参考答案
一 单项选择题
二 填空题
三 编程题
《程序设计基础》试卷B及答案
黄淮学院计算机科学系2007-2008学年度第一学期 期末考试《程序设计基础》B 卷 注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。 1.__ ____函数是程序启动时惟一的入口。 2.算法的复杂性包含两方面: 和 。 3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。 4.数值0x34对应的十进制为 。 5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。 6.面向对象程序开发步骤为: 、 和面向对象实现。 1.下列程序设计语言中( )是面向对象语言。 A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。 A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。 A. 自底向上,逐步求精 B. 自顶向下,逐步求精 C. 自底向上,同步扩展 D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。 int a=4, &z=a, k=3; a=k; z+=2; k++; A. 0 B. 4 C. 1 D. 5 5.以下程序执行后,屏幕输出为( )。 #include “iostream.h ” void fun(int d) {d++;} void main() { int d=3; fun(d); d++; cout< 第4章程序设计基础 习题 一、选择题 1. A 2.D 3.C 4. A 5. B 6.D 7.A 8.B 9.C 10. B 11. D 12. A 13.B 14.D 15.C 二、简答题 1.结构化程序设计的思想是什么? 答:结构化程序设计的基本思想就是采用自顶向下、逐步求精的设计方法和单入口单出口的控制结构。 2.结构化程序设计的原则是什么? 答:结构化程序设计的原则是: (1) 使用顺序、选择、循环3种基本控制结构表示程序逻辑。 (2)程序语句组织成容易识别的语句模块,每个模块都是单入口、单出口。 (3)严格控制GOTO语句的使用。 3.结构化程序设计语言采用自顶向下的方法进行程序设计的特点是什么? 答:利用结构化程序设计语言采用自顶向下的方法进行程序设计的特点是: (1) 问题分解成子问题的结构必须与3种基本程序结构之一相对应。 (2) 问题的划分决定了程序的结构。一方面,子问题的划分决定了这一层次的程序是3种基本结构中的哪一种结构;另一方面,一个问题该如何划分成子问题是灵活的,并不是只有一种分解方法。分解的好坏就决定了设计的质量,也决定了程序的不同结构。 (3) 问题的边界应该清晰明确。只有这样才能精确地解决这些子问题,否则就会模棱两可,无从下手。 4.简述面向对象和结构化程序设计的区别。 答:面向对象是从本质上区别于传统的结构化方法的一种新方法、新思路。它吸收了结构化程序设计的全部优点,同时又考虑到现实世界与计算机之间的关系,认为现实世界是由一系列彼此相关并且能够相互通信的实体组成,这些实体就是面向对象方法中的对象,每个对象都有自己的自然属性和行为特征,而一类相似对象的共性的抽象描述,就是面向对象方法中的核心——类。 5. 从互联网上面搜索选择结构的使用方式。 答案略。 6.简述模块化方法的原理。 程序设计基础期末样 题(1) 单项选择 ================================================== 题号:23095 任何一个C语言的可执行程序都是从()开始执行的. A、main()函数的入口处 B、程序中的第一条语句 C、程序中的第一个函数 D、编译预处理语句 答案: A 题号:23285 C语言程序的三种基本结构是顺序结构,选择结构和()结构. A、循环 B、转移 C、递归 D、嵌套 答案: A 题号:23286 C语言中,定义结构体的保留字是(). A、enum B、union C、struct D、typedef 答案: C 题号:23333 程序流程图PFD中的"□"代表的是(). A、控制流 B、加工步骤 C、数据流 D、组成关系 答案: B 题号:23161 C语言中,下列叙述正确的是(). 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、.25 C、0xf D、090 答案: D 题号:23577 以下对C语言中联合类型数据的正确叙述是(). A、定义了联合变量后,即可引用该变量或该变量中的任意成员 B、一个联合变量中可以同时存放其所有成员 C、在向联合中的一个成员进行赋值时,联合中其他成员的值不会改变 D、联合中的各个成员使用共同的存储区域 《Java语言程序设计(基础篇)》(第10版梁勇著) 第十一章练习题答案 11.1 public class Exercise11_01 { public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print("Enter three sides: "); double side1 = input.nextDouble(); double side2 = input.nextDouble(); double side3 = input.nextDouble(); Triangle triangle = new Triangle(side1, side2, side3); System.out.print("Enter the color: "); String color = input.nextLine(); triangle.setColor(color); System.out.print("Enter a boolean value for filled: "); boolean filled = input.nextBoolean(); triangle.setFilled(filled); System.out.println("The area is " + triangle.getArea()); System.out.println("The perimeter is " + triangle.getPerimeter()); System.out.println(triangle); } } class Triangle extends GeometricObject { private double side1 = 1.0, side2 = 1.0, side3 = 1.0; /** Constructor */ public Triangle() { } /** Constructor */ public Triangle(double side1, double side2, double side3) { this.side1 = side1; this.side2 = side2; this.side3 = side3; } 第三部分程序设计基础 3.1 程序、程序设计、程序设计语言的定义 ⑴程序:计算机程序,是指为了得到某种结果而可以由计算机等具有信息处理能力的装置执行的代码化指令序列,或者可以被自动转换成代码化指令序列的符号化指令序列或者符号化语句序列。 ⑵程序设计:程序设计是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。程序设计往往以某种程序设计语言为工具,给出这种语言下的程序。程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段。 ⑶程序设计语言:程序设计语言用于书写计算机程序的语言。语言的基础是一组记号和一组规则。根据规则由记号构成的记号串的总体就是语言。在程序设计语言中,这些记号串就是程序。程序设计语言有3个方面的因素,即语法、语义和语用。 3.2 高级语言和低级语言的概念及区别 ⑴高级语言:高级语言(High-level programming language)是高度封装了的编程语言,与低级语言相对。 它是以人类的日常语言为基础的一种编程语言,使用一般人易于接受的文字来表示(例如汉字、不规则英文或其他外语),从而使程序编写员编写更容易,亦有较高的可读性,以方便对电脑认知较浅的人亦可以大概明白其内容。 ⑵低级语言:低级语言分机器语言(二进制语言)和汇编语言(符号语言),这两种语言都是面向机器的语言,和具体机器的指令系统密切相关。机器语言用指令代码编写程序,而符号语言用指令助记符来编写程序。 ⑶区别: 高级语言:实现效率高,执行效率低,对硬件的可控性弱,目标代码大,可维护性好,可移植性好低级语言:实现效率低,执行效率高,对硬件的可控性强,目标代码小,可维护性差,可移植性差 了解知识:CPU运行的是二进制指令,所有的语言编写的程序最终都要翻译成二进制代码。越低级的语言,形式上越接近机器指令,汇编语言就是与机器指令一一对应的。而越高级的语言,一条语句对应的指令数越多,其中原因就是高级语言对底层操作进行了抽象和封装, 第一章:程序设计基础知识 一、单项选择题 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、只描述程序应该“做什么”,而不必描述“怎样做”的语言被称为________。(面向对象) 6、任何简单或复杂的算法都是由_____和_____这两个要素组成。(数据结构算法) 7、算法的_______特征是指:一个算法必须在执行有限个操作步骤后终止。(有穷性) 8、在三种基本结构中,先执行后判断的结构被称为_________。(直到型循环结构) 9、在程序设计中,把解决问题确定的方法和有限的步骤称为______。(算法) 10、程序设计风格主要影响程序的________。(可读性) 11、用模块组装起来的程序被成为________结构化程序。(模块化) 12、采用自上而下,逐步求精的设计方法便于____________。(结构化和模块化) 三、应用题 一、单选题(每题2分,共30分) 题目1 正确 获得2分中的2分 标记题目 题干 计算机早期传统的应用领域是______。 选择一项: A. 科学计算 B. 信息处理 C. 反馈 正确答案:A 题目2 正确 获得2分中的2分 标记题目 题干 冯·诺依曼型计算机的两大特征是______。选择一项: A. 程序存储和采用二进制 B. 硬件由五部分组成和软件与硬件分离 C. 数据和程序均采用二进制表示 D. 建立二进制编码体系和软硬件分离反馈 正确答案:A 题目3 正确 获得2分中的2分 标记题目 题干 世界上第一个高级语言是______。 选择一项: A. BASIC语言 B. C语言 C. FORTRAN语言 D. PASCAL语言 反馈 正确答案:C 题目4 正确 获得2分中的2分 标记题目 CPU主要包括______。 选择一项: A. 运算器、控制器和寄存器 B. 运算器、控制器和存储器 C. 控制器 D. 运算器和存储器 反馈 正确答案:A 题目5 正确 获得2分中的2分 标记题目 题干 JAVA语言的类别是______ 选择一项: A. 面向过程的程序设计语言 B. 面向问题的程序设计语言 C. 面向对象的程序设计语言 D. 面向硬件的程序设计语言 正确答案:C 题目6 正确 获得2分中的2分 标记题目 题干 操作系统属于______ 选择一项: A. 系统软件 B. 应用软件 C. D. 编译系统 反馈 正确答案:A 题目7 正确 获得2分中的2分 标记题目 题干 计算机能直接执行的语言是______ 选择一项: A. 机器语言 B. 汇编语言 C. 高级语言 D. 目标语言 反馈 正确答案:A 题目8 正确 获得2分中的2分 标记题目 题干 C语言中,使用变量的要求是______ 选择一项: A. 要先定义后使用 B. 要先使用后定义 C. 不需要定义,可以直接使用 D. 没有明确的要求 反馈 正确答案:A 题目9计算机科学导论第4章 程序设计基础(答案)
程序设计基础期末样题 (1)word版本
《Java语言程序设计(基础篇)》(第10版 梁勇 著)第十一章练习题答案
程序设计基础知识点)
C语言程序设计基础知识 习题一及参考答案
程序设计基础模拟测试一
最新C++程序设计基础课后答案--第四章