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

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

4.1 阅读下列程序,写出执行结果

1.#include

void main()

{ int i, conut=0, sum=0 ;

float average ;

int a[] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 } ;

for( i=0; i<10; i++ )

{ if( a[i] % 2 == 0 ) continue ;

sum += a[ i ] ;

conut ++ ;

}

average = sum / conut ;

cout << "conut = " << conut << '\t' << "average = " << average << endl ;

}

2.#include

void main()

{ int a[9] = { 1, 2, 3, 4, 5, 6, 7, 8, 9 } ;

int *p = a , sum = 0 ;

for( ; p

if( *p % 2 == 0 ) sum += *p ;

cout << "sum = " << sum << endl ;

}

3.const int n = 5 ;

#include

#include

void main()

{ int a[n][n]={ 0 }, i, j, k ;

for( k=1 , i=0 ; i

for( j=i; j>= 0; j-- , k++ )

a[j][i - j ] = k ;

for( i=0 ; i

{ for( j=0; j

cout << setw( 3 ) << a[i][j] ;

cout << endl ;

}

}

4.int f(int [],int);

#include

void main()

{ int a[] = { -1, 3, 5, -7, 9, -11 } ;

cout << f( a, 6 ) << endl ;

}

int f( int a[], int size )

{ int i, t=1 ;

for( i=0 ; i

if( a[i]>0 ) t *= a[i] ;

return t;

}

5.int f( int [][3], int, int ) ;

#include

void main()

{ int a[][3] = { 0, 1, 2, 3, 4, 5, 6, 7, 8 } ;

cout << f( a, 3, 3 ) << endl ;

}

int f( int a[][3], int row, int col )

{ int i, j, t=1 ;

for( i=0; i

for( j=0; j

{ a[i][j] ++ ;

if( i == j ) t *= a[i][j] ;

}

return t ;

}

6.#include

void test1( int *a1 )

{ a1 = new int( 5 ) ;

cout << "*a1 = " << *a1 << endl ;

}

void test2(int * & a2)

{ a2 = new int( 5 ) ;

cout << "*a2 = " << *a2 << endl ;

}

void main()

{ int *p = new int( 1 ) ;

test1( p ) ;

cout << "test1: *p1 = " << *p << endl ;

test2( p ) ;

cout << "test2: *p2 = " << *p << endl ;

}

7.#include

void main()

{ char s[] = "abccda" ;

int i ; char c ;

for( i = 1 ; ( c=s[i] ) != '\0'; i ++ )

{ switch( c )

{ case 'a' : cout << '%' ; continue ;

case 'b' : cout << '$' ; break ;

case 'c' : cout << '*' ; break ;

case 'd' : continue ;

}

cout << '#' << endl ;

}

}

8.#include

void main()

{ char *str[] = { "c++", "basic", "pascal" } ;

char **p ;

int i ;

p = str ;

for( i=0 ; i<3 ; i++ )

cout << *( p+i ) << endl ;

}

9.#include

void main()

{ char s1[] = "Fortran" , s2[] = "Foxpro" ;

char *p , *q ;

p = s1 ; q = s2 ;

while( *p && *q )

{ if ( *p == *q )

cout << *p ;

p ++ ;

q ++ ;

}

cout << endl ;

}

10.#include

#include

void main()

{ char str[][10] = { "vb", "pascal", "c++" }, s[10] ;

strcpy( s , ( strcmp( str[0] , str[1] ) < 0 str[0] : str[1] ) ) ;

if( strcmp( str[2], s ) < 0 ) strcpy( s, str[2] ) ;

cout << s << endl ;

}

4.2 思考题

1.数组说明语句要向编译器提供什么信息?写出一维数组、二维数组说明语句的形式。

2.数组名、数组元素的区别是什么?归纳一维数组元素地址、元素值不同的表示形式。有说明

int aa [3], *pa=aa;

使用aa或pa,写出3个以上与aa[2] 等价的表达式。

3.要把一维数组 int a[n*n] 的元素传送到二维数组 int b[n][n] 中,即在程序中要执行

b[i][j]=a[k];

写出k->i,j的下标变换公式,并用程序验证之。

4.有以下函数

void query()

{ int *p;

p=new int[3];

//……

delete []p;

p=new double[5];

//……

delete []p;

}

出现了编译错误。请分析错误的原因,并把上述程序补充完整,上机验证你的判断。

5.有以下程序根据输入值,调用函数create建立并初始化动态数组,令a[i]=i。该程序运行后,主函数不能返回期望值。请分析程序的错误原因并修改之。

#include

void create(int *, int);

void main()

{ int *a, len;

cin>>len;

create(a,len);

for( int i = 0; i

cout << endl;

delete []a;

}

void create(int *ap, int n)

{ ap=new int[n];

for(int i=0; i

}

1.数组说明语句要向编译器提供什么信息?请写出一维数组、二维数组说明语句的形式。

【答案】

数组说明语句要向编译器提供数组名(标识符),数组元素的类型、数组长度(元素的个数)等信息。一维数组说明语句为:类型数组名[表达式]

二维数组说明语句为:类型数组名[表达式1] [表达式2]

2.数组名、数组元素的区别是什么?归纳一维数组元素地址、元素值不同的表示形式。若有说明int aa [3], *pa=aa;

请使用aa或pa,写出3个以上与aa[2] 等价的表达式。

【答案】

数组名是一个标识符,执行代码中代表数组的地址,即指向数组起始位置的指针;而数组元素是下标变量,性质相当于普通变量。

对一维数组aa第i个元素的地址可以表示为: &aa[i] aa+i;

对一维数组aa第i个元素的值可以表示为:a[i] *(a+i);

与aa[2]等价的表达式:

*(aa+2) *(&a[2]) *(pa+2) pa[2]

3.要把一维数组 int a[m*n] 的元素传送到二维数组 int b[m][n] 中,即在程序中要执行b[i][j]=a[k];

请写出k→i,j的下标变换公式,并用程序验证。

【答案】

转换公式 i=k/n j=k%n

验证程序:

#include

using namespace std;

int main()

{ const int M=3,N=4;

int k,a[M*N]={1,2,3,4,5,6,7,8,9,10,11,12},b[M][N];

int i,j;

cout<<"array a:"<

for(k=0;k

b[k/N][k%N]=a[k];

for(k=0;k

cout<

cout<<"**After convert**"<

cout<<"array b:"<

for(i=0;i

{ for(j=0;j

cout<

}

}

4.有以下函数

void query()

{ int *p;

p=new int[3];

//……

delete []p;

p=new double[5];

//……

delete []p;

}

出现了编译错误。请分析错误的原因,并把上述程序补充完整,上机验证你的判断。

【答案】

在语句p=new double[5]; 中企图把动态浮点型数组的地址写入整型指针p,造成错误。错误为error C2440: “=”: 无法从“double *”转换为“int *”。

改正方法:增加一个double*q指针。

void query()

{ int *p;

p=new int[3];

delete [] p;

//……

double *q;

q=new double[5];

//……

delete []q;

}

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

程序设计基础试题库

练习题一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 = "<。C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。这些函数的说明都包括在stdio.h文件中。 ②main是主函数的名称。用{}括起来的内容是函数体,函数体由若干条语句组成,这是计算机要执行的部分,每条语句以分号“;”结束。 ③注意显示的信息有三行,所以要用到换行符“\n”。 参考代码: #include main() { printf("************************\n"); printf(" I love C programs! \n"); printf("************************\n"); }

Java程序设计基础习题答案

Java程序设计基础课后习题参考答案 第2章 1、关于Java Application得入口方法main()得检验: main()方法得参数名就是否可以改变? main()方法得参数个数就是否可以改变? 该方法名就是否可以改变? 参考答案:(1)main()方法得参数名可以改变.(2)main()方法得参数个数不可以改变。(3)该方法名不可以改变。 2、当一个程序没有main()方法时,能编译吗?如果能编译,能运行吗? 参考答案:当一个程序没有main()方法就是,就是可以编译通过得,但就是不能给运行,因为找不到一个主函数入口。 3、下列语句能否编译通过? bytei =127; bytej = 128; longl1 = 999999; long l2= 9999999999; 参考答案:byte i 与long l1可以编译通过。而byte j 与longl2 超出自身数据类型范围,所以编译失败。 4、下列语句能否编译通过? float f1 =3、5; float f2 = 3.5f; 参考答案:java中浮点型得数据在不声明得情况下都就是double型得,如果要表示一个数据就是float型得,必须在数据后面加上“F”或“f”;因此,floatf1 无法编译通过。 5、验证int 与char,int与double等类型就是否可以相互转换。 参考答案:(1)char类型可以转换为int 类型得,但就是int类型无法转换为char类型得;(2)int 可以转换为double类型得,但就是double类型无法转换为int 类型得。 6、计算下列表达式,注意观察运算符优先级规则。若有表达式就是非法表达式,则指出不合法之处且进行解释。 (1)4+5 == 6*2 ?(2) (4=5)/6?? (3)9%2*7/3>17(4)(4+5)<=6/3 ? (5) 4+5%3!=7-2????(6)4+5/6〉=10%2 参考答案:表达式(2)为不合法表达式,只能将值赋值给一个变量,因此其中(4=5)将5赋值给4就是不合法得. 7、下列()就是合法得Java标识符。 (1)Counter1 ??(2)$index, (3) name-7 ??(4)_byte

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

《计算机程序设计基础》 计算机程序设 计基础_基础知识(一) 班级 学号 姓名 成 绩 一、 单选题 习题册

1.C++源程序文件的默认扩展名为A。 2.A) cpp B) exe C) obj D) lik 3.由C++源程序文件编译而成的目标文件的默认扩展名为C。 4.A) cpp B) exe C) obj D) lik 5.由C++目标文件连接而成的可执行文件的默认扩展名为B。 6.A) cpp B) exe C) obj D) lik 7.编写C++程序一般需经过的几个步骤依次是B。 8.A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接9.程序中主函数的名字为 A 。 10.A) main B) MAIN C) Main D) 任意标识 符 11.下面四个选项中,均是不合法的 用户标识符的选项的是 C。 12.A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 13.下列变量名中合法的是 C。 14.A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 15.存储以下数据,占用存储字节最 多的是 D 。 16.A) 0 B) ‘0’

