C语言程序设计期末复习资料_第1页
C语言程序设计期末复习资料_第2页
C语言程序设计期末复习资料_第3页
C语言程序设计期末复习资料_第4页
C语言程序设计期末复习资料_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

1、C程序设计期末复习题一、填空题1表达式1!= 2 && 3 <= 3的值为(1)2表达式!(3 > 5) 3 = =5的值为(1)3表达式!-2的值为(0)4表达式(x = 5) && 5 <= 10的值为(1)5表达式4 > 6!(3 < 7) 的值为(0)6C语言符号集包括(英文字母,数字,下划线和一些有特定含义的标点符号)7一个C程序有且只有一个(主函数或者main())8结构化设计中的三种基本结构是(顺序结构,选择结构,循环结构)9设int x=9,y=8;表达式x=y+1的结果是(1).10定义int x,y;执行y=(x

2、=1,+x,x+2);语句后,y的值是(4)11C语言源程序文件的后缀是(.C ),经过编译后生成文件的后缀是( .obj ),经过链接后生成的文件的后缀是( .exe )。 12表达式10/3的结果是( 3 )。13执行下列语句后,a的值是( -264 )。 int a=12;a+=a-=a*a;14一个C源程序有( 1 )个main( )函数和( 若干 )个其他函数。15C程序是从( 主函数main()的第一个可执行语句 )开始执行的。16设int x;当x的值分别为1,2,3,4时,表达式(x&1=1)?1:0的值分别是( 1 ),( 0 ),( 1 ),( 0 )。17执行下列

3、语句后,a,b,c的值分别是( 8 ),( 8 ),( 10 )。 int x=10,y=9; int a,b,c; a=(-x=y+)?-x:+y;b=x+;c=y;18C程序的基本单位是( 函数 )。19函数是由(函数的说明部分)和(函数体)组成。20表达式10%3的结果是( 1 )。21以下语句的输出结果是( -1 )。 unsigned int b=65535; printf("%d",b);22以下语句的输出结果是( ffff )。 int a=-1; printf("%x",a);23以下程序的执行结果是( 1 )。 #include<

