高级语言程序设计复习资料(1)课件_第1页
高级语言程序设计复习资料(1)课件_第2页
高级语言程序设计复习资料(1)课件_第3页
高级语言程序设计复习资料(1)课件_第4页
高级语言程序设计复习资料(1)课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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. 通过变量名访问变量,称为变量的 访问。通过变量的地址访问变量,称为变量的 访问。9. 字符型

3、常量是一对 括起的单个字符,字符串常量是一对 括起的一串字符。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 = 1,当a > b时x = 2B. 当a < b时x = 1,当a b时x = 2C. 当a b时x = 1,

5、当a > b时x = 2D. 当a b时x = 1,当a b时x = 24. 下列说法正确的是( )。A. while循环中,必须使用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("

6、;%d", strlen(strcpy( s, t ); 的输出是( A )。A. 6B. 5C. 4D. 37. 以下正确的说法是( )。A. 函数定义不能嵌套,但函数调用可以嵌套B. 函数定义可以嵌套,但函数调用不能嵌套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.

7、 *p = 2000D. p = &i10. 已知学生记录描述为:struct studentint no;char name20;char sex;structint year, month, day;birth;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.

8、day = 11; D. s.birth.year = 1994; s.birth.month = 11; s.birth.day = 11;1. 以下选项中属于C语言的数据类型是( C )。A. 复数型 B. 逻辑型 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 = 1,

9、当a b时x = 2B. 当a b时x = 1,当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. do-while循环中,必须使用continue语句跳出循环5. 设有定义char s12 = "string" 则printf("%d", strlen(s); 的输出是

10、( A )。A. 6B. 7C. 8D. 96. 在下述对C语言字符数组的描述中错误的是( C )。A. 字符数组可以存放字符串B. 字符数组中的字符串可以进行整体输入/输出C. 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D. 字符数组的下标从0开始7. 以下正确的说法是( )。A. 函数定义不能嵌套,但函数调用可以嵌套B. 函数定义可以嵌套,但函数调用不能嵌套C. 函数定义和函数调用都可以嵌套D. 函数定义和函数调用都不能嵌套8. 已知char s10, *p=s; 则在下列语句中,错误的语句是( B )。A. p=s+5B. s=p+sC. s2=p4D. *p=s09. 求数

11、组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型,则表达式x = 1.0, y = 3/2+x的值是( C )。A. 1.0B. 1.5C. 2.0D. 2.53. C语言的运算符按运算对象的数目不

12、同可以分为( C )。A. 单目运算符B. 单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符4. 下列说法正确的是( )。A. while循环中,当循环条件为真时结束循环B. while循环中,当循环条件为假时结束循环C. while循环中,必须使用break语句跳出循环D. while循环中,必须使用continue语句跳出循环5. 已知:int a34;则对数组元素引用正确的是( C )。A. a24B. a1,3C. a1+10D. a(2)(1)6. 若有以下语句,则正确的描述是( B )。char x = "12345" char y

13、 = '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,则下面的定义指针变量p的语句正确的是( A )。

14、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; birth.day

15、= 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_。A. lo

16、ngB. 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. voi

17、d fun (int x, int y); B. fun (int x, int y);C. int fun (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_。

18、A. &m B. &p C. m D. *m9. 若x=2,y=3则x&y的结果是_D_。A. 0 B. 2 C. 3 D. 510. 设有定义int x=1; int y=a<A?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.

19、5,则表达式(int)a+b/b的值是_B_。A. 6.500000 B. 6 C. 5.500000 D. 6.0000004. 表达式1&&3&&5的值为_D_。A. 1 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. 以下运算符中,运算对象必须

20、是整型的是_B_。A. / B. % C. ! D.9. 若有定义:int a10;则对a数组元素的正确引用是_C_。A. a10 B. a15 C. a7 D. a (5)10.设有定义int x=2; int y=a<A?x-:x+;,则变量y的值是_D_。A. 0 B. 2 C. 1 D. 3四、判断题(每题2分10题,请大家考试时慎重答题)1. C变量必须先定义(声明),后使用。(T)2. C语言不允许混合类型数据间进行运算。( F)3. 模运算符%要求运算对象必须是实型。(整数)(T)4. 多个变量定义时赋初值可以写成:int a = b = c = 3。(F)5. 逗号运算符

21、的优先级最低。(T)6. 若x是双精度型变量,赋值x = 10后,则x中存放的是整型数。(T)7. switch语句中可使用break语句和continue语句。(T)8. switch语句中的case表达式可以是任意类型的表达式。(T)9. C程序总是从main函数开始执行,因此main函数必须是第一个函数。(F)10. 函数必须有返回值,否则不能定义成函数。(T)3. 自增运算符(+)或自减运算符(-)的运算对象是变量,而不能是常量或表达式。(T)4. 多个变量定义时赋初值可以写成:int a = b = c = 3。(F)5. 逗号运算符的优先级最低。(T)6. 若a是浮点型变量,赋值a

22、 = 100后,则a中存放的是整型数。(F)7. switch语句中的case表达式可以是任意类型的表达式。(T)8. break语句只能用于循环语句。(F)9. C程序总是从第一个函数开始执行,执行完最后一个函数后,程序结束。(F)10. 调用函数时,只能把实参的值传递给形参,形参的值不能传递给实参。(T)1. C 语言源程序文件通过了编译、连接之后生成一个后缀为 .EXE 的文件。( T )2. 在 C 程序中函数既可以嵌套定义 , 也可以嵌套调用。 ( F )3. 在 C 程序中APH 和 aph 代表不同的变量。 ( T )4. 表达式 0195 是一个八进制整数。 ( F )5. C

23、ontinue语句的作用是结束本次循环。 ( F )6. 可以将一个整数赋给一个指针变量。 ( )7. C语言中字符串的结束符是0。 ( )8. do-while的循环体至少无条件执行一次。 ( T )9. C程序总是从main( ) 函数的第一条语句开始执行的。 ( F )10. 数组名代表数组的首地址。 ( )1在对一个C程序进行编译的过程中,不能发现注释中的拼写错误。 (F )2在C程序中,main函数必须位于程序的最前面。 (F )3printf()函数总是从新行的起始位置开始打印。 ( F)4C语言认为变量number和NuMbEr是不相同的。 (F )5在C程序中,无论是整数还是实

24、数都能被准确无误地表示。 (F )6switch选择结构中必须有default子句。 (F )7如果x>y或a<b为真,那么表达式(x>y&&a<b)一定为真。 (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 <stdio.h>void main(void)int x=10,

25、 y=62, z;z = x > y ? x : y;printf("z=%dn", z);2. 以下程序的运行结果为 66 。#include <stdio.h>void main(void)int s=0, i;for(i=1; i<=10; +i) s = s+i;printf("sum=%dn", s);3. 以下程序的运行结果为 。#include <stdio.h>#include <string.h>void main(void)char s80="Wuhan", t=&q

26、uot; business university"strcat(s, t);printf("%s, %dn", s, strlen(s);4. 以下程序的运行结果为 。#include <stdio.h>void f(int);void main(void)int x = 10;f(x);printf("x=%dn", x);void f(int x)x = 20;5. 以下程序的运行结果为 。#include <stdio.h>void main(void)int a10=1, 2, 3, 4, 5, 6, 7, 8,

27、 9, 10, *p;p = &a0;p = p+3;printf("%dn", *p);1. 以下程序的运行结果为 。#include <stdio.h>void main(void)int a, b, x;x = ( a=3, b=a-);printf("x=%d, a=%d, b=%dn", x, a, b);2. 以下程序的运行结果为 。#include <stdio.h>void main(void)int f=1, i;for(i=1; i<=5; +i) f = f*i;printf("fac

28、torial=%dn", f);3. 以下程序的运行结果为 。#include <stdio.h>#include <string.h>void main(void)char s80="Wuhan", t=" business university"strcat(s, t);printf("%s, %dn", s, strlen(s);4. 以下程序的运行结果为 。#include <stdio.h>void main(void)int n, i, a=1, b=1, c;for(i=0;

29、 i<10; +i)printf("%-6d", a);c = a+b;a = b;b = c;printf("n");5. 以下程序的运行结果为 。#include <stdio.h>void f(int);void main(void)int x = 10;f(x);printf("x=%dn", x);void f(int x)x = 20;2. 以下程序的运行结果为 。#include <stdio.h>void main(void)int a=1, b=0, i;for(i=1; i<=1

30、0; +i)if(i%2=0) a = a*i;else b = b+i;printf("mul=%d, sum=%dn", a, b);3. 以下程序的运行结果为 。#include <stdio.h>#include <string.h>void main(void)char s80="Wuhan", t=" business university"strcat(s, t);printf("%s, %dn", s, strlen(s);4. 以下程序的运行结果为 。#include &l

31、t;stdio.h>int func(int a3)int i, j, s=0;for(i=0; i<3; +i)for(j=0; j<3; +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 <stdio.h>void main(void)int a10=1, 2, 3, 4,

32、5, 6, 7, 8, 9, 10, *p;p = &a0;p = p+3;printf("%dn", *p);1. 以下程序的运行结果为 。#include <stdio.h>void main(void)int m=10,n=62, t;t = m> n ?m :n;printf("t=%dn", t;2. 以下程序的运行结果为 。main() char c1=a; int b=2, c2;c2= c1+b; printf (“ %c, %d, %d n ” ,c1, b, c2);3. 以下程序的运行结果为 。main()

33、int a=1, b =2;a=a+b; b=ab;a=ab; printf(“%d ,%d n ” , a, b) ;4. 以下程序的运行结果为 。#include <stdio.h>void f(int);void main(void)int s= 50;f(s);printf("s=%dn", s);void f(int s)s = 20;5. 以下程序的运行结果为 。#include <stdio.h>void main(void)int x10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10, *p;p = &x0;p

34、= p+4;printf("%dn", *p);1. 以下程序的运行结果为 。main()char str =”XYZ0defgh0abcghi”, *p=str;printf (“%s”,p+6); 2. 以下程序的运行结果为 。main() int x,y,z;x=1;y=2;z=3;x=y-<x|x+y!=z;printf(“%d,%d”,x,y,);3. 以下程序的运行结果为 。main ()int x=1,y,z; x*=3+2; printf(“%dt”,x); x*=y=z=5; printf(“%dt”,x);x=y=z;printf(“%dn”,x)

35、;4. 若从键盘输入5<回车>,以下程序的运行结果为 。#include<stdio.h> void main() int a;scanf(“%d”,&a);if(a+>5) printf(“%dn”,a);else printf(“&dn”,a-);5. 以下程序的运行结果为 。main() int x =0,1,2,3,4,5,6,7,8,9;int s=0, i, *p;p=&x0;for ( i=1; i<10; i+=2;) s+= *(p+i);printf (“sum=%d”, s);六、程序设计(每题2分5题)1. 某

36、工种按小时计算工资,每月工作时间(小时) ´ 每小时工资 = 总工资,总工资中扣除10%公积金,剩余的为应发工资。以下程序从键盘输入工作时间和每小时工资,输出应发工资,试将程序补充完整。#include <stdio.h>void main(void)int h, m;printf("输入工作时间: ");scanf("%d", (1) );printf("输入每小时工资: ");scanf("%d", &m);printf("应发工资为%fn", (2) );解:

37、 (1) (2) 2. 以下程序求输入字符的ASCII,试将程序补充完整。#include <stdio.h>void main(void)char (1) ;printf("输入一个字符: ");c = (2) ;printf("%dn", c);解: (1) (2) 3. 以下程序输入两个整数,输出其中的最大数,试将程序补充完整。#include <stdio.h>void main(void)int a, b;printf("输入两个整数: ");scanf("%d%d", &

38、a, (1) );if( (2) ) printf("Max=%dn", a);else printf("Max=%dn", b);解: (1) (2) 4. 以下函数交换两个变量的值,试将程序补充完整。void swap(int *p, int *q)int t;t = *p;*p = (1) ;*q = (2) ;解: (1) (2) 5. 设某班级40个学生的成绩存放在数组score中,以下函数average求其平均成绩,试将程序补充完整。float average(float score)int i;float s = 0;for(i=0; i&

39、lt;40; +i) s += (1) ;return (2) ;解: (1) (2) 6.以下程序输入一个英文字母,如果是大写字母,则将它变成小写字母并输出;如果是小写字母,则将它变成大写字母并输出。试将程序补充完整。#include <stdio.h>void main(void)char c;printf("输入一个英文字母: ");c = getchar();if( (1) ) putchar(c+'a'-'A');else if(c>='a'&&c<='z') putchar( (2) );putchar('n');解: (1) (2) 7.某商场给顾客购物的折扣率为:购物金额<200元时不打折;200元购物金额<500元时打9折;500元购物金额<1000元时打8折;购物金额1000元时打7.5折。以下程序输入购物金额,输出折扣率和实际付款金额,试将程序补充完整。#include <stdio.h>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论