程序设计基础习题及答案剖析

程序设计基础习题及答案剖析
程序设计基础习题及答案剖析

《程序设计基础》习题参考答案【习题1 基本概念】

一、简答题(在课本中寻找答案,略)

1.1C程序的基本结构包括哪些内容?

1.2如何定义标识符?

1.3输入格式、输出格式的组成包括哪些内容?

1.4C语言函数分为哪两类?

1.5计算表达式的值应该考虑哪些方面?

1.6上机调试程序的步骤如何?

1.7常量与变量的区别?

1.8 C语言中的标识符的定义规则?

1.9变量为什么要“先定义,后使用”?

1.10字符常量'a'与字符串常量"a"有何区别?

1.11大小写字母转换的规则是什么?

1.12变量的具有哪三种属性?

二、单项选择题

1.13 C语言中,int型数据在内存中的存储形式是(D)。

A)ASCII码B)原码C)反码D)补码

1.14 下面四个选项中,均是不合法的用户标识符的选项是(C)。

A)BA 、x_0、do

B)float、1a0、_Y

C)x-y、goto、123

D)_123、tmp、CHAR

1.15 下列选项中不正确的常数的选项是(D)。

A)0x12F B)-1.23E-2 C)12.0 D)0388 1.16 下面正确的字符常量是(B)。

A)"a"B)'\\'C)"\n"D)"\376"

1.17 下面正确的字符串常量是(C)。

A)'a'B)'376'C)"\\n"D)376

1.18 表达式'A'+4*25.0-'b'的正确结果是(B)。

A)67 B)67.0C)不确定D)67L

1.19 执行printf("%x",100);后的输出结果是(C)。

A)100 B)0x100 C)0X64 D)64

1.20 int型的-1在内存中的存储形式是(A)。

A)1111 1111 1111 1111

B)0000 0000 0000 0001

C)1111 1111 1111 1110

D)1000 0000 0000 0001

1.21 存储字符串"\\\'abc\376"需要的字节数是(D)。

A)11 B)13 C)6 D)7

三、判断并改错

1.22C程序执行的入口是main()函数,所以main函数必须放在程序的开头。

错误:main函数可以放在程序的任何位置。并不限定在程序的开头。

1.23定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。

错误:不可以交叉出现,数据说明部分在执行语句部分的前面。

1.24编辑与编译不是一回事。

错误:不是一回事。编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。

1.25scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。

正确

1.26注释内容太多会影响程序的执行效率。

错误:不会影响程序的执行效率。因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。

1.27所有的数学公式可以直接出现在源程序中。

错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。

四、编程题

1.28在屏幕上输出自己名字的拼音。

提示:中文名字叫“张三”,对应的拼音为“Zhang San”,输出用printf()函数。

1.29输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。

提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f

【习题2 运算符与表达式】

一、计算题

2.1 2.8+7%3*11%2/4 (答案:2.8)

2.2 5/2+5.0/2+7%6 (答案:5.5)

2.3 a=12,a*=2+3 (答案:a=60)

2.4 a=3,b=4,c=5,a+b>c&&b= =c (答案:0)

2.5 3>5?3:5<8?25:40 (答案:25)

2.6 设a=1,b=2,c=3,d=4,m=n=1,有表达式(m=a>b)&&(n=c>d),计算表达式后m,n 的值?

(答案:m=0,n=1)

2.7 设int b=7;float a=2.5,c=4.7;求下面表达式的值。

a+(int)(b/2*(int)(a+c)/2)%4 (答案:4.5)

二、单项选择题

2.8 若有代数式bc

xy 8,则不正确的C 语言表达式是(C )。 A )x/b/c*y*8 B )8*x*y/b/c

C )8*x*y/b*c

D )x*y/c/b*8

2.9 有如下类型说明:

int k,a,b;

unsigned long w=8;

double x=2.9

则以下不符合C 语言语法的表达式是(A )。