4、stdio.h> main( ) int x=35; printf("%dn",(x&15)&&(x|15); 32. 24设int x=1,y=5;执行表达式x<2|y=1之后,y的值是(5)。25设int x=1,y=5;执行表达式x>2&&y=1之后,y的值是(5)。26x,y,z的值分别为3,4,5时,以下各句语句执行后,x,y,z的值是多少。 Aif(x>z) x=y;y=z;z=x; else x=z;z=y;y=x; 执行后x,y,z的值是(x=5, x=5, z=4) Bif(x<z)x=

5、z;else x=y;z=y;y=x; 执行后x,y,z的值是(x=5,y=5,z=4)提示:if(x<z)x=z;else x=y;的后继语句是z=y;y=x;这两名都能够执行得到,故也。27判断一个字符变量a是否是大写字母的逻辑判断语句是if(a>=A&&a<=Z).28将二进制数(11110010)转换成八进制数是 362 ,转化成十六进制数是 f2 。29 请将二进制数(1010010)转换为十进制数是 82 。30 请将十六进制数(AD3)转换为十进制数是 2771。31 请将八进制数(723)转换为十进制数是 467。 32 将十进制数(123)转

6、化成二进制数是 1111111 、转化成八进制数是177、转化成十六进制数是 7f 。33设有定义语句:int a 3= 0,1,2 ; ,则数组元素a12的值为_0_34 某函数fun( )具有两个参数,第一个参数是int型数据,第二个参数是float型数据,返回值类型是char型数据,则该函数的说明语句是 char fun(int a,float b) 。35 以下函数的功能是:当参数为偶数时,返回参数值的一半;当参数为奇数时,返回参数的平方,请填空。 Int fun(int x) return( x%2?x/2:x*x ); 36设有说明struct DATEint year;int m

7、onth;int day;请写出一条定义语句,该语句定义d为上述结构体变量,同时为其成员year,month,day依次赋初值2006,10,1. struct DATE d=2006,10,1。37设有说明struct studentint num;char name10;float score;以下语句完成分配一个用于存储struct student数据的内存空间,并让p指向该空间,请填空:struct student *p(struct student*)malloc(sizeof(struct student);38在C 程序的编辑、编译、链接、运行和调试过程中,编译是指 将高级语言源

8、程序翻译成目标程序。的过程39程序设计语言分为高级语言和低级语言。低级语言分为 机器语言 和 汇编语言。 40目前,有两种重要的程序设计方法,分别是 面向过程程序设计方法 和 面向对象程序设计。41 程序调试的目的是 发现和改正错误。42C 语言的注释有两种,其中,块注释由“/*.*/ ”标识,行注释由 “/” 标识。二、选择题1. 以下不正确的C语言的标识符是( D )。A. ABC B. abc C. a_bc D. ab.c2. 有一个名为newprint的函数用于打印sin(x),cos(x)和ln(x)等函数的曲线模拟,其参数就是这些函数,则newprint的说明是( C )。 A.

9、 double newprint( double x) B. void newprint(double( * f)(double x) C. void newprint(double(*f)(),double x) D. void ( * newprint )(double f(double x)3. 以下不正确的语句(设有int p,q)是 ( D )。A.p*=3; B. p/=q; C. p+=3; D. p&&=q;4. 设char ch;以不下正确的赋值语句是 ( D )。A. ch=123 ; B. ch=xff; C. ch=08 ; D. ch="&q

10、uot;5. 为了避免嵌套的if-else语句的二义性,C语言规定else总是与( C )组成配对关系。A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD. 同一行上的if6. 选择出合法的if语句(设int x,a,b,c;) ( A )。A. if (a=b) x+;B. if (a=<b) x+;C. if (a<>b) x+;D. if (a=>b) x+;7. 一个C程序是由( B )。 A. 一个主程序和若干个子程序组成 B. 一个或多个函数组成 C. 若干过程组成 D. 若干子程序组成8. C语言中规定函数的返回值的类型是

11、由( D )。 A. return语句中的表达式类型所觉定 B. 调用该函数时的主调用函数类型所决定 C. 调用该函数时系统临时决定 D. 在定义该函数时所指定的函数类型所决定9. 如果a=1,b=2,c=3,d=4,则条件表达式a<b? a:c<d? c:d的值为( A )。 A. 1 B. 2 C. 3 D. 410. 设int m=1,n=2,则+m=n的结果是( B )。 A. 0 B. 1 C. 2 D. 311. 在说明一个结构体变量时系统分配给它的存储空间是( D )。 A. 该结构体中第一个成员所需存储空间 B. 该结构体中最后一个成员所需存储空间 C. 该结构体中

12、占用最大存储空间的成员所需存储空间 D. 该结构体中所有成员所需存储空间的总和12. 以下程序的执行结果是( B )。 #include<stdio.h> main( ) int i=010,j=10; printf("%d,%dn",+i,j-); A. 11,10 B. 9,10 C. 010,9 D. 10,913. 以知字母A的ASCII码是65,以下程序的执行结果是( D )。 #include<stdio.h> main( ) char c1='A',c2='Y' printf("%d,%dn&q

13、uot;,c1,c2); A. A,Y B. 65,65 C. 65,90 D. 65,8914. 以下程序的执行的结果是( C )。 #include<stdio.h> #include<math.h> main( ) int a=1,b=4,c=2; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt(double)y)*1.2/c+x; printf("%fn",z); A. 14.000000 B. 15.000000 C. 13.700000 D. 14.90000015. 以下正确的C语言标识符是( C )。 A.

14、%xB. a+b C. a123 D. text!16. 一个C程序的执行是从( A )。 A. main( )函数开始,直到main( )函数结束。 B. 第一个函数开始,直到最后一个函数结束。 C. 第一个语句开始,直到最后一个语句结束。 D. mian( )函数开始,直到最后一个函数结束。17. 在程序中,main( )的位置( C )。 A. 必须作为第一个函数。 B. 必须作为最后一个函数。 C. 可以任意。 D. 必须放在它所调用的函数之后。18. 以下结果为整数的表达式(设有int i; char c; float f;) ( B )。 A. i+f B. i*c C. c+f

15、D. i+c+f20. 以下使i的运算结果为4的表达式是 ( D )。 A. int i=0,j=0; (i=3,(j+)+i); B. int i=1,j=0; j=i=(i=3)*2); C. int i=0,j=1; (j=1)?(i=1):(i=3); D. int i=1,j=1; i+=j+=2;21. 设n=10,i=4,则赋值运算n%=i+1执行后,n的值是 ( A )。 A. 0 B. 3 C. 2 D. 125. 有如下程序,输入数据:12345ffl678<CR>后,x的值是( B ),y的值是( A )。 #include<stdio.h> ma

16、in( ) int x; float y; scanf("%3d%f",&x,&y); A.12345 B. 123 C. 45 D. 345 B. 45678.000000 C26. 假定等级和分数有以下对应关系: 等级:A 分数:85-100 等级:B 分数:60-84 等级:C 分数:60以下 对于等级grade输入相应的分数区间区间,能够完成该功能的程序段是( D )。 A. switch (grade) case 'A' :printf("85-100n"); case 'B' :printf(&

17、quot;60-84n"); case 'C' :printf("60以下n"); default :printf("等级错误! n"); B. switch (grade) case 'A' :printf("85-100n"); break; case 'B' :printf("60-84n"); case 'C' :printf("60以下n"); default :printf("等级错误! n"

18、;); C. switch (grade) case 'A' :printf("85-100n");break; case 'B' :printf("60-84n");break; case 'C' :printf("60以下n"); default :printf("等级错误! n"); D. switch (grade) case 'A' :printf("85-100n");break; case 'B' :p

19、rintf("60-84n");break; case 'C' :printf("60以下n");break; default :printf("等级错误! n"); 27. 以下for循环是( C )。 for (x=0,y=0;(y! =123) && (x<4);x+); A. 无限循环 B. 循环次数不定 C. 执行4次 D. 执行3次28. 以下关于数组的描述正确的是( C )。 A. 数组的大小是固定的,但可以有不同的类型的数组元素。 B. 数组的大小是可变的,但所有数组元素的类型必须

20、相同。 C. 数组的大小是固定的,所有数组元素的类型必须相同。 D. 数组的大小是可变的,可以有不同的类型的数组元素。29. 在定义int a10;之后,对a的引用正确的是( D )。 A. a10 B. a6.3 C. a(6) D. a10-1030.设a是一个八进制数想使a的最低一位为1,其它位不变,应采用下列那种运算(B)。 A. a=a&1 B. a=a|1 C. a=a&7776 D. a=a|777631经过 int a34=1,2,3,4,5,6,7,8,9,10,11,12定义之后,元素a10的值是(B)。A. 2 B. 5 C. 10 D. 1232. 经过

21、int a34=1,5,9定义只后,元素a20的值是(C)。A. 1 B. 5 C. 9 D. 033fopen( )函数的mode取值"r"和"w"时,它们之间的差别是( B )。 A. "r"可向文件读入,"w"不可向文件读入 B. "r"不可向文件写入,"w"可向文件写入 C. "r"不可由文件读出,"w"可由文件读出 D. 文件不存在时,"r"建立新文件,"w"出错34 下面关于程序的说法

22、中 ( A )是正确的。A. 程序就是人与计算机交流的语言B. 程序是指由二进制0、1 构成的代码C. 将需要计算机完成的工作写成一种形式化的指令,而这些单个的指令就是程序D. 程序的设计形式是一致的35 下面叙述中不属于C语言的特点的是(C )A. C 语言允许直接对位、字节和地址进行操作B. C 语言具有可移植性C. C 语言是一种面向对象的程序设计语言D. C 语言数据类型丰富,功能强大,使用方便,灵活36 编写C 程序一般需要经过几个大步骤依次是(D )A. 编译、编辑、链接、调试、运行B. 编辑、编译、链接、运行、调试C. 编译、运行、调试、编辑、链接D. 编辑、调试、编辑、链接、运

23、行37 由C 源程序文件编译而成的目标文件的缺省扩展名为( B )A. cpp B.exe C.obj D.lik38C 语言程序由( B )组成A.子函数 B.函数 C.主程序 D.过程39C 语言中主函数的个数是( D )A.2 B.3 C.任意多个 D.140下面( )不属于C 语言集成开发环境包含的程序A. 编辑程序 B.编译程序 C.汇编程.序 D.调试程序41以下选项中合法的用户标识符是(B )。A.long B._2Text 提示:B有下划线(2之前)42下列关于C语言用户标识符的叙述中正确的是( B )。A. 用户标识符中可以出现在下划线和中划线(减号)B. 用户标识符中不可以

24、出现中划线,但可以出现下划线C. 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D. 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头43以下选项中合法的字符常量是( )。 A.BB.061C.68 D.D44以下选项中,非法的字符常量是( )。 A.t B.17C. nD.xaa45以下选项中可以作为C语言合法整数的是( )。 A.10110B B.0386 C.0Xffa D.x2a246以下符合C语言语法的浮点型常量是( )。 E0.5 B.3.14.159E C. .5E-3 D.E1547已定义c为字符型常量,则下列语句中正确的是( )。 A.c=97; B

25、.c=97; C.c=97; D.c=a;48若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是( )。A.-3 B.9 C.-12 D.649设x、y、t均为int型变量,则执行语句:x=y=3; t=+x+y;后,y的值为( )。A.不定值 B.4 C.3 D.150设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,则逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值是( )。A.0 B.1 C.2 D.351以下选项中,与k=n+完全等价的表达式是( )。A.k=n, n=n+1 B,n=

26、n+1,k=n C,k=+n D.k+=n+152假定x和y为double型,则表达式x=2, y=x+3/2的值是( )。A.3.500000 B.3 C.2.000000 53有以下定义语句double a ,b; int w; long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。A.a=a+b=b+ B.w%(int)a+b)C.(c+w)%(int)a D.w=3=b%a;54设a和b均为double型常量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是( )。A.6.500000 B.6 C.5.500000 55已有定义:int x=3, y=4, z

27、=5; ,则表达式!(x+y)+z-1 && y+z/2的值是( )。A.5 B.0 C.2 D.156以下合法的赋值语句是( )。A.x=y=100 B.d-; C.x+y; D.c=int(a+b);注:教材答案有误,B是表达式,不是语句,故也。57设x、y均为整型变量,且x=10, y=3,则以下语句printf(%d,%dn,x- -,- -y);的输出结果是( )。A.10,3 B.9,3 C.9,2 D.10,258x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )。A.INPUT x、y、z; B.scanf(%d%d%d,&am

28、p;x,&y,&z);C.scanf(%d%d%d,x,y,z); D.read(%d%d%d,&x,&y,&z);59已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是( )。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,&

