资源描述
高级语言程序设计综合练习一 学号: 姓名: 1 一、选择题一、选择题 1 1、 一个一个 C C 程序由若干个程序由若干个 C C 函数组成,各个函数在文件中的位置顺序为:(函数组成,各个函数在文件中的位置顺序为:( ) A A、 任意任意 B B、 第一个函数必须是主函数,其他函数任意第一个函数必须是主函数,其他函数任意 C C、 必须完全按照执行的顺序排列必须完全按照执行的顺序排列 D D、 其他函数可以任意,主函数必须在最后其他函数可以任意,主函数必须在最后 2 2、 下列四个叙述中,正确的是:(下列四个叙述中,正确的是:( ) A A、 C C 程序中的所有字母都必须小写程序中的所有字母都必须小写 B B、 C C 程序中的关键字必须小写,其他标示符不区分大小写程序中的关键字必须小写,其他标示符不区分大小写 C C、 C C 程序中的所有字母都不区分大小写程序中的所有字母都不区分大小写 D D、 C C 语言中的所有关键字必须小写语言中的所有关键字必须小写 3 3、 下列四个叙述中,错误的是:(下列四个叙述中,错误的是:( ) A A、 一个一个 C C 源程序必须有且只能有一个主函数源程序必须有且只能有一个主函数 B B、 一个一个 C C 源程序可以有多个函数源程序可以有多个函数 C C、 在在 C C 源程序中注释说明必须位于语句之后源程序中注释说明必须位于语句之后 D D、 C C 源程序的基本结构是函数源程序的基本结构是函数 4 4、 下面不是下面不是 C C 语言合法标识符的是:(语言合法标识符的是:( ) A A、abcabc B B、5n5n C C、_4m_4m D D、x3x3 5 5、 以下叙述不正确的是:(以下叙述不正确的是:( ) A.A. 分号是分号是 C C 语句的必要组成部分语句的必要组成部分 B.B. C C 程序的注释可以写在语句的后面程序的注释可以写在语句的后面 C.C. 函数是函数是 C C 程序的基本单位程序的基本单位 D.D. 主函数的名字不一定非用主函数的名字不一定非用 mainmain 来表示来表示 6 6、 C C 语言中允许的基本数据类型包括:(语言中允许的基本数据类型包括:( ) A.A. 整型、实型、逻辑型整型、实型、逻辑型 B.B. 整型、实型、字符型整型、实型、字符型 C.C. 整型、字符型、逻辑型整型、字符型、逻辑型 D.D. 整型、实型、逻辑型、字符型整型、实型、逻辑型、字符型 7 7、 C C 语言中能用八进制表示的数据类型为:(语言中能用八进制表示的数据类型为:( ) A A、字符型、整型、字符型、整型 B B、整形、实型、整形、实型 C C、字符型、实型、双精度型、字符型、实型、双精度型 D D、字符型、整型、实型、双精度型、字符型、整型、实型、双精度型 8 8、 下列属于下列属于 C C 语言合法的字符常数是:(语言合法的字符常数是:( ) A A、 9797 B B、 ”A”A” C C、 tt D D、 ”0”0” 9 9、 在在 C C 语言(语言(VCVC 环境)中,环境)中,5 5 种基本数据类型的存储空间长度的排列顺序为:(种基本数据类型的存储空间长度的排列顺序为:( ) A A、char=10 oror a=0 C C、a=10a=10 | a=10 +a; C Ca=a+1=5a=a+1=5 D Dy=int(a)y=int(a); 二、判断题二、判断题 1.1.( ( T T )C)C 语言是严格区分大写和小写的,因此主函数不能写成语言是严格区分大写和小写的,因此主函数不能写成 main()main()以外的其他形式。以外的其他形式。 2.2.( ( F F )C)C 语言程序是从源文件的第一条语句开始执行的。语言程序是从源文件的第一条语句开始执行的。 3.3.( ( F F )C)C 语言对其数据在内存中所占用的实际字节数是有明确规定的。语言对其数据在内存中所占用的实际字节数是有明确规定的。 4.4.( ( F F )C)C 语言中语言中/*/*/之间的注释内容是不能跨行的。之间的注释内容是不能跨行的。 5.5.( ( F F )C)C 语言中多个以语言中多个以“;”“;”结束的语句不能放在同一行。结束的语句不能放在同一行。 6.6.( ( F F ) )变量说明语句变量说明语句 intint a=b=c=23;a=b=c=23;是正确的。是正确的。 7.7.( ( F F ) )字符型数据不可以和整数数据一起进行算术运算。字符型数据不可以和整数数据一起进行算术运算。 8.8.( ( T T )C)C 语言中强制类型转换不会改变原变量的原有数据类型。语言中强制类型转换不会改变原变量的原有数据类型。 9.9.( ( F F ) )表达式表达式 j=-i+j=-i+和和 j=-(i+)j=-(i+)不相等不相等 10.10. ( ( T T ) )程序段:程序段:i=8,j=10;printf(“%d,%d,%d,%dn“,i,j,+i,j+);i=8,j=10;printf(“%d,%d,%d,%dn“,i,j,+i,j+);其结果其结果 9,10,9,10.9,10,9,10. 11.11. ( ( F F )C)C 语言中放在语言中放在“”“”之间的内容都被视为字符串的一个构成部分,都可以在屏幕上之间的内容都被视为字符串的一个构成部分,都可以在屏幕上 原样显示。原样显示。 12.12. ( ( T T ) )计算机程序的执行过程实际上是对程序所表达的数据进行处理的过程。计算机程序的执行过程实际上是对程序所表达的数据进行处理的过程。 13.13. ( ( T T ) )目前程序设计的理念已经从目前程序设计的理念已经从“面向过程的程序设计面向过程的程序设计”向向“面向对象的程序设计面向对象的程序设计” 方面转变。方面转变。 14.14. ( ( T T ) )有人曾提出:计算机程序算法数据结构。有人曾提出:计算机程序算法数据结构。 15.15. ( ( T T ) )在程序设计中提到的算法就是在程序设计中提到的算法就是“解决问题的方法和步骤解决问题的方法和步骤” 16.16. ( ( T T ) )在程序设计中提到的数据结构就是在程序设计中提到的数据结构就是“程序处理的对象的表示方法程序处理的对象的表示方法” 17.17. ( ( T T ) )计算机程序的算法就是解决计算机程序的算法就是解决“做什么做什么”和和“怎么做怎么做”的问题。的问题。 18.18. ( ( T T ) )结构化程序设计的基本理念是:将一个较大的问题细分成若干个较小问题的组合。结构化程序设计的基本理念是:将一个较大的问题细分成若干个较小问题的组合。 19.19. ( ( F F )C)C 程序的执行是从程序的第一行开始,一直到程序的最后一行结束。程序的执行是从程序的第一行开始,一直到程序的最后一行结束。 20.20. ( ( T T )C)C 程序的执行是从主函数的第一行开始,一直到主函数的最后一行结束。程序的执行是从主函数的第一行开始,一直到主函数的最后一行结束。 21.21. ( (T T) )设设 x x、t t 均为均为 intint 型变量,则执行语句型变量,则执行语句“x“x = = 10;t10;t = = x x “10;“后,后,t t 的值为的值为 0 0 22.22. ( ( T T ) )若若 a a 和和 b b 类型相同类型相同, ,在计算了赋值表达式在计算了赋值表达式 a=ba=b 后后 b b 中的值将放入中的值将放入 a a 中中, ,而而 b b 中的值中的值 不变不变 23.23. ( ( T T ) )在在 C C 程序中程序中,%,%是只能用于整数运算的运算符是只能用于整数运算的运算符 24.24. ( ( T T ) )在在 C C 语言中,逻辑语言中,逻辑“真真”等价于不等于等价于不等于 0 0 的数的数 25.25. ( ( F F ) )C C 语言中字符型、整型、实型都能用八进制表示语言中字符型、整型、实型都能用八进制表示 高级语言程序设计综合练习一 学号: 姓名: 5 26.26. ( ( T T ) )变量的三要素是:变量名、变量类型、变量的值。变量的三要素是:变量名、变量类型、变量的值。 书上必会的题:课后题:第三章书上必会的题:课后题:第三章 P834,6,7 一、一、 选择题选择题 1.以下说法正确的是(以下说法正确的是( ) 。 A A)C C 语言程序总是从第一个的函数开始执行语言程序总是从第一个的函数开始执行 B B)在)在 C C 语言程序中,要调用函数必须在语言程序中,要调用函数必须在 mainmain()函数中定义()函数中定义 C C)C C 语言程序总是从语言程序总是从 mainmain()函数开始执行()函数开始执行 D D)C C 语言程序中的语言程序中的 mainmain()函数必须放在程序的开始部分()函数必须放在程序的开始部分 2.算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特 性的是(性的是( ) 。 A A)有零个输入或多个输入)有零个输入或多个输入 B B)高效性)高效性 C C)有穷性)有穷性 D D)确定性)确定性 3.C C 语言中用于结构化程序设计的语言中用于结构化程序设计的 3 3 种基本结构是种基本结构是 A A)顺序结构、选择结构、循环结构)顺序结构、选择结构、循环结构 B B)if,switch,breakif,switch,break C C)for,while,do-whilefor,while,do-while D D)if,for,continueif,for,continue 4.一个一个 C C 程序的执行是从(程序的执行是从( )。 A A)main()main()函数开始,直到函数开始,直到 main()main()函数结束函数结束 B B)第一个函数开始,直到最后一个函数结束第一个函数开始,直到最后一个函数结束 C C)第一个语句开始,直到最后一个语句结束第一个语句开始,直到最后一个语句结束 D D)main()main()函数开始,直到最后一个函数结束函数开始,直到最后一个函数结束 5.组成组成 C C 程序的基本单位是程序的基本单位是( )。 A A)函数函数 B B)标识符标识符C C)表达式表达式D D)语句语句 6.若有语句若有语句 scanfscanf(“%d%d”“%d%d”, 高级语言程序设计综合练习一 学号: 姓名: 7 printf(“%dn“,y); A)0 B)22 C)12 D)10 19. 已知已知 char ch=C;则以下表达式的值是;则以下表达式的值是 ch=(ch=A switch(d) case 30 : printf(“%d,“,a); case 40 : printf(“%d,“,b); case 50 : printf(“%d,“,c); default : printf(“#“); 则输出的结果是则输出的结果是 A)40,50, B)50,# C)40,# D)40,50,# 二、二、 填空题填空题 1. 用高级语言编写的程序称为(用高级语言编写的程序称为(源源)程序,它可以通过解释程序翻译一句执行一句的方)程序,它可以通过解释程序翻译一句执行一句的方 高级语言程序设计综合练习一 学号: 姓名: 8 式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。 2. C C 语言中的标识符只能由字母、下划线和(语言中的标识符只能由字母、下划线和( 数字数字 ) 组成。组成。 3. C C 语言源程序注释符号有两种,语言源程序注释符号有两种, (/*/*/ )用于块注释,)用于块注释, ( / )用于行注释。)用于行注释。 4. 源程序源程序 test.ctest.c 经编译产生的目标文件是:(经编译产生的目标文件是:( test.objtest.obj ) ;经连接处理后,产生的可;经连接处理后,产生的可 执行文件是:(执行文件是:( test.exetest.exe ) 。 5. C C 标准库函数中,数学函数的原型在(标准库函数中,数学函数的原型在(math.hmath.h )头文件中。)头文件中。 6. 如下语句如下语句 printfprintf(“%c“%cn“,B+35n“,B+35); ;在执行后的输出结果是在执行后的输出结果是 ( e e ) 。 7. 下列程序的输出结果是下列程序的输出结果是 ( 1.300000,1.300000 ) 。 #include #include int main()() float a=-1.3;b=1.3; printf(“%f,%f“,fabs(a),fabs(b) ); return 0; 8. 将以下程序写成三目运算表达式是(将以下程序写成三目运算表达式是( maxmax = = abab ? ? a a : : b b) 。 if(ab)max=a; else max=b; 9. 若从键盘输入若从键盘输入 58,则以下程序输出的结果是则以下程序输出的结果是 ( 585858 ) 。 main()() int a; scanf(“%d“, if(a50)printf(“%d“,a); if(a40)printf(“%d“,a); if(a30)printf(“%d“,a); 10. 阅读下面的程序,当程序在执行时,如果输入的是阅读下面的程序,当程序在执行时,如果输入的是A,则输出结果为,则输出结果为( ABother ) 。#include “stdio.h“ main()() char a; a=getchar()(); switch(a) case 65: printf(“%c“,A); case 66: printf(“%c“,B); default :printf(“%sn“,“other“); 三、三、 判断题判断题 1.1. ( ( F F ) )一个程序只能由一个一个程序只能由一个 C C 程序文件组成。程序文件组成。 2.2. ( ( T T ) )一个一个 C C 程序文件是由一个或多个函数组成的。程序文件是由一个或多个函数组成的。 3.3. ( ( T T ) )一个程序必须包含一个一个程序必须包含一个 mainmain 函数。函数。 4.4. ( ( F F )main)main 函数必须写在一个函数必须写在一个 C C 程序文件的最前面。程序文件的最前面。 5.5. ( ( F F )C)C 程序的执行从程序头开始。程序的执行从程序头开始。 6.6. ( ( F F ) )函数体不可以为空。函数体不可以为空。 7.7. ( ( F F )C)C 程序的注释只能是一行。程序的注释只能是一行。 高级语言程序设计综合练习一 学号: 姓名: 9 8.8. ( ( F F )C)C 程序中的数据声明和语句必须用程序中的数据声明和语句必须用“。 ”结束。结束。 9.9. ( ( F F )C)C 程序一行只能写一条语句。程序一行只能写一条语句。 10.10. ( ( F F ) )在在 C C 程序中,符号程序中,符号“Sum”“Sum”和和“sum”“sum”相同。相同。 第三章第三章 顺序结构顺序结构 一、选择题一、选择题 1.1.下面程序的输出是:(下面程序的输出是:( ) main()main() intint k=11;k=11; printf(“k=%d,k=%o,k=%xn“,k,k,k);printf(“k=%d,k=%o,k=%xn“,k,k,k); A)A) k=11,k=12,k=13k=11,k=12,k=13 B)B) k=11,k=13,k=13k=11,k=13,k=13 C)C) k=11,k=013,k=oXbk=11,k=013,k=oXb D)D) k=11,k=13,k=bk=11,k=13,k=b 2.2.以下合法的以下合法的 C C 语言赋值语句是:(语言赋值语句是:( ) A A)a=b=58a=b=58 B B)k=int(a+b)k=int(a+b) ; ; C C)a=58,b=58a=58,b=58 D D)-i;-i; 3.3.以下程序的输出结果是:(以下程序的输出结果是:( ) main()main() intint x=10,y=3;x=10,y=3; printf(“%dn”,y=x/y);printf(“%dn”,y=x/y); A A)0 0 B B)1 1 )3 3 D D)不确定不确定 4.4.若变量已正确说明为若变量已正确说明为 intint 类型,要给类型,要给 a a,b b,c c 输入数据,以下正确的输入语句是:(输入数据,以下正确的输入语句是:( ) A A)readread (a,b,c);(a,b,c); B B)scanf(“%d%d%d”,a,b,c);scanf(“%d%d%d”,a,b,c); C C)scanf(“%D%D%D”,%a,%b,%c);scanf(“%D%D%D”,%a,%b,%c); D D)scanf(“%d%d%d”,scanf(“%d%d%d”, 5.5.执行下面程序段后,执行下面程序段后,c3c3 中的值是:(中的值是:( ) intint c1=1c1=1 , , c2=2c2=2 , , c3;c3; c3=c1/c2;c3=c1/c2; A A)0 0 B B)1/21/2 C C)0.50.5 D D)1 1 6.6.以下程序段的输出是:(以下程序段的输出是:( ) floatfloat a=57.666;a=57.666; printf(“*%4.2f*n”,printf(“*%4.2f*n”, a);a); A A)*57*57* B B)*58*58* C C)*57.66*57.66* D D)*57.67*57.67* 7.7.若有以下定义和语句:(若有以下定义和语句:( ) intint a=5,ba=5,b b=a+b=a+; 此处此处 b b 的值是:(的值是:( ) A)A) 7 7 B)B) 6 6 C)C) 5 5 D)D) 4 4 高级语言程序设计综合练习一 学号: 姓名: 10 8.8.以下程序的输出结果是以下程序的输出结果是:(:( ) main()main() intint x=10,y=10;x=10,y=10; printf(“%d%dn“,x-,-y);printf(“%d%dn“,x-,-y); A)A) 1010 1010 B)B) 9 9 9 9 C)C) 9 9 1010 D)D) 1010 9 9 9.9.已知字符已知字符 A A 的的 ASCIIASCII 码为十进制的码为十进制的 6565,下面程序的输出是下面程序的输出是:(:( ) main()main() charchar ch1,ch2;ch1,ch2; ch1=A+5-3;ch1=A+5-3; ch2=A+6-3;ch2=A+6-3; printf(“%d,%cn“,ch1,ch2);printf(“%d,%cn“,ch1,ch2); A)A) 67,D67,D B)B) B,CB,C C)C) C,DC,D D)D) 不确定的值不确定的值 10.10. 两次运行下面的程序,如果从键盘上分别输入两次运行下面的程序,如果从键盘上分别输入 6 6 和和 4 4,则输出结果是:(,则输出结果是:( ) main()main() intint x;x; scanf(“%d“,scanf(“%d“, ifif (x+5)(x+5) printf(“%d“,x)printf(“%d“,x) elseelse printf(“%dn“,x-);printf(“%dn“,x-); A)A) 7 7 和和 5 5 B)B) 6 6 和和 3 3 C)C) 7 7 和和 4 4 D)D) 6 6 和和 4 4 11.11. 若执行下面的程序从键盘输入若执行下面的程序从键盘输入 3 3 和和 4 4,则输出是:(,则输出是:( ) main()main() intint a,b,s;a,b,s; scanf(“%d%d“,scanf(“%d%d“, s=a;s=a; ifif (a B)B) i=100,f=765.12 C)C) 100 D)D) x=100 二、判断题二、判断题 1 1( ( F F ) )在在 C C 语言中,实型数据在内存都中占语言中,实型数据在内存都中占 4 4 个字节。个字节。 2 2( ( F F ) )在在 C C 语言中,参加算术(语言中,参加算术( + +,- -,* *,/ /,% % )运算的数据可以是任何类型的)运算的数据可以是任何类型的 数据。数据。 3 3( ( F F ) )若有定义和语句:若有定义和语句:intint a a;charchar c;scanf(“%d,%c“,c;scanf(“%d,%c“,当通过键盘输入:当通过键盘输入: 10,A10,A之后,则变量之后,则变量 a a 中存放的是中存放的是 10,10,变量变量 c c 中存放的是中存放的是AA 。 4 4( ( F F )C)C 语言中,变量名只能是小写字母表示,符号常量名可用大写表示语言中,变量名只能是小写字母表示,符号常量名可用大写表示 5 5( ( F F ) )在在 C C 语言中,变量可以不要定义,直接使用语言中,变量可以不要定义,直接使用 6 6( ( T T ) )一个一个 C C 语言程序总是从主函数开始执行的语言程序总是从主函数开始执行的 7 7( ( F F ) )注释语句必须用注释语句必须用/*/*和和*/*/括起来,且只能位于某一语句的后面括起来,且只能位于某一语句的后面 第四第四/ /五章五章 选择结构与循环结构选择结构与循环结构 一、选择题一、选择题 1.1. 有以下程序有以下程序 main(main( ) ) intint i;i; forfor ( ( i=0;i=0; ib ? ? (ac?a:c)(ac?a:c) : : (b);(b); A)A) 5 5 B)B) 4 4 C)C) 6 6 D)D) 不确定不确定 3.3. 以下程序中,以下程序中,whilewhile 循环的循环次数是:(循环的循环次数是:( ) main()main() intint i=0;i=0; while(i5) printfprintf (“%dn”(“%dn” ,m)m); elseelse printfprintf (“%dn”(“%dn” ,m-)m-); A A )7 7 B B )6 6 C C)5 5 D D)4 4 9.9. 设有如下定义:设有如下定义: intint a=1,b=2,c=3,d=4,m=2,n=2;a=1,b=2,c=3,d=4,m=2,n=2; 则执行表达式:则执行表达式:(m=ab)i,j,m=0; forfor (i=1;i7) n-;n-; printf(“%3d“,n);printf(“%3d“,n); A)A) 1010 9 9 8 8 B)B) 9 9 8 8 7 7 高级语言程序设计综合练习一 学号: 姓名: 14 C)C) 1010 9 9 8 8 7 7 D)D) 9 9 8 8 7 7 6 6 13.13. 以下循环体的执行次数是:(以下循环体的执行次数是:( ) main()main() intint i,j;i,j; for(i=0,j=1;i0)Dif(strcmp(s1,s2)0) 高级语言程序设计综合练习一 学号: 姓名: 17 2121、下列语句中,不正确的是:(、下列语句中,不正确的是:( ) 。 A Acharchar str5=“hello“;str5=“hello“; B Bcharchar str=h,e,l,l,o,0;str=h,e,l,l,o,0; C Ccharchar str5=“hi“;str5=“hi“; D Dcharchar str100=“;str100=“; 2222、下面错误的初始化语句是、下面错误的初始化语句是:(:( ) 。 A Acharchar str=“hello“;str=“hello“; B Bcharchar str100=“hello“;str100=“hello“; C Ccharchar str=h,e,l,l,o;str=h,e,l,l,o; D Dcharchar str=hello;str=hello; 2323、定义了一维、定义了一维 intint 型数组型数组 a10a10后,下面错误的引用是:(后,下面错误的引用是:( ) 。 A Aa0=1;a0=1; B Ba10=2;a10=2; C Ca0=5*2;a0=5*2; D Da1=a2*a0;a1=a2*a0; 2424、下面的二维数组初始化语句中,错误的是:(、下面的二维数组初始化语句中,错误的是:( ) 。 A Afloatfloat b22=0.1,0.2,0.3,0.4;b22=0.1,0.2,0.3,0.4; B Bintint a2=1,2,3,4;a2=1,2,3,4; C Cintint a2=a2= 1,2,3,4;1,2,3,4; D Dfloatfloat a22=0;a22=0; 2525、定义了、定义了 intint 型二维数组型二维数组 a67a67后,数组元素后,数组元素 a34a34前的数组元素个数为:(前的数组元素个数为:( ) 。 A A2424 B B2525 C C1818 D D1717 2626、下面程序的运行结果是:(、下面程序的运行结果是:( ) 。 main()main() intint a3=1,2,3,4,5,6;a3=1,2,3,4,5,6; printf(“%d“,a11);printf(“%d“,a11); A A3 3B B4 4C C5 5D D6 6 2727、下面程序的运行结果是:(、下面程序的运行结果是:( ) 。 main()main() charchar s120=“Good!“;s120=“Good!“; charchar s215=“AB“;s215=“AB“; printf(“%d“,strlen(strcpy(s1,s2);printf(“%d“,strlen(strcpy(s1,s2); A A2020B B1515C C5 5D D2 2 高级语言程序设计综合练习一 学号: 姓名: 18 2828、下面程序的运行结果是:(、下面程序的运行结果是:( ) 。 main() int x=22,33,44,55,66,77,88; int k,y=0; for (k=1;kpup.sexp-pup.sex C C:(*p).pup.sex(*p).pup.sex D D:(*p).sex(*p).sex 7.7.C C 语言规定结构体变量系统分配给它的存储空间是语言规定结构体变量系统分配给它的存储空间是( ) A)A)该结构体中最后一个成员所需的存储空间该结构体中最后一个成员所需的存储空间 B)B)该结构体中所有成员所需存储空间的总和。该结构体中所有成员所需存储空间的总和。 C)C)该结构体中第一个成员所需的存储空间该结构体中第一个成员所需的存储空间 D)D)该结构体中占用最大存储空间的成员所需的存储空间该结构体中占用最大存储空间的成员所需的存储空间 8.8.当说明一个共用体变量时,系统分配给它的内存是:(当说明一个共用体变量时,系统分配给它的内存是:( ) A A:各成员所需内存量的总和:各成员所需内存量的总和 B B:共用体中第一个成员所需内存量:共用体中第一个成员所需内存量 C C:成员中占内存量最大者所需的内存量:成员中占内存量最大者所需的内存量 D D:共用体中最后一个成员所需内存量:共用体中最后一个成员所需内存量 9.9.以下对以下对 C C 语言中共用体类型数据的叙述正确的是:(语言中共用体类型数据的叙述正确的是:( ) A A:可以对共用体变量名直接赋值:可以对共用体变量名直接赋值 B B:一个共用体变量中可以同时存放所有成员:一个共用体变量中可以同时存放所有成员 C C:一个共用体变量中不能同时存放其所有成员:一个共用体变量中不能同时存放其所有成员 D D:共用体类型定义中不能出现结构体类型的成员:共用体类型定义中不能出现结构体类型的成员 10.10.若有以下定义和语句:若有以下定义和语句: unionunion datadata intint i;i; charchar c;c; floatfloat f;f; a;a; 则以下语句正确的是则以下语句正确的是:(:( ) A A:a=5a=5 B B:printf(“%dn“,a.i);printf(“%dn“,a.i); C C:a=2,a,1.2;a=2,a,1.2; D D:n=an=a 11.11. 根据以下定义,能输出字母根据以下定义,能输出字母 M M 的语句是(的语句是( ) structstruct personperson charchar name9;intname9;int age;age; structstruct personperson class10=class10= “John”,17,“John”,17, “Paul”,19,“Paul”,19, “Mary”,18,“Mary”,18, “Adam”,16,;“Adam”,16,; A.printf(“%cn”,class3.name);A.printf(“%cn”,class3.name); B.printf(“%cn”,class3.name1);B.printf(“%cn”,class3.name1); C.printf(“%cn”,class2.name1);C.printf(“%cn”,class2.name1); 高级语言程序设计综合练习一 学号: 姓名: 30 D.printf(“%cn”,class2.name0);D.printf(“%cn”,class2.name0); 12.12.有如下定义:有如下定义: structstruct datedate intint y y ; ; intint m m ; ; intint d d ; structstruct personperson charchar name20;name20; charchar sex;sex; structstruct datedate birthday;birthday; a;a; 对结构体变量对结构体变量 a a 的出生年份进行赋值时,下面正确的赋值语句是的出生年份进行赋值时,下面正确的赋值语句是( ( ) )。 A A y y =1958=1958 B B birthday.y=1958birthday.y=1958 C C a.birthday.ya.birthday.y =1958=1958 D D a.ya.y =1958=1958 13.13.有以下程序段有以下程序段 typedeftypedef structstruct nodenode intint data;data; structstruct nodenode *next;*next; NODENODE; NODENODE *p;*p; 以下叙述正确的是以下叙述正确的是( ( ) ) A A)NODENODE *p*p;语句出错;语句出错 B B)p p 是指向是指向 structstruct nodenode 结结 构体变量的指针的指针构体变量的指针的指针 C C)p p 是是 structstruct nodenode 结构体变量结构体变量 D D)p p 是指向是指向 structstruct nodenode 结构体结构体 变量的指针变量的指针 14.14.以下关于以下关于 typedeftypedef 的叙述错误的是的叙述错误的是( ( ) ) A)A) typedeftypedef 只是将已存在的类型用一个新的名字来代表只是将已存在的类型用一个新的名字来代表 B)B) 用用 typedeftypedef 可以增加新类型可以增加新类型 C)C)用用 typedeftypedef 可以为各种类型说明一个新名可以为各种类型说明一个新名, ,但不能用来为变量说明一个新名但不能用来为变量说明一个新名 D)D)用用 typedeftypedef 为类型说明一个新名为类型说明一个新名, ,通常可以增加程序的可读性通常可以增加程序的可读性 15.15.下面程序的运行结果是下面程序的运行结果是( ( ) ) unionunion unun intint a;a; intint b;b; intint c;c; main()main() unionunion unun u;u; u.a=1;u.a=1;u.b=2;u.b=2;u.c=3;u.c=3; printf(“a=%d,b=%d,c=%dn”,u.a,u.b,u.c);printf(“a=%d,b=%d,c=%dn”,u.a,u.b,u.c); A A)a=3,b=3,c=3a=3,b=3,c=3 B B)a=1,b=2,c=3a=1,b=2,c=3 C C)a=1,b=1,c=1a=1,b=1,c=1 D D)a=2,b=2,c=2a=2,b=2,c=2 (第(第 9 9 章章 结构体与联合体)参考答案结构体与联合体)参考答案 一、单选题一、单选题 高级语言程序设计综合练习一 学号: 姓名: 31 答案:答案: 1D1D 2 2 B B 3 3 C C 4 4 D D 5 5 D D 6 6 D D 7B7B 8C8C 9 9 C C 1010 B B 1111 D D 1212 C C 13D13D 14B14B 15A15A 二、程序填空二、程序填空 已知已知 headhead 指向一个带头结点的单向链表,链表中每个结点包含数据域(指向一个带头结点的单向链表,链表中每个结点包含数据域(datadata)和指针域)和指针域 (nextnext) ,数据域为整型。下面的,数据域为整型。下面的 sumsum 函数是求出链表中所有结点数据域值的和,作为函数函数是求出链表中所有结点数据域值的和,作为函数 值返回。请填空完善程序。值返回。请填空完善程序。 structstruct linklink intint data;data; structstruct linklink *next;*next; main()main() structstruct linklink *head;*head; intint s;s; s=sum(head);s=sum(head); /*head/*head 是指向已知单向链表的头结点是指向已知单向链表的头结点*/*/ intint sum(sum( 【1】【1】 ) ) structstruct linklink *p;*p;intint s=0;s=0;p=head-next;p=head-next; while(p)while(p) s+=s+= 【2】【2】 ; ; p=p= 【3】【3】 ; ; return(s);return(s); 二、程序填空二、程序填空 答案:答案:【1】struct【1】struct linklink *head*head 【2】【2】 p-datap-data 【3】【3】 p-nextp-next C C 语言程序设计练习题语言程序设计练习题 7 7 第第 1010 章章 文文 件件 一、单选题一、单选题 1 1利用利用 C C 语言的文件操作,可以把数据永久保存在:(语言的文件操作,可以把数据永久保存在:( ) A.A.磁盘磁盘 B.B.内存内存 C.C.屏幕屏幕 D.D.键盘键盘 2 2若有程序片段若有程序片段 FILEFILE *fp;*fp; fp=fopen(“a.txt”,”r”);fp=fopen(“a.txt”,”r”); 则以下说法中正确的是:(则以下说法中正确的是:( ) A Afpfp 指向磁盘文件指向磁盘文件 a.txta.txt 的地址的地址 B Bfpfp 指向磁盘文件指向磁盘文件 a.txta.txt 所对应的所对应的 FILEFILE 结构结构 C C如果如果 fpfp 不为不为 NULLNULL,表示文件打开失败,表示文件打开失败 D D可以利用可以利用 fpfp 指针对文件指针对文件 a.txta.txt 进行写操作进行写操作 3 3fopenfopen 函数的作用是:(函数的作用是:( ) A A将文件的内容读入内存将文件的内容读入内存 高级语言程序设计综合练习一 学号: 姓名: 32 B B读出文件的大小读出文件的大小 C C建立与文件关联的建立与文件关联的 FILEFILE 结构体变量并返回该结构体变量的地址结构体变量并返回该结构体变量的地址 D D向文件写数据向文件写数据 4 4已知已知 fpfp 是一个指向已打开文件的指针是一个指向已打开文件的指针,ch,ch 是一个字符型变量,则是一个字符型变量,则 ch=fgetc(fp)ch=fgetc(fp)的作用的作用 是:(是:( ) A A获取键盘输入的字符,并赋值给获取键盘输入的字符,并赋值给 chch B B获取获取 fpfp 所指向的文件的第一个字节的内容,并赋值给所指向的文件的第一个字节的内容,并赋值给 chch C C获取获取 fpfp 所指向的文件的当前文件位置指针所指向的一个字节的内容,并赋值所指向的文件的当前文件位置指针所指向的一个字节的内容,并赋值 给给 chch D D将将 chch 的值输出到的值输出到 fpfp 所指向的文件中所指向的文件中 6 6、若执行、若执行 fopenfopen 函数时发生错误,则函数的返回值是函数时发生错误,则函数的返回值是_ 。 A A)地址值)地址值 B B)0 0 C C)1 1 D D)EOFEOF 7 7、若要用、若要用 fopenfopen 函数打开一个新的二进制文件,该文件要求既能读也能写,则打开方式字函数打开一个新的二进制文件,该文件要求既能读也能写,则打开方式字 符串应是符串应是_。 A A) ”ab+”ab+” B)”wb+”B)”wb+” C)”rb+”C)”rb+” D)”ab”D)”ab” 8 8、若以、若以“a+”“a+”方式打开一个已存在的文件,则以下叙述正确的是方式打开一个已存在的文件,则以下叙述正确的是_。 A A)文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作)文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作 B B)文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作)文件打开时,原有文件内容不被删除,位置指针移到文件开头,可作重写和读操作 C C)文件打开时,原有文件内容删除,只可作写操作)文件打开时,原有文件内容删除,只可作写操作 D D)以上各种说法皆不正确)以上各种说法皆不正确 9 9、当顺利执行了文件关闭操作时,、当顺利执行了文件关闭操作时,fclosefclose 函数的返回值是函数的返回值是_。 A A)-1-1 )TURETURE C C)0 0 D D)1 1 1010、已知函数的调用形式、已知函数的调用形式:freadfread (buffer(buffer,sizesize,countcount,fp)fp);其中其中 bufferbuffer 代表的是代表的是 _。 A A)一个整型变量一个整型变量,代表要读入的数据项总数代表要读入的数据项总数 B B)一个文件指针,指向要读的文件)一个文件指针,指向要读的文件 C C)一个指针,指向要读入数据的存放地址)一个指针,指向要读入数据的存放地址 D D)一个存储区,存放要读的数据项)一个存储区,存放要读的数据项 1111、fscanffscanf 函数的正确调用形式是函数的正确调用形式是_。 A A)fscanffscanf (fp(fp,格式字符串,输出表列,格式字符串,输出表列) ); B B)fscanffscanf(格式字符串,输出表列,(格式字符串,输出表列,fpfp) ; C)C) fscanf(fscanf(格式字符串,文件指针,输出表列格式字符串,文件指针,输出表列) ) D D)fscanffscanf(文件指针,格式字符串,输入表列)(文件指针,格式字符串,输入表列) 1212、fwritefwrite 函数的一般调用形式是函数的一般调用形式是_。 A A)fwrite(butter,fwrite(butter, count,count, sizesize fp)fp); B)B) fwrite(fp,fwrite(fp, size,size, count,count, butter)butter); C)C) fwrite(fp,fwrite(fp, count,count, size,size, butter)butter); 高级语言程序设计综合练习一 学号: 姓名: 33 D)D) fwrite(butter,fwrite(butter, size,size, count,count, fp)fp); 1313、fgetcfgetc 函数的作用是从指定文件读入一个字符,该文件的打开方式必须是函数的作用是从指定文件读入一个字符,该文件的打开方式必须是 _。 A A)只写)只写 B B)追加)追加 C C)读或读写)读或读写 D D)答案)答案 B B 和和 C C 都正确都正确 1414、若调用、若调用 fputcfputc 函数输出字符成功,则其返回值是函数输出字符成功,则其返回值是_。 A A)EOFEOF B B)1 1 C C
展开阅读全文