C語言習(xí)題全集+答案_第1頁
C語言習(xí)題全集+答案_第2頁
C語言習(xí)題全集+答案_第3頁
C語言習(xí)題全集+答案_第4頁
C語言習(xí)題全集+答案_第5頁
已閱讀5頁,還剩178頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第一單元程序設(shè)計(jì)和C語言 第二單元順序程序設(shè)計(jì) 3第三單元分支程序設(shè)計(jì) 7第四單元循環(huán)程序設(shè)計(jì) 23 34 42第八單元結(jié)構(gòu)體和共用體 61 78 82 第一單元程序設(shè)計(jì)和C語言A.主過程B.主函數(shù)C.子程序3.C語言的程序一行寫不下時(shí),可以A.用逗號(hào)換行B.用分號(hào)換行C.在任意一空格處換行D.用回車符換行A.在C程序中,語句之間必須要用分號(hào)";"分隔C.在C程序中,無論是整數(shù)還是實(shí)數(shù)都能正確無誤地表示D.在C程序中,%是只能用于整數(shù)運(yùn)算的運(yùn)算符A.ABCB.abcC.6.下列字符串是標(biāo)識(shí)符的是:A.C語言程序總是從第一個(gè)定義的函數(shù)開始執(zhí)行B.在C語言程序中,要調(diào)用的函數(shù)必須放在main()函數(shù)中定義C.C語言程序總是從main()函數(shù)開始執(zhí)行D.C語言程序中的main()函數(shù)必須放在程序的開始部分A.‘\2’B.""C.‘3’A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a=+(b=4)*(a=3)111.若有定義:inta=7;floatx=2.5;y=A.2.500000B.2.750000C.3.500000D.0.則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為:。x=6;x+=x-=x*x;15.字符串"\\\"ABC\"\\"的長度是。兩個(gè)表達(dá)式執(zhí)行完的結(jié)果分別是和,x值分別是2m=1234.123;printf("%-8.3f\n",m);printf("%10.3f\n",m);x=(y=(z=10)+5)-5;printf("x=%d,y=%d,z=%d\n",x,y,z);printf("x=%d,y=%d,z=%d\n",x,y,z);A.X=10,Y=15,Z=10B.X=10,Y=10,Z=10X=0,Y=10,Z=0X=0,Y=10,Z=10C.X=10,Y=15,Z=10D.X=10,Y=10,Z=10X=10,Y=10,Z=0X=0,Y=10,Z=0scanf("x=%d,y=%f",&x,A.x=10,y=66.6<回車>B.1066.6<回C.10<回車>66.6<回車>D.x=10<回車>y=66.6<回車>A.30’b’<回車>B.30b<回C.30<回車>b<回車>D.30b<回車>5.已知有變量定義:doublex;longa;要給a和x輸入數(shù)據(jù),正確的輸入語句A.scanf(“%d%f”,&a,&x);B.scanf(“%ld%f”,&a,&x);printf(“%d,%f”,a,x);printf(“%ld,%f”,a,x);C.scanf(“%ld%lf”,&a,&x);D.scanf(“%ld%lf”,&a,&x);printf(“%ld,%lf”,a,x);printf(“%ld,%f”,a,x);3y=x+3/2;printf(“%f”,y);A.2.500000B.2.5C.2.000000D.2a=-2L;printf("%d\n",a);A.賦值不合法B.輸出為不確定的值C.輸出值為-2D.輸出值為2scanf("%2d%*2d%ld",&x,&printf("%d\n",x+y);}執(zhí)行時(shí)輸入:1234567printf("%d",x);printf("%d",x);}printf("x=%f,i=%d",x,i);}a+=a*=a-=a*=3;printf("%d",a);}4printf("x=%d,y=%%d",x,y);}printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);}printf("%d,%d\n",x,z);printf("%d,%d\n",y,z);}4.編寫程序求矩形的面積和周長,矩形的#include<stdio.h>printf(“pleaseinputlengthandwidthofthe }5 ;printf(“pleaseinputaprintf(,c,n);}1.將華氏溫度轉(zhuǎn)換為攝氏溫度和絕對(duì)溫度的公式測(cè)試數(shù)據(jù):①f=34x=r.cosθwanggang63.若w=1,x=2,y=3,z=4,則條件表達(dá)式w<x?w:y<z?yw=3;z=7;x=10;printf("%d\n",x>10?x+100:x-10);printf("%d\n",w++||z++);printf("%d\n",!w>z);printf("%d\n",w&&z);main()}A.有語法錯(cuò),不能通過編譯B.通過編譯,但不能連接main()}7A.有語法錯(cuò),不能通過編譯B.通過編譯,但不能連接main()}A.有語法錯(cuò),不能通過編譯B.通過編譯,但不能連接main()}A.有語法錯(cuò),不能通過編譯B.通過編譯,但不能連接main()k=(a++<=0)&&(!(b--<=0));printf("%d,%d,%d\n",k,a,b);}printf("%d",x);x*=(y==(z=4));printf("%d",x);}8printf("%d",(x>=z>=x)?1:0);printf("%d",z>=y&&y>=x);}printf("%d\t",x);printf("%d\t",x);printf("%d\t",z);}default:printf(“other.”);}}9}printf("a=%d,b=%d\n",a,b);}#include<stdio.h>main(){ printf(“%d”,y);} main(){ printf("Pleaseenter3reals:\n");scanf("%f%f%f",&a,&b,printf("\nAreaofthet} printf("Itisnottria}5.有一方程ax2+bx+c=0,a,b,c的值由鍵盤輸入,請(qǐng)編程序,打印出以下情況時(shí)方程的(4)a≠0,b2-4ac≥0(5)a≠0,b2-4ac≤0main()scanf("%f%f%f",&a,&b,printf("a=%f,b=%f,c=%f\n",a,b,c);printf("onlyonesolutionx=%f\n",-c/b);printf("x1=%6.2f,x2=%6.2f\n",x1,x2);}printf("x1=%6.2f+%6.2fi\n",pr,pi);printf("x2=%6.2f-%6.2fi\n",pr,pi);}}main(){ { 對(duì)應(yīng)小寫字母;如果是數(shù)字輸出數(shù)字本身;如果是空格,輸出“space”;如果不是4.輸入一個(gè)數(shù),判斷它能否被3或者被5整除,如至少能被這兩個(gè)數(shù)中的一5.讀入1到7之間的某個(gè)數(shù),輸出表示一星期中6.給出一百分制成績(jī),要求輸出成績(jī)等級(jí)‘A’,‘B’,‘C’,‘D’,‘E’,90分以上C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次for(i=0,x=0;i<=9&&x!=876;i++)scanf("%d",&x);C.是無限循環(huán)D.循環(huán)體一次也不執(zhí)行for(i=0,k=-1;k=1;i++,k++)printf("****");A.判斷循環(huán)結(jié)束的條件非法B.是無限循環(huán)while(k=0)k=k+1;A.while循環(huán)執(zhí)行20次B.循環(huán)C.循環(huán)體語句一次也不執(zhí)行D.循環(huán)體語句執(zhí)行一次6.程序段如下:則以下說法中不正確的是:D。#include<stdio.h>main(){while(k<7){printf(“k=%d\n”,k);}A.k=k+3;執(zhí)行一次B.k=k+1;執(zhí)行2次while(num<=2)}113while(s<10);}main(){m=(m+1)*2;printf("m=%d\n",m);}main()}main()}main()}main()putchar(‘<’);putchar(‘>’);}putchar(‘#’);}for(a=1,b=1;a<=100;a++)}printf("a=%d\n",a);}printf("\n");}printf("(%d,%d),",i,j);printf("\n");}}main()printf("%c",space);printf("%c",'*');printf("\n");}}main()printf("\n");}}main(){}main()}4.求Sn=a+aa+aaa+...+aa...a之值,其中a是一個(gè)數(shù)字。例如2+22+2),main() }printf("a+aa+aaa+...=%d\n",Sn);}5.一球從100米高度自由落下,每次落地后反跳回原來高度的一半,再落下,求它在main()printf("第10次落地時(shí)共經(jīng)過%f米\n",Sn);printf("第10次反彈%f米\n",hn);}*main() }printf("*");printf("\n");}main()printf("輸入車站數(shù):");printf("車票種類=%d\n",total);測(cè)試數(shù)據(jù):①1,-12,20,30,-5,-23,33,125,200,-100②0,10,3,1,5,6,-10,90,9,-4③12,13,14,15,10,-10,-11,-12,-9,9提示:求m,n的最大公約數(shù):首先將m除以n(m>n)得余數(shù)R,再用余數(shù)R去除原來的除數(shù),得新的余數(shù),重復(fù)此過程直到余數(shù)為0時(shí)停止,此時(shí)的除數(shù)測(cè)試數(shù)據(jù):m=12,n=24m=100,n=30014.3025這個(gè)數(shù)具有一種獨(dú)特的性質(zhì):將它),18.給出一個(gè)不多于4位的正整數(shù),要求:①求出它是幾位數(shù)②21.驗(yàn)證歌德巴赫猜想。一個(gè)充分大的偶數(shù)(大于或等于6)可以分解為兩個(gè)素?cái)?shù)之和。22.用牛頓迭代法求方程在1.5附近的根(精度為10-5)。2x3-4x2+3x-6=0A.數(shù)組的大小是固定的,但可以有不同的類型的數(shù)組元B.數(shù)組的大小是可變的,但所有數(shù)組元素的類型必C.數(shù)組的大小是固定的,但所有數(shù)組元素的類型必D.數(shù)組的大小是可變的,但可以有不同的類型的數(shù)A.a[10]B.a[6A.intn=5,b[n][n];B.inta[1]C.intc[2][]={{1,2},{3,4}}D.inta[3][2]={{1,2},{3A.chars1[10];s1="test";B.chars2[]={’t’,’e’,’s’printf("%.4s",s);A.abook!B.abook!C.aboD.格式描述不正確,沒有確定輸出printf("%d\n",strlen(s));7.在執(zhí)行inta[][3]={1,2,3,4,5,6};語句后,a[1][0]的值{inta[8]={1,0,1,0,1,0,1printf(“%5d”,a[i]);}{floatb[6]={1.1,2.2,3.3,4.4,5.5,6.6},t;b[i]=b[i+1];printf(“%6.2f”,b[i]);}{intp[7]={11,13,14,15while(i<7&&p[i]%2)printf("k=%d\n",k);}}printf("sum=%d",sum);}printf("%4d",a[i][j]);printf("\n");}#include<stdio.h>main()chars1[100],s2[100printf("inputstring1:\n");printf("inputstring2:\n");printf("%d\n",s);}{charch[3][5]={"AAAA","BBB","CC"};printf("\"%s\"\n",ch[1]);}#include<string.h>{charstr[10][80],c[80];if(strlen(c)<strlen(s}三、填空題1.構(gòu)成數(shù)組的各個(gè)元素必須具有相同的{ints[]={1,-3,0,-9,8,5,-for(i=0,p=0;i<8;i++)if(s[i]>s[p]) }#include<stdio.h>{floata[20],pjz=0,s,t;{pjz+=;}}}main(){charss[4][3]={'A','a','f','c','B','d'}5.將一個(gè)數(shù)組中的元素按逆序重新存放。例如原來的順序?yàn)椋?,5,7,4,printf("\n初始數(shù)組:\n");printf("%4d",a[k]);printf("\n交換后的數(shù)組:\n");printf("%4d",a[k]);}#include<stdio.h>{/*str1表示原來的一行文字,str2表示charstr1[100],str2[100];printf(“pleaseinputansentence:\n”printf("\n%s\n",str2);}#include<stdio.h>#include<string.h>}8.某人有四張3分的郵票和三張5分的郵票,用這些郵票中的一張或若干張可以得到main()}printf("%dkind:",n);printf("%3d",a[k]);}9.求矩陣的馬鞍點(diǎn)。馬鞍點(diǎn)即它的值在行中main()printf("%5d",a[i][j]); }}}}printf("\n矩陣中無鞍點(diǎn)!\n");}1.有一個(gè)正整數(shù)數(shù)組,包含N個(gè)元素,要求編程求出其中的素?cái)?shù)之5.輸入N個(gè)數(shù)到數(shù)組中,選出其中最大的數(shù)和最小的數(shù),并分別將它們與最前面和最8.求一個(gè)3×3矩陣兩條對(duì)角線上元素之和(每9.打印如下形式的楊輝三角形1輸出前10行,從0行開始,分別用一維數(shù)10.有一個(gè)二維數(shù)組整型數(shù)組中,每一行都有一個(gè)最大值,編程求出這些最大值以及它12.編程序?qū)⒁粋€(gè)字符串的前N個(gè)子字符送到一\0'(不允許使用strcpy(str1,str2,n13.將字符數(shù)組A中下標(biāo)為雙號(hào)(0,14.有一行字符,統(tǒng)計(jì)其中的單詞個(gè)數(shù)(單詞之間以空格分隔),并將每一個(gè)單詞的第倍數(shù)的人離開圈子,然后再數(shù)下去,直到最后只剩下一個(gè)人133333121333152213155222155522141552144415要求:不允許使用鍵盤輸入語句和靜態(tài)賦值18.打印所有不超過n(n<256)的其平方具有對(duì)稱性的數(shù)(19.求N個(gè)數(shù)中的最大值,最大值出現(xiàn)的次數(shù),然后求出次大20.找出M×N數(shù)組中所有不相鄰元素,并求出它們的和(相鄰的數(shù):前一個(gè)是偶數(shù),21.圓盤上有如下圖所示的二十個(gè)數(shù),請(qǐng)找出哪四個(gè)相鄰數(shù)之和為最大,并指出它們的兩個(gè)數(shù)之和都是素?cái)?shù),即→1→2→3→4→,問1~100內(nèi)連續(xù)取n個(gè)數(shù),即1~n 23.打印魔方陣。所謂魔方陣是指這樣的方陣,它的每一行、每一列和對(duì)角線之和均相等。例如:三階魔方陣為要求打印由1到N2的自然數(shù)構(gòu)成的魔方陣。⑵從“2”開始直到n×n為止各數(shù)依次按下列⑶如果上一個(gè)數(shù)的行數(shù)為1,則下一個(gè)數(shù)的行數(shù)為n(指最下一行⑸如果按上面規(guī)則確定的位置已有數(shù),或上一個(gè)數(shù)是24.統(tǒng)計(jì)一個(gè)單位職工的年齡,要求把相同年齡最多的那個(gè)年齡找出來(可能有幾個(gè)這),第一行填寫完畢后,即以第一行作為全方陣索引,即若第一行中的第則j在各行中的列號(hào)即為從第一行中元素值為i的那一列開始讀出的n個(gè)自然數(shù)(到行末則從行頭接著讀例如第一行第2列的元素值為5,則從元素值為2的那一列(第3列)開始讀測(cè)試數(shù)據(jù):①n=5②n=8A.實(shí)參和形參各占一個(gè)獨(dú)立的存儲(chǔ)單元B.實(shí)參和形參共用存儲(chǔ)單元C.可以由用戶指定實(shí)參和形參是否共用存儲(chǔ)單元exce((v1,v2),(v3,v4,v5),v6);3.如果在一個(gè)函數(shù)的復(fù)合語句中定義了一個(gè)變量,則該變量。A.只在該符合語句中有效,在該符合語句外無效B.在該函數(shù)中任何位置都有效C.在本程序的原文件范圍內(nèi)均有效D.此定義方法錯(cuò)誤,其變量為非法變量4.C語言允許函數(shù)值類型缺省定義,此時(shí)該函數(shù)值隱含的類型是。5.C語言規(guī)定,函數(shù)返回值的類型是由A.return語句中的表達(dá)式類型所決定B.調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型所決定C.調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)決定D.在定義該函數(shù)時(shí)所指定的函數(shù)類型決定A.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套D.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套A.全局變量的作用域一定比局部變量的作用域范圍大B.靜態(tài)(static)類別變量的生存期貫穿于整個(gè)程序的運(yùn)行期間C.函數(shù)的形參都屬于全局變量D.未在定義語句中賦初值的auto變量#include<stdio_h>}main()for(i=0;i<4;i++){sub(a,x);printf("%d",x);}}A)1234B)432lC)0000D)4444main()"\}A)voidplay(vata:Integer,varb:Integer)B)voidplay(inta,b)C)voidplay(inta,intb)D)Subplay11.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是。A)數(shù)組的長度B)數(shù)組的首地址C)數(shù)組每一個(gè)元素的地址D)數(shù)組每個(gè)元素中的值12.在調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是。A)地址傳遞B)單向值傳遞C)由實(shí)參傳給形,再由形參傳回實(shí)參D)傳遞方式由用戶指定}A)intB)不確定C)voidD)floata+=a;b+=b;c=fun2(a,b);}}main()printf("Thefinalresultis:%d\n",fun1(x,}main()printf("%d\n",x);}}main()}}printf("%d,%d\n",x,y);}p=func(k,m);printf("%d,",p);p=func(k,m);printf("%d\n",p);}}main()"%}main()}main()"%",}main()}}main()r=func(func(x,y),z);}}main()"%三、填空題#include<stdio.h>#include<math.h>intprime(intm)}main()}printf("thenumberofprim}數(shù),在主函數(shù)中輸入字符串以及輸出上述的結(jié)果。請(qǐng)?zhí)羁胀瓿缮鲜龉δ艿某绦颉?include<stdio.h>#include<ctype.h>voidfltj(charstr[],}}main()printf("%schar:%ddigit:%dspace:%dother:%d",str,a[0],a[1],a[2],a[}3.用遞歸方法求N階勒讓德多項(xiàng)式的值,遞歸公式為#include<stdio.h>main()printf("pn=%f",lyd);}return(temp);}doublefun(doublex,inty)}4.寫一函數(shù),使給定的一個(gè)二維數(shù)組(3×3)轉(zhuǎn)置8.寫一函數(shù)判斷某數(shù)是否“水仙花數(shù)”,所謂“水仙花數(shù)”是指一1、若有以下定義和語句,且0≤i<10則對(duì)數(shù)組元素的inta[10]={1,2,3,4,5,6,7,8,9,10},*p,i;A.*(a+i)B.a[p-a]C.p+iD.*A.*(a[1]+1)B.*(&a[1][1]3、對(duì)如下定義,以下說法中正確的是。A.char*a[2]={"abcd","ABCD"};C.a是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型數(shù)組char*s="\t\\Name\\Address\n";5、分析下面函數(shù),以下說法正確的是。*p=*p1;*p1=*p2;*p2=*p;}C.交換*p1和*p2的地址D.可能造成系統(tǒng)故障,因?yàn)槭褂昧薃.M個(gè)指向整型變量的指針B.指向M個(gè)整型變量的函數(shù)指針C.一個(gè)指向具有M個(gè)整型元素的一維數(shù)組的指針D.具有M個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都只能指向整型量7、在說明語句:int*f();中,標(biāo)識(shí)符代表的是:A.一個(gè)用于指向整型數(shù)據(jù)的指針變量B.一個(gè)用于指向一維數(shù)組的指針C.一個(gè)用于指向函數(shù)的指針變量D.一個(gè)返回值為指針型的函數(shù)名8、若intx,*pb則正確的賦值表達(dá)式是A.pb=&xB.pb=x;C.*pb=&x;D.*pb=*x9、有如下程序段則以下正確的敘述是。A.以下兩處的*p含義相同,都說明給指針變量pB.在"doubler=99,*p=&r;"中,把r的地址賦值給了p所指的存儲(chǔ)單元11、要求函數(shù)的功能是交換x和y中的值,且通過正確調(diào)用返回此功能的函數(shù)是。D.fund(int*x,int*y){*x=*x+*y;*12、若有說明:long*p,a;則不能通過scanf語句正確給輸入項(xiàng)讀入數(shù)據(jù)的程序段A.*p=&a;scanf("%ld",p);B.p=(long*)malloc(8);scanf("%ld",p);C.scanf("%ld",p=&a);D.scanf("%ld",&a);13、對(duì)于類型相同的兩個(gè)指針變量之間,不能進(jìn)行的運(yùn)算是。14、若已定義:inta[9],*p=a;并在以后的語句址的表達(dá)式是。A.*p+6B.*(p+6)C.*16、設(shè)P1和P2是指向同一個(gè)int型一維數(shù)組的指針變量,k為int型變量,則不能正確執(zhí)行的語句是。則不能表示a數(shù)組元素的表達(dá)式是。A.*p+9B.*(p+20、下面程序輸出數(shù)組中的最大值,由s指針指向該元素.voidmain()):}則在if語句中的判斷表達(dá)式應(yīng)該是。A.p>sB.*p>*sC.a[p]>a[s]D.p-a>p-s則不能表示a數(shù)組元素的表達(dá)式是。則對(duì)w數(shù)組元素非法引用是。A.*(w[0]+2)B.*(pw+1)[2]C.pw[0][0]D.*(pw[1]+2)A.cp+1B.*(cp+3)C.*(cp+1)執(zhí)行上面的程序段后,*(ptr+5)的值為25、下面函數(shù)的功能是。{while*s)&&(*t)&&(*t++==*s++return(*s-*t}A.求字符串的長度B.比較兩個(gè)字符串的大小C.將字符串s復(fù)制到字符串t中D.將字符串26、下面各語句行中,不能正確進(jìn)行字符串賦值操作的語句是。A.charST[5]={"ABCDE"};B.charS[5]={'A','while(*y++return(y-x-1);}A.求字符串的長度B.比較兩個(gè)字符串的大小C.將字符串X復(fù)制到字符串YD.將字符串X連接到字符串Y后面voidmain()}上面程序的輸出結(jié)果是。int(*ptr)();則以下敘述中正確的是。A.ptr是指向一維組數(shù)的指針變量B.ptr是指向int型數(shù)據(jù)的指針變量C.ptr是指向函數(shù)的指針;該函數(shù)返回一個(gè)int型數(shù)據(jù)D.ptr是一個(gè)函數(shù)名;該函數(shù)的返回值是指向int型數(shù)據(jù)的指針30、若有函數(shù)max(a,b并且已使函數(shù)指針變量p指向函數(shù)max,當(dāng)A.p=max;B.*p=max;C.p=max(a,bD.*p=max)();A.代表函數(shù)的返回值B.指向函數(shù)的入口地址C.表示函數(shù)的類型D.表示函數(shù)返回值的類型voidmain()}在必要的賦值之后,對(duì)fun函數(shù)的正確調(diào)用語句是。A.a=a(wB.(*a&cC.b=*b(wD.fun(b則以下說法中正確的是。A.aa數(shù)組成元素的值分別是"abcd"和ABCD"B.aa是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型一維數(shù)組C.aa數(shù)組的兩個(gè)元素分別存放著含有4個(gè)字符的一維字符數(shù)組的首地址D.aa數(shù)組的兩個(gè)元素中各自存放了字符'a'和'A'的地址35、以下正確的敘述是。A.C語言允許main函數(shù)帶形數(shù),且形參個(gè)數(shù)和形參名均可由用戶指定B.C語言允許main函數(shù)帶形參,形參名只能是argc和argvC.當(dāng)main函數(shù)帶有形參時(shí),傳給形參的值只能從命令行中得到D.有說明:main(intargc,char*argv),則形參argc的值必須大于136、若有說明:inti,j=2,*p=&i;,則能完成i=j賦值功能的語句是。#include<stdio.h>p1=&a;p2=&b;printf("%d,%d\n",*p1,*p2);printf("%d,%d\n",a,b);voidast(intx,inty,int*cp,int*printf("%d,%d\n",c,d);for(x=0;x<3;x++)y+=*(p+x);printf("y=%d\n",y);}ptr=&a[0][0];m=(*ptr)*(*(ptr+2))*(*(ptr+4));printf("%d\n",m);}}*temp=*b,*b=*c;*c=*temp;}p1=&a;p2=&b;p3=&c;printf("%d,%d,%d\n",a,b,c);#include<stdio.h>int*add[2][3]={*a,*a+1,*a+2,*(a+1),*(a+1)+1,*(a+1)+2};printf("\n");}for(p=s+1;p<s+4;p++)printf("%s\n",p);i=f(fa,fb,2);printf(“%d\n”}#include<stdio.h>#include<string.h>printf("%d\n",strlen(b2));}}while(*p)}printf("%s\n",s);}p=a;k=&p;printf("%d",*(p++));printf("%d\n",**k);}x+=sub(funb,8,3);printf("%d\n",x);}}}for(k=0;k<4;k++)printf("%d",v[k]);}if(!isspace(*(str+i))&&(*(str+i)!='a'))ts[t++]=toupper(str[i]);}}#include<stdio.h>}while(--chp>&b[0])putchar(*chp);putchar('\n');}}}intaa[3][3]={{2},{printf("%d",*p);}}for(i=0;i<=n;i++)r=r*b[i];}printf("%d\n",x);}#definePR(ar)printf("%d",ar)case2:PR(*p++);break;}}#include<stdio.h>}}}for(K=1;K<3;K++)FUN(A);for(K=0;K<5;K++)printf("%d",A[K]);}#include<stdio.h>while(i<j)}printf("\n");}printf("%d%d\n",c,d);}main()printf("%d\n",b[0]);}#include<stdio.h>main()}#include<stdio.h>voidfind(int*a,int*max,int}main()printf("%d,%d\n",max,min);}2.寫一函數(shù),實(shí)現(xiàn)兩個(gè)字符串的比較。即自己寫如果s1=s2,返回值為0,如果s1≠s2,值("BOY"與"BAD",第二個(gè)字母不同,"O"與"A"之差為79-65=14)。如果s1>s2,則compare(char*p1,char*p2)}main()charstr1[20],str2[20],*p1,*p2;m=compare(p1,p2);}格的學(xué)生,輸出他們的學(xué)號(hào)和全部課程成績(jī)和平均成績(jī);(3)找出平均成績(jī)?cè)?0分以上#include<stdio.h>main()floatscore[4][5],aver[4],*psco,*pave;charcourse[5][10],*pcou;pcou=&course[0];printf("pleaseinpuprintf("pleaseinpuprintf("stunum:\n");printf("%s",pcou+10*i);printf("\n");psco=&score[0][0];pnum=&num[0];}pave=&aver[0];avsco(psco,pave);avcour1(pcou,psco);fail2(pcou,pnum,psco,pave);printf("\n");good(pcou,pnum,psco,pave);}avsco(float*psco,float*pave)}avcour1(char*pcou,float*psco)printf("thefirstcourse%s,averageis:%5.2f\n",pcou,average1);}fail2(char*pcou,int*pnum,float*psco,float*pave)printf("stunum:");printf("%-8s",pcou+10*i);printf("average:\n");}}good(char*pcou,int*pnum,float*psco,float*pave)printf("=======goodstudents=======\n");printf("average\n");if(*(psco+5*i+j)>85.0)labprintf("%-8.2f\n",*(pave+i));}}將其中連續(xù)的數(shù)字作為一個(gè)整數(shù),依次存放到一數(shù)組a中。例如,1#include<stdio.h>main()inti,j,k,m,e10,digit,ndigit,a[10],*pa;printf("\npleaseinputthestring:\n");gpstr=&str[0];while(k<j)}}}while(k<j)for(m=1;m<=k;m++)e10=e10*10;digit=digit+(*(pstr+i-1-k)-48)*e10;} }printf("thereare%dnumberdigit\n",ndigit);for(j=0;j<ndigit;j++)printf("%d",*(pa+j));printf("\n");}2、輸入10個(gè)整數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最6、在主函數(shù)中輸入10個(gè)等長的字符串。用另一函數(shù)對(duì)它們排序。然后在主函數(shù)輸出這109、寫一函數(shù)完成將無符號(hào)十進(jìn)制整數(shù)轉(zhuǎn)換成十六進(jìn)制字符表1、說明一個(gè)結(jié)構(gòu)體變量時(shí)系統(tǒng)分配給它的內(nèi)存是。A.各成員所需要內(nèi)存量的總和B.結(jié)構(gòu)體中第一個(gè)成員所需內(nèi)存量C.成員中占內(nèi)存量最大者所需的容量D.結(jié)構(gòu)中最后一個(gè)成員所需內(nèi)存量2、C語言結(jié)構(gòu)體類型變量在程序執(zhí)行期間。A.所有成員一直駐留在內(nèi)存中B.只有一個(gè)成員駐留在內(nèi)存中C.部分成員駐留在在內(nèi)存中D.沒有成員駐留在內(nèi)存中3、設(shè)有以下說明語句則下面的敘述不正確的是。A.struct是結(jié)構(gòu)體類型的關(guān)鍵字C.stutype是用戶定義的結(jié)構(gòu)體類型名4、程序中有下面的說明和定義B.程序?qū)㈨樌幾g、連接、執(zhí)行C.能順利通過編譯、連接、但不能執(zhí)行D.能順利通過編譯、但連接出錯(cuò)A.prinft("%c\n",class[B.printf("%c\n",clC.prinft("%c\n",clD.printf("%c\n",cl6、下面程序的輸出是。main()printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x}A.(*p).data.aB.(*p).aC.p->data.aD.p.data.a8、當(dāng)說明一個(gè)共用體變量時(shí)系統(tǒng)分配給它的內(nèi)存是。A.各成員所需要內(nèi)存量的總和B.共用體中第一個(gè)成員所需內(nèi)存量C.成員中占內(nèi)存量最大者所需的容量D.共用體中最后一個(gè)成員所需內(nèi)存量A.可以對(duì)共用體變量名直接賦值B.一個(gè)共用體變量中可以同時(shí)存放其所有成員C.一個(gè)共用體變量中不可以同時(shí)存放其所有成員 D.共用體類型定義中不能出現(xiàn)結(jié)構(gòu)體類型的成員A.所有成員一直駐留在內(nèi)存中B.只有一個(gè)成員駐留在內(nèi)存中C.部分成員駐留在在內(nèi)存中D.沒有成員駐留在內(nèi)存中11、以下對(duì)枚舉類型名的定義中正確的是A.用typedef可以定義各種類型名,但不能用來定義變量B.用typedef可以增加新類型C.用typedef只是將已存在的類型用一個(gè)新的標(biāo)識(shí)符來代表D.使用typedef有利于程序的通用和移植14、以下各選項(xiàng)企圖說明一種新的類型名,其中正確的是。則下面敘述中正確的是。A.PER是結(jié)構(gòu)體變量名B.PER是結(jié)構(gòu)體類型名若要使P指向data中的a域,正確的賦值語A.p=&a;B.p=data.a;C.p=&data.a;D.*p=data.a;#include<stdio.h>main()#include<stdio.h>}#include<stdio.h>printf("%d%d%d%d\n",my,your,his,her);#include<stdio.h>structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};printf("%d,",(++p)->x);printf("%d\n",++(*p->y));#include<stdio.h>unionmyunprintf("%d\n",a.u.x);#include<stdio.h>{structSTUs[3]={{“20021”,90,95,85},{“20022”,9printf(“%6.2f\n”,sum);#include<stdio.h>#include<stdlib.h>p=(structNODE*)malloc(sizeof(structNODE));q=(structNODE*)malloc(sizeof(structNODE));r=(structNODE*)malloc(sizeof(structNODE));p->num=10;q->num=20;r->num=30;p->next=q;q->next=r;printf(“%d\n”,p->num+q->next->num);}#include<stdio.h>printf(“%d\n”,sizeof(a));}main() scanf("%d%d",&x.re,&x.iscanf("%d%d",&y.re,&y.iprintf("sum=%5d+i*%5d\n",s.re,s.im);p.im=x.re*y.im+x.im*y.re;printf("product=%5d+i*%5d\n",p.re,p.im);}3.有n個(gè)學(xué)生,每個(gè)學(xué)生的數(shù)據(jù)包括學(xué)號(hào)(num),姓名(name[20]),性別(sex),年齡(age),個(gè)函數(shù)count,在該函數(shù)中計(jì)算出每個(gè)學(xué)生的總分和平均分,然后打印出所有各項(xiàng)數(shù) } {scanf("%d%s%c%d%f%f%f",&a[i].num,a[i].na&a[i].age,&s0,&s1,&s2);a[i].score[0]=s0;a[i].score[1]=s1;a[i].score[2]=s2;printf("%d%s%c%d%4.1f%4.1f%4.1f\n",a[i].num,a[i].name,a[i].sex,a[i].age,a[i].score[0],a[i].score[1],a[i].score[2]);}printf("==============================================\n");printf("NOnamesexagescorprintf("%d%s%c%d%5.1f%5.1f%5.1f%5.1f%5.1f\n",a[i].num,a[i].name,a[i].sex,a[i].age,a[i].score[0],a[i].score[1],a[i].score[2],a[i].total,a[i].ave);}4.將上題改為用指針方法處理,即用指針變量逐次指向數(shù)組元素,然后向指針變量所指向的數(shù)組元素輸入數(shù)據(jù),并將指針變量作為函數(shù)參數(shù)將地址值傳給countb->ave=b->total/3;}main(){scanf("%d%s%c%d%f%f%f",&p->num,p->name,&p->sex,&p->age,&s0,&s1,&p->score[0]=s0;p->score[1]=s1;p->score[2]=s2;printf("%d%s%c%d%4.1f%4.1f%4.1f\n",p->num,p->name,p->sex,p->age,p->score[0],p->score[1],p->score[2]);} printf("=============================================\n");printf("NOnamesexageprintf("%d%s%c%d%5.1f%5.1f%5.1f%5.1f%5.1f\n",p->num,p->name,p->sex,p->age,p->score[0],p->score[1],p->score[2],p->total,p->ave);}main() p->score=s0;} printf("NO:%d\nname:%s\nscore:%4.1f\n",p->num,p->name,p->score);}main(){(1)stu[4]={1,"sdff",34.5,2,"hfhf",67.0,3,"dgdg",90.0,4,"yd" printf("*********************************\n");printf("%4d%-10s%7.1f\n",stu[i].num,stu[i].name,stu[i].score);printf("*********************************\n");printf(%4d%-10s%7.1f\n",p[i]->num,p[i]->name,p[i]->score);printf("*********************************\n");}(3)根據(jù)余數(shù)判斷他是在“打魚”還是在“曬網(wǎng)”;若余數(shù)為1、2、 main()month;scanf("%d%d%d",&today.year,&today.month,&today.day);term.month=12;term.day=31;for(yearday=0,year=1990;year<today.year;year++)if(day>0&&day<4)printf("hewasfishingatthatday.\n"); (3)printf("hewassleepingatthatday}{staticintday_tab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30{0,31,29,31,30,31,30lp=day.year%4==0&&day.year%100!=0||day.year%400==0;for(i=1;i<day.month;i++)day.day+=day_tab[lp][i]; }8.已有a,b兩個(gè)按學(xué)號(hào)升序排列的鏈表#include"stdio.h"#defineLENsizeof(structs main()voidprint();structstudent*ahead,*bhead,*abh;gs=sum=n;print(ahead);printf("\n");bhead=creat();gs+=n;sum=n;print(bhead);printf("\n");abh=insert(ahead,bhead);print(abh);}p1=p2=(structstudent*)malloc(LEN);scanf("%ld,%d",&p1->num,&p1->score);while(p1->num!=0)elsep2->next=p1;p1=(structstudent*)malloc(LEN);scanf("%ld,%d",&p1->num,&p1->score);}p2->next=NULL;return(head);} pa2=pa1=ah;pb2=pb1=bh;pa1=pa1->next;}while(pb1->num<=pa1->num)pb1=pb1->next;pb2->next=pa1;pa2=pb2;pb2=pb1;}while(pa1->next!=NULL)}if((pb1->num>pa1->num)&&(pa1->next==NULL))pa1->next=pb1;}voidprint(structstudent*head)printf("\n%d\n",sum);printf("%ld%d\n",p->num,p->score);}main(){structstudenta[LA]={{"1structstudentb[LB]={{"103","chang"},{"104","ma"},{"105","zhang"},{"107","gostructstudent*p,*p1,*p2,*pt,*head1,*head2;head1=a;head2=b;for(p1=head1,i=1;p1<a+LA;i++)p1->next=a+i;printf("%8s%8s\n",p->num,p->name); }p->next=NULL;for(p2=head2,i=1;p2<b+LB;i++)printf("%8s%8s\n",p2->num,p2->name); }p->next=NULL;printf("\n"); while(p1!=NULL)while(p2!=NULL&&strcmp(p1->num,p2->num)!=0)p2=p2->next;if(strcmp(p1->num,p2->nuhead1=p1->next;p->next=p1->next; }printf("\n");while(p1!=NULL)p1=p1->next;} main()structline*p1,*p2,*head,*new,*newhead;p1=p2=head=(structline*)malloc(sizeof(structline));while(p1->num!=0)if(p1->num==0)p2->next}printf("%4d",p1->num);p1=p1->next;}while(p1->next!=NUprintf("%4d",p1->num);while(p1->next!=NULL)if(i==0)newhead=new=p1;elsenew=new->next=p1;p2->next=NULL;}printf("\n");printf("\n");型定義一個(gè)結(jié)構(gòu)體數(shù)組,從鍵盤輸入每個(gè)結(jié)構(gòu)體元素所需的數(shù)據(jù),然后逐個(gè)輸出這些2.有一批圖書,每本書有:書名(name),作者(author),編號(hào)(num),出版日期(date)7.設(shè)鏈表中每個(gè)結(jié)點(diǎn)包括學(xué)號(hào)、成績(jī)、和指針三個(gè)字段,試編程序打印出鏈表中第10.建立一個(gè)鏈表,每個(gè)結(jié)點(diǎn)包括:學(xué)號(hào)、姓名、性別、年齡。輸入一個(gè)年齡,如果鏈表中1.若fp是指某文件的指針,且已讀到文件的末尾,則表達(dá)式feof(fp)的返回值A(chǔ).文本文件和數(shù)據(jù)文件B.文本文件和二進(jìn)制文件C.數(shù)據(jù)文件和二進(jìn)制文件D.數(shù)據(jù)代碼文件3.C語言庫函數(shù)fgets(str,n,fA.使位置指針重新返回到文件的開頭B.將位置指針指向文件中所要求的特定位置C.使位置指針指向文件的末尾D.使位置指針自動(dòng)移至下一個(gè)字符位置6.在C程序中,可把整型數(shù)以二進(jìn)制形式存放到文件中的函數(shù)是main()printf("文件名:");gets(fname);} }main()}}} }3.打印出worker2.rec中順序號(hào)為奇數(shù)的職#include<stdio.h>main()}printf("%5d%-10s%-5c%5d%5d\n",worker[i].num,worker[i].name,worker[i].sex,worker[i].age,worker[i].pay);}}#include"stdio.h"main(intargc,char*argv[])printf("%c",c);}printf("\n小寫字母數(shù):%d\n",k);printf("\n句子數(shù):%d",m); }三、編程4.將存放在worker1.rec中的職工數(shù)據(jù)按工資高低排序,將排好序的各記錄存放在然后求出平均分?jǐn)?shù)。用fprintf函數(shù)輸出所有信息到磁盤文件stud.rec中,再用6.在文件worker2.rec中插入一個(gè)新職工的數(shù)據(jù),并使插入后仍保持原來的順序(按),提示:可先將兩個(gè)文件中的字符存入一個(gè)字符型數(shù)組中,而后對(duì)數(shù)組重新排序,再將該1.編程序求5X+2Y+Z=50的所有非負(fù)整數(shù)解。2.有一長度不大于40的字符串,已知其中包含兩個(gè)字符“A”,求處于這兩個(gè)字符“A”中間的字符個(gè)數(shù),并把這些字符依次打印出來。3.把25個(gè)字母A、B、C、···、X、Y按如下要求打印出來:從最中間的字母M開始打印,然后一左一右依次打印出其它字母,即M,L,N,K,O。要求:初始化時(shí)按字母表順序賦值。4.編一個(gè)程序,把一批非零整數(shù)中的偶數(shù)、奇數(shù)的平均值分別計(jì)算出來。用零作為終止標(biāo)記。5.某單位排隊(duì)形,開始排成3路縱隊(duì),末尾多出了2人。后改成5路縱隊(duì),末尾又多出了3人,最后改成7路縱隊(duì),正好沒有余數(shù)。編程序求出該單位至少有多少6.將一個(gè)6×6數(shù)組的第一行、第六行、主對(duì)角線和副對(duì)角線上的元素都存入1,其余的元素都存入-1。請(qǐng)編程序?qū)崿F(xiàn)。要求:1)不許對(duì)數(shù)組初始化。2)盡量少用循環(huán)。7.個(gè)位數(shù)是6,且能被3整除的五位數(shù)共有多少個(gè)。8.求100至200之間能同時(shí)被6和8整除的數(shù),把這些數(shù)打印出來,并且打印這些數(shù)的和。9.雨淋濕了一道算術(shù)題,9個(gè)數(shù)字現(xiàn)在只能認(rèn)清4個(gè)(第一個(gè)數(shù)字雖模糊不清但肯定不是1請(qǐng)編程序找出那些看不清的數(shù)字。10.編程序計(jì)算下述函數(shù)在X=-7,-1,0,7時(shí)的值。11.判斷一個(gè)給定的5×5方陣是否以第3列為軸線對(duì)稱?12.編寫一個(gè)函數(shù)JOIN,讓它實(shí)現(xiàn)字符串連接運(yùn)算功能。13.編寫函數(shù)IND,讓它判斷一個(gè)字符串是否為另一個(gè)字符串的子串的功能,若是則返回第一次出現(xiàn)的起始位置,否則返回0。14.編寫一個(gè)函數(shù),由參數(shù)傳來一個(gè)字符串,分別求出此字符串中字母、數(shù)字和其它字符(不包括空格)的個(gè)數(shù),輸入和輸出均由主函數(shù)實(shí)現(xiàn)。15.已知某年不是閏年,給定該年某一天的月份和日期,求這一天是該年的第幾天。16.找規(guī)律,編程序打印6×6的矩陣:17.有人說在400,401,402,...499這些數(shù)中4這個(gè)數(shù)字共出現(xiàn)112次,請(qǐng)編程序判定這種說法是否正確。若正確請(qǐng)打印出'YES',否則打印出'NO'及4的出現(xiàn)次數(shù)。18.設(shè)有8×8的二維數(shù)組a,其中每個(gè)元素取值如下:當(dāng)i=j時(shí)a[i][j]=M(M是你的學(xué)號(hào))當(dāng)i>j時(shí)a[i][j]=i×j編程序求所有的數(shù)組元素之和。19.找3個(gè)數(shù)字,填在下面式子中,使等式成立。6325=6325×(等號(hào)左邊是五位)①若答案有多個(gè),則打印一組即可;②若無滿足條件的數(shù)字,則顯示'NODIGITALS'。20.某航空公司規(guī)定:在旅游旺季7─9月份,若訂票超過20張,優(yōu)惠票價(jià)的15%,20張以下,優(yōu)惠5在旅游淡季1─5月、10月、11月份訂票超過20張,優(yōu)惠3020張以下,優(yōu)惠20其余月份不優(yōu)惠。請(qǐng)編程序能根據(jù)月份和旅客訂票張數(shù)決定優(yōu)惠率。21.請(qǐng)編程序按如下格式打印一個(gè)直角三角形的九九乘法表:2530354045364248544956638122.有一批實(shí)數(shù),用零作終止標(biāo)記。請(qǐng)編程序找出這批數(shù)中的最大值及最小值,并輸出該最大值數(shù)是這批數(shù)中的第幾個(gè)數(shù)(若最大值數(shù)多次出現(xiàn),只打印出第一個(gè)的位置)。又問:若打印出每個(gè)最大值數(shù)的位置,程序應(yīng)如何修改?23.有10個(gè)兩位整數(shù),把這些數(shù)作以下變化,如果

溫馨提示

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

評(píng)論

0/150

提交評(píng)論