29、amp;i,&j,&k);60以下程序的输出结果是( )。void main( ) char c=z;printf(%c,c-25);A.a B.Z C.z-25 D.y61若要求在if后一对圆括号中的表达式,能表示a等于0时的值为“真”,则能正确表示这一关系的表达式是()。Aa!=0 B.!a C.a D.a=062假设已有说明语句int a,b,k;语句if(a>b) k=0;else k=1;等价于() A.k=(a>b)?1:0; B.k=a>b C.k=a<=b D.以上均不是63若a,b,c1,c2,x,y,均是整型变量,正确的switch语

30、句是()A.switch(a+b); case 1:y=a+b;break; case 0:y=a-b:break; B. switch(a*a+b*b) case 3:case 1:y=a+b;break; Case 3:y=b-a:break; C. switch a case c1:y=a-b;break; Case c2:x=a*b:break; Default:x=a+b; D. switch(a-b); default :y=a*b;break;case 3:case 4:x=a+b;break; case 10:case 11:y=a-b:break; 64下列叙述中正确的是()

31、Abreak语句只能用于switch语句B在switch语句中必须使用defaultC. break语句必须与switch语句中的case配对使用D.在switch语句中,不一定使用break语句65关于下面的程序表达正确的是( )#include<stdio.h>void main()int x=3;do printf("%dn",x-=2); while(!(-x);A.输出的是1 B.输出的是1和-2 C.输出的是3和0 D.是死循环66整型变量x和y的值相等且为非0值,则以下选项中,结果为零的表达式是()。Ax|yB.x|yC.x&yD.xy67