A)x%(-3) B)w*=-2

C)k=(a=6,b=4,a-b) D)a*=a+=a-=(b=4)*(a=3)

2.10 有如下类型说明:

float n;

int m;

则以下能实现将n 中的数值保留小数点后两位,第三位四舍五入的表达式是(B )。

A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0

C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0

2.11 设k=7,x=12;则下列表达式值为3的是(D )。

A)x%=(k%=5) B)x%=(k-k%5)

C)x%=k-k%5 D)(x%=k)-(k%=5)

2.12 已知m=48,ch='a',n=0;则表达式(m>=n&&ch<'b'&&!n )的值是(B )。

A)0 B)1 C)真 D)非0

2.13 下面哪个式子在b 为奇数时结果为假(C )。

A)a%2==1 B)!(a%2==0) C)!(a%2) D)a%2

2.13 执行printf("%f",(x=3,y=5,x>y?1:1.5));后的输出结果是(D )。

A)语法错误 B)1 C)1.5 D)1.500000

2.14 能表示条件0≤x ≤100的表达式是(D )。

A)0<=x<=100 B)x>=0,x<=100

C)0≤x ≤100 D)x>=0&&x<=100

2.15 判断char 型变量ch 为数字的正确表达式是(B )。

A)ch>="0"&&ch<="9" B)ch>='0'&&ch<='9'

C)'0'≤ch ≤'9' D)ch>='0'||ch<='9'

三、编程题(应用条件运算)

2.16 输入一个整型成绩x ,如果大于等于60分,输出“pass ”,否则输出“fail ”。

提示:printf("%s",x>60?"pass":"fail");

2.17 输入一个年份y ,如果是闰年,输出“y is a leap year ”,否则输出“y is not a leap

year.”

提示:printf("%d is %s",y%4==0&&y%100!=0||y%400==0?"a leap year.":"not a leap year.");

2.18 输入三条边a,b,c ,如果它们能构成一个三角形,输出“Yes ”,否则输出“No ”。

提示:printf("%s",a+b>c&&a+c>b&&b+c>a?"Yes":"No");

2.19 输入三个数x,y,z ,按从小到大的输出结果。

提示:分别用max0,min0代表最大、最小值,mid0表示中间值。

max0=(x>y?x:y)>z?(x>y?x:y):z;max0=(x

mid0=x+y+z-max0-min0;

2.20 输入一个平面上的点坐标,判断它是否落在圆心(0,0),半径为1的圆内,如果在圆

内,输出“Yes ”,否则输出“No ”。

提示:分别用x ,y 代表平面上一个点。

printf("%s",x*x+y*y<=0?"Yes":"No");

2.21 自增、自减运算符的用法与运算规则示例。

2.22 计算下列表达式。

(1) (2) 提示:模仿例2.27

2.23 字母的大小写转换。

2.24 计算圆柱体的体积V=πr 2h ,其中π=

3.14159。提示:模仿2.27

2.25 输入两个整数,输出其中最大者。

提示:模仿P29

2.26 输入三个整数,输出其中最小者。

提示: min(min(a,b),c);

2.27 设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。

参考源程序:

main() {float r,h,C1,Sa,Sb,Va,Vb;

a

ac

b b x 2421-+±=x

x

x y tan cos sin +=

scanf("%f,%f",&r,&h);

C1=2*3.14*r;

Sa=3.14*r*r;

Sb=4*Sa;

Va=4*3.14*r*r*r/3;

Vb=Sa*h;

printf("C1=%.2f\n",C1);

printf("Sa=%.2f\nSb=%.2f\nVa=%.2f\nVb=%.2f\n",Sa,Sb,Va,Vb); }

程序设计基础试题库

练习题一Visual FoxPro 基础 、选择题 1. 关系数据库管理系统应能实现的专门关系运算包括___c __________ A 显示、打印、制表B关联、更新、排序 C 选择、投影、连接D排序、索引、统计 2. 关系是指__b__。 A 属性的集合B元组的集合 C 实例的集合 D 字段的集合 3. 如果把学生看成实体,某个学生的姓名叫“杨波”,则“杨波”应看成是___b ______ 。 A)属性型B )属性值C )记录型D )记录值 4. 关系数据库系统中所使用的数据结构是 _______ d ___ 。 A)图B )树C )表格D )二维表 5. 对表进行水平方向的分割用的运算是 _______ b ___ 。 A)交B )选择C )投影D )连接 6. 下列数据库技术的术语与关系模型的术语的对应关系中_______ d _____ 是正确的。 A)实例与关系 B )字段与元组C )记录与属性 D )记录类型与关系模式 7. 下列关于数据库系统的叙述中,正确的是 _____ c _____ 。 A)数据库系统中数据的一致性是指数据类型一致 B)数据库系统只是比文件系统管理的数据更多 C)数据库系统减少了数据冗余 D数据库系统避免了数据冗余 8. 关系数据模型 ______ d ___ 。 A)只能表示实体间的1:1联系 B)只能表示实体间的1:n C只能表示实体间的m:n D 可以表示实体间的上述三种联系 9. 在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称

