C語言程序設(shè)計實(shí)驗(yàn)指導(dǎo)書2_第1頁
C語言程序設(shè)計實(shí)驗(yàn)指導(dǎo)書2_第2頁
C語言程序設(shè)計實(shí)驗(yàn)指導(dǎo)書2_第3頁
C語言程序設(shè)計實(shí)驗(yàn)指導(dǎo)書2_第4頁
已閱讀5頁,還剩91頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

C語言程序設(shè)計實(shí)驗(yàn)指導(dǎo)書2011-2012學(xué)年第1學(xué)期學(xué)號: 姓名: 第1部分實(shí)驗(yàn)篇實(shí)驗(yàn)六函數(shù)實(shí)驗(yàn)?zāi)康?熟練掌握函數(shù)的定義和使用方法。.熟練掌握調(diào)用函數(shù)與被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞。.掌握函數(shù)的返回值和類型。.掌握的嵌套調(diào)用和遞歸調(diào)用。實(shí)驗(yàn)內(nèi)容.讀程序、寫結(jié)果(1)/*****s6-l.c*****/#include<stdio.h>main()(inta=2,b=10;func(a,b);printf("a=%d,b=%d\nw,a,b);}func(inta,intb)(inttemp;temp=a;a=b;b=temp;)【上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】(2)/*****s6-2..c*****/#include<stdio.h>inta=l,j=2;main()(inti=2;func();printf("a=%d,i=%d,j=%d\nM,a,i,j);}func()intn,i=5;printf("a=%d,i=%d\n”,a,一ーi);i++;a++;if(a<4)funcO;a—;j+=3;printf(Ma=%d,j=%d\nn,a,j);)提示:注意函數(shù)遞歸調(diào)用的過程。[上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】⑶/*****s6-3.c*****/qianl(intx,inty)|intc,s,t;s=x+y; t=x-y;c=qian2(s,t);return(c);printf("c=%d\n”,c);)qian2(intx,inty)(return(x+y);}main()(inta=l,b=2,c;c=2*qianl(a,b);printf(*c=%d\n”,c);)【上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】.完善程序(1)給定程序中,函數(shù)fun的功能是:計算下式前n項(xiàng)的和作為函數(shù)值返回。1x33x55x7 1(2x?-l)x(2x?+l)“デーア?鏟ー…+Eーす?一例如:當(dāng)行參n的值為10時,函數(shù)返回ー〇.204491?/*****s6-4.c*****/#include<stdio.h>doublefun(intn)|inti,k;doubles,t;s=0;k=—1—;for(i=l;i<=n;i++)(t= 2 ;s=s+k*(2*i-l)*(2*i+l)/(t*t);k=k*—3—;}returns;)main(){intn二T;while(n<0)(printf("Pleaseinput(n>0):");scanf("%d",&n);)printf("\nTheresultis:%f\n",fun(n));(2)以下函數(shù)的功能是:求100(不包括100)以內(nèi)能被2或5整除,但不能同時被2或5整除的自然數(shù)。結(jié)果保存在數(shù)組bb中,函數(shù)fun()返回數(shù)組bb元素的個數(shù)。/*****s6-5.c*****#include<stdio.h>#defineN100intfun(intbb[]){inti,j;for(_1—;i<100;i++)if((i%2!=0&&i%5=0)||(i%2==0&&i%5;=0))—2—;returnj;}main()inti,n;