32、有以下程序void main( )int x=3,y=2,z=1;printf(“%dn”,x/y&z);程序运行后的输出结果是()。A.3B.2C.1D.068有以下程序void main()unsigned char a,b;a=4 | 3b=4 & 3;printf(“%d%dn”,a,b);执行后输出结果是( )。A.70B.07C.11D.43068下列无符号数中最大的数是()。A.(10011001)2B.(227)8C.(98)16D.(152)1069以下正确的是( )。 Aint a =1,2,3,4; B. int a4=1,2,3,4,5; Cint n=

33、4, an=1,2,3,4; D. int a4, b; a=&b;70以下程序执行完后,数组a的数值是( )。 void main() int a =9,3,0,4,8,1,7,2,5,6, i=0, j=9, t; while(i<j) t=aj; aj=ai; ai=t; i+; j-; A.9,3,0,4,8,1,7,2,5,6 B. 0,1,2,3,4,5,6,7,8,9C.6,5,2,7,1,8,4,0,3,9 D. 9,8,7,6,5,4,3,2,1,071有如下定义语句:int a 3= 1,2 ,1,2,3,4,1,2,3,4 ;以下叙述正确的是( )。 A数组

34、a中共有10个元素 B. 数组a为4行3列的二维数组 C. 数组a初始化后的实际值是 1,2,1,2,3,4,1,0,0,2,3,4 D. 编译错误 72以下数组定义中不正确的是( )。 A. int a23; B. int b 3=0,1,2,3; C. int c100100=0; D. int d3 = 1,2,1,2,3,1,2,3,4 ;73若有说明语句:double *p,a;则能通过scanf 语句正确给输入项读入数据的程序段是() A.*p=&a;scanf(“%lf”,p); B.*p=&a;scanf(“%f”,p); C.p=&a;scanf(“%

35、lf”,p); D.p=&a;scanf(“%f”,p); 74设已有定义:float x;则以下对指针变量p进行定义且赋初值的语句中正确的是()。A.float *p=1024; B. int *p=(float)x;C.float p=&x; D.float *p=&x;75有以下程序void main() char ch=”uvwyz”,*pc;Pc=ch; Printf(“%cn”,*(pc+5);程序运行后的输出结果是()。A.z B.0 C.元素 ch5的地址 D字符y的地址提示“本题输出结果空白,因为0字符为空。76以下叙述错误的是( )A. C程序必须由

36、一个或一个以上的函数组成B. 函数调用可以作为一个独立的语句存在C. 若函数有返回值,必须通过return语句返回D. 函数形参的值也可以传回给对应的实参77设函数fun( )的定义形式为void fun(char ch,float x) 则以下对函数 fun( )的调用语句中,正确的是( )。A. fun(“abc”, 3.0);B. t=fun('D', 16.5);C. fun('65', 2.8);D. fun(65, 32.0);提示:本题B和D都是正确的78以下函数正确的是( )。A. void fun()return(1);B. int fun()

37、return;C. char fun()return(1.0);D. int fun()return(1);79已有定义:char a=”xyz”,b=x, y, z;以下叙述正确的是( )A. 数组a和b的长度相同 B. 数组a的长度小于数组b的长度C. 数组a的长度大于数组b的长度 D. 上述说法都不对提示:数组b没有字符串结束标志,但测试结果b的长度为7,盖因其无结束标志也。80以下程序的运行结果是( )void main() char a7=”a00a00”;int i,j;i=sizeof(a);j=strlen(a);printf(“%d %dn”,i,j);A. 2 2 B. 7

38、 6 C. 7 2 D. 6 2提示:数组声明后系统即按括号中的数据开辟空间81以下语句或语句组中,能正确进行字符串赋值的是( )。A. char *p; *p=”right”; B.char s10 ; s=”right!”;C. char s10; *s=”right!”; D.char *p=”right!”;82以下结构体类型说明和变量定义中正确的是()。A typeof struct B.typeof REC; int n;char c;Int n;char c; REC t1,t2; REC;REC t1,t2;C.typeof struct REC; D.structint n=

39、0;char=A;t1,t2; int n; char c;REC t1,t2;83有以下程序段:struct stint x;int *y;*pt;int a=1,2,b=3,4;struct st c2=10,a,20,b;pt=c;以下选项中表达式的值为11的是()。A.*pt->y B.pt->x C.+pt->x D.(pt+)->x84设有以下定义union dataint d1;float d2;demo;则下面叙述中错误的是()A 变量demo与成员d2据所占的内在字节数相同B 变量demo中各成员的地址相同C 变量demo和成员的地址相同D 若demo

40、.d1给赋99后,demo.d2中的值是99.0提示:d1和d2类型不同。86关于文件的打开方式,下列说法正确的是()。A. 以“r+”方式打开的文件只能用于读B. 不能试图以”W”方式打开一个在存在的文件C. 若以”a”方式打开一个在存在的文件,则会新建一个文件D. 以“W”或”A”的方式打开文件时,可以对该文件进行定操作87要在C盘MyDir目录下新建一个MyFile.txt文件用于写,正确的C语句是()。A FILE *fp=fopen(“C:MyDirMyFile.txt”,”w”);B. FILE *fp;fp=fopen(“C:MyDirMyFile.txt”,”w”);C. FI

41、LE *fp;fp=fopen(“C:MyDirMyFile.txt”,”r”);D. FILE *fp=fopen(“C:MyDirMyFile.txt”,”r”);88C语言中,下列说法不正确的是()。A 顺序读写中,读多少个字节,文件读写位置指针相应地也向后移动多少个字节B 要实现随机读写,必须借助文件定位函数,把文件读写位置指针定位到指定的位置,再进行读写C fputc()函数可以从指定的文件读入一个字符,fgetc()函数可以 把一个字符写到指定的文件中D 格外化写函数fprintf()中格式化的规定与printf()函数相同,所不同的只是fprintf()函数是向文件中输出,而pr

42、intf()是向屏幕中输出 下列可以将fp所指文件中的内容全部读出的是()A. ch=fgetc(fp); B. while(!feof(fp)while(ch=EOF) ch=fgetc(fp); ch=fgetc(fp);C.while(ch!=EOF) ch=fgetc(fp); D. while(feof(fp) ch=fgetc(fp);89设有char st320=“China”,”Korea”,”England”;下列语句中,运行结果与其他3项不同的是()。Afprintf(fp,”%s”,st2); B. fputs(“England”,fp);C. p=st2; While(

43、*p!=n)fputc(*p+,fp); D. fwrite(st2,1,7,fp);提示:C使用字符n控制循环,造成文件后面有乱字符,故也90若fp是指向某文件的指针,且已读到此文件的末尾,则库函数feof(fp)的返回值是()。A. EOF B. 0 C. 非零值 D. NULL三、判断题1. C语言中规定函数的返回的类型在有调用该函数时系统临时决定。( × )2. 数组的大小是可变的,但所有数组元素的类型必须相同。( × )3. for循环体语句中,可以包含多条语句,但要用花括号括起来。( )4. C语言中不能使用do-while语句构成的循环。( × )5

44、. 使用fseek函数可以改变文件的位置指针的当前位置。()6. 一个程序应包括两个方面的内容:数据的描述和操作步骤。( )7. 凡是C源程序中行首以"#"标识的控制行都是预处理命令。( )8. C语言的编译系统对宏命令的处理在程序运行时进行的。( × )9. 联合体类型在任何给定时刻所有成员一直驻留在结构中。(× ) 10. 数组的大小是固定的,所有数组元素的类型必须相同。( )11. for循环只能用次数已经确定的情况。( × )12. 检测fp文件流的文件位置指针在文件头的条件是ftell(fp)=0。( )13. C语言中规定函数的返回

45、值的类型是由调用该函数时的主调用函数类型所决定。(× )15. C语言的编译系统对宏命令的处理是在对源程序中其它语句正式编译之前进行的。()16. 在程序的一行中可以出现多个有效的预处理命令行。(× )17. 联合体类型在任何给定时刻没有成员驻留在结构中。( × )18. C语言的函数定义不能嵌套但调用可以嵌套。( )19. C语言中do-while语句构成的循环,当while语句中的表达式值为零时结束循环。( )20. C语言用true表示逻辑"真"值。(× )21. for循环是先执行循环体语句,后判定表达式。(×)22

46、. 数组的大小是可变的,可以有不同的类型的数组元素。(×)23. 在C语言中,指向指针的指针称为多级指针。()24. 在C语言中,要求对所有用到的变量作强制定义,也就是"先定义,后使用"。( )25. C语言的编译系统对宏命令的处理是在程序连接时进行的。( × )26. 宏定义不能出现在函数内部。( )27. 对于C语言的函数它们定义和调用都不能嵌套。( × )28. C程序在执行过程中对预处理命令进行处理。( × )29. 使用fseek函数可以实现改变文件的位置指针的当前位置。( )31. C语言中规定函数的返回值的类型是由于调用

47、该函数的主调用函数类型所决定。(× )32. 变量的作用域是指该变量有定义的程序部分。( )33. 在定义一个函数时,若指定函数返回值的存储类型为static关键字,则称该函数是"静态" 函数。( )34. 数组的大小是可变的,可以有不同的类型的数组元素。( × )35. for循环体语句中,可以包含多条语句,但要用花括号括起来。( )36. 在说明一个联合体变量时系统分配给它的存储空间是该联合体中所有成员所需存储空间的总和。(× ) 37C语言中,字符串以'0'为结束标志。() 38数组名代表该数组的首地址。() 39C语言中

48、,用格式符"%s"输入字符数组时,数组名前不能加&。() 40C语言中,gets()函数的返回值是用于存放输入字符串的字符数组首地址(×) 41设有int a;char abc5="abcd"则a=strlen("ABC");执行后a的值为5。(×) 42定义数组时可以同时给数组赋初值,初值的个数可以超过数组的长度,多余的被忽略。(×) 43已知字符数组str1的初值为"China",则语句str2=str1;执行后字符数组str2也存放字符串"China"

49、。(×)44二维及多维数组在定义的同时给数组赋初值时,可以省略数组的各维长度。(×) 45对于数值型数组来说,可以一次引用整个数组。(×)46C语言中,在对全部数组元素赋初值时,必须指定数组的长度。(×) 47C语言中,数组元素在内存中是顺序存放的,它们的地址是连续 的。() 48C语言中,数组元素的下标是从1开始的,下标不能越界。(×)49C语言中,数组名是一个常量,是数组首元素的内存地址,可以重新赋值。(×) 50一个数组中的所有元素可以具有不相同的数据类型。(×) 51一个C程序可以由若干各函数组成,这些函数可以书写在

50、不同的文件中。() 52C语言中,函数间数据传递的方式有三种,即用返回值、参数、全局变量。() 53函数的形参只能在函数内部使用。() 54C语言中,实参可以是常量、变量或表达式。() 55C语言中,实参的个数、类型和位置必须与形参的定义一一对应。() 56C语言中,编译预处理后所有的符号常量名和宏名都用相应的字符串替换。() 57宏展开不作语法检查,展开时不替换关键字和常量。实参向形参进行数值传递时,数值传递的方向时单向的,即形参变量值的改变不影响实参变量的值。() 58函数原型说明中,省略形参变量或者将形参变量写成其它名称不影响程序的正确性。() 59一个C程序中只能包含一个main()函

51、数,程序总是从main()函数开始执行。() 60数组名作为函数的参数时,实参数组和形参数组共用相同的内存单元。()61所有的函数调用前都必须进行函数原型说明。(×)62函数可以嵌套定义,也可以嵌套调用。(×)63C语言中,结构类型与结构变量的含义一样,都可以用来存放数据。(×) 64共用体所有成员共用的内存单元的大小为各成员需要占用内存大小之和。(×)65将整数值赋给枚举变量时不需要作强制类型转换。(×) 66共用体所有成员都共用同一内存单元() 结构体数组不可以在定义时进行初始化。(×) 67结构体可以定义在单独的头文件中,使用时

52、需要在对应C文件中包含该头文件。() 68C语言中,关键字enum可用于结构类型的定义。(×)69可以把结构体数组元素作为一个整体输出。(×) 70结构体变量作参数时是地址传递。(×) 71C语言中,结构的成员可以是一维数组或多维数组。()72枚举类型时一种基本的数据类型。(×) 73结构体和共用体成员的应用都只能引用最低一级的成员。()74int a=5,*p;p=&a;则p的值为5。(×) 75表达式*p+的运算顺序为先自增后取值。(×) 76语句*p;执行之后p指向的内存单元被改变。(×) 77两个指针相加没有意义。() 78*(aij)与aij的含义相同。() 79指针、数组名、函数名都是地址。() 80void 类型的指针不指向某种类型的数据,所以没有意义。(×) 81一个指针变量的值是一个地址值。() 82指针作函数的参数时是地址传递方式

温馨提示

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

评论

0/150

提交评论