这个属性为 _____ a____ 。 A)关键字B )主属性C )数据项D )主属性值 10. 关系数据库管理系统中的元组是______ b ____ 。 A)关系中的垂直方向的列 B )关系中的水平方向的行 C属性或属性的组合 D )以上的答案均不正确 11. 从数据库的整体结构看,数据库系统采用的数据模型有_________ a __ 。 A)层次模型、网状模型和关系模型 B)层次模型、网状模型和环状模型 C)网状模型、链状模型和层次模型 D链状模型、关系模型和层次模型 12. 设有属性A B、C D以下表示中不是关系的是___________ d__。 A)R( A) B )R( A, B)C )R (A, B, C, D) D )R (A X B X C X D) 13. 若实体间联系是M N的,则将联系类型_________ a___ 。 A)也转换为关系模型 B)属性加入任一个关系模式中 C)属性加入N端实体类型相应的关系模式中 D)属性加入M端实体类型相应的关系模式中 14. 数据库系统的构成为数据库、计算机硬件系统、用户和________ a ____ 。 A 数据库管理系统 B 操作系统 C 数据集合 D 文件系统 15. 层次型、网状型和关系型数据库划分原则是________ c ___ 。 A 文件大小 B 记录长度 C 数据之间的联系 D 联系的复杂程度 16. 在数据库设计中用关系模型来表示实体和实体之间的联系,关系模型的结构是 _____ d ___ 。 A 封装结构 B 层次结构 C 网状结构 D 二维表结构 17. 在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过__a ________ 。 A 主键 B 超键 C 外键 D 候选键 18. 层次模型不能直接表示 ______ b __ 关系。 A 1:1 B m:n C 1:m D 1:1 和1:m 19. DBAS旨的是_____ d____ 。

C++程序设计基础课后答案 第八章

8.1 阅读下列程序,写出执行结果 1.#include class Bclass { public: Bclass( int i, int j ) { x = i; y = j; } virtual int fun() { return 0 ; } protected: int x, y ; }; class Iclass:public Bclass { public : Iclass(int i, int j, int k):Bclass(i, j) { z = k; } int fun() { return ( x + y + z ) / 3; } private : int z ; }; void main() { Iclass obj( 2, 4, 10 ); Bclass p1 = obj; cout << p1.fun() << endl; Bclass & p2 = obj ; cout << p2.fun() << endl; cout << p2.Bclass :: fun() << endl; Bclass *p3 = &obj;

cout << p3 -> fun() << endl; } 2.#include class Base { public: virtual void getxy( int i,int j = 0 ) { x = i; y = j; } virtual void fun() = 0 ; protected: int x , y; }; class A: public Base { public: void fun() { cout<<"x = "<

相关文档
最新文档