




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
综合练习综合练习 一、判断题 1 在 Trubo_C 中运行一个 C 程序时,实际上是运行后缀为.EXE 的可执行文件。 2 在 C 语言中整数可用十进制数、八进制数和二进制数三种数制表示。 3 在程序的运行过程中,整型常量的值是可以改变的。 4 C 程序中,用/* 和 */界定的部分称之为注释,注释部分对程序的运行不起作用。 5 大括弧 只能用来括复合语句。 6. do_while 语句构成的循环不能用其它循环语句来代替。 7 不能用 scanf 函数输入字符。 8 在 C 程序中,函数的定义不可以嵌套,但函数的调用可以嵌套。 9. 一个变量的作用域取决于变量定义语句在程序中出现的位置。 10C 语言的一个编译预处理命令用 # 开始,最后加分号。 11 C 语言源程序文件经过编译、连接之后生成一个后缀为.EXE 的文件 。 12 C 语言中以 %o 开头的数是八进制整数。 13 在程序的运行过程中,符号常量的值是可以改变的。 14 在 C 程序中,APH 和 aph 代表不同的变量。 15 一个复合语句在语法上被认为是一条语句。 16. 只能用 while 语句构成循环。 17不能用 printf 函数输出字符。 18. C 程序中各函数之间既允许直接递归调用也允许间接递归调用。 19. 在函数外部定义的变量称为全局变量。 20宏定义的命令行可以看作是一条 C 语句。 21 C 语言源程序是可以用来直接运行的程序。 22 C 语言中以 %x 开头的数是十六进制整数。 23 C 程序中定义的变量,代表内存中的一个存储单元。 24 在 C 程序中,9ab 是非法的用户标识符。 25 C 语句必须用一个分号作为结束。 26. do_while 语句构成的循环不能用 break 语句退出。 27 scanf 函数是 c 语言的标准输入函数。 28. C 程序的 main 函数不能有参数。 29. 在函数内部定义的变量称为局部变量。 30用#include 包含的头文件的后缀必须是.h。 31 C 语言程序的三种基本结构是顺序结构、选择结构和循环结构。 32 在 C 语言中整数只能表示为十进制数的形式。 33 在 C 程序中,无论多少大的整数还是实数,都能准确无误的表示。 34 Turbo-C 语言中,字符类型数据占 1 个字节。 35 空语句是合法的 C 语句。 36. while 语句的循环体不能是复合语句。 37 printf 函数是 c 语言的标准输出函数。 38. C 程序的 main 函数可以有参数,但参数不能是指针类型。 39 在 main 函数中定义的变量称为全局变量。 40#include 和 #define 不是 C 语句。 41 C 语言程序的三种基本结构是嵌套结构、选择结构和循环结构。 42 C 语言中 018 是合法的八进制整数。 43 C 程序中所要用到的变量应该先定义,后使用。 44 十六进制数 0x11 的十进制数是 17。 45赋值语句是一种可执行语句。 1 46. for 语句的循环体不能是空语句。 47可以调用 putchar 函数输出字符。 48. C 程序的 main 函数可以有参数,但参数不能是整型。 49. 在一个 C 程序中,全局变量和局部变量是不能同名的。 50C 编译中的预处理是在编译之前进行的。 51C 语言程序的三种基本结构是顺序结构、转移结构和循环结构。 52C 语言中 0xe 是合法的十六进制整数。 53在程序的运行过程中,其值可以改变的量是变量。 54八进制数 0x11 的十进制数是 9。 55在赋值表达式的尾部加上一个分号,就构成了赋值语句。 56. C 语言不允许循环嵌套。 57可以调用 getchar 函数输入字符。 58. C 程序中各函数之间允许直接递归调用不允许间接递归调用。 59. 局部变量不能在复合语句内部定义。 60. 宏定义是可以带参数的。 二、选择题 1 C 语言程序的三种基本结构是顺序结构、选择结构和_结构。 A 循环 B 递归 C 转移 D 嵌套 2 以下选项中正确的整型常量是_。 A 12. B -10 C 1,900 D 123x 3 在 C 语言程序中,用关键字_定义基本整型变量。 A int B float C double D char 4 Turbo-C 语言中,字符类型数据占_字节。 A 1 个 B 2 个 C 4 个 D 8 个 5 若 a、b、c、d 都是 int 类型变量且初值为 0, _不是正确的赋值语句。 Aa=b=c=0; Ba=b; Cc+b; Dd=(c=22)-(b+); 6 若变量已正确定义并赋值,符合 C 语言语法的表达式是_。 A a=a1 B int(12.0%2) C a=a+1; Da=a 7若 a 是基本整型变量,c 是单精度实型变量,输入语句_是错误的。 Ascanf(”%d,%f”, Bscanf(”%d%f”,a,c); Cscanf(”%d%f”, Dscanf(”d=%d,c=%f”, 8对 C 程序在作逻辑运算时判断操作数真、假的表述,_是正确的。 A0 为假非 0 为真 B只有 1 为真 C-1 为假 1 为真 D0 为真非 0 为假 9 C 语言中的简单数据类型有_。 A 整型、实型、逻辑型 B 整型、实型、字符型 C 整型、字符型、逻辑型 D 整型、实型、字符型、逻辑型 10. C 语言程序规定必须用 main 作为_。 A主函数名 B子函数名 C程序名 D变量名 11下列语句定义 pf 为指向 float 类型变量 f 的指针,_是正确的。 Afloat f,*pf=f; Bfloat f,*pf= Cfloat *pf= Dfloat f,pf=f; 12若 p1、p2 都是整型指针,p1 已经指向变量 x,要使 p2 也指向 x, _是正确的。 Ap2=p1; Bp2=*p1; Cp2= Dp2=*p1; 13定义一个 4 个元素的一维整型数组,_是正确的。 Afloat a4; Bint a =1,2,3,4,5; Cint a =1,2,3; Dint a4=1; 14. 数组定义为 int a32,数组 a 中有_个元素。 A2 B 3 C5 D6 15. 以下能正确进行字符串赋值或赋初值的语句组是_。 2 Achar str3=“key“; Bchar str3=k,e,y; Cchar str4;str=“key“; Dchar *s; s=“key“; 16C 语言中,形参的缺省的存储类说明是_。 A auto Bstatic C register Dextern 17. 若变量已正确定义,表达式 (j=3,j+) 的值是_ 。 A3 B 4 C5 D0 18. 若 x 是整型变量,表达式 (x=10.0/4.0) 的值是_ 。 A2.5 B 2.0 C 3 D2 19. 为读而打开文本文件 aa.dat,的正确写法是_。 Afopen(”aa.dat”,”rb”); Bfopen(”aa.dat”,”w”) Cfopen(”aa.dat”,”wb”); Dfopen(”aa.dat”,”r”) 20. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为_。 A算术运算、赋值运算、关系运算 B算术运算、关系运算、赋值运算 C关系运算、赋值运算、算术运算 D关系运算、算术运算、赋值运算 21C 语言程序的三种基本结构是顺序结构、_结构和循环结构。 A选择 B递归 C转移 D嵌套 22 以下选项中不正确的整型常量是_。 A0 B10u C20L D-1234 23 在 C 语言程序中,用关键字_定义短整型变量。 Ashort Bfloat Cdouble Dchar 24 十进制数 16 的十六进制数是_。 A11 B12 C13 D10 25若变量已正确定义,_是合法的 C 语句。 Aa=1,b=2 Ba=1=b; Ca=b=5; Dy=; 26若变量已正确定义并赋值,符合 C 语言语法的表达式是_。 Aa=3,5; Ba+=1 Ca=a+1=3 D12.3%4 27若 a 是单精度实型变量,c 是基本整型变量,以下正确的输入语句是_。 A scanf (“%f%d“, a, c) ; B scanf (“%f%d“, C scanf (“%f%f“, D scanf (“%d%f“, 28在 C 程序中,用_表示逻辑值“真”。 Atrue B非 0 的数 C非 0 整数 D 大于 0 的数 29. 设有说明语句 char a=n;,则变量 a_。 A包含 1 个字符 B包含 2 个字符 C包含 3 个字符 D说明不合法 30. C 语言程序 由 组成。 A子程序 B过程 C函数 D主程序和子程序 31下列语句定义 pd 为指向 int 类型变量 d 的指针,_是正确的。 Aint d,*pd= Bint *pd= Cfloat d,*pd= Dfloat *pd= 32. 若变量已正确定义并且指针 p 已经指向变量 x,则 Bint a4=1,2,3,4,5; Cint a4=1,2,3; Dint a4=1; 34. 数组定义为 int a32=1,2,3,4,5,6,数组元素_的值为 6。 Aa32 Ba21 Ca12 Da23 35. 不正确的字符串赋值或赋初值的方式是_。 Achar str=“string“; 3 Bchar str7=s,t,r,i,n,g; Cchar str10;str=“string“; Dchar str7=s,t,r,i,n,g,0; 36. 要调用数学函数时,在#include 命令行中应包含_。13 A ”stdio.h” B ”string.h” C ”math.h” D ”ctype.h” 37. 若变量已正确定义,表达式 (j=1,+j) 的值是_ 。 A1 B 2 C3 D0 38. 若 x 是单精度实型变量,表达式 (x=10/4) 的值是_ 。 A2.5 B 2.0 C 3 D 2 39. 为写而打开文本文件 aa.dat,的正确写法是_。 Afopen(”aa.dat”,”rb”) Bfp=fopen(”aa.dat”,”w”) Cfopen(”aa.dat”,”wb”) Dfp=fopen(”aa.dat”,”r”) 40. 下列运算符中优先级最低的是_。 A“=”和“”和“0) A98,b B语句不合法 C98,99 D 98,c 70.以下函数调用语句中,含有的实参个数是_。 exce( (v1,v2), (v3,v4,v5), v6); A6 B5 C4 D3 71. 若变量已正确定义,表达式_可以使指针 px 指向变量 x。 A px= B int x22=1,2,3,4; C int x2=1,2,4,6; D int m3=1,2,3,4,5,6; 75表达式 strcmp(“box”,”boss”) 的值是一个_。 A 正数 B 负数 C 0 D 不确定的数 76. 要调用字符函数时,在#include 命令行中应包含_。 A ”stdio.h” B ”string.h” C ”math.h” D ”ctype.h” 77. 若变量已正确定义且 k 的值是 4,计算表达式 (j=k-) 后,_ 是正确的。 Aj=4,k=4 B j=4,k=3 Cj=3,k=4 Dj=3,k=3 78表达式 (int)(3.0/2.0) 的值是_ 。 5 A1.5 B 1.0 C 1 D 0 79. 若有 char fname=“outfile.dat“; ,则为写而打开文本文件 outfile.dat 正确写法是_。 Afopen(outfile.dat,“w“) Bfopen(outfile.dat,“w“) Cfopen(fname,“w“) D fopen(“fname“,“w“) 80在 C 语言中,优先级最低的运算符是_。 A * B D _isw 和 INT 85若 a 是 int 类型变量,_不是合法的 C 语句。 Aint j;j+; B ; C; D, 86把 x、y 定义成 float 类型变量,并赋同一初值 3.14 的定义语句是_。 Afloat x,y=3.14; Bfloat x,y=2*3.14; Cfloat x=3.14,y=3.14; Dfloat x=y=3.14; 87若 a 、b 是基本整型变量,则以下程序段的输出是_。 a=123; b=12345; printf (“|%4d,%4d|n“, a, b) ; A|123 ,12345| B|123 ,1234| C| 123,12345| D| 123,2345| 88. 为表示“xyz”,应使用的 C 语言表达式是_。 A (x=y)”,表达式_是错误的。 A*a Ba11 C,语句 printf(”%s”,strcpy(a,b); 的输出结果为 。 A windows95 B windows C 95 D 95windows 116. 求一个双精度实数的绝对值,应该调用函数_。 A sqrt B pow C abs D fabs 117. 若变量已正确定义且 k 的值是 4,计算表达式 (j=-k) 后,_ 是正确的。 Aj=4,k=4 B j=4,k=3 Cj=3,k=4 Dj=3,k=3 118. 表达式 (10%2) 的值是_ 。 A0 B 1 C5 D5.0 119. 写二进制文件应调用_函数。 Afread Bfwrite Cfscanf Dfprintf 120. 下列运算符中,_是赋值运算符。 A+= B+ C= D 三、写输出结果 7 1. 表达式 ( 10) y=1; else y=0; printf(“%d“,y); 8以下程序段的输出结果是_。 int k=0, sum=1; do sum+=2; k+; while (k=0) if(x0) y=0; else y=-1; printf(“%d“,y); 18以下程序段的输出结果是_。 int k=1, sum=8; while(k 9 printf(“%d“,NULL); 23. 表达式 (4|1) 25下列程序段的输出结果是_。 char c=a; int k=4; switch(c) case a: k=1; case b: k=2; case c: k=3; printf(“%d“,k); 26下列程序段的输出结果是_。 int k = 10 ; if ( k=0) ; 27下列程序段的输出结果是_。 int x=0, y=0; if(x=0) if(x0) y=1; else y=0; else y=-1; printf(“%d“,y); 28以下程序段的输出结果是_。 int k, sum=0; for(k=5;k printf(“%d“,EOF); 33. 表达式 (3 35下列程序段的输出结果是_。 10 char c=x; int k=4; switch(c) case a: k=3; case b: k=2; case c: k=1; printf(“%d“,k); 36下列程序段的输出结果是_。 int a=1,b=2,c=0 ; if(a=0) if(x=0) y=1; else y=-1; printf(“%d“,y); 38以下程序段的输出结果是_。 int k=5, sum=10; do sum+; k-; while (k0); printf(”%d”,k); 39对于以下递归函数 f,调用 f (3) 的返回值是_。 int f(int x) return (x0)? f(x-1)+f(x-2):1); 40下列程序段的输出结果是_。 int *p, *q, k = 5 , j = 6 ; q = p = q ; q = printf(“%d“,*p); 41. 表达式 (2-5 | (5=4)的值是_。 42用八位二进制表示带符号的整数,则能表示数的范围是从_ 到 127。 43. 表达式 (3 k-; printf(”%d”,k); 49对于以下递归函数 f,调用 f (3) 的返回值是_。 int f( int n ) if(nc) c=a; else ; printf(“%d“,c); 57下列程序段的输出结果是_。 int x=0, y=0; 12 if(x=0) if(x=0;k-); printf(”%d”,k); 59对于以下递归函数 f,调用 f (3) 的返回值是_。 int f( int n ) if(n main() int k = 2 ; while (k = 0) printf (“%d“, k) ; k+; printf (“%d#“, k) ; 2. int k; for (k = 2 ; k main() 13 f(f(2); int f(int x) static int k=0; x+=k; k+; printf(”%d,%d#”,x,k); return x; 8 #include main() int m=0; m=f(2); printf (“%d#“, m); m=f(3); printf (“%d#“, m); int f(int x) static int k = 1; x += k; k+; printf(”%d,”,k); return x; 9 #include main() int k; for (k=4; k=1; k-) fun(); fun() static int m=0; m+; printf(”%d#”,m); 10#include main( ) int k=1, m=2; m+; int k=0; k += m*2; printf(“%d,%d#” ,k,m); k+; printf(“%d,%d#” ,k,m); 11#include 14 main( ) int k=1, m=2; m+; k+; int m=0; k=10; m+;k+; printf(“%d,%d#” ,k,m); m+;k+; printf(“%d,%d#” ,k,m); 12#include int m=10; main( ) int k=1; m+; k+; int k= -5; m+;k+; printf(“%d,%d#” ,k,m); m+;k+; printf(“%d,%d#” ,k,m); 13#include int x,y,z; void p(int *x,int y) int z; +*x; y-; z=*x+y; printf(“%d,%d,%d#“,*x,y,z); void main() x=2; y=3; z=5; p( printf(“%d,%d,%d#“,x,y,z); 14#include int z; void p(int *x,int y) +*x; y-; z=*x+y; printf(“%d,%d,%d#“,*x,y,z); void main() int x=2, y=3, z=4; p( printf(“%d,%d,%d#“,x,y,z); 15 15#include int c; func(int *a,int b) c=(*a)*b; *a=b-1; b+; return(*a+b+1); main() int a=4, b=2, p=0; p=func( printf(“%d, %d, %d, %d#“, a, b, c, p); 16#include void p(int x,int *y) *y=x+; void main() int x=0, y=0; p(10, printf(“%d,%d#“,x,y); p(y, printf(“%d,%d#“,x,y); 17#include func(int a,int b,int *c,int *d) *c=a+b; *d=a-b; a+; b+; main() int a=4, b=3, c=2,d=1; func(d,c, printf(“%d, %d, %d, %d#“, a, b, c, d); 18#include func(int *a,int n,int *b) int k; for(k=0;k void main() long in, power, i; 16 int num; scanf(“%ld“, for(power=1;in/power0;power*=10); power/=10; while(power0) printf(“%d#“,in/power); in%=power; power/=10; 输入 02345 20. #include void main() int m=0,sum=0; char c,oldc=+; do c=getchar(); if(c=0) m=10*m+c - 0; else if(oldc=+) sum += m; else sum -= m; m=0; oldc=c; while(c!=); printf(“%d#“,sum); 输入 -12+3*10= 21. #include void main() int n; char ch; do ch=getchar(); while(ch7); n=0; do n=n*8+(ch-0); ch=getchar(); while(ch=0 17 void main() int s,k; for(s=0,k=0; k int cal( int a, int b, char op) if (op=*) return (a*b); else return (a+b); main() int x,y,z, result; char op1, op2; scanf(“%d%c%d%c%d”, if (op2=+ else result = cal(cal(x,y,op1),z,op2); printf(“%d#”, result); 输入 2+3*5 24#include void main() static char a5=a,e,i,o,u; char str80; int k,j; gets(str); for(k=0;strk!=0;k+) for(j=0;j 25若 head 是 node 类型的全程量,以 head 为头指针的链表各节点的值如下图所示。 #include struct node int num; struct node *next; ; struct node *head ; int fun(struct node *h) 18 int k=0; struct node *p=h; while(p!=NULL) k+=p-num; p=p-next; return k; main() int m; m=fun(head); printf(“m=%dn”,m); 26若 head 是 node 类型的全程量,以 head 为头指针的链表各节点的值如下图所示。 #include struct node int num; struct node *next; ; struct node *head; int fun(struct node *h) int k=0; struct node *p=h; while(p!=NULL) if(p-next!=NULL) k+=p-num; p=p-next; return k; main() int m; m=fun(head); printf(“m=%dn”,m); 27若 head 是 node 类型的全程量,以 head 为头指针的链表各节点的值如下图所示。 #include struct node int num; struct node *next; ; struct node *head; int fun(struct node *p) int k=0; struct node *pp=p; while (pp!=NULL) 14 13 15 16 17 NULL head 2 1 3 4 7 NULL head 19 if (pp-num)%2=0) k+=pp-num; pp= pp-next; return (k); main() int m; m=fun(head); printf(“m=%dn”,m); 28若 head 是 node 类型的全程量,以 head 为头指针的链表各节点的值如下图所示。 #include struct node int num; struct node *next; ; struct node *head; int fun(struct node *h) int k=0; struct node *p=h; p = head-next ; p = p-next ; while (p!=NULL) k+=p-num; p= p-next; return (k); main() int m; m=fun(head); printf(“m=%dn”,m); 29若 head 是 node 类型的全程量,以 head 为头指针的链表各节点的值如下图所示。 #include struct node char c; struct node *next; ; struct node *head; void fun(struct node *h) struct node *p=h; while(p!=NULL) if(p-c=A 10 20 30 40 50 NULL head 4 3 5 6 7 NULL head 20 main() int m; m=fun(head); printf(“m=%dn”,m); 30若 head 是 node 类型的全程量,以 head 为头指针的链表各节点的值如下图所示 #include struct node int num; struct node *next; ; struct node *head; int fun(struct node *h) int k=0; struct node *p=h; while (p!=NULL) k+=p-num; p = p-next; if(p!=NULL) p = p-next; return (k); main() int m; m=fun(head); printf(“m=%dn”,m); 五. 编程序 1. 设计函数 strcmp(s1, s2)是字符串比较, 根据 s1,s2 大小分别返回负数(s1s2)。其中负数和正数为 s1 和 s2 中第一个不同的两个字母的差值。 2. 分别输出方阵中主对角线、副对角线上元素的和 sum1 和 sum2(主对角线为从矩阵的 左上角至右下角的连线, 副对角线为从矩阵的右上角至左下角的连线)。 3. 读入 n(n0, 再输出 x 在 r 中所对应的最小下标(下标从 0 开始)。 5 读入 n(n3?2:2 5设整型变量 m,n,a,b,c,d 均为 1,执行“(m=ab) struct st *next ; a3=5, A. p+-n B. p-n+ C. (*p).n+ D. +p-n 19. 状下列语句中,将 c 定义为文件型指针的是( )。 A. FILE c; B. FILE *c; C. file c; D. file *c; 20. 设有以下宏定义,则执行语句“z=2*(N+Y(5+1);”后,z 的值为( )。 #define N 3 #define Y(n) (N+1)*n) A出错 B. 42 C. 48 D. 54 二、填充题(每空 2 分,共 30 分) 1 数学式 对应的 C 表达式是 。 2 ch 是 char 类型变量,“仅当 ch 是大写英文字母时改变 ch 为对应小写字母”的 C 表达式是 。 3 若程序中使用了库函数 toupper、strcpy,那么在预处理命令中必须写入的头文件名 为 。 4 student 是结构体类型标识符,x 是 student 类型变量,则计算 x 的字节数的表达式 为 。 5 自定义函数 fact 的功能是计算 k 的阶乘,函数原型可以写作“float fact(int)”。按照以下各小题的 要求写出相应的函数原型。 自定义函数 f1 的功能是计算平面上任意两点之间的距离。 自定义函数 swap 的功能是交换调用函数中两个 float 类型实参变量的值。 6 函数 sort 使用选择法将一维整型数组中各元素按值从大到小排序。 void sort( ) int i,j,k,temp; for(i=0; i #include #include void main() ; int flag=1; char ch; if(f1=fopen(“a.txt“,“r“)=NULL) printf(“不能打开文件 a.txtn“); exit(0); 24 if(f2=fopen(“b.txt“,“w“)=NULL) printf(“不能打开文件 b.txtn“); exit(0); while( ) if( x+=y; y+; return x; void main() int k; k=f(3); printf(“%d %dn“,k,f(k); 3写出下列程序的输出结果: # include # include void f(char *s1) char c; if(*s1!=0) c=*s1; strcpy(s1,s1+1); f(s1); putchar(c); 25 void main() f(“abcdefg“); 4阅读下面程序,写出运行结果。 #include void main() int m=18,s=0; do switch(m%7) case 2 : m/=2;s+=2; break; case 3 : m/=3;s+=3; break; case 5 : m/=5;s+=5; break; default : m-; s-; ; printf(“%dn“,s); while(m); 5阅读下面程序,写出运行结果。 #include void main() void div(int*,int*); int a5=-5,0,60,45,34,i=0,j=2; while(ai void main() int s8,i; char ch=B-1; /* 字符 A 的 ASCII 码为 65 */ printf(“%c %dn“,ch,ch); for(i=7;i=0;i-) si=ch ch=ch1; for(i=0;i0),输出它们的偶数和。 2编制函数,将 m 行 n 列数组 a 每行所有元素都除以该行上绝对值最大的那个元素的绝对值,要求所编写的 函数原型为“void f(float *a,int m,int n)”或“void f(float *a,int m,int n)”。 27 综合自测题综合自测题 2 2 一、单项选择题(每题 2 分,共 20 分) 1下列运算符中自右向左结合的是: A) * B) = = C) - D) + 2下列赋值语句中正确的是: int a3 = 1, 2, 3 , *p; A) p= B) *p=a; C) *(a+1)=a; D) p=a+1; 3如下程序段: int c=1, 2, 3; int *k; k=c; printf(“next k is %d“,*+k); 其输出应为: A) 1 B) 2 C) 3 D) 以上均不对 4执行 i=0; if(i2) if ( istr 中的+加在 A) 指针 str 上 B) 指针 p 上 C) str 所指的内容上 D) 以上均不是 6下列程序段的输出结果是: char *c3=“FIRST”, “SECOND”, “THIRD”; printf(“%s”, c+1); A) SECOND B) E C) ECOND D) 语法有错 7对于以下递归函数 f, 调用 f(4),其返回值为: int f(int n) if (n 4 - !2) A) 0 B) 1 C) 6 D) 以上均不对 10执行完下列语句段后, i 值为: int i; int f(int n) static int m = 1; n+=m+; return n; n=f(1); n=f(2); 28 3 B) 4 C) 5 D) 以上均不是 二、填充题(每空 2 分,共 30 分) 1运行下列程序段后,n 的值是:_ int n; n = 7 switch (n) case 1: n=1; break; case 2: n=2; break; case 3: n=3; break; default: n=4; break; 2下列程序段的输出结果是:_ int i=010, j=10; printf(“i=%d, j=%n“,i,j); 3如下函数 void f(char *s, char *t) int i; i=0; while (si=ti) i+; 等价于: void f(char *s, char *t) while (_ = *t+); 4下列程序段的输出结果是:_ int a=0,b=0; if(+a0 printf(“a=%d,b=%d“,a,b); 5下列程序段执行后,i 和 j 的值分别是 _ int i=6, j=0; while(i-, i!=1)j += -i; 6下列程序段执行后,x 和 y 的值分别是 _ int x=5,y=1; do (xy) ? (x-=1,y+=3) : (x+=4,y-=2); while (x+ys2). 请将缺少部分补上。其中负数和正数为 s1 和 s2 中第一个不同的两个字母的差值. strcmp(char * s1, char * s2) for(; *s1!=_; +s1, +s2) if (*s1!= *s2) break; return (_); 12下列程序段的输出结果是:_ union ll struct int x; int y; in; int a; int b; e; e.a=1; e.b=2; e.in.x=e.a*e.b; e.in.y=e.a+e.b; printf(“%d ,%dn“,e.in.x,e.in.y); 现有链表,如下图所示,把 p0 结点插入指针 p 所指结点的后面,请写出必要的两个语句(次序不能颠倒): (1)_; (2)_; struct list int i; struct list *next; ; struct list *head,*p0, *p; 三、程序分析题 (共 30 分) 1. (8 分) #include int cal( int a, int b, char op) if (op = = *) return (a*b); else return (a+b); main() int x,y,z, result; char op1, op2; scanf(“%d%c%d%c%d”, if (op1= =+ NULL head p p0 30 else result = cal(cal(x,y,op1),z,op2); printf(“%dn”, result); 问题: (1) 当输入为 3+4*5 时,上述程序将输出_ (2) 当把上述 if 语句 op1= =+ void f0(int a) a1=a0; a0=a2; a2=a1; void f1(void) for(i=0;i void f(int a, int n, int m) int i,j,t; for(i=0; i #include struct node char c; struct node *next; 31 ; main() struct node *head=NULL, *p=NULL, *q, *t; char *s=“The shining C“; while(*s) q=(struct node *)malloc(sizeo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 几千几百数加减整百数综合考核题
- 马巷马路施工方案
- 智能仓储物流系统-第3篇-全面剖析
- 竹杆大棚施工方案
- 炼焦行业节能减排-全面剖析
- 常见挡墙施工方案
- 金融科技产品广告行业深度调研及发展战略咨询报告
- 数字银行转型行业深度调研及发展战略咨询报告
- 轮滑舞蹈工作室行业跨境出海战略研究报告
- 跳远跳高训练馆行业跨境出海战略研究报告
- GA/T 1163-2014人类DNA荧光标记STR分型结果的分析及应用
- 钢栈桥施工监理细则
- 骨转移瘤课件
- 护士注册健康体检表下载【可直接打印版本】
- 核心素养视角下教师专业发展课件
- 污水处理培训课件
- 初中语文八年级下册第三单元综合性学习古诗苑漫步-综合性学习《古诗苑漫步》教案
- 中国十大阶层的划分课件
- 高中英语各种教材词组汇总大全(超级实用)
- 内燃机机油泵转子系列参数
- 远程视频会议系统建设方案课件
评论
0/150
提交评论