C) “0” D) 17.在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____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令 计算机程序设计基础_基础知识(二) 班级学号姓名成绩 一、单选题 1.下列哪一个是C++语言中合法的变量 C A) 8ZSe B) ±A0 C) X0_2 D) ’x0’2.已知ch是字符型变量,下面不正确的赋值语句是A 3.A) ch='a+b' B) ch='\0'

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

《C语言程序设计》练习及答案 得分评卷人复查人 一、单选题,每小题1分,共60分(将正确答案的序号写在题目的括号中)。 1、结构化程序设计的三种基本控制结构是(D )。 A、主程序、子程序、函数 B、输入、处理、输出 C、调用,返回,转移 D、顺序、选择、循环 2、下列关于C程序变量的叙述, ( D )是错误的。 A、变量名必须由字母或下划线开头。 B、程序中的变量必须在被使用之前定义。 C、不同的基本类型的变量之间可以混合运算。 D、变量的数据类型决定变量的"作用域"。 3、能将C语言编写的源程序转换为目标程序的软件是(C )。 A、编辑程序 B、汇编程序 C、编译程序 D、解释程序 4、以下符号中,合法的用户标识符是( D )。 A、-p B、int C、3ab D、_xt_ 5、以下选项中,与m=n++完全等价的表达式是( C )。 A、m=++n B、m+=n+1 C、m=n, n=n+1 D、n=n+1,m=n 6、若有定义:int aa[8];。则以下表达式中不能代表数组元aa[1]的地址的是(C )。 A、&aa[0]+1 B、&aa[1] C、&aa[0]++ D、aa+1 7、表达式!5&(7+3)&&(4+5)的值是(A)。 A、0 B、1 C、5 D、9 8、以下选项中非法的C语言表达式是(A )。 A、x+1=x+1 B、0<=x<100 C、i=j==0 D、(char)(65+3) 9、在TURBO C中, int类型变量所占字节数是(B )。 A、1 B、2 C、4 D、8 10、C语言中基本的数据类型包括(B)。 A、整型,实型,逻辑型 B、整型,实型,字符型

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

