C语言期末复习题_第1页
C语言期末复习题_第2页
C语言期末复习题_第3页
C语言期末复习题_第4页
C语言期末复习题_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

1、精选优质文档-倾情为你奉上本科C程序设计期末复习题一,选择1.C 语言程序中可以对程序进行注释,注释部分必须用符号_C_括起来。A. 和 B.和 C.“/*”和”*/” D.“*/”和”/*”2.C 语言程序的三种基本结构是顺序结构、选择结构和_B_结构。A递归 B循环 C转移 D嵌套3.若变量已正确定义,表达式(j=3, j+) 的值是_B_ 。A.3 B. 4 C.5 D.04.已知字符a的ASCII码为 97 ,执行下列语句的输出是_D_。 printf ("%d, %c", b, b+1 ) ; A.98, b B.语句不合法 C.98, 99 D.98, c5.表

2、达式strcmp(“box”, “boss”) 的值是一个_A_。A.正数 B.负数 C.0 D.不确定的数(答案是1,也就是正数。strcmp是这样比较的,两个字符串,从第一个字符开始比,如果相同,继续向下比,如果不同,看这两个字符的ASCII码,如果第一个字符串的比较大,则返回1,否则返回-1。这个题目两个字符串前面两个字符"bo"是一样的,不用看。比较第三个字符,'x'的ASCII码是120,'s'的ASCII码是115,也就是'x'>'s',所以第一个字符串比较大,返回1)6.数组定义为 int

3、a32=1, 2, 3, 4, 5, 6,数组元素_B_的值为6。A.a32 B.a21 C.a12 D.a23(a12值为6,行下标从0到1,列下标从0到2,最后一个元素是a12)7.要调用数学函数时,在#include命令行中应包含_C_。 A.”stdio.h” B.”string.h” C.”math.h” D.”ctype.h”8. 对于以下结构定义,+p->str中的+加在_A_。struct int len; char *str; *p;A. P的成员指针str上 B.指针p上 C. P的成员str指的内容上 D.以上均不是9.若a是基本整型变量,c是单精度实型变量,输入语

4、句_D_是错误的。 A.scanf(”%d,%f”, &a, &c); B.scanf(”d=%d, c=%f”, &a, &c); C.scanf(”%d%f”, &a, &c); D.scanf(”%d%f”, a, c);10.若变量p已正确定义并且指针p已经指向某个变量x,则(*p)+相当于_B_。 A.p+ B.x+ C.*(p+) D.&x+11. 下列叙述中正确的是(A)。A.函数定义不允许有嵌套,但函数可以嵌套调用B.函数定义可以嵌套,但函数调用不可以嵌套C.函数定义和函数调用都不能嵌套D.函数定义与函数调用都可以嵌套12

5、. 以下程序的输出结果是 B        main()    char a10=”6789”,*p;       p=a;    printf(“%sn”,p); A.6 B.6789 C.'6' D.78913. 若有说明:int a 3=1,2,3,4,5,6,7;则a数组第一维的大小是_B_。A.2 B.3 C.4 D.无确定值(int a3=

6、1,2,3,4,5,6,7;这个定义相当于是这样的 .int   a3=1,2,3,4,5,6,7; 所以a的第一个维度就是3。系统会根据第二个维度大小自动设置第一个维度。注意,这里第二维度是不能像第一个维度那样省略的。)14._D_是合法的用户自定义标识符。A. b-b B.float C.<fr> D. _isw ( 1) 标识符由字母、数字、下划线“_”组成,并且首字母不能是数字.2) 不能把作为标识符,例如if ,define ,for, while等.3) 标识符长度是由机器上的编译系统决定的,一般的限制为8字符(注:8字符长度限制是C89标

7、准,C99标准已经扩充长度,其实大部分工业标准都更长)。4) 标识符对大小写敏感,即区分大小写。5)标识符命名应做到“见名知意”下面的标识符名是合法的:year,Day,ATOK,x1,_ CWS,_change_to而下面的标识符名是不合法的:#123,.COM,$100,1996Y,1_2_3,Win3.2 )15._C_是不正确的字符常量。A.'n' B.'1' C."a" D.'101'16.在 C 程序中,用_B_表示逻辑值“真”。A.-1 B.非 0 的数 C.非 1 的数 D. 0 17.把x、y定义成float

8、类型变量,并赋以相同初值3.14,以下语句正确的是_CA.float x, y=3.14; B.float x, y=2*3.14; C.float x=3.14, y=x=3.14; D.float x=y=3.14;18.若变量已正确定义,语句“if(a>b) k=0; else k=1;”和_C_等价。 A.k=(a>b)?1:0; B.k=a>b;C.k=a<=b; D.a<=b ? 0 : 1;19.设变量定义为“int a, b;”,执行下列语句时,输入_A_,则a和b的值都是10。 scanf("a=%d, b=%d",&

9、a, &b);A.10 10 B.10, 10 C.a=10 b=10 D.a=10, b=1020.在C程序中,若对函数类型未加说明,则函数的隐含类型为_A_。A.int B.double C.void D.char 21.设变量定义为“int x, *p=&x;”,则&*p相当于_A_。A.p B.*p C.x D.*&x(选择 A. 因为*p是指针。当x的地址赋值个指针p的时候,他们的地址就一样(数值也是一样)。指针的话,要表示数值的话用用*p,指地址的话,只要p就可以。如果加地址符号&,那就值该指针的地址(&*p),也就是值x的地址。AB

10、CD中,只有A选项表p的地址(即是x的地址)。B、C和D都是表值。)22.对于以下的变量定义,表达式_ D_不符合C语言语法。struct node int len; char *pk; x = 2, "right", *p = &x;A.p->pk B.*p.pk C.*p->pk D.*x.pk23.有以下程序段int k=0while(k=1) k+;while 循环执行的次数是_A_A. 无限次 B. 有语法错,不能执行C. 一次也不执行 D. 执行1次(无限次,因为while里面是 k=1 这是一个赋值语句 如果是判断语句应该是while k=

11、1. 因为是赋值语句 所以每次都是会执行 )24. 以下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);25. 若有说明:int a34;则对a数组元素的正确引用是C。 A.a24 B.a1,3 C.a1+10 D.a(2)(1)26. 若二维数组a有m列,则计算任一元素aij在数组中位置的公式为_D_。(假设a00位于数组的第一个位置上。) A.i*m+j B.j*m+i C.i*m+j-1 D.i*m

12、+j+127. 以下正确的说法是_C_。 A.定义函数时,形参的类型说明可以放在函数体内 B.return后边的值不能为表达式 C.如果函数值的类型与返回值类型不一致,以函数值类型为准 D.如果形参与实参的类型不一致,以实参类型为准28. C 语言程序的三种基本结构是顺序结构、选择结构和_C_结构。A递归 B转移 C循环 D嵌套29. 以下不能定义为用户标识符是( D ) A.MaIn B._0 C._int D.if30. 假定有以下变量定义:int K=7,X=12;则能使表达式值为3的是( D )AX%(K5) BX(KK%5)CX%XK%5 D(XK)(K%=5)31.设x,

13、y均为float型变量,则以下不合法的赋值语句是D.A.+x; B.y=x%2; C.x*=y+8; D.x=y=0;32. 以下叙述正确的是C。 A.在C程序中,main函数必须位于程序的最前面B.C程序的每行中只能写一条语句C.C语言本身没有输入输出语句D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误33. 函数的返回值的类型是:(A)A.函数的类型B.函数类型与return语句中表达式类型中高的类型C.return语句中表达式的类型D.调用函数所赋值的变量的类型34.数组定义为 int a1111,则数组a 有_D_个数组元素。A12 B144 C100 D12135.对于以下

14、的变量定义,表达式_D_是不正确的。struct node int j, k; x, *p=&x;Ap->k=2 B(*p).k=2 Cx.k=2 Dx->k=236.不正确的赋值或赋初值的方式是_B_。Achar str ="string" Bchar str10; str="string"Cchar *p="string" Dchar *p; p="string"37. 以下关于宏替换的叙述不正确的是 ( B ) A.宏替换只是字符替换 B.宏名无类型C.宏替换不占用运行时间 D.宏替换不占

15、用编译时间38.为了表示关系x>=y>=z,应使用C语言表达式:(A)A.(x>=y)&&(y>=z) B. (x>=y) AND(y>=z) C.(x>=y)|(x>=z)D. (x>=y)&(y>=z)39.已有函数max(a,b),为了使函数指针变量p指向函数max,正确的赋值方法是:(D ) A.p=max B.*p=max C.p=max(a,b) D.*p=max(a,b)40.设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值:scanf("i=%d,f=%f&qu

16、ot;,&i,&f); 为了把100和765.12分别赋给i和f,则正确的输入为(B )A.100,765.12 B.i=100,f=765.12 C.100 765.12 D.x=100 y=765.1241.int s45,(*ps)5;ps=s;则对s数组元素的正确引用方式是:( C)A. ps+1 B. *(ps+3) C. ps02 D. *(ps+1)+342. C 语言程序的三种基本结构是顺序结构、选择结构和_C_结构。 A递归 B转移 C循环 D嵌套43. 为表示关系xyz,应使用C语言表达式 A   A)(x>=y)&

17、;&(y>=z) B(x)=y)AND(y)=z)   C)(x)=y)=z) D)(x)=y)&(y)=z)44. 设有说明int s2=0,1,*p=s; 则下列错误的C语句是 (A ) A.s+=1; B.p+=1; C.*p+; D.(*P)+;(数组名不能进行自反赋值运算,数组名就代表这个数组的首地址,是不能更改的)45. 以下选项中不正确的字符常量是_D_。 A'1' B'0' C'%d' D1046. 设有如下定义:int x=10,y=3,z;则语句printf(“%dn”,z=

18、(x%y,x/y);的输出结果是    A)1 B)0    C)4 D)3(x%y = 1 x/y=3 ,(x%y ,x/y ) 为逗号表达式 结果取最后一位)47. 已知字符 a 的ASCII码为 97 ,执行下列语句的输出是_A_。 printf ("%c%d", b, b+1 ) ; Ab99 B98c C9899 Dbc48. 在C 语言程序中,在函数内部定义的变量称为_C_。 A全局变量 B外部变量 C局部变量 D内部变量49. 以下对一维数组的定义中,正确的是: A 。A) #de

19、fine MAX 5B) int MAX=5; int aMAX;int aMAX;C) int MAX; D) #define MAX 5;Scanf(“%d”,&MAX);int aMAX; int aMAX;50. 若有以下定义及语句:struct s1chara3;int num;t=a,b,c,4,*p;p=&t;则输出值为c的语句是_B_。A) printf(“%cn”,p->t.a2);B) printf(“%cn”,(*p).a2);C) printf(“%cn”,p->a3);D) printf(“%cn”,(*p).t.a2);51. 对于变量定

20、义:int *p10, p 是一个_B_。A指针 B数组 C函数 D数组元素52. C语言规定:在一个源程序中,main函数的位置 C 。 A)必须在程序的最开始 B)必须在系统调用的库函数的后面C)可以任意D)必须在程序的最后 53. 两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是 D    main()    int x;    scanf(“%d”,&x);    if(x>5)printf(“%d”,

21、x);    else printf(“%dn”,x-);        A)7和5 B)6和3 C)7和4 D)6和454.  以下程序的输出结果是 ( C)    A2 0 ; B3 1; C3 2 1 0 ; D2 1 0    main()    int n=4;    while(n>0) n

22、-; printf(“%d ”,n);     55. 不能把字符串:Hello!赋给数组b的语句是 B    A)char b10='H','e','l','l','o','!';    B)char b10;b=“Hello!”;    C)char b10;strcpy(b,“Hello!”);   

23、60;D)char b10=“Hello!”(字符数组初始化有两种方法:一种是逐个字符赋值,另一种是用字符常量对整个数组赋值。A是第一种,D是第二种。显然第一种比第二种繁琐复杂。C是字符串拷贝函数。函数格式: char *strcpy (char *s1, const char *s2);功能: 将S2所指的字符串拷贝到S1所指的字符串中。说明:(1)参数S1S2都是指向字符串的指针。S1可以是字符数组名或字符指针,但不能是字符型常量,S2可以是字符串常量、字符数组或字符指针。(2)将S2所指的字符串拷贝到S1所指的字符串中,用赋值语句S1=S2;是不行的,赋值语句要求左边是左值,S1是常量。

24、(3)要保证S1的长度足够大,以便能容纳下S2所指的字符串,否则引起错误。C 对于非strtic型数组不初始化,其元素值不能确定。对strtic数组元素不赋初值,系统会自动赋以0值。)赞同56. 表达式:10!=9的值是 D    A)true B)非零值 C)0 D)157C 语言程序的三种基本结构是顺序结构、选择结构和_A_结构。A、循环 B、递归 C、转移 D、嵌套58若x是单精度实型变量,表达式 (x = 10/4) 的值是_B_ 。A、2.5 B、 2.0 C、 3 D、 259. 已知 int j,i1; 则执行ji+; i和j的值为( C

25、)。 A)1,1B)1,1C)2,1D)2,160下列程序的运行结果是( A)。 main( ) char s20=“China”; printf(%dn,strlen(s);A)5B)6C)20D)无显示61. 以下程序的输出结果是(C)。 main( ) Int j,x33=1,2,3,4,5,6,7,8,9; for(j=0;j<3;j+) printf(%d,xj2-j); A)1,5,9B)1,4,7C)3,5,7D)3,6,9(for循环里面一共是循环三次 所以输出的分别是X02(J=0时);X11(J=1时);X20(J=3时)所以分别是第3 5 7)62下列叙述中正确的是

26、(A)。A) 函数定义不有嵌套,但函数调用可以嵌套B) 函数定义可以嵌套,但函数调用不可以嵌套C) 函数定义和函数调用都不能嵌套D) 函数定义与函数调用都可以嵌套63若x为整型变量,以下定义指针的正确语句是(C)。A)int p=&x;B)int p=x;C)int *p=&x;D)p=x;64以下有关宏替换的叙述不正确的是B。 A)宏替换不占用运行时间 B)宏名无类型C)宏替换只是字符替换 D)宏名必须用大写字母表示65若k为整型,以下while循环_B_次。 int k=10; while (k=0) k=k-1;A) 10次 B) 无限循环 C) 一次不执行 D) 执行一

27、次(0次 while(k=0)k=k-1;k=0先给中赋值再判断kwhile(k)相当于是while(k!=0)这里k为0,所以为假,退出)66某文件中定义的静态全局变量(或称静态外部变量)其作用域是 ( B)A.只限某个函数 B.本文件C.跨文件 D.不限制作用域67. 以下程序的输出结果是 ( B ) 。# include<stdio.h>main() int a ,b,d=241; a=d/100%9; b=(-1)&&(-1); printf("%d,%dn",a,b); A) 6,1 B) 2,1 C) 6,0 D) 2,068. 下面

28、的程序 BA) 输出的是1 B) 输出的是1和-2 C) 输出的是3和0 D) 是死循环main() int x=3; do printf("%dn",X-=2); while(!(-x);69. 下面程序的输出是 BA) 741 B) 852 C) 963 D) main() int y=9;for( ; y>0; y-) if(y%3=0) printf("%d", -y);continue;.70. 以下说法中正确的是 CA) C语言程序总是从第一个的函数开始执行B) 在C语言程序中,要调用的函数必须在main()函数中定义C) C语言程序总

29、是从main()函数开始执行D) C语言程序中的main()函数必须放在程序的开始部分71. 当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是 CA) c=b=a; B) (a=c) (b=c) ;C) (a=c) &&(b=c); C) a=c=b;72.程序说明:根据下式计算s 的值,要求精确到最后一项的绝对值小于10-6。 s = 1-1/3+1/5-1/7+. #include <stdio.h> #include <math.h> void main() int flag = 1, t = 1; (1) ;while( (2) )

30、 item = flag * 1.0 / t ; s = s + item ; (3) ; t =t+2; printf ( “s = %fn” ,s);B(1) A.double item = 2 , s = 0; B.double item = 0 , s = 0; C.double item = 1 , s = 1; D.double item = 3 , s = 1; D(2) A.item<1E-6 B.item>=1e-6; C.fabs(item)<1E-6 D.fabs(item)>=1E-6 C(3) A.flag = -1 B.s = -s C.fl

31、ag = -flag; D.t = -t73.程序说明:输入一批以-1结束的整数,求偶数和。 #include <stdio.h> void main( ) int x,sum; sum=0; scanf(“%d”,&x); _ if _ sum=sum+_; _; printf(“sum=%d”,sum); B (1) A. while(x=-1) B.while(x!=-1)C. if(x=-1) D.if(x!=-1) C(2) A.x=2 B.x%2=2 C.x%2=0 D.x/2=0 A (3) A.X B.2 C.1 D.-1 A (4) A.scanf(“%d

32、”,&x) B.scanf(“%d”,x) C.sum=0 D.x=sum74. 输入100个整数,将其中的前20个数从小到大排序,然后输出这100个数。# include "stdio.h"void sort( (1) ) int i, k, m, t; for(i=0; i< n-1; i+) k=i; for(m=i+1; m<n; m+) if( (2) ) k=m; (3) void main( ) int k, a100; for(k=0; k<100; k+) scanf("%d", &ak); (4) ;

33、 for(k=0; k<100; k+) printf("%d ", ak);A(1) A.int a, int n B.int *a, int n C.int *a, int *n D.int a D(2) A.am-1>am B.am-1<am C.ak<am D.ak>amC(3) A.ak = ai; ai = ak; B.ak = t ; ak = ai; ai = t; C.t = ak; ak = ai; ai = t; D.ai = ak; ak = ai;B(4) A.sort(a, 20) B.sort(a , 20) C.

34、sort(a20) D.sort(a )75.输入一个字符串,将其中的大写字母转换为小写字母后输出。 #include <stdio.h> #include<string.h>void main() char str80; int k; gets(str); for(k=0;strk!=0;k+) if(_(1)_) _(2)_; put(str);C(1) A.A<=strk<=Z B. strk>a&& strk<zC. strk>=A&& strk<=Z D. strk>=A| strk&l

35、t;=ZD(2) A.strk=strk-32 B. strk= strk-a+A C. YOLOERT(strk) D. strk= strk +a-A76. 求 1 + 2/3 + 3/5 + 4/7 + 5/9 + 的前20项之和。 运行示例:sum = 11.【程序】#include <stdio.h>void main( )int i, b = 1;double s; (1) ;for(i = 1; i <= 20; i+) s = s + b; (2) printf( (3) , s);【供选择的答案】A(1) A.s = 0B.s = 1 C.s = -1D.s

36、 = 2D(2) A.;B.b = 2 * i 1; C.b = 1.0 * b; D.b = b + 2; C(3) A."sum = %dn" B."s = %cn"C."sum = %fn" D."s = %sn"77. 程序功能:输入n以及小于n个字符的字符串,将字符串中所有小写字母改为相应的大写字母后,输出该字符串。#include <stdio.h>#include <string.h>void main() int n,i; char str100; scanf("%

37、dn",&n); gets(str);for(i=0;i<_(1)_;i+) if(stri>='a'&& stri<='z') stri=_ (2)_; puts(str); B (1) A. len(str) B.strlen(str)C. strcmp(str) D.strcpy(str) A (2) A.strI-('a'-'A') B.strI- ('A'-'a') C. strI-('a'+'A') D.

38、 strI-'A'78.以下程序的输出结果是 CA) 5 2 B) 5 1 C) 5 3 D) 9 7main( ) int i,x33=9,8,7,6,5,4,3,2,1,*p=&x11;for(i=0;i<4;i+=2)printf("%d ",pi);二,填空1. 写出下列程序段的输出结果_1,0.0_。 float x1, x2; x1=3/2; x2=x1/2; printf("%d, %.1f", (int)x1, x2) ;2. 在C语言中,while语句中的条件为_0_时,结束该循环。 3. 写出下列程序段的

39、输出结果_-2_。 #define A 10 #define B (A<A+2)-2 printf("%d", B*2);4. 写出判断字符变量c是英文字母的表达式 c>=a&&c<=z| c>=A&&c<=Z 。5. 字符型数据的存储需要_1_个字节。6. C程序中程序的入口是_main_函数。7. 执行下面程序中的输出语句,a的值是_20_ main() int a; printf("%dn",(a=3*5,a*4,a+5);((括号的结果是a+5的值第一步a=15第二步对a不影响第三步a

40、+5=20所以输出20))8.写出下列程序段的输出结果_12,d_ _。 char str="hellotworldn" printf("%d, %cn", strlen(str), *(str+10);9.在C程序中,语句之间必须要用_ _分号_分隔。10._break_语句可以使得c程序的执行直接从循环中跳出。11.以下程序的功能是用递归方法计算学生的年龄,已知第一位学生年龄最小,为10岁,其余学生一个比一个大2岁,求第5位学生的年龄。请填空。 #include<stdio.h> age(int n) int c; if(n= =1) _

41、(1)_ _c=10_; else c=_(2)_ age(n-1)+2_; return(c); main() int n=5; printf(“age: %dn”,_(3)_ _c _); 12. 下面这个程序的功能是将字符串s中所有的字符c删除。#include <stdio.h>main() char s80; int i,j  printf("Please enter string s:"); gets(s)  for (i=j=0;_ (1)_ i<80 _  i+) if(si!=c) _(2)_ sj=si;j

42、+ _; sj=0; puts(s);13.表示“xyz”的C表达式是:_(x>=y)&&(y>=z) 或者 x>=y&&y>=z_。(应该注意的知识点是:1.运算符的优先级:关系运算符的优先级高于逻辑运算符2.结合性:都是自左至右3.运算对象的个数:都是双目运算符4.表达式的结果:真或假,即0或1另外需要注意的是,只有当x>=y为真时,才需要判断y>=z的值,也就是当x>=y为假时,后面的运算就不执行了)14.下面的程序段输出结果为:_20_。main() int a; printf("%dn",(

43、a=3*5,a*4,a+5);(括号的结果是a+5的值第一步a=15第二步对a不影响第三步a+5=20所以输出20)15.下列程序段的输出是_5,25_。#define f(a, b, x) a*x+bprintf("%d, %dn", f(3,2,1), f(6, 5, f(3, 2, 1);16.当调用函数时,实参是一个数组名,则向函数形参传送的是_被传数组首元素的地址_。17.设X为整型,则以下语句的输出结果是_3_。x=11/3; printf(“%dn”,x);18.若i为整型变量,则以下循环执行次数是_0_。for(i=2,i=0;) printf(“%d”,i

44、- -);19.在C语言中,表达式为逻辑值"假"时用 0 表示。20.下列程序段的输出是_6_。int *p, *q, k=5 , j=6 ; q=&k ; p=q ; q=&j ;printf("%d", *p);21.以下程序的输出结果是_ .输出值不确定_。(由于数组a只有部分值初始化了,所以没有初始化的成员的值是不确定的)main() int a44=1,3,5,2,4,6,3,5,7; printf("%d%d%d%dn",a03,a12,a21,a30); 22.变量的指针含意是指变量的_存储地址_。23.

45、 输入一个字符串和一个正整数m,将该字符串中的前m个字符复制到另一个字符串中,再输出后一个字符串。#include <stdio.h>#include <string.h>void main( ) char s80, t80, i, m;printf("Enter a string:"); gets(s);printf("Enter an integer:");scanf("%d", &m); for(i =0; (1) i<m ; i+) (2) ti = si; ; (3) ti='0

46、' ;printf("The new string is ");puts(t);24. 输入1个正整数 n, 计算并输出 s 的前n项的和。 s = 1/2 -2/3 + 3/4 - 4/5 + (-1)n-1 n/(n+1)#include <stdio.h>void main( ) int k, flag=1, n; float s=0; scanf("%d", &n); for (k=1;k<=n; k+) s=s+ (1) flag*n/(n+1) ; (2) flag=-flag ; printf("

47、sum=%fn", s);25若有定义:char c=010;则变量c中包含的字符个数为: 1 。26. 以下循环体的执行次数是_1_main() int i,j;for(i=0,j=1; i<=j+1; i+=2, j-) printf("%d n",i);27. 在C语言中,表达式为逻辑值"假"时用 0 表示。28. 下面程序段运行结果是3. main() int x=10,y=3; printf("%dn",y=x/y);29. 若有定义double x35;则x数组中列下标的最大值为_4_。30. 下面程序的运

48、行结果是12。 #define MUL(z) (z)*(z)main()printf(“%dn”,MUL(1+2)+3);31. 变量的指针含意是指变量的_存储地址_。32. 在C语言中,输入操作是由库函数_ main_完成的。33. 有int a=3,b=4,c=5;则表达式 a|b+c&&b 的值为_1_。34. 设P是一个长度为5的一维整型指针数组,该数组的定义为        *p5      P145  

49、60;     。35.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。请填空。 int n=0,c; c=getchar(); while(_c!=n_) if(_c>=1&&c<=9 _) n+; c=getchar();36.下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中,请填空。 main() int a23=1,2,3,4,5,6; int b32,i,j; printf(“array a:n”); for(i=0;i<=1;i+) for(j=0;_1 _j<=2_;j

50、+) printf(“%5d”,aij); _2_ bji=aij_;printf(“n”);printf(“array b:n”);for(i=0;_3_j<=2_;i+) for(j=0;j<=1;j+) printf(“%5d”,bij); printf(“n”); 37. 以下程序的输出结果是 B    A)6 B)6789 C)'6'D)789    main()    char a10=”6789”,*p;       p=a;   &#

温馨提示

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

评论

0/150

提交评论