intbb[NJ;clrscr();n=fun(bb);for(i=0;i<n;i++)(if(i%10—0)printf("\n");printf("%4d",bb[i]);}}3.改錯(1)以下fun函數(shù)用以判斷n是否為素數(shù)。fun函數(shù)中有邏輯錯,main函數(shù)完成從鍵盤接收ー個整數(shù),再以該數(shù)為參數(shù)調(diào)用fun函數(shù),修改fun中的錯誤。/*****s6-6.c*****#include<stdio.h>fun(intn)/ound*****/intk,yes=0;for(k=2;k<=n/2;k++)/*****found*****/if(n%k==0)yes=l;/ound*****/return;)main(){intx;printf('\ninputanumber:");scanf("%d",&x);if(fun(x))printf("%disshushu.\n",x);elseprintf("%disn'tshushu.\n",x);1-3-113-3-113一88-55-3(2)給定程序的功能是:求出以下分?jǐn)?shù)序列的前n項(xiàng)之和:一,一12和值通過函數(shù)值返回。(例如:若n=5,則應(yīng)輸出8.391667)/*****s6-7.c*****#include<conio.h>#include<stdio.h>/********found********/fun(intn)inta,b,c,k;doubles;s=0.0;a=2;/********found********/b=0;for(k=l;k<=n;k++)(s=s+(double)a/b;c=a;a=b+c;b=c;}/********fourid********/returns)main()(intn=5;clrscr();printf(*\nthevalueoffunctionis:%f\n*,fun(n));)4.程序設(shè)計(1)判斷輸入年份是否為閏年。(s6-8.c)提示:.寫ー個函數(shù):若參數(shù)丫為閏年,則返回1,否則返回。;.判斷年份是否為閏年的條件是:①公元年數(shù)如能被4整除而不能被100整除,則是閏年;②公元年數(shù)能被400整除也是閏年。(2)編寫程序,通過函數(shù)調(diào)用,求表達(dá)式一一5?イ+4的值,x作為參數(shù)傳遞給函數(shù),假設(shè)xl=20.34,x2=3o(s6-9.c)調(diào)用此函數(shù)求:yl=22-5*2+4y2=(xl+15)2-5*(xl+15)+4y3=sin2x2-5*sinx2+4(3)寫函數(shù),根據(jù)整型形參m的值,計算如下公式的值。(s6-10.c)2*23*3機(jī)?相(4)下面程序的功能是計算s=£k!,請編寫求n!的函數(shù)fun。&=0/*****s6~4.c*****/longfun(intn)main()(inti,n;longs;scanf( ,&n);s二〇;for(i=l;iく=n;i++);s=s+fun(i);printf("%ld\n",s)')(5)請編寫函數(shù)countch,其功能是:分別統(tǒng)計字符串中英文字母、空格、數(shù)字和其它字符的個數(shù)。/*****s6T2.c*****#include<stdio.h>#include<string.h>intletters=0,space=0,digit=O,others=0;voidcountch(charstr[],intn)()voidmain()(inti;chars[30];printf("\npleaseinputsomecharacters'n");for(i=0;s[i]=getchar(),s[i]!='\n';i++);countch(s,i);puts(s);printf("char=%dspace=%ddigit=%dothers=%d\n,letters,space,digit,others);}(6)請編寫函數(shù)fun,其功能是:判斷形參s所指字符串是否是“回文”(palindrome),若是,函數(shù)近回值為1;不是,函數(shù)近回值為。。"回文”是正讀和反讀都一樣的字符串。例如:LEVELTLEVEL是回文,而LEVLEV不是“回文”。/*****s6_l1.c*****#include<stdio.h>#include<string.h>intfun(charstr[])main()(inti,f;chars[30];printf(*\inputstrings:");gets(s);f=fun(s);if(f)printf('\n%sisaPalindrome.\n*,s);elseprintf('\n%sisn'taPalindrome.\n/z,s);}實(shí)驗(yàn)七存儲類型和編譯預(yù)處理實(shí)驗(yàn)?zāi)康?掌握全局變量和局部變量的含義及其使用方法。.掌握變量的各種存儲類型及其使用方法。.掌握內(nèi)部函數(shù)和外部函數(shù)的含義及其使用方法。.掌握靜態(tài)變量的作用域及使用。.掌握宏定義和文件包含的含義及其使用方法。實(shí)驗(yàn)內(nèi)容.讀程序、寫結(jié)果/*****s7-l.c*****/#include<stdio.h>intx=-8,y=100;func(inta)(inty;y=x+a;x++;a++;return(x+y+a);)main()(intm=2;y=func(m);printf(wx=%d,y=%d,m=%d\n",x,y,m);}(上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】/*****s7-2.c*****/#include<stdio.h>main()(inta[]={3,8,4,2},i;intx=0;for(i=0;i<4;i++){func(a,x);printf(“籾”,x);printf(“\n");)func(ints[],inty)(staticintt=0;y=s[t];t++;【上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】/*****s7-3.c*****/#include<stdio.h>#defineN2#defineMN+1#defineNUM(M+l)*M/2mainO(inti,n=O;for(i=l;i<=NUM;i++)printf("%d”,n);)printf("\n");}【上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】/*****s7-4.c*****/#include<stdio.h>#defineS(x)x*xmain(){inta,k=3;a=++S(k+l);printf("%d\n',a);)【上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】/*****s7_5.c*****/8defineT(x,y)(x)<(y)?(x):(y)main()inti=5,j=10,k;k=10*T(i,j);printf("%d\n〃,k);}【上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】/*****s7_6.c*****/#defineDEBUG1main(){inta=10;#ifDEBUGprintfl'thevalueis%d\n,a);#elseprintf("nothing'n");ttendifI【上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】/*****s7-7.c*****/#defineDEBUG0main(){inta=10;#ifndefDEBUGprintf("thevalueis%d\n",a);#elseprintf("nothing\n");?tendif)[上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】(8)按下列步驟完成指定的操作,理解文件嵌入并分析運(yùn)行結(jié)果。①定義如下內(nèi)容的頭文件mycount..httdefinePI3.14159ttdefinrR2.0②定義如下內(nèi)容的程序文件calculate"floatcircum(x)|floatx,y;y=2*PI*x;return(y);)floatarea(x){floatx,z;z=PI*x*x;return(z);}③輸入主程序并運(yùn)行/*****s7-8.c*****/#include<stdio.h>#include"mycount.h"#includecalculate.cMmain()(float1,s;1=circum(R);s=area(R);printf("\nl=%fs二%f”,1,s);return0)【上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】.完善程序程序功能:將?個十六進(jìn)制數(shù)字的字符串轉(zhuǎn)換成與它等價的十進(jìn)制整數(shù)值。十六進(jìn)制允許的字符是從0-9和a-f(A-F)。主函數(shù)負(fù)責(zé)收集字符,并判別它們是否為十六進(jìn)制,htoi函數(shù)負(fù)責(zé)轉(zhuǎn)換工作。#includeくstdio.h>#defineMAXLINE100#defineEOF-1#defineYES1#defineNO0inthtoi();main()(intc,i,isdigit;chart[MAXLINE];i=0;isdigit=1;while((c=_2 )!=EOF&&iくMAXLINE-1){if(C〉=’〇’&&c<='9'||c>='a'&&cくメf'I|c>='A,&&c〈='F')(isdigit=YES;t[i++]= 3 ;)elseif(isdigit=YES)(isdigit=4;t[i]=5;printf("對”,6);i=O;)))inthtoi(char 7 ){inti,n;n=0;for(i=0;s[i]!=,、0';i++)(if(s[i]>=,0,&&s[i]<=,9')n=n*16+s[i]- 8;if(s[i]>=,a'&&s[i]<=,f')n=n*16+s[i]-9;if(s[i]>=,A'&&s[i]<=,F')n=n*16+s[i]-10;return(n);實(shí)驗(yàn)八指針操作實(shí)驗(yàn)?zāi)康?.掌握指針概念及定義,指針變量的引用和操作。2.掌握通過指針使用ー維數(shù)組。.掌握指針參數(shù)在函數(shù)屮傳遞地址值。.掌握通過指針使用字符串。.了解main函數(shù)中參數(shù)的使用。實(shí)驗(yàn)內(nèi)容.讀程序?qū)懡Y(jié)果/******s8T.c******/ttinclude<stdio.h>main()(inta[]={2,3,4);int*p,s,i;s=l;p=a;for(i=0;i<3;i++)s*=*(p+i);printf("s或d\n",s):}[上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】/******s8-2.c******/#include<stdio.h>main()(inta[]={l,3,5,7,9},*p=a;printf("%d\n”,(*p++));printf("%d\n",(*++p));printf("%d\n",(*++p)++);printf("%d\n",*p);}【上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】/******s8-3.c******/#include<stdio.h>main()(charsi口=“TodayisFriday!"char*s2="Tomorrow",*p;P二si;while(*s2!=‘、〇')*p++=*s2++;printf(*%s\n",si);}【上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】/******s8-4.c******/^include<stdio.h>intfun(int*s)(staticintt=0;t=?s+t;returnt;)main()(inti,k;for(i二〇;iく4;i++)(k=fun(&i);printf("%4d",k);}printf('\n");)【上機(jī)前分析結(jié)果】【實(shí)際上機(jī)結(jié)果】.完善程序(1)程序功能:函數(shù)strcat(strl,st2)實(shí)現(xiàn)將字符串str2拼接到字符串strl后面的功能。/******s8-5.c******/-include<stdio.h>char*strcat(char*strl,char*str2)(char*t=strl;while(1)strl++;while(2);return(t);main()(charsi[80],s2[80],*s3;gets(si);gets(s2);s3=strcat(si,s2);printf(*%s\n",s3);)(2)程序功能:依次取出字符串中所有小寫字母以形成新的字符串,并取代原字符串。/******s8-6.c******/#include<stdio.h>voidfun(char*s){inti=0;char*p=s;while( 1 )(if(*p>='a'&&*pくニ'z'){s[i]=*p;2;}p++;}s[i]= 3;}main()(charstr[80];gets(str);fun(str);printf("\nthestringofchangingis:%s\n,str);)(3)程序功能:通過指針作函數(shù)的參數(shù)實(shí)現(xiàn)三個數(shù)從小到大的排序。/******s8-7.c******/-include<stdio.h>voidswap(1)(inti;i=*ptl;*ptl=*pt2;*pt2=i;voidexchange(int*ql,int*q2,int*q3)(if(2)swap(ql,q2);if(3)swap(q1,q3);if(4)swap(q2,q3);}main()(inta,b,c;int*pl,*p2,*p3;pl=&a;p2=&b;p3=&c;*pl=24;*p2=93;*p3=15;exchange(5);printf(*a=%d,b=%d,c=%d\n*,a,b,c);)(4)程序功能:以下程序統(tǒng)計命令行第一個參數(shù)中出現(xiàn)的字母個數(shù),請調(diào)試通過。/******s8-8.c******/#includeくstdio.h>#include<ctype.h>main(intargc,1 )(char*str;intcount=0;if(argc<2)exit(1);str=2;while(*str)if(isalpha(3))count++;printf(\nLetternumberis:%d\n”,count);).改錯程序功能:給定程序中函數(shù)fun的功能是:將在字符串s中下標(biāo)為奇數(shù)位置上的字符,緊隨其后重復(fù)出現(xiàn)一次,放在ー個新串t中,t中字符按原字符串中字符的順序排列。(注意〇為偶數(shù))例如:當(dāng)s中的字符串為:"ABCDEF”時,則t中的字符串應(yīng)為:“BBDDFF”。請改正函數(shù)fun中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!/******s8-9.c******/#include<conio.h>#include<stdio.h>Sinclude<string.h>voidfun(char*s,char*t)(inti,j,si;si=strlen(s);/************found************/for(i=0,j=0;i<sl;i+=2)(t[2*j]=s[i];t[2*j+1]=s[i];/************f()und************/j-;)t[2*j]='ゝ0’;)main(){chars[100],t[100];clrscr();printf(z'\nPleaseenterstrings:");scanf("%s”,s);fun(s,t);printf(*Theresultis:%s\n〃,t);).程序設(shè)計(1)請編寫函數(shù),對傳送過來的三個數(shù)選出最大和最小數(shù),并通過形參傳回結(jié)果。部分源程序如下:(s8-10.c)/******s8To.c******/#include<stdio.h>voidfun(ints[],int*pl,int*p2,intn)main()(inta[3],i,*max,*min,;for(i=0;i<3;i++)scanf("%d",&a[i]);fun(a,max,min,3)printf<max=%d,min二%d\n,*max,*min);(2)編寫函數(shù),其功能是對傳送過來的兩個浮點(diǎn)數(shù)求出和值和差值,并通過形參傳送回調(diào)用函數(shù)。(s8-ILc)提示:利用指針傳送地址值。通過傳送地址值來改變實(shí)參。區(qū)分?變量和&變量的含義。參考:函數(shù)名(數(shù)1,數(shù)2,和變量地址,差變量地址)。(3)將s所指字符串中下標(biāo)為奇數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中,部分源程序如下,請編寫相應(yīng)功能的函數(shù):(s8-12.c)/******s8_12.c******/-include<stdio.h>^include<string.h>voidfun(char*s,char*t)|)main(){chars[80],t[80];printf("\npleaseenterstrings:");gets(s);fun(s,t);printf('\ntheresultis%s\n",t);)(4)用指針方法比較輸入的兩個字符串是否相等。(s8T3.c)提示:可用字符型指針指向字符串的開始,逐個移動指針進(jìn)行比較。(5)編寫一個程序,將用戶輸入的由數(shù)字字符和非數(shù)字字符組成的字符串中的數(shù)字字符提取出來,例如輸入“asd123rt456,fg789”,則產(chǎn)生的數(shù)字分別是123456789。(s8T4.c)提示:用ー個函數(shù)接收用戶輸入的字符串,然后逐一判斷每個字符是否數(shù)字,將其存入數(shù)組中。第2部分綜合測試測試11.填空數(shù)組x[N]保存著ー組3位數(shù)的無符號正整數(shù),該函數(shù)的功能是:從數(shù)組中找出個位和百位的數(shù)字相等的所有無符號整數(shù),結(jié)果保存在數(shù)組y中,其個數(shù)由函數(shù)fun()返回。部分源程序如下:/******si1-1.C******/#include<stdio.h>intfun(intx[],inty[],intnum)(inti,n=0;intg,b;for(i=0;iくnum;i++){g=—1—;b=x[i]/100;if(g==b)_2_;)returnn;)main()(intx[8]={135,787,232,222,424,333,141,541};intz[8];intnum=8,n=0,i=0;printf("***originaldata***\n");for(i=0;i<num;i++)printf(*%u”,x[i]);printf("\n");n=fun(x,z,num);for(i=0;i<n;i++)printf("%u",z[i]);2.改錯程序功能:給定程序中函數(shù)fun的功能是:求S的值。(2k)2(21)(2%+1)22 42 6(2k)2(21)(2%+1)設(shè)S=—X—X—x1x33x55x7請改正函數(shù)fun中的錯誤,使程序能輸出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!/*****si1-2.C*****/#include<conio.h>#include<stdio.h>#include<string.h>/************found************/fun(intk)(intn;floats,w,p,q;n=1;s=1.0;while(n<=k){w=2.0*n;p=w-1.0;q=w+1.0;s=s*w*w/p/q;n++;}/************found************/returns)main()(clrscr();printf("%f\n”,fun(10));.程序設(shè)計請編寫函數(shù),函數(shù)fun的功能是:把a(bǔ)數(shù)組中的n個數(shù)和b數(shù)組中逆序的n個數(shù)ーー對應(yīng)相加,結(jié)果存在c數(shù)組中。例如:當(dāng)a數(shù)組中的值是:1、3、5、7、8b數(shù)組中的值是:2、3、4、5、8調(diào)用該函數(shù)后,c數(shù)組中存放的數(shù)據(jù)是9、8、9、10、10/******si1-3.c******/#include<conio.h>#include<stdio.h>voidfun(inta[],intb[],intc[],intn)main()inti,a[100]={l,3,5,7,8},b[100]={2,3,4,5,8},c[100];clrscr();fun(a,b,c,5);printf("Theresultis:");for(i=0;i<5;i++)printf("%d",c[i]);printf("\n");}測試2.填空函數(shù)fun()的功能是:把字符串str中的數(shù)字字符轉(zhuǎn)換成數(shù)字并存放到整數(shù)數(shù)組bb中,函數(shù)返回數(shù)組bb的長度。/******si1_4.c******/#include<stdio.h>#defineN80intfun(chars[],intbb[],intnum)|inti,n=0;for(i=0;iくnum;i++)(if(_1—)(bb[n]= 2 ;n++;)}return 3 ;)main()(charstr[N];intnum=0,n,i;printf(*Enterastring:");gets(str);num=strlen(str);n=fun(str,bb,num);printf('\nbb=");for(i=。;iくn;i++)printf(zz%d",bb[i]);}.改錯以下函數(shù)fun的功能是:從低位開始取出長整型變量s中偶數(shù)位上的數(shù),依次構(gòu)成一個新數(shù)放在t中。例如,當(dāng)s中的數(shù)為654321時,t中的數(shù)為642。/******si1-5.c******/#include<conio.h>#include<stdio.h>/********found********/voidfun(longs,longt)longsl=10;s/=10;*t=s%10;/********found********/while(s<0)(s=s/100;*t=s%10*sl+*t;sl=sl*10;})main()(longs,t;clrscr();printf("\nPleaseenters:");scanf&s);fun(s,&t);printf(*Theresultis:%ld\n*,t);).程序設(shè)計請編寫函數(shù),該函數(shù)的功能是:將低于平均分的分?jǐn)?shù)放在below所指的數(shù)組中,將低于平均分的人數(shù)作為函數(shù)返回值返回。部分源程序如下:/******si1-6.c******/^include<stdio.h>#include<string.h>intfun(intscore[],intm,intbelow[])main()(inti,n,below[9];intscore[9]={10,20,30,40,50,60,70,80,90);n=fun(score,9,below);printiし\nBelowtheaveragescoreare:");for(i=0;i<n;i++)printf("%d",below[i]);printf(*\n");)測試3i.填空以下函數(shù)fun的功能是:依次取出字符串中所有小寫字母,形成新的字符串,并取代原字符串。/*****si1_7*****/#include<stdio.h>#include<conio.h>voidfun(char*s)(inti=0;char*p=s;while( 1 )(if(*p>=,a*&&*p<=,z){s[i]=*p;―2—;)p++;)s[i]=_3—;)main()(charstr[80];clrscr();printf('\nEnterastring;gets(str);printf("ヽn\nThestringis:ヽ%s\n,str);fun(str);printf("\n\nThestringofchangingis:ヽ%s\n,str);.改錯程序功能:給定程序中函數(shù)fun的功能是:把在字符串s中出現(xiàn)的每相鄰的兩個字符,緊隨其后重復(fù)出現(xiàn)一次,放在ー個新串t中,字符串s中尾部剩余的單個字符也重復(fù),放在t的最后。例如:當(dāng)s中的字符串為:"ABCDE”時,則t中的字符串應(yīng)為:"ABABCDCDEE”。請改正函數(shù)fun中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!/*****sii-8.C*****/^include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*s,char*t)(inti,j,si;si=strlen(s);/************found************/for(i=0,j=0;i<Sl;i+=2)(t[j++]=s[i];if(i+1<si)t[j++]=s[i+l];t[j++]=s[i];if(i+1<si)t[j++]=s[i+l];}/************£ound************/t[j]=’0’;)main()(chars[100],t[100];clrscr();printf('\nPleaseenterstrings:");scanf("*”,s);fun(s,t);printf("Theresultis:%s\n",t);}.程序設(shè)計請編寫函數(shù)fun,它的功能是:求出能整除x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在PP所指的數(shù)組中,這些除數(shù)的個數(shù)通過形參n返回。例如,若x的值為30,則有4個數(shù)符合在求,它們是1,3,5,15〇部分源程序如下:/******si1-9.c******/#include<conio.h>#include<stdio.h>voidfun(intx,intpp[],int*n)main()(intx,aa[1000],n,i;clrscr();printf("\nPleaseenteranintegernumber:\n");scanf("%d",&x);fun(x,aa,&n);for(i=0;i<n;i++)printf(*%d”,aa[i]);printf("\n");測試4i.填空以下函數(shù)fun的功能是:查找字符串str中值為x的元素,返回找到值為x的元素個數(shù),并把這些值為x的下標(biāo)依次保存在數(shù)組bb中。例如,在“abcdefahij"中查找’a',結(jié)果為:2個‘a(chǎn)',下標(biāo)依次為〇、6./*****si1_1O*****/#include<stdio.h>#include<conio.h>#defineN20intbb[N];intfun(char*str,charch)(inti=0,n=0;chart=ch;char*p=str;while(*p){if(—1―)—2—;P++;i++;)return 3 ;}main()(charstr[N];charx;inti,j,n;clrscr();printf("*******Inputtheoriginalstring*******\n");gets(str);printfl*******Inputcharacter*******\n〃);scanf("%c",&x);n=fun(str,x);printf("\nThenumberofcharacteris:%d\n,n);printf("*******Thesuffixofcharacter*******\n");for(i=0;i<n;i++)printf("%dbb[i]);2.改錯程序功能:給定程序中函數(shù)fun的功能是:將在字符串s中下標(biāo)為偶數(shù)位置上的字符,緊隨其后重復(fù)出現(xiàn)一次,放在ー個新串t中,t中字符按原字符串中字符出現(xiàn)的逆序排列。(注意〇為偶數(shù))(sll-ll.c)例如:當(dāng)s中的字符串為:"ABCDEF”時,則t中的字符串應(yīng)為:"EECCAA”。請改正函數(shù)fun中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!/*****sllTl.C*****/#include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*s,char*t)(inti,j,si;si=strlen(s);if(sl%2)sl--;elsesl-=2;/************found************/for(i=sl,j=0;i>=0;i--)(t[2*j]=s[i];t[2*j+1]=s[i];j++;}/************fotind************/t[2*sl]=‘、〇';}main()(chars[100],t[100];clrscr();printf("\nPleaseenterstrings:");scanf("%s,s);fun(s,t);printf("Theresultis:%s\n*?t);)3.程序設(shè)計學(xué)生的記錄由學(xué)號和成績組成,N名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組s中,請編寫函數(shù)fun,它的功能是:按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。/******si1-12.c******/#include<stdio.h>#defineN16typedefstructcharnum[10];ints;}STREC;voidfun(STRECa[])()main()STRECs[N]={{"GA005”,85},{"GA001”,91},{"GA007”,72},{“GA015”,85},{"GA013”,91},{*GA0ir,66},{"GA017”,64},inti;fun(s);{*GA003*,76}?{"GA002”,69},{"GA004”,85},("GA008”,64},{"GA006”,87),{"GA012”,64},{*GA014*,91},{*GA018*,64},{"GA016”,72}};printf("Thedataaftersorted:\n*);for(i=0;i<N;i++)printf("%s%4d\n”,s[i].num,s[i].s);}測試5i.填空以下程序的功能是:把字符串str中的字符在終端輸出并保存到磁盤文件”。ut.dat”屮。/******si1_13.c******/#include<stdio.h>^include<conio.h>#defineN80main()(FILE*fp;charch;inti=0;charstr[N]二"I*mastudent!;if((fp=fopen( 1 ))==NULL){printf("can'topenout.datiile.\n");exit(〇);}while(str[i])(ch=str[i];__2—;putchar(ch);i++;}—3—;}.改錯給定程序中函數(shù)fun的功能是:將未在字符串s中出現(xiàn)、而在字符串t中出現(xiàn)的字符,構(gòu)成一個新的字符串放在u中,u中字符按原字符串中字符順序的逆序排列,不去掉重復(fù)字符。例如:當(dāng)s="ABCDE",t="BDFGG”時,u中的字符是:"GGF"。請改正函數(shù)fun中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!/******si1-14.c******/#include<conio.h>#include<stdio.h>#include<string.h>voidfun(char*s,char*t,char*u)(inti,j,si,tl,ul;charr,*up二u;si二strlen(s);t!二strlen(t);for(i二〇;iくtl;i++)for(j=0;j<sl;j++)if(t[i]=s[j])break;if(j>=sl)*u++=t[i];}/************founcl************/u二‘、。';ul=strlen(up);/************found************/for(i=0;i<ul;i++)(r=up[i];up[i]=up[ul-l-i];up[ul-l-i]=r;}}main()(chars[100],t[100],u[100];clrscr();printf(*\nPleaseenterstrings:);scanf("版〃,s);printfl\nPleaseenterstringt:);scanf('%s”,t);fun(s,t,u);printf("Theresultis:%s\n",u);.程序設(shè)計請編寫函數(shù),該函數(shù)的功能是:將s所指字符串中下標(biāo)為奇數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中。部分源程序如下:/******si1-15.c******/#include<stdio.h>#include<string.h>voidfun(chars[],chart[]))main()(chars[80],t[80];printf("\npleaseenterstring:");scanfC'%s",s);fun(s,t);printf("\nTheresultis:%s",t);第3部分習(xí)題數(shù)據(jù)運(yùn)算、順序結(jié)構(gòu)選擇題.以下說法中正確的是〇a)C語言程序總是從第一個的函數(shù)開始執(zhí)行b)在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義C語言程序總是從main()函數(shù)開始執(zhí)行C語言程序中的main。函數(shù)必須放在程序的開始部分2.以下說法中正確的是〇a)井define和printf都是C語句b)*define是C語句,而printf不是printf是C語句,但#define不是#define和printf都不是C語句3,在C語言提供的合法的關(guān)鍵字是。a)swicth b)cher c)Case d)default.以下選項(xiàng)中屬于C語言的數(shù)據(jù)類型是。a)復(fù)數(shù)型b)邏輯型c)雙精度型 d)集合型.C語言屮最簡單的數(shù)據(jù)類型包括。a)整型、實(shí)型、邏輯型 b)整型、實(shí)型、字符型c)整型、字符型、邏輯型 d)整型、實(shí)型、邏輯型、字符型.在C語言中,不正確的int類型的常數(shù)是。a)32768b)0c)037d)OxAF.以下不能定義用戶標(biāo)識符的是。a)scanf b)Void c)_3com d)int.在C語言中,合法的字符常量是〇a)‘ヽ084' b)'\x43' c)'ab' d)"\〇”.下列不正確的轉(zhuǎn)義字符是〇a)*\\' b)'ヽ" c)'074' d)>\0'.若有以下定義:chara;intb;floatc;doubled;則表達(dá)式a*b+d-c值的類型為〇a)float b)int c)char d)double.C語言中,運(yùn)算對象必須是整型數(shù)的運(yùn)算符是。a)% b)\c)魅ハ d)**.假定有變量定義:intk=7,x=12:則能使值為3的表達(dá)式是ーa)x臟(k%=5) b)x對(k-k%5)c)x%=k-k%5 d)(x%=k)-(k%=5)13,若已定義x和y為double類型,則表達(dá)式:x=l,y=x+3/2的值是。a)1 b)2c)2.0 d)2.5.下列語句屮符合C語言語法的賦值語句是a)a=7+b+c=a+7; b)a-7+b++=a+7;c)a-7+b,b++,a+7 d)a-7+b,c=a+7;.以下敘述中正確的是。a)輸入項(xiàng)可以是ー個實(shí)型常量,如:scanfC%r,3.5);b)只有格式控制,沒有輸入項(xiàng),也能正確輸入數(shù)據(jù)到內(nèi)存,例如:scanf("a或d,b=%d")'c)當(dāng)輸入?個實(shí)型數(shù)據(jù)時,格式控制部分可以規(guī)定小數(shù)點(diǎn)后的位數(shù),例如:seanf(^%4.2f",&d);d)當(dāng)輸入數(shù)據(jù)時,必須指明變量地址,例如:scanf(繼.設(shè)i是int型變量,f是float型變量,,下面的語句給這兩個變量輸入值:scanf("i=%d,f=%f",&i,&f);為了把100和765.12分別賦給i和f.則正確的輸入為〇a)100765.12 b)i=100,f=765.12c)100765,12 d)x=100y=765.12.設(shè)a=l,b=2,c=3,d=4,則表達(dá)式:aくb?a:c〈d?a:d的結(jié)果為a)4 b)3c)2d)118.設(shè)x為int型變量,則執(zhí)行語句“x=10;x+=x-=x-x;”后,x的值為ーa)10b)20c)40d)30.設(shè)x,y,z和k都是int型變量,則執(zhí)行表達(dá)式:x=(y=4,z=16,k=32)后,x的值為ーa)4 b)16 c)32d)52.在以下ー組運(yùn)算符中,優(yōu)先級最高的運(yùn)算符是。a)<= b)= c)% d)&&.表達(dá)式:10!=9的值是?a)trueb)非零值 c)0d)122.設(shè)有inta=3,b=-4,c=0:表達(dá)式((a>b?a:b))&&c<0的值是ーa)-4b)0c)1d)3.若有說明和語句:inta=5;a++;表達(dá)式a++的值是。a)7b)6c)5d)4.在下列選項(xiàng)中,不正確的賦值語句是?a)++t; b)nl=(n2=(n3=0));c)k-i--j; d)a=b+c=l;25.設(shè)有如下的變量定義:inti=8,k,a,b;unsignedlongw=5;doublex=l,42,y=5.2;則以下符合C語言語法的表達(dá)式是〇a)a+=a-=(b=4)*(a=3) b)x%(-3);c)a=a*3=2 d)y=float(i).設(shè)x和y均為int型變量,則以下語句:x=x+y;y=x-y;y=x-y;的功能是。a)把x和y按從大到小排列b)把x和y按從小到大排列c)無確定結(jié)果d)交換x和y中的值.語句“printf(飛d",(a=2)齦(b=-2);”的輸出結(jié)果是。a)無輸出b)結(jié)果不確定 c)-1d)1.設(shè)有如下定義:intx=l,y=-l;1則語句:printf("%d\n”,(x—&++y));的輸出結(jié)果是。a)1 b)0c)-1d)229.當(dāng)c的值不為〇時,在下列選項(xiàng)中能正確將c的值賦給變量a、b的是ー _?0a)c-b-a; b)(a-c)II(b=c);c)(a=c)&&(b=c); c)a=c=b;30.能正確表示aNIO或aWO的關(guān)系表達(dá)式是〇a)a>=10ora<=0 b)a>=10|a<=0c)a>-10||a<-0 d)a〉=10IIa<=031.為表示關(guān)系x2y,z,應(yīng)使用C語言表達(dá)式為—a)(x>=y)&&(y>=z) b)(x>=y)and(y>=z)c)(x>=y>=z) d)(x>=y)&(y>=z).設(shè)x,y,z,t均為int型變量,則執(zhí)行以下語句后,t的值為0x=y=z=l;t=++x||++y&&++z;a)不定值b)2c)1 d)0.設(shè)有如下定義:inta-1,b-2,c=3,d=4,m-2,n-2;則執(zhí)行表達(dá)式:(m=a>b)&&(n=c〉d)后,n的值為?a)1 b)2 c)3 d)0.能正確表示a和b同時為正或同時為負(fù)的邏輯表達(dá)式是〇(a>=0||b〉=0)&&(a〈0IIbく〇)(a>=0&&b>=0)&&(a<0&&b<0)(a+b>0)&&(a+bく=0)a*b〉〇.設(shè)有如下定義:ntx=10,y=3,z;則語句"printf("%d\n",z=(x%y,x/y));"的輸出結(jié)果是。a)1 b)0 c)4 d)3.若有以下定義和語句:intu-010,v=0xl0,w=10;printf("刎,%d,%d\n~,u,v,w);則輸出結(jié)果是。a)8,16,10b)10,10,10c)8,8,10d)8,10,10.若有以下定義和語句:charcl='b",c2='e';printf(繪d,%c'n”,c2-cl,c2-'a+"A");則輸出結(jié)果是。a)2,M b)3,Ec)2,E d)輸出項(xiàng)與對應(yīng)的格式控制不一致,輸出結(jié)果不確定.以下程序的輸出結(jié)果是。main()(intk=17;printf(*%d,%o,%x\n”,k,k,k);}a)17,021,0x11 b)17,17,17c)17,0x11,021 d)17,21,11.以下程序的輸出結(jié)果是。main()inta=T,b=4,k;k=(++a<0)&&!(b一<=0);printf(螺d%d%d\n”,k,ab);}a)104b)103 c)003 d)004.以下程序的輸出結(jié)果是ー ー。main()(intx=10,y=10;printf(/,%d%d\n”,x―,-y);}a)1010b)99c)910d)109.執(zhí)行下面程序后,a的值是〇main()(inta;printf("%d\n”,(a=3*5,a*4,a+5));}a)65b)20c)15d)10.已知字母A的ASCI!碼為十進(jìn)制的65,下面程序的輸出是一main()(charchi,ch2;chl='A'+'5''3';ch2='A'+'6'3';printf(*%d,%c\n*,chi,ch2);}a)67,Db)B,Cc)C,Dd)不確定的值.以下程序的輸岀結(jié)果是。main()(intx=10,y=3;printf("%d\n",y=x/y);)a)0 b)1c)3 d)不確定的值.以下程序的輸出結(jié)果是。main()inta=12,b=12:printf("刎%d\n”,—a,++b);}a)1010b)1212c)1110d)1113.以下程序的輸出結(jié)果是。main()(inta=T,b=4,k;k=(a++〈=0)&&(!(b—<=0));printf("%d%d%d\n”,k,a,b);}a)003b)012c)103d)112.以下程序的輸出結(jié)果是。main(){unsigneda=32768;printf("a=%d\n”,a);}a)a-32768b)a=32767c)a=-32768d)a=-1選擇結(jié)構(gòu)選擇題1邏輯運(yùn)算符兩側(cè)運(yùn)算對象的數(shù)據(jù)類型 。a)只能是1或0b)只能是〇或非。正數(shù)c)只能是整型或字符型數(shù)據(jù)d)可以是任何類型的數(shù)據(jù)2下列關(guān)系表達(dá)式中結(jié)果為假的是。a)0!=1 b)2く=8c)(a=2*2)=-2 d)y=(2+2)=-43下列運(yùn)算符中優(yōu)先級最低的是ーa)?: b)+=c)>=d)==4設(shè)x,y,z是int型變量,且x=3,y=4,z=5,則下面表達(dá)式中值為0的是。a),x'&&'y' b)xく=yc)xIIy+z&&y-z d)!((x<y)&&!z|11)5若希望a的值為奇數(shù)時,表達(dá)式的值為真:當(dāng)a的值為偶數(shù)時,表達(dá)式的值為假。則以下不能滿足要求的表達(dá)式是。a)a%2==1 b)!(a%2==0) c)!(a%2) d)a%26設(shè)有說明語句inta=l,b=2,c=3,d=4,m=2,n=2;則執(zhí)行(m=a〉b)&&(n=c〉d)后n的值為a)1 b)2 c)3d)47執(zhí)行以下程序段后的輸出是。inti=Tif(i<=0)printf("****\n")elseprintf("%熱鯛、n");a)****b)出錯c)%%%%c d)%%%%8執(zhí)行以下程序段后的輸出是?inta,b,d=241;a=d/100%9;b=(-l)&&(-l);printf("%d,%d”,a,b);a)6,1 b)2,1 c)6,0 d)2,09執(zhí)行以下語句后a的值為,b的值為。inta=5,b=6, x-2,y=3,z=4;(a=w>x)&&(b=y>z)a)5 b)0 c)2 d) 1a)6 b)0 c)1 d) 410在C語言中,緊跟在關(guān)鍵字if后一對圓括號里的表達(dá)式ーa)只能用邏輯表達(dá)式b)只能用關(guān)系表達(dá)式c)只能用邏輯表達(dá)式或關(guān)系表達(dá)式d)可以是任意表達(dá)式填空題!以下程序的運(yùn)行結(jié)果是〇#include<stdio.h>voidmain(void){intx=l,y,z;xう=3+2;printf( ,x);x*=y=z=5;printf( ,x);x=y==z;printf("%d\n",x);}2以下程序的運(yùn)行結(jié)果是〇main(){intx,y,z;x=3;尸3;z=x二=y;printf(rtz=%d\n>,,z);}3以下程序的運(yùn)行結(jié)果是〇main(){intal,a2,bl,b2;inti=5,j=7,k=0;al=!k;a2=i!=j;printf("al=%d\ta2二d%\n”,al,a2);bl=k&&j;b2=klIj;printf("bl=%d\tb2=%d\n"bl,b2);}4以下程序的運(yùn)行結(jié)果是main(){intx,y,z;x=l;y=l;z=0;x=x||y&&z;printf("%d,%d>,,x,x&&!yI|z);)5將下列2條語句合并成1條為。語句1:if(a>b)scanf(,&a);elsescanf(u%d",&b);語句2:if(a<=b)m++;elsen++;6以下程序的功能是0#include<stdio.h>main(){intx,y,sum,product;printf("Enterxandy:");sum=x+y;product=x*y;if(sum>product)printf(“X+y>x*y");elseprintf("x+yくx*y);}7若運(yùn)行時輸入16く回車),則以下程序的運(yùn)行結(jié)果是〇#include<stdio.h>voidmain(void){intyear;printf("inpuryouryear:ff);scanf("%d”,&year);if(year>=18)printf("you$4.5yuan/hour");elseprintf("you¥3.Oyuan/hour");}8若運(yùn)行時輸入2く回車》,則以下程序的運(yùn)行結(jié)果是〇#includeくstdio.h>voidmain(void){charclass;printf("enter1for1stclasspostor2for2ndpost");scanf("%d",&class);if(class==’1')printf(Mlstclasspostageis19p”);elseprintf(“2ndclasspostageis14p");9若運(yùn)行時輸入1605く回車》,則以下程序的運(yùn)行結(jié)果是ーmain(){intt,h,m;scanf("%dw,&t);h=(t/100)%12;if(h==0)h=12;printf(44%d",h);m=t%100;if(m<10)printf(“0”);printf("%d",m):if(tく12001|t==2400)printf(“AM”);elseprintf("PM");10若運(yùn)行時輸入5999く回車),則以下程序的運(yùn)行結(jié)果(保留小數(shù)點(diǎn)后一位)是main(){intx;floaty;scanf("%d",&x);if(x>二0&&xく=2999)y=18+0.12*x;if(x>=3000&&x<=5999)y=36+0.6*x;if(x>=6000&&xく=10000)產(chǎn)54+0.3*x;printf(a%6.If",y);)循環(huán)結(jié)構(gòu)選擇題1設(shè)有程序段t=0;while(printf(“*”)){t++;if(t<3)break;}下面描寫是正確的是。a)其中循環(huán)控制表達(dá)式與。等價b)其中循環(huán)控制表達(dá)式與‘〇’等價c)其中循環(huán)控制表達(dá)式是不合法的d)以上說法都不對2下面程序的功能是將從鍵盤輸入的ー對數(shù),由大到小輸出。當(dāng)輸入一對數(shù)相等時結(jié)束循環(huán)。請選擇填空#include<stdio.h>main(){inta,b,t;scanf(“%d,%d",&a,&b);while( ){if(a>b){t=a;a=b;b=t;}printf(<4%d,%d",a,b);scanf("%d%d"&a,&b);})!a=ba!=ba==ba=b3下面程序的功能是從鍵盤輸入的ー組字符中統(tǒng)計出大寫字母的個數(shù)m和小寫字母個數(shù)n,并輸出m、n,中的較大者,請選擇填空。#include<stdio.h>main()(intm=O,n=O;charc;while(([1])!=>\O'){if(c>=,A'&&c<=,V)m++;if(c>=,a'&&c<='z')n++;}printf("%d\n",mくn? [2]);a)c=getcha() b)getchar() c)c=getchar()d)scanf("%c",c)[2]a)n:m b)m:mc)m:n d)n:n4下面的程序功能是將小寫字母變大寫字母后的第二個字母。其中y變成A,z變成B。i健擇填空。#include<studio.h>main(){charc;while((c=getchar())!=,\n'){if(c>=,a,&&cく二’z'){[1];if(O'Z')⑵;}printf(u%c",c);)[1]a)c+=2b)c-=32c)c=c+32=2d)c=c-32+2a)c='B' b)c='A' c)c-=26 d)c=c+265下面的程序功能是在輸入的ー批正整數(shù)中求出最大者,輸入〇結(jié)束循環(huán),請選擇填空。#include<stdio.h>main(){inta,max=0;scanf("%d",&a);while( [1] ){if(max<a)max=a;scanf("%d”,&a);)printf(“刎”,max);}a)a==0 b)ac)!a=ld)!a6下面程序的運(yùn)行結(jié)果是〇#include<stdio.h>main(){intnum=0;while(num<=2){num++;printf(<4%d\n",num);})a)l b)12c)123d)12347下面程序的功能是計算ー個整數(shù)的各位之和,請選擇。intn,m=l;scanf(u%dn,&n);for(;n!=0; ){m;n/=10;)printf("%d\n",m);a)+=n%10 b)=n%10 c)+-0 d)=n/108以下能計算Ix2x3x—..xlO的程序是.do{i=l;s=l;S=S*I;i++;}while(i<=10);do{i=l;s=0;s=s*I;i++;}while(i<=10);i=l;s=l;do{s=s*i;i++;}while(i<=10);i=l;s=0;do{S=S*I;if}while(i<=10);9下面有關(guān)for循環(huán)的正確描述是。for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況;for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達(dá)式;c)在for循環(huán)中,不能用break語句跳出循環(huán)體:d)for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用花括號括起來。10若i為整形變量,則以下循環(huán)執(zhí)行次數(shù)為。a)無限次 b)0次 c)l次d)2次填空題1下面程序段是從健盤輸入的字符中統(tǒng)計數(shù)字的個數(shù),用換行符結(jié)束循環(huán),請?zhí)羁铡ntn=0,c;c=getchar();while( 1 ){if(2 )n++:c=getchar();}2下面的程序功能是求的近似值,が/6=1//+1/22+1/32+….+1/ボ,最后ー項(xiàng)的值小于KT,為止,請?zhí)羁铡?include<stdio.h>#include<math.h>main(){longi=l;, 1 pi=0;while(i*i<=10e+6){pi=2;i++;}pi=sqrt(6.0*pi);printf(w%10.61f\nw,pi);)3有1020個西瓜,第一天賣一半多二個,以后每天賣剩下的一半多二個,下面的程序是統(tǒng)計賣完后的天數(shù)。請?zhí)羁铡?include<stdio.h>main(){intday,xl,x2;day=0;xl=1020;while(1){x2= 2 ;xl=x2;day++;)printf(“%d\n",day);)4下面程序的功能是用輾轉(zhuǎn)相除法求兩個正整數(shù)的最大公約數(shù)。請?zhí)羁铡?include<stdio.h>main(){intr,m,n;scanf("%d%d”,&m,&n);if(m<n){ 1 };r=m%n;while(r) {m=n;n=r;r-2 ;}printf("%d\n",n);)5從鍵盤鍵入"right?く回車>”,則下面程序的運(yùn)行結(jié)果是。#include<stdio.h>main(){charc;while((c=getchar())!=,?')putchar(++c);}6下面程序的運(yùn)行結(jié)果是〇#include<stdio.h>main(){inta,s,n,count;a=2;s=0;n=l;count=l;while(count<=7){n=n*a;s=s+n;++count;)printf("s=%d",s);)7從鍵盤鍵入“china#く回車>”,則下面程序的運(yùn)行結(jié)果是#include<stdio.h>main(){inti=0,v2=0;charch;while((ch=getchar())!=,ザ)switch(ch){case'a':case'h':default:vl++;case’0':v2++;)printf("%d,%d\n",vl,v2);8執(zhí)行下面程序段后,k的值是〇k=l;n=263;do{k*=n%10;n/=10;}while(n);9下面程序段中循環(huán)的執(zhí)行次數(shù)是—a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);10下面程序段執(zhí)行結(jié)果是〇x=2;do{printf("ド);x——;}while(!x=0);11下面程序段中執(zhí)行結(jié)果是一i=l;a=0;s=l;do{a=a+s*i;s=-s;i++;}while(i<=10);printf("%d”,a);12下面程序段中執(zhí)行結(jié)果是一#include<stdio.h>main(){inti,x,y;i=x=y=0;do{++i;if(i%2!=0){x=x+i;i++;)y=y+i++;}while(i<=7);printf("x二%d,y二%d\n",x,y);13下面程序段中執(zhí)行結(jié)果是ー#include<stdio.h>main(){inta,b,i;a=l;b=3;i=l;do{printf(u%d,%dJ,,a,b);a=(b-a)*2+b;b=(a-b)*2+a;if(i++%2ニニ0)printf(“\n”);}while(b<100)}14當(dāng)運(yùn)行以下程序時,從鍵盤輸入“-10く回車〉し則程序的運(yùn)行結(jié)果是#include<stdio.h>main(){inta,b,m,n;m=n=l;scanf("%d%d”,&a,&b);do{if(a>0){m=2*n;b++;}else{n=m+n;a+=2;b++;}}while(aニニb)}15下面程序段中執(zhí)行結(jié)果是〇#include<stdio.h>main(){inti;for(i=l;i<=5;i++)switch(i%2){case0:i++;printf();break;casel:i+=2;printf(“*”);default:printf(“\n");選擇題1.若有定義“inta[8];”,則對數(shù)組元素的正確引用是。a)a[8]b)a[l.2]c)a[8-7]d)a(l.2)2.假定int類型變量占用兩個字節(jié),其有定義“intx[10]={0,2,4};”,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是?a)3b)6c)10d)203若有定義“intaロ[3]={1,2,3,4,5,6,7,8};”,則a[l][2]的值是。a)4b)5c)6d)7.若定義了一個4行3列的數(shù)組。則第8個元素是.A)a[l]⑶b)a[2][3]c)a[3][]d)a[2][l].以下程序段輸出結(jié)果是。charstr口="ab\n\012\\\"”;printfstrlen(str));a)3 b)4c)6 d)12.函數(shù)調(diào)用:strcat(strcpy(strl,str2),str3)的功能是〇a)將串strl復(fù)制到串str2中后再連接到串str3之后b)將串str!連接到串str2之后再復(fù)制到串str3之后c)將串str2復(fù)制到串str!中后再將串str3連接到串strl之后d)將串str2連接到串st

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論