《计算机程序设计基础》课后练习题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)执行下列语句后,列表框中各表项顺序为 D List1.Clear For i=1 to 4 : List1.AddItem i-1,0 :Next i A)B)C)D) (17)输入对话框InputBox的返回值的类型是 A 。

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

程序设计基础复习题 一、单选 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、JAVA B、Object Pascal C、Delphi D、C 12、不是C语言的基本数据类型是() A、int B、double C、char D、bool 13、在C语言中,为了求两个整数相除之后得到的余数,可以使用运算符() A、/ B、% C、* D、++ 14、数据的逻辑结构分为() A、纯属结构和非线性结构 B、顺序结构和非顺序结构 C、树型结构和图型结构 D、链式结构和顺序结构 15、用链表表示纯属表的优点是() A、便于随机存取 B、便于插入和删除操作 C、花费的存储空间较顺序存储少 D、元素的物理顺序与逻辑顺序相同 16、栈的最主要特点是() A、先进先出 B、先进后出 C、两端进出 D、一端进一端出 17、下面4句结论只有一句是错误的,它是()

C语言程序设计第二版习题参考答案

C语言程序设计第二版 习题参考答案 Document serial number【LGGKGB-LGG98YT-LGGT8CB-LGUT-

C语言程序设计习题参考答案 习题 1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII 码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是 ___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。

