C程序设计综合练习题读程序写结果题
- 格式:docx
- 大小:14.61 KB
- 文档页数:14
c语言程序设计改错和根据程序写结果的练习改错练习1.语法错误2.缺少头文件3.函数相关的错误4.功能是否实现问题5.指针使用问题6.循环次数和终止7.字符型数组和指针存储字符串的时候的差异程序改错练习、、1.求1,2,3,4,5,6,….n的乘积#includeint main(){ int sum;int n,i=1;scanf("%d",n);printf(“\n”);while(i<n);< p="">{ sum=sum*i;i++; }printf("sum=%c",sum); printf("sum=%d",sum);}2.求一个数组中最大值及其下标。
#includevoid main(){ int max,j,m;int a[5];for(j=1,j<=5,j++)scanf(“%d”,a);max=a[1];for(j=1;j<=5;j++)if(max>a[j]){ max=a[j];m=j;printf(“下标:%d\n最大值:%d”, j, max) printf(“下标:%d\n 最大值:%d”, m,max); }3.用一个函数求两个数之和和之积。
sum(x,y){float z1,z2;z1=x+y;z2=x*yreturn z1,z2;}Main(){float a,b;printf(“Input a,b”);scanf(“%d%d”,a,b);printf(“a+b=%d\t a*b=%d\n”,sum(a,b));}4. 调用函数swap()实现交换主函数中(实参)变量a,b的值。
#includevoid swap(float * a, float * b){float x;x=a,a=b,b=x;}Void main(){float a=10,b=20;swap(a,b);printf(“a=%f/tb=%f\n”,a,b)}5. 用指针实现变量a的值的输入,输出#includeVoid main(){Int a;printf(“Input a:\n”);int *p;sc anf(“%d”,p);a=*p;printf(“\n a=%d\n”,&a);} ;6. 字符串组的输入输出#include#define M 100#define N 200;void main(){ char print(char *str[],int n); char s[M][N];char *ps[M];int I;p=s;for(i=1;i<=M;i++)gets(&ps[i]);print(ps[0]);]char print(char *str[],int n){int I;for(i=0;i<n;i++);< p="">puts(str++);}8.调用函数fun()实现字符串组中的所有字符串的连接#includechar *fun(char *pstr){ int I;char *new;for(i=0;i<10;i++)strcat(new,pstr[i]);return(new);}void main(){ char *str[]={“I”,”like”,”programming”,”very”,”much”,”!”};printf(“%s”,fun(str));}9.下面程序的功能是对a数组中的元素按从大到小的顺序排序#include#define N 10;main(){int a[N]={2,17,8,3,24,53,82,1,29,101};int i,j,k,t;for(i=0;i<9;i++){ k=i;for(j=i+1;j<10;j++)if(a[j]<a[k])< p="">k=j;if(k=i){t=a[j];a[j]=a[i];a[i]=t;}}}10.下面程序的功能是交换变量a和b中的值#includemain(){int a,b,*p,*q,*t;p=&aq=&bprintf("请输入变量a和b的值:");scanf("%d%d", &p,&q);*t=*p ;*p=*q ;*q=*tprintf("交换后a和b的值:a=%d b=%d\n",a,b);}11.假设某袋子中装有3个红球,5个白球,6个黑球,现从该袋子中任意取出8个球,下面程序的功能是输出这8个球中至少有一个白球的所有方案。
阅读程序题以下程序的输出结果是 .. mainD{ float a;printf"%g";a;}A +00BCD 0下面程序的输出结果是B____..include <>main{ int x=10;{ int x=20;printf "%d;"; x;printf"%d\n"; x;}A 10;20B 20;10C 10;10D 20;20以下程序的输出结果是___B_.. main{ unsigned int n;int i=-521;n=i;printf"n=%u\n";n;}s";s;}A a bookB a book<四个空格C a boD 格式描述错误;输出不确定下面程序的输出结果是____..main{ int a;b;scanf"%2d%3d";&a;&b;printf"a=%d b=%d\n";a;b;}A a=12 b=34B a=123 b=45C a=12 b=345D 语句右错误以下程序段的输出结果是 .. int a=10;b=50;c=30;ifa>ba=b;b=c;c=a;printf"a=%d b=%d c=%d\n";a;b;c;A a=10 b=50 c=10B a=10 b=30 c=10C a=50 b=30 c=10D a=50 b=30 c=50以下程序的输出结果是 .. main{ int a=0;b=1;c=0;d=20;ifa d=d-10;else ifbifc d=15;else d=25;printf"d=%d\n";d;}A d=10B d=15C d=20D d=25下面程序的输出结果为 ..main{ int a=1;b=0;switcha{ case 1: switch b{ case 0: printf"0"; break;case 1: printf"1"; break;}case 2: printf"2"; break;}}A 0B 02C 012D 有语法错误以下程序的输出结果是 .. mainint v1=0;v2=0;v3=0;v4=0;k;fork=0;sk;k++switchsk{ case '1': v1++;case '3': v3++;case '2': v2++;default: v4++;}printf"v1=%d; v2=%d; v3=%d; v4=%d\n";v1;v2;v3;v4;}A v1=4;v2=2;v3=1;v4=1B v1=4;v2=9;v3=3;v4=1C v1=5;v2=8;v3=6;v4=1D v1=4;v2=7;v3=5;v4=8下面程序的输出是 ..main{ int x=1;y=0;a=0;b=0;switchx{ case 1: switchy{ case 0: a++;break;case 1: b++;break;}case 2: a++;b++;break;}printf"a=%d;b=%d\n";a;b;}A a=2;b=1B a=1;b=1C a=1;b=0D a=2;b=2下面程序的输出是____..main{ int num=0;whilenum<=2{ num++;printf"%d\n";num;}}A 1B 1C 1D 12 2 23 34下面程序的输出结果是____.. main{ int a=1;b=0;do{ switcha{ case 1: b=1;break;case 2: b=2;break;default : b=0;}b=a+b;}whileb;printf"a=%d;b=%d";a;b;}A 1;2B 2;1C 1;1D 2;2从键盘上输入"446755"时;下面程序的输出是____.. include <>main{ int c;whilec=getchar='\n'switchc -'2'{ case 0:case 1: putcharc+4;case 2: putcharc+4;break;case 3: putcharc+3;default: putcharc+2;break;}printf"\n";}下面程序的输出结果是____.. main{ int k=0;char c='A';do{ switchc++{ case 'A': k++;break;case 'B': k--;case 'C': k+=2;break;case 'D': k=k%2;contiue;case 'E': k=k+10;break;default: k=k/3;}k++;}whilec<'C' ;printf"k=%d\n";k;}A k=1B k=2C k=3D k=4下面程序的输出结果是____.. main{ int x;i;{ x=i;if++x%2==0if++x%3==0if++x%7==0printf"%d ";x;}}A 39 81B 42 84C 26 68D 28 70下面程序的输出结果是____.. include <>main{ int i;k;a10;p3;k=5;ai=i;fori=0;i<3;i++pi=aii+1;fori=0;i<3;i++k+=pi2;printf"%d\n";k;}A 20B 21C 22D 23假定从键盘上输入";<回车>";下面程序的输出是____.. include <>main{ float x;y;z;scanf"%f;%f";&x;&y;z=x/y;while1{ iffabsz>{ x=y;y=z;z=x/y;}else break;}printf"%f\n";y;}A B C D下面程序的输出结果是____.. main{ int i;j;x=0;fori=0;i<2;i++{ x++;forj=0;j<-3;j++{ ifj%2continue;x++;}x++;}printf"x=%d\n";x;}A x=4B x=8C x=6D x=12下面程序的输出结果是____..main{ int i;j;k=10;fori=0;i<2;i++{ k++;{ int k=0;forj=0;j<=3;j++{ ifj%2 continue;k++;}}k++;}printf"k=%d\n";k;}A k=4B k=8C k=14D k=18下面程序的输出结果是____.. include <>main{ int n33; i; j;fori=0;i<3;i++forj=0;j<3;j++nij=i+j;fori=0;i<2;i++forj=0;j<2;j++ni+1j+1+=nij;printf"%d\n"; nij;}A 14B 0C 6D 不确定下面程序的输出结果是____..include <>main{ int a45={1;2;4;-4;5;-9;3;6;-3;2;7;8;4};int i;j;n;n=9;i=n/5;j=n-i5-1;printf"a%d%d=%d\n"; i;j;aij;}A 6B -3C 2D 不确定下面程序的输出结果是____..int m33={ {1}; {2}; {3} };int n33={ 1; 2; 3 };main{ printf"%d\n"; m10+n00 ; / ① / printf"%d\n"; m01+n10 ; / ② /}① A 0 B 1 C 2 D 3② A 0 B 1 C 2 D 3下面程序的输出结果是____..include <>main{ char s150={"some string "};s2={"test"};printf"%s\n"; strcats1;s2;}A some stringB testC some stritestD some string test下面程序的输出结果是____.. include <>fchar s{ char p=s;whilep='\0'p++;returnp-s;}main{ printf"%d\n";f"ABCDEF";}A 3B 6C 8D 0下面程序的输出结果是____..include <>include <>main{ char str100 ="How do you do";strcpy str + strlenstr/2; "es she";printf"%s\n"; str;}A How do you doB es sheC How are youD How does she下面程序的输出结果是____..include <>funcint a;int b{ int c;c=a+b;returnc;main{ int x=6;y=7;z=8;r;r=funcx--;y++;x+y;z--;printf"%d\n";r;}A 11B 20C 21D 31下面程序的输出结果是____.. include <>void funint s{ static int j=0;do{ sj+=sj+1;}while++j<2;main{ int k;a10={1;2;3;4;5};fork=1;k<3;k++funa;fork=0;k<5;k++printf"%d";ak;}A 35756B 23445C 35745D 12345下面程序的输出结果是____.. include <>int k=1;main{ int i=4;funi;printf "\n%d;%d";i;k; / ① /}funint m{ m+=k;k+=m;{ char k='B';printf"\n%d";k-'A'; / ② /}printf"\n%d;%d";m;k; / ③ /}① A 4;1 B 5;6 C 4;6 D A;B;C参考答案都不对② A 1 B -59 C -64 D A;B;C参考答案都不对③ A 5;66 B 1;66 C 5;6 D A;B;C参考答案都不对下面程序的输出结果是____..include <>funint n; int s { int f1; f2;ifn==1||n==2s=1;else{ funn-1; &f1;funn-2; &f2;s=f1+f2;}}main{ int x;fun6; &x;printf"%d\n"; x;}A 6B 7C 8D 9下面程序的输出结果是____.. int w=3;main{ int w=10;printf"%d\n";fun5w;}funint k{ ifk==0 returnw;returnfunk-1k;}A 360B 3600C 1080D 1200下面程序的输出结果是____.. include <>funaint a{ int b=0;static int c=3;a=c++;b++;returna;}main{ int a=2;i;k;fori=0;i<2;i++k=funaa++;printf"%d\n";k;}A 3B 0C 5D 4下面程序的输出结果是____.. include <>void num{ extern int x;y;int a=15;b=10;x=a-b;y=a+b;}int x;y;main{ int a=7;b=5;x=a-b;y=a+b;num;printf"%d;%d\n";x;y;}A 12;2B 5;25C 1;12D 输出不确定下面程序的输出结果是____..main{ int a=2;i;fori=0;i<3;i++printf"%4d";fa;}fint a{ int b=0;static int c=3;b++;c++;returna+b+c;}A 7 7 7B 7 10 13C 7 9 11D 7 8 9下面程序的输出结果是____.. include <>try{ static int x=3;x++;returnx;}main{ int i; x;fori=0; i<=2; i++x=try ;printf"%d\n"; x;}A 3B 4C 5D 6下面程序的输出结果是____.. include <>main{ int x=1;void f1 ; f2 ;f1 ;f2x;printf"%d\n"; x;}void f1void{ int x=3;printf"%d "; x;void f2 xint x;{ printf"%d "; ++x;}A 1 1 1B 2 2 2C 3 3 3D 3 2 1下面程序的输出结果是____.. include <>define SUBX;Y XYmain{ int a=3;b=4;printf"%d\n";SUBa++;b++;}A 12B 15C 16D 20下面程序的输出结果是____..main{ int a={1;2;3;4;5;6};int p;p=a;printf"%d ";p;printf"%d ";++p;printf"%d ";++p;printf"%d ";p--;p+=3;printf"%d %d ";p;a+3;}A 1 2 3 3 5 4B 1 2 3 4 5 6C 1 2 2 3 4 5D 1 2 3 4 4 5下面程序的输出结果是____..main{ int a34={1;2;3;4;5;6;7;8;9;10;11;12};int p=a;p+=6;printf"%d ";p; / ① /printf"%d ";a+6; / ② /printf"%d ";a1+=2; / ③ /printf"%d";&a00+6;/ ④ /}A 7 7 7 7B ②句语法错误C ③句语法错误D ④句语法错误下面程序的输出结果是____..define FMT "%X\n"include <>{ static int a 4 = { 1;2;3;4;5;6;7;8;9;10;11;12 };printf FMT; a22; / ① /printf FMT; a+1+1 ; / ② /}① A 9 B 11 C A D B② A 6 B 7 C 8 D 前面三个参考答案均是错误的下面程序的输出结果是____..include <>main{ int a={1; 2; 3; 4; 5} ;int x; y; p;p=&a0;x=p+2;printf"%d;%d;%d\n"; p; x; y;}A 1;3;5B 1;2;3C 1;2;4D 1;4;5下面程序的输出结果是____.. void ivex;nint x;n;{ int t;p;p=x+n-1;whilex<p{ t=x;x++=p;p--=t;}}main{ int i;a={1;2;3;4;5;6;7;8;9;0};ivea;10;fori=0;i<10;i++printf"%d ";ai;printf"\n";}A 1 2 3 4 5 6 7 8 9 0B 0 9 8 7 6 5 4 3 2 1C 1 3 5 7 9 2 4 6 8 0D 0 8 6 4 2 9 7 5 3 1下面程序的输出结果是____..include ""funchar w;int n{ char t;s1;s2;s1=w;s2=w+n-1;whiles1<s2{ t=s1++;s1=s2--;s2=t;}}main{ static char p="1234567";funp;strlenp;printf"%s";p;}A 7654321B 1717171C 7171717D 1711717下面程序的输出结果是____.. include <>char p = "abcdefghijklmnopq" ;main{ int i=0;while p++='e' ;printf"%c\n"; p;}A cB dC eD f下面程序的输出结果是____.. include <>fint x; int y{ return y-x;}main{ int a=5; b=6; c;int f; g=f;printf"%d\n"; ga;b ;}A 1B 2C 3D 前面三个参考答案均是错误的下面程序的输出结果是____..include <>main{ int a=1;p;pp;pp=&p;p=&a;a++;printf "%d;%d;%d\n"; a;p; pp;}A 2;1;1B 2;1;2C 2;2;2D 程序有错误下面程序的输出结果是____..main{ char alpha7={"ABCD";"EFGH";"IJKL";"MNOP";"QRST";"UVWX";"YZ"};char p;int i;p=alpha;fori=0;i<4;i++printf"%c";pi;printf"\n";}A AEIMB BFJNC ABCD D DHLP下面程序的输出结果是____..include <>char pp23={ "abc"; "defgh"; "ijkl"; "mnopqr"; "stuvw"; "xyz"};main{ printf"%c\n";pp+1; / ① /printf"%c\n";pp0; / ② /printf"%c\n";pp+1+14; / ③ /printf"%c\n";pp12+2; / ④ /printf"%s\n";pp+1; / ⑤ /}① A a B d C i D m② A a B d C i D m③ A h B l C q D w④ A k B o C u D z⑤ A ijkl B mnopqr C stuvw D xyz下面程序的输出结果是____..include ""struct str1{ char c5;char s;};main{ struct str1 s12={ {"ABCD""EFGH"};{"IJK";"LMN"} };struct str2{ struct str1 sr;int d;}s2={"OPQ";"RST";32767};struct str1 p2;p0=&s10;p1=&s11;printf"%s";++p1->s; / ① /printf"%c"② /}① A LMN B MN C N D IJK② A O B P C Q D R以下程序的输出结果是____..struct st{ int x;y;}p;int s={10;20;30;40};struct st a={1;&s0;2;&s1;3;&s2;4;&s3}; main{ p=a;printf"%d\n";++++p->y;}A 10B 11C 20D 21以下程序的输出结果是____.. include <>main{ union EXAMPLE{ struct{ int x;y;}in;int a;b;}e;=1;=2;}A 2;3B 4;4C 4;8D 8;8下面程序的输出结果是____.. include <>main{ union{ int i2;long k;char c4;}r;s=&r;s->i0=0x39;s->i1=0x38;printf"%c\n";s->c0;}A 39B 9C 38D 8下面程序的输出是 ..main{ printf"%d\n"; EOF;}A -1B 0C 1D 程序是错误的参考答案参考答案:D注释:程序中除法运算的两个操作数均是整型;运算结果也是整型..参考答案:B注释:C语言允许在程序块分程序中说明变量..参考答案:C注释:变量i中的负号传送给变量n后;因n是无符号数;已不作为负号处理..参考答案:D注释:对变量x的――操作是后缀形式;变量x的减1操作要在执行完printf函数之后才进行;所以变量x的值在输出的时候仍然保持原值10..参考答案:B注释:C语言在执行printf时;对函数中的表达式表列的处理顺序是从后向前;即先处理n- -;再处理n++;最后处理n;而且每一个表达式作为一个处理单元;也就是说在不同的表达式中自增自减运算是单独考虑的..参考答案:A注释:变量x和变量y做按位与;结果为0x0200;右移4位为0x0020;再与0x005f做按位或;最后结果为0x007f..参考答案:A注释:逗号表达式的结果是用逗号分开的最后一个表达式的值;此题由于 c=='A'的值是0;所以逗号表达式的值为0..参考答案: B参考答案: A参考答案: C注释:在输出格式描述"%"中;m是输出总长度;n是实际字符的个数;这里m没有给出;则输出总长度就是实际输出字符的个数..参考答案: C参考答案:B参考答案:C参考答案:B参考答案:D参考答案:A参考答案: C参考答案:A参考答案: C注释:在switch语句中;case本身仅起到语句标号的作用;不会改变语句的流程;执行break语句才能退出当前的switch语句..参考答案: D注释:siwtch语句的表达式中;变量c是后缀的增一运算;第一次执行do-while循环时;执行case 'A'后面的语句..参考答案: D参考答案: B参考答案: B注释:fabs是浮点数绝对值函数..参考答案: A参考答案: C注释:C语言允许在程序块分程序内说明变量;如果在程序块内说明的变量和程序块外的变量同名;在块外说明的变量在块内是不可见的..可将此题和进行比较;加深理解..参考答案: C参考答案: B参考答案:① D ② A参考答案:D参考答案: B。
读程序写结果一、数组1.#include <stdio.h>void main(){int a[8]={1,0,1,0,1,0,1,0},i;for(i=2;i<8;i++)a[i]+= a[i-1] + a[i-2];for(i=0;i<8;i++)printf(“%5d”,a[i]);}2.#include <stdio.h>void main(){float b[6]={1.1,2.2,3.3,4.4,5.5,6.6},t;int i;t=b[0];for(i=0;i<5;i++)b[i]=b[i+1];b[5]=t;for(i=0;i<6;i++)printf(“%6.2f”,b[i]);}3.#include <stdio.h>void main(){ int p[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7 && p[i]%2){ k=k+p[i]; i++;}printf("k=%d\n",k);}4. void main(){ int a[3][3]={1,3,5,7,9,11,13,15,17};int sum=0,i,j;for (i=0;i<3;i++)for (j=0;j<3;j++){ a[i][j]=i+j;if (i==j)sum=sum+a[i][j];}printf("sum=%d",sum);}5.void main(){ int a[4][4],i,j,k;for (i=0;i<4;i++)for (j=0;j<4;j++)a[i][j]=i-j;for (i=0;i<4;i++){ for (j=0;j<=i;j++)printf("%4d",a[i][j]);printf("\n");}}6. #include <stdio.h>main(){ int i,s;char s1[100],s2[100];printf("input string1:\n"); gets(s1); printf("input string2:\n"); gets(s2); i=0;while ((s1[i]==s2[i])&&(s1[i]!='\0')) i++;if ((s1[i]=='\0')&&(s2[i]=='\0')) s=0; else s=s1[i]-s2[i];printf("%d\n",s);}输入数据 aidand7.void main(){char ch[3][5]={ "AAAA","BBB","CC"};printf("\"%s\"\n",ch[1]);}1.1 0 2 2 5 7 13 20 2.2.20 3.30 4.40 5.50 6.60 1.103.k=244.sum=65.1 02 1 03 2 1 06.-57.“BBB”二、指针1、char cchar(char ch){ if (ch>=‘A’&&ch<=‘Z')ch=ch-‘A'+‘a';return ch;}void main(){ char s[]="ABC+abc=defDEF",*p=s;while(*p){ *p=cchar(*p);p++;}printf("%s\n",s);}2、void main( ){ int a[5]={2,4,6,8,10},*p,* *k;p=a; k=&p;printf("%d",*(p++));printf("%d\n",* *k);}3、funa(int a,int b ) { return a+b;}funb(int a,int b ) { return a-b;}sub( int (*t)( ),int x,int y ){ return ((*t)(x,y));}void main( ){ int x ,(*p)( );p=funa;x=sub(p,9,3);x+=sub(funb,8,3);printf("%d\n",x);}4、void main( ){ char *s="12134211";int v[4]={0,0,0,0} ;int k,i;for(k=0;s[k];k++){ switch(s[k]){ case '1':i=0;case '2':i=1;case '3':i=2;case '4':i=3;}v[i]++;}for(k=0;k<4;k++) printf("%d",v[k]);}5、# include "ctype.h"void space(char *str){ int i ,t ;char ts[81];for(i=0,t=0 ;str[i]!='\0' ;i+=2)if(! isspace(*(str+i))&&(*(str+i)!='a')) ts[t++]=toupper(str[i]) ;ts[t]='\0' ; strcpy(str ,ts) ;}void main( ){ char s[81]={"abcdefg"} ;space(s); puts(s);}6、#include<stdio.h>sub1(char a ,char b) { char c ; c=a ;a=b ;b=c ;}sub2(char * a ,char b) { char c ; c=*a ;*a=b ;b=c ;}sub3(char * a ,char *b){ char c ; c=*a ;*a=*b ;*b=c ;} void main(){ char a ,b ;a='A' ;b='B' ;sub3(&a ,&b) ;putchar(a) ;putchar(b) ;a='A' ;b='B' ;sub2(&a ,b) ;putchar(a) ;putchar(b) ;a='A' ;b='B' ;sub1(a ,b) ;putchar(a) ;putchar(b) ;}7、void main(){ char b[ ]="ABCDEFG";char *chp=&b[7];while(--chp>&b[0])putchar(*chp);putchar('\n');}8、void prtv(int * x){ printf("%d\n",++*x);}void main(){ int a=25 ;prtv(&a);}9、int aa[3][3]={{2},{4},{6}};void main(){ int i ,*p=&aa[0][0];for(i=0;i<2;i++){ if(i==1) aa[i][i+1]=*p+1;else ++p;printf("%d",*p);}}10、int f(int b[ ],int n){ int i ,r=1;for(i=0;i<=n;i++) r=r*b[i];return r;}void main(){ int x,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);}1、abc+abc=defdef2、243、174、00085、CEG6、BABBAB7、GFEDCB8、269、0010、120三、结构体1、#include <stdio.h>struct abc { int a, b, c; };main(){ struct abc s[2]={{1,2,3},{4,5,6}};int t;t=s[0].a+s[1].b;printf("%d \n",t);}2、#include <stdio.h>struct stu{ int num;char name[10]; int age;};void fun(struct stu *p){ printf("%s\n" ,(*p).name); }void main(){ struct stu students[3]={{9801,"Zhang",20} ,{9802,"Wang", 19} , {9803,"Zhao",18} };fun(students+2);}3、#include <stdio.h>void main(){ enum team { my ,your=4 ,his ,her=his+10};printf("%d%d%d%d\n",my,your,his,her);}4、#include <stdio.h>struct st { int x;int *y;} *p ;int dt[4]={10,20,30,40};struct st aa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3] };void main(){ p=aa;printf("%d, ", ++p->x);printf("%d, ",(++p)->x);printf("%d\n",++(*p->y));}5、#include <stdio.h>union myun{ struct{ int x, y, z; } u;int k;} a;void main(){ a.u.x=4; a.u.y=5; a.u.z=6;a.k=0;printf("%d\n",a.u.x);}6、#include <stdio.h>struct STU{ char num[10]; float score[3]; };void main(){ struct STU s[3]={{“20021”,90,95,85},{“20022”,95,80,75}, {“20023”,100,95,90}},*p=s;int i; float sum=0;for(i=0;i<3;i++)sum=sum+p->score[i];printf(“%6.2f\n”,sum);}7、#include <stdio.h>#include <stdlib.h>struct NODE{ int num; struct NODE *next; };void main(){ struct NODE *p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE));q=(struct NODE*)malloc(sizeof(struct NODE));r=(struct NODE*)malloc(sizeof(struct NODE));p->num=10; q->num=20; r->num=30;p->next=q;q->next=r;printf(“%d\n”,p->num+q->next->num);}8、#include <stdio.h>typedef union student{ char name[10];long sno;char sex;float score[4];} STU;void main(){ STU a[5];printf(“%d\n”,sizeof(a));}1、 62、 Zhao3、 045154、 51, 60, 215、 06、 270.007、 408、 80。
(完整版)C语⾔程序设计练习题(含程序及参考答案)C语⾔练习题(所提供的源程序均采⽤⾃定义函数⽅式解决,如不采⽤函数⽅式,也可直接在main函数中借鉴该思想编程,因时间有限,所有程序未能⼀⼀验证,仅供参考使⽤)1、定义⼀个函数int fun(int a,int b,int c),它的功能是:若a,b,c能构成等边三⾓形函数返回3,若能构成等腰三⾓形函数返回2,若能构成⼀般三⾓形函数返回1,若不能构成三⾓形函数返回0。
#includeint fun(int a,int b,int c){if(a+b>c && b+c>a && a+c>b){if(a==b && b==c )return 3;else if(a==b||b==c||a==c)return 2;else return 1;}else return 0;}void main(){int a,b,c,shape;printf("\nInput a,b,c: ");scanf("%d%d%d",&a,&b,&c);printf("\na=%d, b=%d, c=%d\n",a,b,c);shape =fun(a,b,c);printf("\n\nThe shape : %d\n",shape);}2、编写⼀个程序,将两个变量的值交换, 例如变量a中的值原为 3,b中的值原为8,程序运⾏后 a 中的值为8,b中的值为3。
#includevoid fun(int *x,int *y){int t;t=*x;*x=*y;*y=t}void main(){int a=3,b=8;printf("%d %d\n",a,b);fun(&a,b);printf("%d %d\n",a,b);}3、从键盘输⼊3个数,将最⼤值放在变量a中,最⼩值放在变量c中。
阅读程序写结果试题第四章选择结构(共20道题)1.(于蕾)#include <stdio.h>void main(){mt x yt;x=7;y=9;if(x<y){t=x;x=y;y^t;}piiDtf(”%d.%d\iT, x,y );}运行结果:9,72.(于蕾)#include <stdio.h>void main(){mt x=l,a=2,b=3;switch(x){case 1: a-; break;case 2: b++; break;case 3: a++;b++;} pTintfC\na=%dqb=%d\n”,a,b); }运行结果:a=l,b=33.(于蕾)#include <stdio.h>void main()cliai- chi = E; if(chl >= A')chl++「elsechl+=32「pHndf ・chl H*c\n・「chi);chinF4・(罷)^include Asrdlo.hv voidmaix )宀h x 》yj; xdy=3- lf(xvy)宀Y x n c p l s-t f (・・*dWd\iT Vx 》y )八3.5W(出玉)^includeA s a l o .h v r n rmain()宀h u p b Q s LplB-tfv ・Ell@threehucgcls..)八scaDfrfd<d%dJ<&pp?bdc)「inaAnb) m=p else m giKCAm) B H O -pmHf(hH*d\irD 匚【ctum0八 彗>“212223人回-m v111H216.(王伟)#include <stdio.h>mt mam()char chl=8,ch2=B,cli3=E;if(chl>cli2)if(ch2>ch3)ch3++;else-ch3;piintf(M ch3=%c\ii,\ch3); return 0;}运行结果:ch3=D7.(王伟)#include <stdio.h> mt mam(){float x、y;scanf(H%f\&x);switch((int)X/z10){case 0:尸l・0; prmtf(n y=%f\n,\y);bieak;case 1:尸2*x+l; prmtf(n y=%f\n,\y);bieak;case 2:尸3*x*x+2; prmtf(n y=%f\n,\y);bieak;default:printff'No defmition.\n");}return 0;}输入:15.3<回车〉运行结果:V=31.600000J8.(王伟)^include <stdio.h>mt mam()chai- chl=,A\cli2=B,; switch(chl)caseswitch(ch2) {case B1: prmtf(n Good! \ii n) ;break;case W: printfC^Betteil^^ibreak;}case B1: printf("Best!\n H); break;}return 0;}运行结果:Good!Best?9.(王锋)#include <stdio.h>void main(){float score;score = 100;if (score<60) piiiitf(n E^i H);elseswitch( (int) score /10 ){ case 10:case 9:case 8: prmtf(H B\n M);case 7: prmtf(n C\n M); break; case 6:prmtf(H D\ii H); break; default: pnntffEnoAnJ;}} 运行结果:ABC10.(王锋)#include <stdio.h>void main(){int i=0, a=2:if(i==0)pnntfT$$) pmitfD}运行结果:11.(王锋)#iiiclude<stdio.h>void main(){int m= 10.n=0 ,p=4,q=20; if (m)if(n)q=15-m;elseq=25+m;else if (p)q=q+p; piintfC<q=%d,n,\q);}运行结果:q=3512.(王锋)#iiiclude<stdio.h>void main()int a=l.b=0; switch(a)case 1: switch (b)case 0: piintf("**0**”); break; case1:print^^**! **^);break;}case 2: pimtfC c**2**n);break;运行结果:**Q****2**13.(宋昕)# iiiclude<stdio.h> mt maiii()int a=2°b=7,c=5;switch (a>0){case 1: switch (b<0){case 1: pnntff@”); break ;case 2: prmtf(n!M); break ;case 0: switch (c==5){case l:prmtf(n*H); break; default:pnntff#”); break ;} pnntfC,\n M); leturn 0;}运行结果:*&14.(宋昕)#iiiclude<stdio.h> mt mam()int a=O,b= 1 ,c=0,d=20; if(a) d=d-10;else if (!b)if(!c) d=15;elsedH25;d\n=d)八 ictum sdH2015・(汩淳)#includcAsrdlo ・hvmrnlaho宀inranl 八swirchsf ease 9pnmff畫o f )cr 「ca ?rcascr-pnndc黑一M£b§K caseNpnnrfc¥2M£b§K【cnlnl八**1**16・(汩淳)^include A s a l o .h vr n rmain()宀hx・y 「scaDfcfd=p?xxynxvl2?x+10*lNy);ictum0 八人回卅17・(汩淳)^includeA s a lo .h v r n rmain()宀floarX-y-chai op_;(02-一62)七T e =a(.SCUTP O A・・q .2p」s =QpnoUT非 (報SR田)・8T9.0人紺回v s .cn“ <皐宀 o amp」Y二J T ・f ・・)七/CQ 】q「A /乂H】<・<D S C O召 Q 】q>.* xH」••*・<D SC O>.丨 x H】:/<DSC O「acpKI >;+ xH 」一+QseoY&・)七Y =r )七 (?)七冃d“总。
C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。
图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。
如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。
要事先准备好保存文件的目录,例d:\lx 目录。
在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。
设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。
图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。
图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。
在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。
内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。
第一篇:C语言程序设计试题集及其答案第一章基础知识一.填空1.每个C程序都必须有且仅有一个________ 函数。
2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。
3. 软件是程序,以及______、使用和维护所需要的所有文档。
4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。
5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。
6. C语言是由________组成的。
7. C语言的函数可分为主函数main、标准库函数和_________。
8. 一个函数是由两部分组成的,即:________和函数体。
9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。
10.程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。
不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。
11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。
12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对象,也可以用标号和符号来代替地址、常量和变量。
13.在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。
14. C程序的执行均是由执行_________开始。
15.函数体即为包含在{}内的部分。
它分为________和为完成功能任务由若干个C语句组成的执行部分。
16.C语言程序中一条简单语句是以________字符作为结束符的。
C++程序设计模拟题三、用C++语言描述下列命题1、A小于B并且A大于C2、A和B中有—个小于C3、A是奇数4、B和C中较大者与A相等5、年份Y是闰年四、写出下列程序的执行结果1.#include <iostream .h>void main(){int b[3][5]={11,12,13,14,15,21,22,23,24,25,31,32,33,34,35};int (*p)[5];p=b;for(int j=0;j<5;j++)cout<<*(*p+j)<< "," ;cout<<endl;}2.#include<iostream.h>void swapl(int a,int b){int temp=a;a=b;b=temp;}void swap2(int*a,int*b){int temp=*a;*a=*b,*b=temp;}void swap3(int*a,int*b){int*temp=a;a=b,b=temp;}void swap4(int &a,int &b)int temp=a;a=b; b=temp;}void main(){int a=10,b=20;swapl(a,b);cout<<a<<": "<<b<<endl;swap2(&a,&b);cout<<a<<": "<<b<<endl;swap3(&a,&b);cout<<a<<": "<<b<<endl;swap4(a,b);cout<<a<<": "<<b<<endl;}3.&&&#include<iostream. h>void print(int w){int i;if(w!=0){print(w-1);for(i=1;i<=w;i++)cout<<w;cout<<endl;}}void main(){print(4);}4.#include<iostream.h>#define sw(x,y) {x^=y;y^=x;x^=y;} void main(){int a=10,b=01;sw(a,b);cout<<a<<","<<b;5.假定输入10个整数:32,64,53,87,54,32,98,56,98,83。
三、读程序题1、float f=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是3.141593,3.1416,3.142 .2、int x=6,y=7;printf(“%d,”,x++);printf(“%d\n”,++y);程序的输出结果是6,83、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是. 44、for (a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}程序的输出结果a的值为22 .5、int y=1,x,*p,a[ ]={2,4,6,8,10};p=&a[1];for(x=0;x<3;x++)y + = * (p + x);printf(“%d\n”,y);程序的输出结果y的值是19 .四、程序填空题1、从键盘上输入10个数,求其平均值。
main(){int i;float f,sum;for(i=1,sum=0.0;i<11;i++){ scanf(“%f”,&f);Sum+=f ;}printf(“average=%f\n”,sum/10);}2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。
#include <stdio.h>main(){ FILE *fp;char c;fp= ;do{c=getchar();fputs(c,fp);}while(c!=EOF);3、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
请填空。
main(){ float x,amax,amin;scanf(“%f”,&x);amax=x;amin=x;while(x>=0.0 ){ if(x>amax)amax=x;if(x<=amin )amin=x;scanf(“%f”,&x);}printf(“\namax=%f\namin=%f\n”,amax,amin);} 三、阅读程序题(1) 3.141593,3.1416,3.142(2)6,8(3) 4(4)22(5)19四、程序填空题1、scanf(“%f”,&f);sum+=f;2、fopen(“myfile”,w)fclose(fp);3、x>=0.0 x<=amin三、阅读程序题1、int x=6,y=7;printf(“%d,”,x++);printf(“%d\n”,++y);程序的输出结果是______.2、float f=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是______.3、a=3;a+=(a<1)a:1;printf(“%d”,a);结果是______.4、main(){ int a[5]={2,4,6,8,10},*P,* *k;p=a;k=&p;printf(“%d,”,*(p++));printf(“%d\n”,* *k);程序的输出结果是______.5、main(){int a,b;for (a=1,b=1;a<=100;a++){ if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;} }程序的输出结果a的值为______.四、程序填空题1、求主次对角线之和。