1、第 1 页 共 18 页 C 语言综合复习资料一、单选题1. C 语言中基本数据类型有 ( )A)整型、实型、逻辑型 B)整型、字符型、逻辑型C)整型、实型、字符型 D)整型、实型、字符型、逻辑型2. 在 C 语言中,数字 029 是一个 ( )A)八进制数 B)十进制数 C)十六进制数 D)非法数3. 在以下关于 C 语言的不严格的叙述中,错误的说法是( )A)在标识符中,大写字母和小些字母的意义相同B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义4. 已知 int a=4,b=5; ,这
2、执行表达式 a=ab 后,变量 a 的值为( )A) 0 B)1 C) 4 D) 55. 设有定义 int a=3,b=4,c=5; ,则以下表达式中,值为 0 的表达式是( )A) a12.已定义 c 为字符型变量,则下列正确的赋值语句是 ( )A)c=66; B)c=“66“; C)c=“B“; D)c=66;13.设 a=3,b=4,c=-5,则逻辑表达式:a | b+c B)int a12=1,3;C)int c2= 1,2,3,4; D)int d32=1,2,34;第 2 页 共 18 页15.结构化程序设计的三种基本结构是( )A)顺序结构、选择结构、循环结构 B)if、swit
3、ch、breakC)for、while、do-while D)if、for 、continue16.在一个 C 程序中( )A)main 函数必须出现在所有函数之前 B)main 函数可以在任何地方出现C)main 函数必须出现在所有函数之后 D)main 函数必须出现在固定位置17.以下合法的字符常量是( )A) 084 B) ab C) x43 D) “0”18.用 8 位无符号二进制数能表示的最大十进制数为( )A)127 B)128 C)255 D)25619.设有定义:int x=0,y=1 ,z=1;则运行表达式:x=y+z-后,x,y,z 的值分别是( )) 1,1,1 ) 1,
4、2,0 ) 0,1,1 ) 0,2,020.设有 int x=11;则表达式(x+*1/3)的值是( )A) 3 B)4 C) 11 D) 1221.若有: int x=1,n=5; 则执行语句 x%=(n%2)后,x 的值为( )A) 3 B)2 C) 1 D) 022.结构化程序的 3 种基本控制结构是( )A) if-else 结构、while 结构、for 结构 B) 顺序结构、分支机构、循环结构C) while 结构、do-while 结构、 for 结构 D) 以上三种都不对23.下面程序段的输出结果是( )int k=11;printf(“%d,%o,%x”,k,k,k);A)1
5、1,12,11 B)11,13,13 C)11,013,0xb D)11,13,b24.在微型计算机系统中,存储一个汉字的国标码所需要的字节数是( )A) 1 B) 2 C) 3 D) 425.以下非法的赋值语句是( )A) n=(i=2,+i); B) j+; C) +(i+1); D) x=j0;26.语句:printf(“%d“,(a=2) 的输出结果是( )A)无输出 B)结果不确定 C) 1 D) 227.设有定义语句:charstr20=“Hello“,“Beijing“,*p=str; ( )则 printf(“%dn“,strlen(p+20); 输出结果是A)0 B)5 C)
6、7 D)2028.以下选项中,与 k=+n 完全等价的表达式是( )A) k=n,n=n+1 B) n=n+1,k=n C) k=+n D) k+=n+1二、读程序,写出程序执行结果1. #include 第 3 页 共 18 页void main() int a=10,b=0;if(a=12)a+; b+; else a=a+3 ; b=b+3;printf(“%d,%dn”,a,b); 2. #include void main() ints,i;for(s=0,i=1;ivoid main() int k=4,n=0;for( ; n第 4 页 共 18 页int f(int b,int
7、m,int n) inti,s=0;for(i=m;ivoidcopy_str(char from ,char to ) int k=0;while(fromk!=0) tok=fromk; k+; tok=0; /*末尾加上串结束标志*/ void main() char str180=”red”,str280=”green”;copy_str (str1,str2);puts(str2);7. #include int d=1; void fun(int p) int d=5;d+=p+;printf(“%d”,d); void main() int a=3;fun(a); d+=a+;
8、printf(“%dn“, d); 8 #include void main()第 5 页 共 18 页 int i,j;for(i=0; ivoid main() inti;for (i=0; iintws(int x) if(x/1000)return(3);else if(x/100 )return(2);elsereturn(1);void main() int a=123;printf(“%d 是%d 位数n“,a,ws(a) ;11. #include #include void main() char a10=“abc“;char b=“defg“;第 6 页 共 18 页put
9、s(a);puts(b);puts(strcat(a,b);12.#include void main() int i,n=1,2,3,4,5;for(i=0;ivoid main() int a34=1,2,3,4,9,7,10,6,-1,8,-5,5;int i,j,row=0,colum=0,max;max=a00;for(i=0;imax) max=aij;row=i;colum=j;printf(“max=%d,row=%d,colum=%d“,max,row,colum);14.#include voidcopy_str(char from ,char to ) int k=0;w
10、hile(fromk!= 0) tok=fromk; k+; tok=0; /*末尾加上串结束标志*/ void main()第 7 页 共 18 页 char str180= “good“,str280= “abcdef“;copy_str(str1,str2);puts(str2);15. #include void main() int a=0;a+=(a=8);printf(“%dn”,a);16. #include void main() int x=4;if(x+=5)printf(“%dn”, x) ;elseprintf(“%dn”, x-) ; 17. #include #d
11、efine MAX(a,b) (ab ? a : b)+1void main() int i=6,j=8;printf(“%dn”,MAX(i,j);18#include void main() int i,j,m=0,n=0,k=0;for(i=6; ivoid main() inti;for(i=1;i);putchar(#);20 #include void main() int i,n=1,2,3,4,5;for(i=0;iint m=13; int fun(int x,int y) int m=3;return(x*y-m); void main() int a=7, b=5;pri
12、ntf(“%dn“, fun(a,b)/m); 22. #include void main()第 9 页 共 18 页 int n=2;printf(“%d,%d,%dn”, +n , n+=2 , -n) ; 23. #include void main() int x=1,a=0,b=0;switch(x) case 0: b+;case 1: a+;case 2: a+;b+;printf(“a=%d,b=%dn”,a,b);24. #include void main() ints,t,a=-2,b=6;s=t=1;if(a0) s=s+1;if(ab) t=s+t;else if(
13、a=b) t=5;else t=2*s;printf(“t=%d “, t); 25. #include #define S(a,b) (a)*(b) void main() int a=3 ,area;area=S(a,a+3) ;printf(“area=%dn“,area);26. #include void main() inti=0,a=0;while(ivoid main() int aa44=1,2,3,4,5,6,7,8,3,9,10,2,4,2,9,6;inti,s=0 ;for(i=0;ifun(int a, int b) if(ab) return(a);else return(b); void main() int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf(“%dn“, r);三、编程题1. 设有分段函数:x (x1)Y= 2x-1 (1x10) 写一程序,输入 x,输出 y 的值。3x-11 (x10) 2编程任意输入两个实数 a 和 b,计算下面函数的值,并输出 y 值。a-b aby= abbaa*b a=b3.编程序求如下分段函数的值