(完整版)程序设计基础试题_10_答案

广州大学学年第学期考试卷 课程高级语言程序设计考试形式(开/闭卷,考试/查) 学院系专业班级学号姓名 一、填空题(每空1分,共10分) 1.C源程序的基本单位是(函数)。 2.一个C源程序中至少应包含一个(main()函数)。 3.若a和b均是int型变量,且a和b的初值均为5,则计算表达式a+=b++ 后,a的值为(10 ),b的值为( 6 )。 4.若a、b和c均是int型变量,则计算表达式a=(b=4)+(c=2)后,b值为( 4 ),c 值为( 2 )。 5.表达式8.2-2/3 的计算结果是(8 )。 6.在C语言中,整数可用三种数制表示,它们分别是(十进制)、(八进制)和(十六进制)。 二、程序计算题(每小题5分,共15分) 1. # define f(a) printf(“%d”,a) main() { int i,b[]={1,2,3,5,7,9,11,13,15},*p=5+b; for(i=3;i;i--) switch(i) { case 1: case 2: f(*p++); break;

case 3: f(*(--p)); } } 2. main() { int arr_sum(int arr[],int n); int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int *p,total; int (*pt)( int arr[],int n); pt=arr_sum; p=a[0]; total=(*pt)(p,12); printf(“total=%d\n”,total); } arr_sum(int arr[],int n) { int i,sum=0; for(i=0;i

Visual Basic 程序设计基础教程-课后习题答案-范荣强

第一章程序与编程环境 一、填空题 1. 工程,Form_Load 2. 事件(触发) 3. 窗体,Name 4. CurrentX, CurrentY 5. maxButton, BorderStyle = 1 or 3 or 4 or 5 6. Alignment, 空缺,AutoSize 7. Style, LoadPicture 8. Line, Shape 9. 重画10. FillStyle ll. MultiLine, maxLength, Locked 12. Font 13. sub, 对象名,事件名14. 方法,Object.Method, text1.setfocus() 15. Name, minButtom, CurrentX(Y), Caption 16. Interval, Enable 17. timer, Interval, ms(毫秒) 18. Mouse Down, Click, LoastFocus 19. .Frm, .Frx, .bas. cls. Vbp 20. 注释, “Rem 语句”或者“’语句” 第二章数据的类型、表示以及运算 一、请指出下列哪些是VB的合法常量,并说明原因 (1)√(2)X 常量不能加类型说明符号改成123.4 (3)X与上题类似,如果是常量,则类型说明符放在后面(4)√等价于2E3 (5) √(6)√等于十进制的4113 (7)X 如果是16进制要写&符号(8)X 指数不能为小数(9)X 月份超过12,日超过31 (10)√(11)√(12)√等价于上一题(13)X 8进制数每一位不能超过8 (14)√(15)X 变量,常量要为基本数据类型的值(16)√ 二、找出合法变量 (1)√(2)√如果与控件Label1同在一个应用程序里面,该变量会屏蔽掉控件Label1 (3) X 保留字(4)√(5)X 变量不能以数字开头(6)变量不能有小数点 (7)√(8)√数组变量(9)X保留字(10)√可以,但rnd()不可以,rnd()是函数 (11) √(12)√(13)√(14)X ’符号表示注释(15)X 这是表达式,不是变量(16)X 同上,是表达式 三、指出下列数据x,y,z的声明是否正确,如果正确请指明其类型 (1)√ x--long, y—variant, z—integer (2) √ x—long, y—long, z—integer (3) √ x—double, y—double, z—integer (4) X 变量x &中间不能有空格 (5)√自动转换成字符串 (6)X 变量声明不能直接赋值 (7)√ (8)√自动转换成字符串 (9)X 常量不能把函数写上去 (10)√ 四、写出下列表达式的结果 (1)1 (2) 1 (3)false (4) ab12 (5)123 (6)出错,加法表达式中如果有一个是数值类型,则“+”表示加号,而不是字符的链接符号(7)False (8)true (9) true (10) false 默认转换成相同类型(数值),建议这里把2改成D试试 (P.S. 布尔类型TRUE = -1, FALSE = 0; 优先顺序:^(乘方)→-(求负)→*、/→\(整除)→MOD→+、-) 五、写出下列函数的结果

C程序设计基础_复习题

c语言规定,任何非0的数像1 -1等都被认为是真,而0被认为是假 1>1为假 试题一、单选题 1. 已知int k,m=1;执行语句k=-m++;后,k的值是_____。【知识点:难度:正确答案:A】 A.-1 B.0 C.1 D.-2 2. 已知定义int m; float k; 正确的语句是。【知识点:难度:正确答案:D】 A.(int k)%m B.int(k)%m C.int(k%m)D.(int)k%m 3. 当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是______。【知识点:难度: 正确答案:B】 A.m=k=n B.(m=k)&&(n=m) C.(m=k)||(n=k)D.(n=m)&&(m=k) 4. 已知int x=5; 表达式6>x>1值是_____。【知识点:难度:正确答案:A】 A.0 B.1 C.5 D.表达式语法错 表达式6>x>1 ,先 判断6>x 为0,再 判断0>1,所以值 为0。 (6>x 为1 ,再判 断1>1,所以值为 0。) 5. 下列程序段执行后c值为_____。【知识点:难度:正确答案:D】 int k=7, c=0; while(--k) if (k%3) continue; else c++; A.5 B.4 C.3 D.2 6. 已知字母a的ASCII码为十进制数97,且ch为字符型变量,则执行语句ch=…a?+…D?-…A?;后,ch 中的值为_____。【知识点:难度:正确答案:C】 A.d B.c C.100 D.不确定 7. 设m,n已正确定义,执行语句{for(m=0, n=10; m,能使puts(s)语句正确输出ABCDE字符串的程序 段是______。【知识点:难度:正确答案:C】 A.char s[5] = {"ABCDE"}; puts(s) B.char s[5] = {…A?,?B?,?C?,?D?,?E?}; puts(s); C.char *s; s = "ABCDE"; puts(s); D.char *s; scanf(“%s”,s); puts(s); 《C程序设计基础及实验》

C语言程序设计习题答案

C 语言程序设计习题答案 习题一 C 语言程序设计概述 一、名词解释 (1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)汇编程序P2 (5)高级语言P2 (6)编译程序P3 (7)解释程序P3 (8)算法P4 (9)结构化的程序设计P9 二、简述题 1. 设计程序时应遵循哪些基本原则?P4 答:正确性、可靠性、简明性、有效性、可维护性、可移植性。 2. 算法的要素是什么?算法具有哪些特点? 答:算法的要素是:操作与控制结构;算法的特点有:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。 3. 算法的表示形式有哪几种? 答:算法的表示形式有:自然语言、传统流程图、伪代码、结构化的流程图(N_S 流程图,盒图)。 4. 有哪三种基本结构? 答:三种基本结构是:顺序结构、选择结构和循环结构。 5. 传统流程图与N-S 流程图最大的区别是什么? 答:N-S 流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。 三、用传统流程图、N-S 图分别表示求解以下问题的算法。 1. 有3个数a ,b ,c ,要求按由大到小的顺序把它们输出。 2. 依次将10个数输入,求出其中最大的数 和最小的数并输出。 3. 求1+2+3+…+100的值。

5. 求下列分段函数的值。 6. 求100~200之间的所有素数。 7. 求一元二次方程ax 2+bx+c=0的根。分别考虑d=b 2-4ac 大于0、等于0和小于0三种情况。 四、注释下面C 程序的各个组成部分。 main() /*主函数 */ { /*程序开始 */ int a,k,m; /*定义三个用来存放整数的变量 */ a=10; /*将整数10赋值给变量a */ k=2; /*将整数2赋值给变量k */ m=1; /*将整数1赋值给变量1 */ a=(k+m)*k/(k-m); /*先求出算术表达式的值,并将其赋值给变量a */ printf("%d\n",a); /*在屏幕上打印出变量a 的值 */ } /*程序结束 */ 习题二 数据类型、运算符与表达式 一、选择题 1~10:BCDCB DDBCA 11~20: ADDAA DBADC 21~28: DABAD CDD Y= 3X (X<1) 4X-1 (X=1) 5(X-1)+6 (1

相关文档
最新文档