收藏 分销(赏)

高级语言程序设计复习资料1资料.doc

上传人:丰**** 文档编号:3584773 上传时间:2024-07-10 格式:DOC 页数:30 大小:86.50KB
下载 相关 举报
高级语言程序设计复习资料1资料.doc_第1页
第1页 / 共30页
高级语言程序设计复习资料1资料.doc_第2页
第2页 / 共30页
点击查看更多>>
资源描述
一、简答题(10选2,每题5分) 1.简要叙述指针为函数参数的使用方法。 2.简要叙述结构体特点。 3. 简述机器语言、汇编语言和高级语言。 4. 简述C语言的特点。 5. 简述C语言程序的编辑、编译与运行。 6 简述程序设计语言的分类、高级语言及其分类。 7. 简述C语言的发展简史。 8. 简要列举C语言中的常用表达式。 9. 简要叙述break语句与continue语句的区别。 10.冯洛伊曼体系结构图 二、填空题(10个空每空2分) 1. 程序运行过程中,其值保持不变的量称为 ;为了提高程序的可读性与易维护性,可以用宏替换 给常量命名。程序运行过程中,其值可以改变的量称为 。 2. 程序的三种基本结构是: 结构、 结构、 结构。 3. 数组是一组 、 的变量,数组中的变量称为 。数组名本质上是 ,它是数组的首地址即数组第一个元素的地址。 4. 函数是具有相对独立功能的 。函数定义中的参数称为 参数,函数调用中的参数称为 参数。函数的数据类型是函数返回值的数据类型;无返回值时,函数的数据类型为 。函数直接或间接调用自身称为 调用。 5. 计算机内存单元的 称为地址,存放地址的变量称为 变量。 6. 结构是一组 、 的变量,结构中的变量称为 。 7. 标识符由 、 、 组成,以 或 开头,字母区分大小写; 不能用作标识符。 8. 通过变量名访问变量,称为变量的 访问。通过变量的地址访问变量,称为变量的 访问。 9. 字符型常量是一对 括起的单个字符,字符串常量是一对 括起的一串字符。 10.在C语言中,文件可以用 ___________和____________两种形式存取。 11.函数定义____________和_______________两部分组成。 12. 设p是指向数组中某元素的指针变量,分别写出下列表达式的含义: p++:___________________________________________________________; ++p:____________________________________________________________。 13.C标准函数库提供了丰富的输入输出函数,用户程序使用时需包含系统头文件_____________。 14.数组的下标从_______开始,数组的最大下标是________________。 15.( )、=、&&的优先级顺序从高到低依次为__________________________。 16.任何一个计算机程序执行时的控制流程均可用三种基本结构表示:_________、__________、__________。 17.变量的地址被称为__________,而存放地址数据的变量称为__________。 18.运行C程序的一般步骤:____________、________________、______________、______________。 19.C标准函数库提供了常用的字符串处理函数,用户使用时需包含头文件____________。 三、单选题(每题2分10题,请大家考试时慎重答题) 1. 以下正确的标识符是( C )。 A. %X B. a+b C. a123 D. test! 2. C语言中的基本数据类型包括( B )。 A. 整型、实型、逻辑型 B. 整型、实型、字符型 C. 整型、字符型、逻辑型 D. 整型、实型、逻辑型、字符型 3. 下面程序段所表示的逻辑关系是( B )。 if(a < b) x = 1; else x = 2 ; A. 当a < b时x = 1,当a > b时x = 2 B. 当a < b时x = 1,当a ≥ b时x = 2 C. 当a ≤ b时x = 1,当a > b时x = 2 D. 当a ≥ b时x = 1,当a ≠ b时x = 2 4. 下列说法正确的是( )。 A. while循环中,必须使用break语句跳出循环 B. while循环中,当循环条件为真时结束循环 C. while循环中,必须使用continue语句跳出循环 D. while循环中,当循环条件为假时结束循环 5. 定义10个元素的整型数组a,应使用语句( A )。 A. int a[10] B. int a[2, 5] C. int a[] D. int *a[10] 6. 设有定义char s[10] = "ABCDE", t[10] = "xyz"; 则printf("%d", strlen(strcpy( s, t ))); 的输出是( A )。 A. 6 B. 5 C. 4 D. 3 7. 以下正确的说法是( )。 A. 函数定义不能嵌套,但函数调用可以嵌套 B. 函数定义可以嵌套,但函数调用不能嵌套 C. 函数定义和函数调用都可以嵌套 D. 函数定义和函数调用都不能嵌套 8. 已知double *p[6];它的含义是( C )。 A. p是指向double类型变量的指针 B. p是double类型数组 C. p是指针数组 D. p是数组指针 9. 设变量i的值为3,i的地址为2000,使指针变量p指向i,则赋值正确的是( D )。 A. &i = 3 B. *p = 3 C. *p = 2000 D. p = &i 10. 已知学生记录描述为: struct student{ int no; char name[20]; char sex; struct{ int 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.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. C B. D C. 68 D. 不确定 3. 下面程序段所表示的逻辑关系是( A )。 if( a < b ) x = 1; else x = 2 ; A. 当a < b时x = 1,当a ≥ b时x = 2 B. 当a ≤ b时x = 1,当a > b时x = 2 C. 当a < b时x = 2,当a ≥ b时x = 1 D. 当a ≥ b时x = 1,当a ≠ b时x = 2 4. 下列说法正确的是( )。 A. do-while循环中,当循环条件为真时结束循环 B. do-while循环中,当循环条件为假时结束循环 C. do-while循环中,必须使用break语句跳出循环 D. do-while循环中,必须使用continue语句跳出循环 5. 设有定义char s[12] = "string"; 则printf("%d", strlen(s)); 的输出是( A )。 A. 6 B. 7 C. 8 D. 9 6. 在下述对C语言字符数组的描述中错误的是( C )。 A. 字符数组可以存放字符串 B. 字符数组中的字符串可以进行整体输入/输出 C. 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D. 字符数组的下标从0开始 7. 以下正确的说法是( )。 A. 函数定义不能嵌套,但函数调用可以嵌套 B. 函数定义可以嵌套,但函数调用不能嵌套 C. 函数定义和函数调用都可以嵌套 D. 函数定义和函数调用都不能嵌套 8. 已知char s[10], *p=s; 则在下列语句中,错误的语句是( B )。 A. p=s+5 B. s=p+s C. s[2]=p[4] D. *p=s[0] 9. 求数组int a[10]的首地址运算是( C )。 A. &a[10] B. a[0] C. &a[0] D. a[10] 10. 当说明一个结构体变量时,系统分配给它的内存是( A )。 A. 各成员所需内存量的总和 B. 结构中第一个成员所需内存量 C. 成员中占内存量最大者所需的容量 D. 结构中最后一个成员所需内存量 1. C语言中字符型(char)数据在内存中的存储形式是( D )。 A. 原码 B. 补码 C. 反码 D. ASCII码 2. 若已定义x和y为double型,则表达式x = 1.0, y = 3/2+x的值是( C )。 A. 1.0 B. 1.5 C. 2.0 D. 2.5 3. C语言的运算符按运算对象的数目不同可以分为( C )。 A. 单目运算符 B. 单目和双目运算符 C. 单目、双目和三目运算符 D. 单目、双目、三目和四目运算符 4. 下列说法正确的是( )。 A. while循环中,当循环条件为真时结束循环 B. while循环中,当循环条件为假时结束循环 C. while循环中,必须使用break语句跳出循环 D. while循环中,必须使用continue语句跳出循环 5. 已知:int a[3][4];则对数组元素引用正确的是( C )。 A. a[2][4] B. a[1,3] C. a[1+1][0] D. 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. strcat B. strlen C. strcpy D. strcmp 8. 已知函数定义如下: f(char *s, char *t) { while(*s++ = *t++); } 函数f的功能是( )。 A. 串复制 B. 求串长 C. 串比较 D. 串反向 9. 已知int x,则下面的定义指针变量p的语句正确的是( A )。 A. int p = &x B. int *p = x C. int *p = &x D. int *p = *x 10. 已知学生记录描述为: struct student{ int no; char name[20]; char sex; struct{ int 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 = 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. long B. test1 C. 3Dmax D. A.dat 4. 已知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 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__________。 A. &m B. &p C. m D. *m 9. 若x=2,y=3则x&y的结果是______D__________。 A. 0 B. 2 C. 3 D. 5 10. 设有定义int x=1; int y=‘a’<‘A’?x--:x++;,则变量y的值是___C________。 A. 0 B. 2 C. 1 D. 3 1. 要把高级语言编写的源程序转换为目标程序,需要使用_____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.500000 B. 6 C. 5.500000 D. 6.000000 4. 表达式1&&3&&5的值为____D_________。 A. 1 B. 3 C. 5 D. 7 5. 下列选项中,不合法的C语言关键字是______________。 A. auto B. default C. static D. var 6. C语言允许函数值缺省定义,此时该函数值隐含的类型是______B________。 A.float B. int C. long D. double 7. 若x=5,则x*=x+2的值为____C____________。 A. 35 B. 12 C. 7 D. 25 8. 以下运算符中,运算对象必须是整型的是___B__________。 A. / B. % C. ! D.〈 9. 若有定义:int a[10];则对a数组元素的正确引用是____C_________。 A. a[10] B. a[15] C. a[7] 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. 逗号运算符的优先级最低。 ( 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 = 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. Continue语句的作用是结束本次循环。 ( F ) 6. 可以将一个整数赋给一个指针变量。 ( ) 7. C语言中字符串的结束符是’\0’。 ( ) 8. do-while的循环体至少无条件执行一次。 ( T ) 9. C程序总是从main( ) 函数的第一条语句开始执行的。  ( F ) 10. 数组名代表数组的首地址。 ( ) 1.在对一个C程序进行编译的过程中,不能发现注释中的拼写错误。 (F ) 2.在C程序中,main函数必须位于程序的最前面。 (F ) 3.printf()函数总是从新行的起始位置开始打印。 ( F) 4.C语言认为变量number和NuMbEr是不相同的。 (F ) 5.在C程序中,无论是整数还是实数都能被准确无误地表示。 (F ) 6.switch选择结构中必须有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) 10.int i,*p=&i;是正确的C语言的说明。 (T ) 五、程序阅读(每题2分5题) 1. 以下程序的运行结果为 62 。 #include <stdio.h> void main(void) { int x=10, y=62, z; z = x > y ? x : y; printf("z=%d\n", z); } 2. 以下程序的运行结果为 66 。 #include <stdio.h> void main(void) { int s=0, i; for(i=1; i<=10; ++i) s = s+i; printf("sum=%d\n", s); } 3. 以下程序的运行结果为 。 #include <stdio.h> #include <string.h> void main(void) { char s[80]="Wuhan", t[]=" business university"; strcat(s, t); printf("%s, %d\n", s, strlen(s)); } 4. 以下程序的运行结果为 。 #include <stdio.h> void f(int); void main(void) { int x = 10; f(x); printf("x=%d\n", x); } void f(int x) { x = 20; } 5. 以下程序的运行结果为 。 #include <stdio.h> void main(void) { int a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p; p = &a[0]; p = p+3; printf("%d\n", *p); } 1. 以下程序的运行结果为 。 #include <stdio.h> void main(void) { int a, b, x; x = ( a=3, b=a--); printf("x=%d, a=%d, b=%d\n", x, a, b); } 2. 以下程序的运行结果为 。 #include <stdio.h> void main(void) { int f=1, i; for(i=1; i<=5; ++i) f = f*i; printf("factorial=%d\n", f); } 3. 以下程序的运行结果为 。 #include <stdio.h> #include <string.h> void main(void) { char s[80]="Wuhan", t[]=" business university"; strcat(s, t); printf("%s, %d\n", s, strlen(s)); } 4. 以下程序的运行结果为 。 #include <stdio.h> void main(void) { int n, i, a=1, b=1, c; for(i=0; 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=%d\n", x); } void f(int x) { x = 20; } 2. 以下程序的运行结果为 。 #include <stdio.h> 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=%d\n", a, b); } 3. 以下程序的运行结果为 。 #include <stdio.h> #include <string.h> void main(void) { char s[80]="Wuhan", t[]=" business university"; strcat(s, t); printf("%s, %d\n", s, strlen(s)); } 4. 以下程序的运行结果为 。 #include <stdio.h> int func(int a[][3]) { int i, j, s=0; for(i=0; i<3; ++i) for(j=0; j<3; ++j){ a[i][j] = i+j; if(i==j) s = s+a[i][j]; } return s; } void main(void) { int sum; int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}; sum = func(a); printf("sum=%d\n", sum); } 5. 以下程序的运行结果为 。 #include <stdio.h> void main(void) { int a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, *p; p = &a[0]; p = p+3; printf("%d\n", *p); 1. 以下程序的运行结果为 。 #include <stdio.h> void mai
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服