C语言1

  • 格式:doc
  • 大小:104.50 KB
  • 文档页数:24

《C语言》综合复习资料第一题读程序写出程序执行结果1、#include <stdio.h>void main(){ int x[]={1,2,3};int s=1,i,*p=x;for(i=0;i<3;i++)s*=*(p+i);printf(“%d\n”,s);}2、#include <stdio.h>int fun(char *s1,char *s2){ int i=0;while(s1[i]==s2[i] && s2[i]!='\0') i++; return (s1[i]=='\0' && s2[i]=='\0');}void main(){ char p[10]= ""abcdef"", q[10]= ""ABCDEF""printf(""%d\n"",fun(p,q));}3、#include <stdio.h>"void main(){ int n=2;printf(“%d,%d,%d\n”, ++n , n+=2 , --n) ; }4、#include <stdio.h>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=%d\n”,a,b);}5、#include <stdio.h>void main(){ int s,t,a=-2,b=6;s=t=1;if(a>0) s=s+1;if(a>b) t=s+t;else if(a==b) t=5;else t=2*s;printf(""t=%d "", t);}6、#include <stdio.h>#define S(a,b) (a)*(b) void main(){ int a=3 ,area;area=S(a,a+3) ;printf(""area=%d\n"",area);}7、#include <stdio.h>void main(){ int i=0,a=0;while( i<20 ){ for(;;)if((i%10)==0) break;else i--;i+=11;a+=i;}printf("%d\n",a);}8、#include <stdio.h>void swap(int b[]){ int *p,*p1,*p2;p1=&b[0] ;p2=&b[1];p=p1; p1=p1+1; p2=p;}void main(){ int a[]={5,9};printf(""%d,%d\n"",*a,*(a+1));swap(a);printf(""%d,%d\n"",a[0],a[1]);}9、#include <stdio.h>fun(int a, int b){ if(a>b) return(a);else return(b);}void main(){ int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf("%d\n", r);}10、#include <stdio.h>int fun(int x){ int y=1;static int z=4;z =1; y;return(x y z);}void main(){ int i;for(i=1;i<=3;i )printf("=",fun(i));}11、#include <stdio.h>void fun(char *w, int n){ char t, *s1, *s2;s1=w;s2=w n-1;while(s1<s2) {t=*s1;*s1= *s2 ; *s2= t;s1 ;s2--;}}void main(){ char p[]="abcdefg";fun(p, strlen(p));puts(p);}12、#include <stdio.h>char fun(char *s){ if( *s >= ¢a¢ && *s <= ¢z¢ ) *s=*s-32;return *s;}void main(){ char a[20]="Welcome",*p,ch;for(p=a;*p!=¢\0¢;p ){ ch=fun(p);putchar(ch);} }13、#include <stdio.h>void main(){ int a=10,b=0;if(a==12){a++; b++; }else{ a=a+3 ; b=b+3;}printf(“%d,%d\n”,a,b);}14、#include <stdio.h>void main(){ int s,i;for(s=0,i=1;i<5;i++,s+=i) ;prin tf(“%d\n”,s);}15、#include <stdio.h>void main(){ char n=‘c’;switch(n ){ default: printf(“error!”); break;case ‘a’: case ‘A’:case ‘b’: case ‘B’: printf(“good!”);break;case ‘c’: case ‘C’: printf(“pass!”);case ‘d’: case ‘D’: printf(“warm!”); }}16、#include <stdio.h>void main(){ int k=4,n=0;for( ; n<k ; ){ ; n++;if(n%3!=0) continue;k- -;}printf(""%d,%d\n"",k,n);}17、#include <stdio.h>int f(int b[],int m,int n){ int i,s=0;for(i=m;i<=n;i+=2) s+=b[i];return s;}void main(){ int x,a[]={1,2,3,4,5,6,7,8,9,10};x=f(a,3,8);printf(“%d\n”,x);}18、#include <stdio.h>void copy_str(char from[ ],char to[ ]){ int k=0;while(from[k]!=‘\0’){ to[k]=from[k];k ; }to[k]=‘\0’; /*末尾加上串结束标志*/ }void main(){ char str1[80]=”red”,str2[80]=”green”;copy_str (str1,str2);puts(str2);}19、#include <stdio.h>int d=1;void fun(int p){ int d=5;d+=p++;printf(“%d”,d);}void main(){ int a=3;fun(a); d+=a++;printf(""%d\n"", d);}20、#include <stdio.h>void f(int x, int y){ int t;if (x<y) { t=x; x=y; y=t; }}void main(){ int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf(""%d,%d,%d\n"",a,b,c);}21、#include <stdio.h>void fun(char *w, int n){ char t, *s1, *s2;s1=w;s2=w n-1;while(s1<s2) {t=*s1;*s1= *s2 ; *s2= t; s1 ;s2--;} }void main(){ char p[]=""1234567"";fun(p, strlen(p));puts(p);}22、#include <stdio.h>#include <string.h>int stre(char *s){ int num=0;while(*(s+num)!=‘\0’)num++;return num;}void main(){ char str[]=""students"",*p=str;printf(“%d\n”,stre(p));}23、#include <stdio.h>void main(){ int i,j;for(i=0; i<3;i ){for(j=0; j<=i;j )printf(""*"");printf(""\n"");}}24、#include <stdio.h>void main(){ int i;for (i=0; i<3; i++)switch (i){ case 1: printf(""%d "", i);case 2: printf(""%d "", i);default : printf(""%d "", i);}}25、#include <stdio.h>int ws(int x){ if(x/100>0)return(3);else if(x/10>0 )return(2);elsereturn(1);}void main(){ int a=123;printf(""%d是%d位数\n"",a,ws(a));}26、#include <stdio.h>#include <string.h>void main(){ char a[10]=""abc"";char b[]=""defg"";puts(a);puts(b);puts(strcat(a,b));}27、#include <stdio.h>void main(){ int i,n[]={1,2,3,4,5};for(i=0;i<2;i++){ n[i]=n[4-i]+1;printf(""%d "",n[i]);}for(i=0;i<5;i++)printf(""%d "",n[i]);}28、#include <stdio.h>void main(){ int a[3][4]={{1,2,3,4},{9,7,10,6},{-1,8,-5,5}};int i,j,row=0,colum=0,max;max=a[0][0];for(i=0;i<=2;i++)for(j=0;j<=3;j++)if(a[i][j]>max){ max=a[i][j];row=i;colum=j;}printf(""max=%d,row=%d,colum=%d"",max,row,colum); }29、#include <stdio.h>void copy_str(char from[ ],char to[ ]){ int k=0;while(from[k]!= ‘\0’){ to[k]=from[k];k ; }to[k]=‘\0’; /*末尾加上串结束标志*/}void main(){ char str1[80]= ""good"",str2[80]= ""abcdef"";copy_str(str1,str2);puts(str2);}30、#include <stdio.h>int fun(int a, int b){ if(a>b) return(a);else return(b);}void main(){ int x=3, y=8, z=6, r;r=fun(fun(x,y), 2*z);printf(""%d\n"", r);31、#include <stdio.h>void ex( ){ static int x=5 ;--x ;printf(“%d”,x) ;} ;void ; main ( ){ ; ex( );;ex( );;ex( );;}32、#include <stdio.h>int f( ){ int s=1;static int i=0;s+=i; i++;return s ;}void main(){ int i,a=0;for(i=0;i<3;i++) a+=f( );printf(""%d\n"",a);}33、#include <stdio.h>int m=13;int fun(int x,int y){ int m=3;return(x*y-m);}void main(){ int a=7, b=5;printf(""%d\n"", fun(a,b)/m); }34、#include <stdio.h>void main(){ int i,n[]={1,2,3,4,5};for(i=0;i<2;i++){ n[i]=n[4-i]+1;printf(""%d "",n[i]);}for(i=0;i<5;i++){ printf(""%d "",n[i]);}}35、#include <stdio.h>void main(){ int i;for(i=1;i<5;i++){ if(i%2)putchar(‘<’);elsecontinue;putchar(‘>’);}putchar(‘#’);}36、#include <stdio.h>void main(){ int i,j,m=0,n=0,k=0;for(i=6; i<=9;i++)for(j=2; j<=3;j++)switch( i%j ){ case 0: m++; break;case 1: n++; break;case 2: k++; break;default: k++;n++;m++;}printf(""%d %d %d\n"",m,n,k);37、#include <stdio.h>#define MAX(a,b) (a>b ? a : b)+1void main(){ int i=6,j=8;printf(“%d\n”,MAX(i,j));}38、#include <stdio.h>void main(){ int x=4;if(x++>=5)printf(“%d\n”, x) ;elseprintf(“%d\n”, x--) ;}39、#include <stdio.h>void main(){ int a=0;a+=(a=8);printf(“%d\n”,a);}40、#include <stdio.h>void main(){ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0 ;for(i=0;i<4;i++) s+=aa[i][2];printf(“%d\n”,s);}第二题选择题1. 表示x≤0或x≥1的正确的表达式是A. x>=1||x<=0B. x>1 || x<=0C. x>=1 or x<=0D. x>=1 || x<02. 以下能正确定义数组并正确赋初值的语句是A. int N=5,b[N][N];B. int a[1][2]={{1},{3}};C, int c[2][]= {{1,2},{3,4}};D. int d[3][2]={{1,2},{34}};3. 以下不合法的赋值语句是A. x=(1,y=2);B. ++x;C. x=y=15;D. y=int(x);4. C语言中,函数返回值的类型是由A. return语句中的表达式类型决定B. 调用函数的主调函数类型决定C. 调用函数时的临时类型决定D. 定义函数时所指定的函数类型决定5. 下面程序段的输出结果是int k=11;printf(“%d,%o,%x”,k,k,k);A. 11,12,11B. 11,13,13C. 11,013,0xbD. 11,13,b6. 对于int a[ ] = {1,2,3,4,5,6}, p; p=a; *(p 3) = 2; 则*p, *(p 3)的值是A. 1 5B. 1 3C. 1 4D. 1 67. 以下选项中,与k= n完全等价的表达式是A. k=n,n=n 1B. n=n 1,k=nC. k= nD. k =n 18. 设有定义语句:char str[][20]={"Hello","Beijing"},*p=str;则printf("%d\n",strlen(p+20)); 输出结果是A. 0B. 5C. 7D. 209. 语句: printf("%d",(a=2)&&(b=-2)); 的输出结果是A. 无输出B. 结果不确定C. 1D. 210. 以下非法的赋值语句是A. n=(i=2, i);B. j ;C. (i 1);D. x=j>0;11. 在微型计算机系统中,存储一个汉字的国标码所需要的字节数是A. 1B. 2C. 3D. 412. 结构化程序的3种基本控制结构是A. if-else结构、while结构、for结构B. 顺序结构、分支机构、循环结构C. while结构、do-while结构、for结构D. 以上三种都不对13. 判断字符串s1是否大于字符串s2,应该使用A. if(s1>s2)B. if(strcmp(s1,s2))C. if(strcmp(s2,s1)>0)D. if(strcmp(s1,s2)>0)14. 设有如下程序段:<BR>int x=2, y=3;<BR>printf("%d\n",(x,y));<BR>则以下叙述中正确的是A. 输出语句中格式说明符的个数少于输出项的个数,不能正确输出B. 运行时产生出错信息C. 输出值为2D. 输出值为315. 已知:int a[ ][3]={1,2,3,4,5,6,7,8,9,0}; 则数组a的第一维的大小是A. 2B. 3C. 4D. 无法确定;16. 已定义c为字符型变量,则下列语句中正确的是A. c='97';B. c="97";C. c="a";D. c=97;17. 设有定义 int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是A. a&&bB. a<=bC. a||b c&&b-cD. !((a<b)&&!c||1)18. 已知 int a=4,b=5; ,这执行表达式 a=a>b 后,变量a的值为A. 0B. 1C. 4D. 519. 以下关于C语言的不严格的叙述中,错误的说法是A. 在标识符中,大写字母和小些字母的意义相同B. 有些不同类型的变量可以在一个表达式中运算C. 在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型D. 同一个运算符号在不同的场合可以有不同的含义20. 在C语言中,数字029是一个A. 八进制数B. 十进制数C. 十六进制数D. 非法数21. C语言中基本数据类型有A. 整型、实型、逻辑型B. 整型、字符型、逻辑型C. 整型、实型、字符型D. 整型、实型、字符型、逻辑型22. 用数组名作为函数调用时的实参,则实际传递给形参的是A. 数组的第一个元素值B. 数组中全部元素值C. 数组的首地址D. 数组的元素个数23. 下程序段: char s[20 ]="xyz", *sp=s; strcat(sp,"12345"); puts(sp); 的输出结果是A. xyz12345B. 12345xyzC. 12345D. xyz24. 假设已定义 char c[8]= "test"; int i;则下面的输出函数调用中错误的是A. printf("%s",c);B. for(i=0;i<8;i++) printf("%c",c[i]);C. puts(c)D. for(i=0;i<8;i++) puts(c[i]);25. 设a=3,b=4,c=-5,则逻辑表达式:a || b c && b==c 的值是A. 1B. 0C. 非0D. 语法错26. 已定义c为字符型变量,则下列正确的赋值语句是A. c='66';B. c="66";C. c="B";D. c=66;27. 以下非法的赋值语句是A. n=(i=2, i);B. j ;C. (i 1);D. x=j>0;28. 以下选项中合法的实型常数是A. 5E2.0B. E-3C. 2.00E-01D. 1.3E29. 设有定义 char *p=“abcde\0fghjik\0”; 则printf(“%d\n”,strlen(p));输出结果是A. 12B. 15C. 6D. 530. 能将高级语言编写的源程序转换为目标程序的软件是A. 汇编程序B. 编辑程序C. 解释程序D. 编译程序31. 结构化程序设计的三种基本结构是A. 顺序结构、选择结构、循环结构B. if、switch、breakC. for、while、do-whileD. if、for、continue32. 在一个C程序中A. main函数必须出现在所有函数之前B. main函数可以在任何地方出现C. main函数必须出现在所有函数之后D. main函数必须出现在固定位置33. 以下合法的字符常量是A. ‘\084’B. ‘ab’C. ‘\x43’D. “\0”34. 用8位无符号二进制数能表示的最大十进制数为A. 127B. 128C. 255D. 25635. 设有定义:int x=0,y=1,z=1;则运行表达式:x=y >z--后,x,y,z的值分别是A. 1,1,1B. 1,2,0C. 0,1,1D. 0,2,0第三题编程题1. 设有分段函数:x (x<1)Y= 2x-1 (1≤x<10) 写一程序,输入x,输出y 的值。