




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
一、選擇題(藍色加粗為正確選項)在C語言中,合法的字符常量是()。A.'字'B."A"C."ABC"D.'\x41'在C語言中,用戶能使用的合法標識符是()。A.姓名B._xyzC.5iD.for在C語言中,不合法的實型常量是()。A.-0.123B.-.123C.-1.23e-1D.-123e-3.0C語言的下列運算符中,優先級最高的運算符是()。A.++B.+=C.||D.!=設有說明語句intk,i=5,j=10;,則表達式k=(++i)*(j--)的值是()。A.50B.60C.45D.55設有說明語句inti,j;,則表達式i>=j||i<j的值是()。A.視i、j的具體值而定B.FALSEC.TRUED.1已知'A'的ASCII碼的十進制值為65,'0'的ASCII碼的十進制值為48,則以下程序運行結果是()。main(){charch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A.67,DB.C,DC.C,68D.67,68設有語句intx=2,y=3;,則表達式x=(y==3)的值是()。A.0B.1C.2D.3以下程序的運行結果是()。main(){unsigneda=0x3ef,b;b=a<<2;printf("%x,%x\n",a,b);}A.3ef,fbB.3ef,fbcC.fbc,3efD.fbc,fbc下列語句中,符合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;為表示x≥y≥z,須用的C語言表達式為()。A.(x>=y)&&(y>=z)B.(x>=y)AND(y>=x)C.x>=y>=zD.(x>=y)&(y>=z)設inta,b;,用語句scanf('%d%d",&b);輸入a、b值時,不能作為輸入數據分隔符的是()。A.空格B.,C.回車D.[Tab]以下程序運行時,若從鍵盤輸入5,則輸出結果是()。main(){inta;scanf("%d",&a);if(a++>5)printf("%d\n",a);elseprintf("%d\n",a--);}A.7B.4C.5D.6以下程序的運行結果是()。main(){inta,b,c;a=b=c=1;if(a++||++b)c++;printf("%d,%d,%d\n",a,b,c);}A.2,1,2B.1,2,1C.2,2,2D.2,2,1以下程序的運行結果是()。main(){inti=3,j=2,k;k=i+j;{intk=8;if(i==3)printf("%2d",k);elseprintf("%2d",j);}printf("%2d%2d\n",i,k);}A.835B.838C.383D.583有以下程序:main(){intc;while((c=getchar())!='\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}printf("\n");}當輸入:247<回車>,程序的輸出結果是()。A.689B.6689C.66778D.66887以下程序的運行結果是()。main(){inta=1,b=0;switch(a){case1:switch(b){case0:printf("0000\n");case1:printf("1111\n");break;}case2:printf("2222\n");break;}}A.00001111B.000011112222C.00002222D.11112222以下程序的運行結果是()。voidmain(){inta=1;switch(a){case1:printf("aaaa\n");case2:printf("bbbb\n");break;default:printf("cccc\n");}}A.aaaaB.aaaabbbbccccC.aaaabbbbD.aaaacccc以下程序運行后,a的值是()。main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}}A.101B.100C.8D.7以下程序段的運行結果是()。main(){inti,j;i=10;j=20;for(;j>=0;j-=20){if(i=j)printf("Good!");elseprintf("Notgood!");}}A.Good!Good!B.Notgood!C.Good!D.Good!Notgood!以下程序的運行結果是()。main(){inta,b,c,n=13;printf("ABC\n");for(a=1;a<=n;a++)for(b=1;b<=n;b++)for(c=b;c<=n;c++)if(a*a==b*b+c*c)printf("%3d%3d%3d\n",a,b,c);}A.ABC534106813512B.ABC354610851312C.ABC453810612135D.ABC543108613125以下程序段的運行結果是()。intx=3;do{printf("%3d,",x-=2);}while(!(--x));A.1B.30C.死循環D.1,-2設E為表達式,以下與do…while(E);不等價的語句是()。A.do…while(!E==0);B.do…while(E>0||E<0);C.do…while(E==0);D.do…while(E!=0);以下程序的運行結果是()。main(){inti,s;i=0;s=1;do{s/=s+1;i++;}while(i<=10);printf("%2d%2d\n",i,s);}A.102B.112C.100D.110下列程序段中,非死循環的是()。A.inti=100;while(1){i=i%100+1;if(i>=100)break;}B.intk=0;do{++k;}while(k>=0);C.ints=10;while(++s%2+s%2)s++;D.for(;;)循環語句循環體中執行continue語句,其作用是()。A.立即終止程序運行B.繼續執行continue語句之后的循環體各語句C.結束本次循環D.結束本次循環,跳出循環下列do...while循環的循環次數是()。inti=5;do{printf("%d\n",i--);i--;}while(i!=0)A.0B.2C.5D.死循環設已定義chars[]="\"Name\\Address\023\n";,則字符串中字符個數是()。A.19B.15C.18D.14已定義charx[8];inti;,為了給該數組賦值,下列語句正確的是()。A.x[8]="TurboC";B.x="TurboC";C.x[]="TurboC";D.for(i=0;i<7;i++)x[i]=getchar();設inta[][4]={0,0};,則下列描述錯誤的是()。A.數組a的每個元素的值為0B.二維數組a的第一維大小為1C.數組a有4個元素D.只有元素a[0][0]和a[0][1]的值為0,其余元素的值不確定以下程序段的運行結果是()。main(){inti=4,j;j=i;pic(i+2*j-2,'*');putchar('\n');for(j-=2;j>=0;j--){pic(3-j,'');pic(i+2*j,'*');putchar('\n');}}pic(intlen,charC.{intk;for(k=1;k<=len;k++)putchar(C.;}A.****************B.****************************************C.****************************D.****************************以下程序運行結果是()。main(){chara[][5]={"ABCD","1234","abcd","5678","EFGH"};inti;for(i=0;i<3;i++)printf("%s",a[i]);}A.A1aB.ABCD1234abcdC.ABCD.ABCD1234abcd5678EFGH以下程序的運行結果是()。main(){intarray[4][4];inti,j;for(i=0;i<4;i++)for(j=0;j<4;j++)array[i][j]=i+j;for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)array[0][j]=0;for(j=0;j<4;j++)printf("%2d",array[0][j]);printf("\n");}A.2005B.1004C.0120D.0450設有下列語句,則()是對a數組元素的不正確引用,其中0≤i<10。inta[1={0,1,2,3,4,5,6,7,8,9},*p=a;A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))若有以下程序:main{charch[]="Iamstudent!",*p;p=ch;printf("%x\n",p);printf("%x\n",p+9);}其中第一個printf()運行結果是ffd6,則第二個printf()運行結果是()。A.ffdfB.ffe8C.ffd6D.ffcf以下程序的運行結果是()。main(){inti;charaa[][3]={'a','b','c','d','e','f'};char(*p)[3]=aa;for(i=0;i<2;i++)if(i==0)aa[i][i]+=**(p++);printf("%c\n",**p);}A.aB.bC.cD.d設有下列語句:charstr1[]="string",str2[8],*str3,*str4="string";則()是對庫函數strcpy的不正確調用。此函數用來復制字符串。A.strcpy(str3,"HELLO3");B.strcpy(str2,"HELLO2");C.strcpy(str1,"HELLO1");D.strcpy(str4,"HELLO4");若有以下定義和語句,且0≤i<4,0≤j<3,則不能訪問a數組中的元素的是()。inti,(*p)[3];inta[][3]={1,2,3,4,5,6,7,8,9,10,11,12};p=a;A.*(*(a+i)+j)B.p[i][j]C.(*(p+i))[j]D.p[i]+j以下關于指針概念的敘述中,錯誤的是()。A.一個指針變量只能指向同一類型的變量B.一個變量的地址稱為該變量的指針C.兩個同類型的指針變量可以作加減運算D.任何指針變量都可以與空指針NULL進行比較以下程序的運行結果是()。fun3(intx){staticinta=3;a+=x;returna;}main(){intk=2,m=1,n;n=fun3(k);n=fun3(m);printf("%d\n",n);}A.3B.4C.6D.9以下程序運行后,輸出的結果是()。func(inta){staticintm=0;m+=a;return(m);}main(){intk=4,p;p=func(k);printf("%d,",p);p=func(k);printf("%d\n",p);}A.4,4B.0,4C.4,8D.8,8以下程序的運行結果是()。age(n)intn;{intc;if(n==1)c=10;elseif(n%2==0)c=age(n-1)+2;elsec=age(n-1)+3;return(c);}main(){printf("%d\n",age(5));}A.18B.20C.10D.21以下程序的運行結果是()。voidast(intx,inty,int*cp,int*dp){*cp=x+y;*dp=x-y;}main(){inta=4,b=3,c,d;ast(a,b,&c,&d);printf("%d,%d\n",c,d);}A.7,1B.1,7C.7,-1D.c、d未賦值,編譯出錯以下程序的輸出結果是()。swap(int*p,int*q){intt;t=*p;*p=*q;*q=t;}main(){inta=10,b=20;swap(&a,&b);printf("%d,%d\n",a,b);}A.10,10B.20,20C.10,20D.20,10以下程序的運行結果是()。main(){voidchange_p();int*p,a[]={1,4,7,10};p=&a[1];change_p(p);printf("%d\n",*p);}voidchange_p(int*pi){*pi+=2;pi+=2;*pi+=2;}A.7B.8C.5D.6以下程序段的運行結果是()。enumweekday{aa,bb=2,cc,dd,ee}week=ee;printf("%d\n",week);A.eeB.5C.2D.4以下對枚舉類型進行定義,不正確的是()。A.enumb{1,2,3};B.enuma{A,B,C};C.enumc{D=3,E,F};D.enumd{X=0,Y=5,Z=9};在C程序中,設一表達式含有int、long、unsigned和char類型的常數和變量,則表達式的最后運算結果是()。A.intB.charC.unsignedD.long若定義如下結構,則能打印出字母M的語句是()。structperson{charname[9];intage;};structpersonclass[10]={{"Wu",20},{"Liu",23},{"Ma",21},{"zhang",22}};A.printf("%c\n",class[3].name);B.printf("%c\n",class[2].name[1]);C.printf("%c\n",class[2].name[0]);D.printf("%c\n",class[3].name[1]);以下程序的運行結果是()。main(){unionu_type{inti;doublex;floatf;};structstr_type{charstr[10];unionu_typeu[10];};printf("%d\n",sizeof(structstr_type));}A.81B.90C.150D.120以下程序的輸出結果是()。main(){printf("%d\n",fac(5));}fac(intn){ints;if(n==1)return1;elsereturnn*fac(n-1);}A.120B.60C.6D.1以下程序的運行結果是()。main(){charch[7]="12xy89";inti,s=0;for(i=0;ch[i];i++)if(ch[i]>='0'&&ch[i]<='9')s=10*s+ch[i]-'0';printf("%d\n",s);}A.12 B.xyC.12xy89D.1289以下程序運行后,輸出的結果是()。fun(char*w){chart,*s1,*s2;for(s1=w,s2=w+strlen(s1)-1;s1<s2;s1++,s2--){t=*s1;*s1=*s2;*s2=t;}}main(){char*p="12345";fun(p);puts(p);}A.12345B.54321C.15115D.51551以下程序中的循環執行了()次。#defineN2#defineMN+1#defineNUM(M+1)*M/2main(){inti,n=0;for(i=0;i<NUM;i++)n++;printf("%d\n",n);}A.5B.6C.8D.9以下程序的輸出結果是()。#defineSUM(y)1+ymain(){intx=2;printf("%d\n",SUM(5)*x);}A.10B.11C.12D.15以下程序的運行結果是()。#defineM(x,y)x*ymain(){inta=3,b=2,s1,s2,f12();s1=M(a+b,a-b);s2=M(a-b,a+b);printf("%d,%d,%d,%d\n",s1,s2,f12(a+b,a-b),f12(a-b,a+b));}f12(intx,inty){return(x*y);}A.7,-1,5,5B.5,5,7,-1C.5,5,5,5D.7,-1,7,-1若有以下定義:structlink{intdata;structlink*next;}*p;并已建立如下圖所示的鏈表結構:datanext68NULL1916p68NULL1916指針p指向該單向鏈表的第一個結點,要輸出鏈表所有結點的數據成員data,以下循環語句正確的是()。A)for(;p!=NULL;p++)printf("%d,",p->data);B)for(;!p;p=p->next)printf("%d,",(*p).data);C)while(p){printf("%d,",(*p).data);p=p->next;}D)while(p!=NUll){printf("%d,",p->data);p++;}若有以下定義:structlink {intdata;structlink*next;}a,b,c,*head,*p;其中,指針head指向變量a,p指向變量c,a.next指向變量b,鏈表結構如下圖所示:abcdatanext18NULL396headp18NULL396則能夠把c插入到a和b之間并形成新鏈表的程序段是()。A)a.next=c;c.next=b;B)head.next=p;p.next=head.next;C)head->next=&c;p->next=head->next;D)(*head).next=p;(*p).next=&b;若有以下定義:structlink{intdata;structlink*next;}*head,*p;并已建立如下圖所示的鏈表結構:pdatanext78NULL169head78NULL169則能保留鏈表其它結點,而刪除p所指向結點的程序段是()。A)head->next=p->next;free(p);B)head->next=p;p->next=head->next;free(p);C)free(p);head->next=p;p->next=head->next;D)free(p);head->next=p->next;以下程序的功能是()。#include<stdio.h>main(){FILE*fp;longintn;fp=fopen("wj.txt","rb");fseek(fp,0,SEEK_END.;n=ftell(fp);fclose(fp);printf("%ld",n);}A.計算文件wj.txt的起始地址B.計算文件wj.txt的終止地址C.計算文件wj.txt的長度D.將文件指針定位到文件末尾標準函數fgets(s,n,f)的功能是()。A.從文件f中讀取長度為n的字符串存入指針s所指的內存B.從文件f中讀取長度不超過n-1的字符串存入指針s所指的內存C.從文件f中讀取n個字符串存入指針s所指的內存D.從文件f中讀取長度為n-1的字符串存入指針s所指的內存以下程序的可執行文件名是file.exe。main(argc,argv)intargc;char*argv[];{inti;for(i=2;i<argc;i++)printf("%s%c",argv[i],(i<argc-1)?'':'\n');}現在DOS命令行輸入:fileMyCLanguageandProgramming<回車>,其輸出結果是()。A.CLanguageandProgrammingB.MyCLanguageandProgrammingC.MyCLanguageandProgrammingD.fileMyCLanguageandProgramming
二、填空題1、以下程序實現計算10的階乘。#include<stdio.h>viodmain(){longp;inti;p=1;for(i=1;i<=10;i++)p=p*i;printf("%d!=%ld\n",10,p);}2、以下程序實現將輸入的一行字符中的大寫字母轉變為相應的小寫字母,小寫字母則轉變為相應的大寫字母,其余字符不變。以回車結束字符輸入。#include"stdio.h"voidmain(){chars[80];inti;printf("pleaseinputastring:");for(i=0;(s[i]=getchar())!=‘\n’;i++);s[i]=‘\0’;for(i=0;s[i]!='\0';i++){if(s[i]>='a'&&s[i]<='z')s[i]=s[i]+(‘A’-‘a’);elseif(s[i]>='A'&&s[i]<='Z')s[i]=s[i]+(‘a’-‘A’);}puts(s);}3、以下程序實現從鍵盤輸入一個3行5列的二維整型數組表示的3×5的矩陣,并計算第2行元素之和。#include<stdio.h>voidmain(){inti,j;inta[3][5],sum;sum=0;printf("Input15numbers:");for(i=0;i<3;i++)for(j=0;j<5;j++)scanf("%d",&a[i][j]);for(j=0;j<5;j++)sum+=a[1][j];printf("%d\n",sum);}4、以下程序實現輸入一個4行4列的整型數組,求其元素的最大值和最小值。#include"stdio.h"#defineROW4#defineCOL4voidmain(){inta[4][4],i,j,max,min;printf("inputthe16integers:");for(i=0;i<ROW;i++)for(j=0;j<COL;j++)scanf("%d",&a[i][j]);max=min=a[0][0];for(i=0;i<ROW;i++)for(j=0;j<COL;j++)if(a[i][j]>max)max=a[i][j];if(a[i][j]<min)min=a[i][j];printf("max=%d\n",max);printf("min=%d\n",min);}5、以下程序實現計算5個學生的總成績和平均成績,其中5個學生的成績存儲在一個結構體數組中。#include<stdio.h>structstu{charname[10];floatscore;};voidmain(){structstust[5]={"Mary",76,"John",85,"Tom",81.5,"Luis",76,"Michel",90.5};inti=1;floataver,total=0.0;while(i<=5){total=total+st[i-1].score;i++;}aver=total/5;printf("\ntotal=%.2f,aver=%.2f\n",total,aver);}6、以下程序實現輸入若干整數,統計其中大于零和小于零的個數。以零結束輸入。#include<stdio.h>voidmain(){intn,a,b;a=b=0;scanf("%d",&n);while(n!=0){if(n>0)a++;elseb++;scanf("%d",&n);}printf("NumberofN>0orN<0integersare:%d,%d\n",a,b);}7、以下函數sort用冒泡法實現對數組a中的m個元素進行從大到小(降序)排序。voidsort(inta[],intm){inti,j,t,temp;for(i=0;i<m-1;i++){temp=0;for(j=0;j<m-i-1;j++){if(a[j]>a[j+1]){temp=1;t=a[j];a[j]=a[j+1];a[j+1]=t;}}if(!temp)break;}}8、以下函數sort用選擇法實現對數組a中的m個元素進行從小到大(升序)排序。voidsort(inta[],intm){inti,j,k,t;for(i=0;i<m-1;i++){k=i;for(j=i+1;j<m;j++)if(a[j]<a[k])k=j;if(k!=i){t=a[k];a[k]=a[i];a[i]=t;}}}
三、改錯題1、以下程序實現統計輸入字符串中英文字母、數字和其它字符的個數。以回車結束輸入。#include<stdio.h>voidmain(){charch;intletter;number;other;letter==number==other==0;//=while((ch=getchar())!='\0')//‘\n’{if(ch>='a'&&ch<='z')letter++;//(ch>=’a’&&ch<=’z’||ch>=’A’&&ch<=’Z’)elseif(ch>=0&&ch<=9)number++;//(ch>=’0’&&ch<=’9’)elseother++;}printf("letter=%d,number=%d,other=%d\n",&letter,&number,&other);//letter,number,other}2、以下程序實現從鍵盤輸入三角形的三邊長,求其面積,若三個邊長不能構成三角形,則提示。#include<stdio.h>#include<math.h>voidmain(){inta,b,c,s,area;scanf("%f%f%f",a,b,c);&a,&b,&cif(a+b>c||b+c>a||a+c>b)//&&&&{s=(a+b+c)/2;area=sqrt(s(s-a)(s-b)(s-c));s*(s-a)*(s-b)*(s-c)printf("areais%.2f\n",area);}elseprintf(‘Invalidinput.\n’);//““}3、以下程序實現求解百元買百雞問題:設一只公雞2元、一只母雞1元、一只小雞0.5元,那么一百元買一百只雞,其中公雞、母雞、小雞數可分別為多少?有多少種方案?#include<stdio.h>voidfun()//int{inthen,cock,chicken,n=0;for(cock=0;cock<=50;cock+=1)for(hen=0;hen<=100;hen+1)//hen++{chicken=2*(100-hen-2*cock);if(cock+hen+chicken=100)//=={n++;printf("hen:%d,cock:%d,chicken:%d\n",hen,cock,chicken);}}returnn;}voidmain(){printf("方案有:%d種\n",fun);//fun()}4、以下程序實現將輸入的字符串轉換成密文,方法是:字母'a'轉換成'1'、'b'轉換成'5'、'c'轉換成'3'、'd'轉換成'9'、'e'轉換成'7',其他字符不變。#include<stdio.h>#include<string.h>voidmain(){chars[64],t[64];chartab[5,2]={{'a','1'},{'b','5'},{'c','3'},{'d','9'},{'e','7'}};//[5][2]inti,j=0;printf("Inputanoriginalstring:");scanf("%s",s);strcpy(t,s);while(t[j]){for(i=0;i<=5;i++)//<ift[j]==tab[i][0]//(t[j]==tab[i][0]){t[j]=tab[i][1];continue;//break}j++;}printf("Thetargetstring:%c\n",t);//s}5、以下程序利用指針實現將輸入的字符串拷貝給另一字符數組。#include<stdio.h>voidmain(){chars1[128],s2[128];char*p1=s1,*p2;scanf(“%s”,&s1);//s1p2=NULL;//s2while(*p2)*p2++=*p1++;//*p1printf("%c\n",s1);//%ss2}6、以下程序實現將從鍵盤依次輸入的M個整數逆序輸出。#include<stdio.h>#defineM8voidmain(){inta[M],
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 船舶拆除行業監管考核試卷
- 外貿英語函電Unit1課件
- (四檢)廈門市2025屆高三畢業班第四次質量檢測地理試卷(含答案)
- 塑造五年級行為典范
- 外貿英文函電課件unit14
- 山西省朔州市朔城區四中學2025年初三下學期期末聯考生物試題理試題含解析
- 閩北職業技術學院《高壓電技術》2023-2024學年第二學期期末試卷
- 內蒙古電子信息職業技術學院《機械工程專業英語》2023-2024學年第一學期期末試卷
- 天津和平區天津市雙菱中學2025屆3月初三年級綜合模擬測試語文試題含解析
- 唐山職業技術學院《大學體育與健康(3)》2023-2024學年第二學期期末試卷
- 食品生物化學 知到智慧樹網課答案
- 2024年江蘇國信新豐海上風力發電有限公司招聘筆試沖刺題(帶答案解析)
- 學術交流英語(學術寫作)智慧樹知到期末考試答案2024年
- 國家衛生部《綜合醫院分級管理標準》
- 中醫經絡養生拍打
- Unit7Summerholidayplans(單元解讀)六年級英語下冊(譯林版三起)
- 醫學高級職稱-皮膚與性病學(醫學高級)筆試(2018-2023年)真題摘選含答案
- 乳腺疾病的健康宣教
- 新生兒重點專科模板課件
- 《四、尊生》課件(安徽省市級優課)
- 企業培育工匠實施方案
評論
0/150
提交評論