《高级语言程序设计复习资料(1)资料(共30页).doc》由会员分享,可在线阅读,更多相关《高级语言程序设计复习资料(1)资料(共30页).doc(30页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上一、简答题(10选2,每题5分)1简要叙述指针为函数参数的使用方法。2简要叙述结构体特点。3. 简述机器语言、汇编语言和高级语言。4. 简述C语言的特点。5. 简述C语言程序的编辑、编译与运行。6 简述程序设计语言的分类、高级语言及其分类。7. 简述C语言的发展简史。8. 简要列举C语言中的常用表达式。9. 简要叙述break语句与continue语句的区别。10.冯洛伊曼体系结构图二、填空题(10个空每空2分)1. 程序运行过程中,其值保持不变的量称为 ;为了提高程序的可读性与易维护性,可以用宏替换 给常量命名。程序运行过程中,其值可以改变的量称为 。2. 程序的三
2、种基本结构是: 结构、 结构、 结构。3. 数组是一组 、 的变量,数组中的变量称为 。数组名本质上是 ,它是数组的首地址即数组第一个元素的地址。4. 函数是具有相对独立功能的 。函数定义中的参数称为 参数,函数调用中的参数称为 参数。函数的数据类型是函数返回值的数据类型;无返回值时,函数的数据类型为 。函数直接或间接调用自身称为 调用。5. 计算机内存单元的 称为地址,存放地址的变量称为 变量。6. 结构是一组 、 的变量,结构中的变量称为 。7. 标识符由 、 、 组成,以 或 开头,字母区分大小写; 不能用作标识符。8. 通过变量名访问变量,称为变量的 访问。通过变量的地址访问变量,称为
3、变量的 访问。9. 字符型常量是一对 括起的单个字符,字符串常量是一对 括起的一串字符。10在C语言中,文件可以用 _和_两种形式存取。11函数定义_和_两部分组成。12. 设p是指向数组中某元素的指针变量,分别写出下列表达式的含义:p+:_;+p:_。13C标准函数库提供了丰富的输入输出函数,用户程序使用时需包含系统头文件_。14数组的下标从_开始,数组的最大下标是_。15( )、=、&的优先级顺序从高到低依次为_。16任何一个计算机程序执行时的控制流程均可用三种基本结构表示:_、_、_。17变量的地址被称为_,而存放地址数据的变量称为_。18运行C程序的一般步骤:_、_、_、_。19C标准
4、函数库提供了常用的字符串处理函数,用户使用时需包含头文件_。三、单选题(每题2分10题,请大家考试时慎重答题)1. 以下正确的标识符是( C )。A. %XB. a+bC. a123D. test!2. 语言中的基本数据类型包括( B )。A. 整型、实型、逻辑型B. 整型、实型、字符型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型、字符型3. 下面程序段所表示的逻辑关系是( B )。if(a b) x = 1;else x = 2 ;A. 当a b时x = 2B. 当a b时x = 2D. 当a b时x = 1,当a b时x = 24. 下列说法正确的是( )。A. while循环中,必
5、须使用break语句跳出循环B. while循环中,当循环条件为真时结束循环C. while循环中,必须使用continue语句跳出循环D. while循环中,当循环条件为假时结束循环5. 定义10个元素的整型数组a,应使用语句( A )。A. int a10B. int a2, 5C. int aD. int *a106. 设有定义char s10 = ABCDE, t10 = xyz; 则printf(%d, strlen(strcpy( s, t ); 的输出是( A )。A. 6B. 5C. 4D. 37. 以下正确的说法是( )。A. 函数定义不能嵌套,但函数调用可以嵌套B. 函数定
6、义可以嵌套,但函数调用不能嵌套C. 函数定义和函数调用都可以嵌套D. 函数定义和函数调用都不能嵌套8. 已知double *p6;它的含义是( C )。A. p是指向double类型变量的指针B. p是double类型数组C. p是指针数组D. p是数组指针9. 设变量i的值为3,i的地址为2000,使指针变量p指向i,则赋值正确的是( D )。A. &i = 3B. *p = 3C. *p = 2000D. p = &i10. 已知学生记录描述为:struct studentint no;char name20;char sex;structint year, month, day;birt
7、h;struct student s;设变量s中的“生日”为1994年11月11日,下列对birth的正确赋值方式是( D )。A. year = 1994; month = 11; day = 11;B. birth.year = 1994; birth.month = 11; birth.day = 11;C. s.year = 1994; s.month = 11; s.day = 11; D. s.birth.year = 1994; s.birth.month = 11; s.birth.day = 11;1. 以下选项中属于C语言的数据类型是( C )。A. 复数型 B. 逻辑型
8、C. 双精度型D. 集合型2. 已知字母A的ASCII是65,变量c是字符型,则执行语句c = A+6-3; 后,c的值为( D )。A. CB. DC. 68D. 不确定3. 下面程序段所表示的逻辑关系是( A )。if( a b ) x = 1;else x = 2 ;A. 当a b时x = 2C. 当a b时x = 2,当a b时x = 1D. 当a b时x = 1,当a b时x = 24. 下列说法正确的是( )。A. do-while循环中,当循环条件为真时结束循环B. do-while循环中,当循环条件为假时结束循环C. do-while循环中,必须使用break语句跳出循环D.
9、do-while循环中,必须使用continue语句跳出循环5. 设有定义char s12 = string; 则printf(%d, strlen(s); 的输出是( A )。A. 6B. 7C. 8D. 96. 在下述对C语言字符数组的描述中错误的是( C )。A. 字符数组可以存放字符串B. 字符数组中的字符串可以进行整体输入/输出C. 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D. 字符数组的下标从0开始7. 以下正确的说法是( )。A. 函数定义不能嵌套,但函数调用可以嵌套B. 函数定义可以嵌套,但函数调用不能嵌套C. 函数定义和函数调用都可以嵌套D. 函数定义和函数调用
10、都不能嵌套8. 已知char s10, *p=s; 则在下列语句中,错误的语句是( B )。A. p=s+5B. s=p+sC. s2=p4D. *p=s09. 求数组int a10的首地址运算是( C )。A. &a10B. a0C. &a0D. a1010. 当说明一个结构体变量时,系统分配给它的内存是( A )。A. 各成员所需内存量的总和B. 结构中第一个成员所需内存量C. 成员中占内存量最大者所需的容量D. 结构中最后一个成员所需内存量1. 语言中字符型(char)数据在内存中的存储形式是( D )。A. 原码B. 补码C. 反码D. ASCII码2. 若已定义x和y为double型
11、,则表达式x = 1.0, y = 3/2+x的值是( C )。A. 1.0B. 1.5C. 2.0D. 2.53. C语言的运算符按运算对象的数目不同可以分为( C )。A. 单目运算符B. 单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符4. 下列说法正确的是( )。A. while循环中,当循环条件为真时结束循环B. while循环中,当循环条件为假时结束循环C. while循环中,必须使用break语句跳出循环D. while循环中,必须使用continue语句跳出循环5. 已知:int a34;则对数组元素引用正确的是( C )。A. a24B. a1,
12、3C. a1+10D. a(2)(1)6. 若有以下语句,则正确的描述是( B )。char x = 12345; char y = 1, 2, 3, 4, 5 ;A. x数组和y数组的长度相同B. x数组长度大于y数组长度C. x数组长度小于y数组长度D. x数组等价于y数组7. 下列函数中,字符串比较函数是( )。A. strcatB. strlenC. strcpyD. strcmp8. 已知函数定义如下:f(char *s, char *t)while(*s+ = *t+);函数f的功能是( )。A. 串复制B. 求串长C. 串比较D. 串反向9. 已知int x,则下面的定义指针变量
13、p的语句正确的是( A )。A. int p = &xB. int *p = xC. int *p = &xD. int *p = *x10. 已知学生记录描述为:struct studentint no;char name20;char sex;structint year, month, day;birth;struct student s;设变量s中的“生日”应为1994年11月11日,下列对“生日”的正确赋值方式是( D )。A. year = 1994; month = 11; day = 11;B. birth.year = 1994; birth.month = 11; birt
14、h.day = 11;C. s.year = 1994; s.month = 11; s.day = 11; D. s.birth.year = 1994; s.birth.month = 11; s.birth.day = 11;1. 结构化程序设计所规定的三种基本控制结构是_C_。 A. 输入、处理、输出B.树形、网形、环形C. 顺序、选择、循环D.主程序、子程序、函数2.以下叙述中正确的是_。A. 构成C程序的基本单位是函数B.可以在一个函数中定义另一个函数 C. main()函数必须放在其它函数之前 D. 所有被调用的函数一定要在调用之前进行定义3. 以下选项中合法的用户标识符是_D_
15、。A. longB. test1C. 3DmaxD. A.dat4. 已知i、j、k为int型变量,若从键盘输入:1,2,3,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是_B_。A.scanf(%2d%2d%2d,&i,&j,&k);B. scanf(%d %d %d,&i,&j,&k); C. scanf(%d,%d,%d,&i,&j,&k); D. scanf(i=%d,j=%d,k=%d,&i,&j,&k);5. 以下c语言函数声明中,不正确的是_B_。A. void fun (int x, int y); B. fun (int x, int y);C. int f
16、un (int x,y); D. char *fun (char *s);6. C语言中while和do-while循环的主要区别是_D_。A. do-while 循环体至少要无条件执行一次。B. while循环比do-while 循环控制条件严格。C. do-while 允许从外部转到循环体内。D .do-while 的循环体不能是复合语句。7. 变量的指针,其含义是指该变量的_B_。A. 值 B. 地址 C. 名 D. 一个标志8. 假设指针p已经指向某个整型变量m,则*p相当于_C_。A. &m B. &p C. m D. *m9. 若x=2,y=3则x&y的结果是_D_。A. 0 B.
17、 2 C. 3 D. 510. 设有定义int x=1; int y=aA?x-:x+;,则变量y的值是_C_。A. 0 B. 2 C. 1 D. 31. 要把高级语言编写的源程序转换为目标程序,需要使用_A_。A. 编辑程序 B. 驱动程序 C. 诊断程序 D. 编译程序2. 英文小写字母d的ASCII码为100,英文大写字母D的ASCII码为 _D_。A. 50 B. 66 C. 52 D. 68 3.设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是_B_。A. 6. B. 6 C. 5. D. 6.4. 表达式1&3&5的值为_D_。A. 1
18、B. 3 C. 5 D. 75. 下列选项中,不合法的C语言关键字是_。A. auto B. default C. static D. var6. C语言允许函数值缺省定义,此时该函数值隐含的类型是_B_。A.float B. int C. long D. double7. 若x=5,则x*=x+2的值为_C_。 A. 35 B. 12 C. 7 D. 258. 以下运算符中,运算对象必须是整型的是_B_。A. / B. % C. ! D.9. 若有定义:int a10;则对a数组元素的正确引用是_C_。A. a10 B. a15 C. a7 D. a (5)10.设有定义int x=2; i
19、nt y=ay或ay&ab)一定为真。 (F )8若有int =10, j=0;则执行完语句if (j=0)+ +; else -; 的值为11。(F )9函数的定义不可以嵌套,但函数的调用可以嵌套。 ( T)10int i,*p=&i;是正确的C语言的说明。 (T )五、程序阅读(每题2分5题)1. 以下程序的运行结果为 62 。#include void main(void)int x=10, y=62, z;z = x y ? x : y;printf(z=%dn, z);2. 以下程序的运行结果为 66 。#include void main(void)int s=0, i;for(i
20、=1; i=10; +i) s = s+i;printf(sum=%dn, s);3. 以下程序的运行结果为 。#include #include void main(void)char s80=Wuhan, t= business university;strcat(s, t);printf(%s, %dn, s, strlen(s);4. 以下程序的运行结果为 。#include void f(int);void main(void)int x = 10;f(x);printf(x=%dn, x);void f(int x)x = 20;5. 以下程序的运行结果为 。#include vo
21、id main(void)int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p;p = &a0;p = p+3;printf(%dn, *p);1. 以下程序的运行结果为 。#include void main(void)int a, b, x;x = ( a=3, b=a-);printf(x=%d, a=%d, b=%dn, x, a, b);2. 以下程序的运行结果为 。#include void main(void)int f=1, i;for(i=1; i=5; +i) f = f*i;printf(factorial=%dn, f);3. 以下程序的运
22、行结果为 。#include #include void main(void)char s80=Wuhan, t= business university;strcat(s, t);printf(%s, %dn, s, strlen(s);4. 以下程序的运行结果为 。#include void main(void)int n, i, a=1, b=1, c;for(i=0; i10; +i)printf(%-6d, a);c = a+b;a = b;b = c;printf(n);5. 以下程序的运行结果为 。#include void f(int);void main(void)int x
23、 = 10;f(x);printf(x=%dn, x);void f(int x)x = 20;2. 以下程序的运行结果为 。#include void main(void)int a=1, b=0, i;for(i=1; i=10; +i)if(i%2=0) a = a*i;else b = b+i;printf(mul=%d, sum=%dn, a, b);3. 以下程序的运行结果为 。#include #include void main(void)char s80=Wuhan, t= business university;strcat(s, t);printf(%s, %dn, s,
24、 strlen(s);4. 以下程序的运行结果为 。#include int func(int a3)int i, j, s=0;for(i=0; i3; +i)for(j=0; j3; +j)aij = i+j;if(i=j) s = s+aij;return s;void main(void)int sum;int a33 = 1, 2, 3, 4, 5, 6, 7, 8, 9;sum = func(a);printf(sum=%dn, sum);5. 以下程序的运行结果为 。#include void main(void)int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p;p = &a0;p = p+3;printf(%dn, *p);1. 以下程序的运行结果为 。#include void main(v