版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
一.簡(jiǎn)答題1.概述C語言的主要特點(diǎn)?!窘獯稹浚?)語言簡(jiǎn)潔、緊湊,使用方便、靈活。(2)數(shù)據(jù)類型豐富,表達(dá)能力強(qiáng)。(3)運(yùn)算符多樣。C語言中的運(yùn)算符包含的范圍非常廣泛。(4)允許直接訪問物理地址。C語言中含有的位和指針運(yùn)算,能夠直接對(duì)內(nèi)存地址進(jìn)行訪問操作。(5)所生成的目標(biāo)代碼質(zhì)量高,可移植性好。2.C語言程序的運(yùn)行一般要經(jīng)過哪幾個(gè)步驟?【解答】(1)編輯;(2)編譯;(3)連接,生成EXE文件;(4)執(zhí)行。3.C語言源程序文件的擴(kuò)展名是什么?經(jīng)過編譯后,生成文件的擴(kuò)展名是什么?經(jīng)過連接后,生成文件的擴(kuò)展名是什么?【解答】C語言源程序文件的擴(kuò)展名是“.c”;經(jīng)過編譯后,生成文件的擴(kuò)展名是“.obj”;經(jīng)過連接后,生成文件的擴(kuò)展名是“.exe”。4.C程序的語句是以什么作為語句的結(jié)束符?【解答】是以分號(hào)為結(jié)束符,即“;”。5.在一個(gè)C程序中,合法的用戶標(biāo)識(shí)符應(yīng)該由哪些符號(hào)組成?【解答】字母、下劃線和數(shù)字組成。二.運(yùn)行程序?qū)懡Y(jié)果1.輸入下面程序并運(yùn)行。main(){inta1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】運(yùn)行結(jié)果為:x=502.輸入下面程序并運(yùn)行。main(){inta1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】運(yùn)行結(jié)果為:a1=10,a2=20x=2003.輸入下面程序并運(yùn)行。#include<stdio.h>main(){printf("******\n");printf("*****\n");printf("****\n");printf("***\n");printf("**\n");printf("*\n");}【解答】運(yùn)行結(jié)果為:*********************思考:如何修改上面程序,使之輸出平行四邊形,等腰三角形等圖形。三.編程題1.參照本章例題,編寫一個(gè)C程序,用于顯示如下信息:*****************************IloveCprogramming!****************************【分析與提示】①要有文件包含語句#include<stdio.h>。C語言中沒有數(shù)據(jù)的輸入、輸出等功能,數(shù)據(jù)的輸入、輸出都是通過調(diào)用系統(tǒng)提供的庫函數(shù)scanf和printf等來實(shí)現(xiàn)的。這些函數(shù)的說明都包括在stdio.h文件中。②main是主函數(shù)的名稱。用{}括起來的內(nèi)容是函數(shù)體,函數(shù)體由若干條語句組成,這是計(jì)算機(jī)要執(zhí)行的部分,每條語句以分號(hào)“;”結(jié)束。③注意顯示的信息有三行,所以要用到換行符“\n”。參考代碼:#include<stdio.h>main(){printf("***************************\n");printf("IloveCprogramming!\n");printf("***************************\n");}2.編寫一個(gè)C程序,用于顯示如下信息:NumbernameEnglishcomputer201101liming7987201102mali8590201103liuwei6770【提示】用4個(gè)printf()函數(shù)來顯示下面4行信息。參考代碼:#include<stdio.h>voidmain(){printf("NumbernameEnglishcomputer\n");printf("201101liming7987\n");printf("201102mali8590\n");printf("201103liuwei6770\n");}3.參照本章例題編寫一個(gè)C程序。輸入任意3個(gè)整數(shù),求出3個(gè)數(shù)的和。【提示】參照【例1.2】求兩數(shù)之和,改為求3個(gè)數(shù)的和。參考代碼:#include<stdio.h>voidmain(){inta,b,c,s=0;scanf("%d%d%d",&a,&b,&c);s=a+b+c;printf("s=%d\n",s);}運(yùn)行:一.簡(jiǎn)答題1.C語言中的數(shù)據(jù)類型主要有哪幾類?【解答】短整型(shortint)整型整型(int)長(zhǎng)整型(longint)基本類型字符型(char)單精度(float)實(shí)型(浮點(diǎn)型)雙精度(double)枚舉類型(enum)數(shù)組類型構(gòu)造類型結(jié)構(gòu)體類型(struct)共用體類型(union)指針類型空類型(void)字符常量與字符串常量有什么區(qū)別?【解答】字符常量用單括號(hào)括起,字符串常量用雙括號(hào)括起;字符常量存儲(chǔ)時(shí)占1個(gè)字節(jié),字符串常量存儲(chǔ)時(shí)除了n個(gè)字符外,還有系統(tǒng)加上的字符串終止符\0占用1個(gè)字節(jié),所以字符串常量存儲(chǔ)時(shí)占n+1個(gè)字節(jié)。C語言中的常量包括哪幾類?各自是如何構(gòu)成的?【解答】C語言中的常量包含整型常量、浮點(diǎn)常量、字符常量、字符串常量和枚舉常量。整型常量又分為十、八、十六進(jìn)制整型常量。浮點(diǎn)常量分成十進(jìn)制和指數(shù)形式。字符常量是用單引號(hào)括起來的一個(gè)字符或是字符序列,而字符串常量是用一對(duì)雙引號(hào)括起來的零個(gè)或者多個(gè)字符組成的序列。簡(jiǎn)述指針、變量的指針、變量的值、指針變量與指針變量的值的含義是什么?【解答】C語言中將地址稱為“指針”。一個(gè)變量所分配的內(nèi)存空間首字節(jié)地址,稱為該變量的指針(地址),變量的值就被放入所分配的地址單元中。用來存放指針的變量,被稱為指針變量。一個(gè)指針變量的值是變量的地址,一個(gè)指針變量可以被賦予不同的指針值。下面哪些是不合法的常量?說明不合法的理由。123,3.1415926,0892,’M’,’\n’,0xabc,0.618E-6,”Morning”,3.8e-3.14【解答】非法常量有:0892——含有非八進(jìn)制數(shù)字8和93.8e-3.14——非法指數(shù)形式浮點(diǎn)常量:規(guī)定e后面的指數(shù)必須為整數(shù)。6.下面對(duì)變量定義的語句哪些不正確?為什么?請(qǐng)改正。(1)charc1,inta2;(2)inta,b;floatx,y;(3)a,b:char;(4)charif;(5)inta,b(6)Inta:b:c;【解答】(1)charc1,inta2;錯(cuò)誤。定義不同類型的變量時(shí),應(yīng)用分號(hào)彼此分開。改正為:charc1;inta2;(2)INTa,b;FLOATx,y;錯(cuò)誤。C語言中表示類型名的關(guān)鍵字必須小寫。改正為:inta,b;floatx,y;(3)a,b:char;錯(cuò)誤。C語言中變量定義格式為:類型名變量名。改正為:chara,b;(4)charif;錯(cuò)誤。變量名不能與C語言的關(guān)鍵字重名。改正為:charf1;(5)inta,b錯(cuò)誤。變量定義以語句形式出現(xiàn),應(yīng)以分號(hào)結(jié)尾。改正為:inta,b;(6)Inta:b:c;錯(cuò)誤。類型名不能有大寫字母,相同類型名之間用逗號(hào)分隔。改正為:inta,b,c;下述字符串常量的長(zhǎng)度是多少?在內(nèi)存中存儲(chǔ)時(shí)各自占用的單元數(shù)又是多少?(1)“Hello!”(2)“ABC\n\\TH\064\?”【解答】(1)“Hello!”字符串長(zhǎng)度為6,占用內(nèi)存字節(jié)數(shù)為7。(2)“ABC\n\\TH\064\?”字符串長(zhǎng)度為9,占用內(nèi)存字節(jié)數(shù)為10。因?yàn)槠渲衆(zhòng)n\\\064\?各自只占一個(gè)字符的位置。8.表達(dá)式10/3的結(jié)果是多少?表達(dá)式10%3的結(jié)果是是多少?請(qǐng)說明原因?!窘獯稹浚?)表達(dá)式10/3的結(jié)果是3,因?yàn)樵撨\(yùn)算符“/”有取整功能。(2)表達(dá)式10%3的結(jié)果是1,因?yàn)樵撨\(yùn)算符“%”的作用是取余。9.若有定義inta=2,b=6;則表達(dá)式(a++)*(--b)執(zhí)行后,a、b及表達(dá)式的值各是多少?【解答】a=3b=5表達(dá)式的值是1010.若有定義inta=1,b;,則執(zhí)行b=(a+=8,a/5)后,變量a和b的值分別為多少?【解答】a=9b=1二.運(yùn)行程序?qū)懡Y(jié)果1.以下程序的執(zhí)行結(jié)果是____。main(){inti,j;i=15;printf(“%d,%d”,i++,i--);}【解答】14,152.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){inta=12,n=5;a%=(n%=2);printf("a=%d\n",a);}【解答】a=03.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){chara=’G’,b=’o’,c=’o’,d=’d’;a=a+32;b=b-6;c=c+3;d=d+8;printf("%c%c%c%c\n",a,b,c,d);}【分析與提示】從ASCII代碼表可以看出,字符“G”、“o”、“o”、“d”的ASCII代碼值為71、111、101,因此,’G’+32、’o’-6、’o’+3、’d’+8的值分別是103、105、114、108,它們所對(duì)應(yīng)的字符分別是“g”、“i”、“r”、“l(fā)”。在C語言中,字符數(shù)據(jù)可以按其ASCII碼值參加整數(shù)運(yùn)算。由于英文字母在ASCII代碼表中是按順序排列的,所以在計(jì)算’o’+3代表的字母時(shí),可從字符’o’其順序向后取3個(gè)字母,該字母是“r”?!窘獯稹縢irl4.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){intx;x=-3+4*5-6;printf("x1=%d\n",x);x=3+4%5-6;printf("x2=%d\n",x);x=-3*4%-6;printf("x3=%d\n",x);}【分析與提示】x1=11(4*5是20,-3+20是17,17-6等于11)x2=1(4%5等于4,3+4等于7,7-6等于1)x3=0(-3*4等于-12,-12%-6等于0)【解答】x1=11x2=1x3=05.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){printf("%d\n",NULL);printf("%d,%c\n",49,49);printf("%d,%c,%o\n",48+10,48+10,48+10);}【分析與提示】0(NULL的ASCII碼值是0)49,1(數(shù)字1的ASCII碼值是49)58,:,72(48+10等于58,正好是“:”的ASCII碼值,八進(jìn)制表示是72)【解答】049,158,:,726.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){inti=12,j;i=(i++)+(i--)+(i--);printf("i=%d\n",i);i=12;j=(i++)+(i--)+(i--);printf("j=%d\n",j);}【解答】i=35J=367.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){intx=2;x+=x-=x*x;printf("x=%d\n",x);}【解答】x=-48.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){inta=2;a+=a-=a*=a;printf("a=%d\n",a);}【解答】a=09.在以下程序中用#define宏定義,#defineN1000,程序的運(yùn)行結(jié)果是。#include<stdio.h>#defineN1000main(){inta,b;a=N+5;b=N-3;printf("a=%d,b=%d\n",a,b);}【解答】a=1005,b=99710.以下程序的執(zhí)行結(jié)果是。main(){inta=20,b=10,c,*p1,*p2;p1=&a;p2=&b;c=(-*p1)/(*p2)+6;printf("a=%d,b=%d\n",a,b);printf("*p1=%d,*p2=%d\n",*p1,*p2);printf("c=%d\n",c);}【解答】a=20,b=10*p1=20,*p2=10c=4一.簡(jiǎn)答題1.結(jié)構(gòu)化編程有哪三種基本結(jié)構(gòu)?【解答】程序的三種基本結(jié)構(gòu)為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。2.C語言的語句有哪幾類?表達(dá)式語句與表達(dá)式有什么不同?【解答】C語句可分為五類:表達(dá)式語句、函數(shù)調(diào)用語句、控制語句、復(fù)合語句和空語句。其中表達(dá)式語句與表達(dá)式的區(qū)別在于表達(dá)式語句是表達(dá)式加上“;”組成。3.符號(hào)’&’是什么運(yùn)算符?&a的含義是什么?【解答】符號(hào)’&’是地址運(yùn)算符。&a的含義是變量a的內(nèi)存地址。4.解釋C語言中的空語句的含義?【解答】一個(gè)分號(hào),不執(zhí)行任何操作。5.如果scanf函數(shù)中的格式字符之間沒有任何字符,應(yīng)該如何輸入多個(gè)數(shù)據(jù)?【解答】以空格,Tab鍵或回車等空白符作為數(shù)據(jù)分隔符來輸入多個(gè)數(shù)據(jù)。6.若想輸出字符%,則應(yīng)該在“格式字符”的字符串中用什么表示?【解答】%%7.intx=7;執(zhí)行x+=x-=x+x;后x的值是多少?【解答】-148.inta,b;a+=b;b=a-b;a-=b;的功能是什么?【解答】 交換變量a,b的值9.若定義inta=8,b=5,c;,執(zhí)行語句c=a/b+0.4;后,c的值是多少?【解答】110.若變量已正確說明為float類型,要通過語句scanf(“%f%f%f”,&a,&b,&c);給a賦予10.0,b賦予22.0,c賦予33.0,正確的輸入形式是什么?【解答】10空格22空格33(回車)或者10Tab鍵22Tab鍵33(回車)或者10回車22回車33(回車)二.運(yùn)行程序?qū)懡Y(jié)果1.以下程序的執(zhí)行結(jié)果是。#include<math.h>main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}【解答】02.以下程序的執(zhí)行結(jié)果是。main(){doubled;floatf;longl;inti;i=f=l=d=20/3;printf("%d%ld%f%f\n",i,l,f,d);}【解答】666.0000006.0000003.以下程序的執(zhí)行結(jié)果是。main(){intk=17;printf("%d,%o,%x\n",k,k,k);}【解答】17,21,114.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){chara,b,c,d;a='A',b='B',c='C',d='D';printf("%1c\n",a);printf("%2c\n",b);printf("%3c\n",c);printf("%4c\n",d);}【分析與提示】可以用%c格式輸出的,也可以用%d格式輸出,所以與%md近似,m指出了要輸出數(shù)據(jù)的寬度。若數(shù)據(jù)位數(shù)小于m,則左端補(bǔ)空格,若數(shù)據(jù)位數(shù)大于m,則按實(shí)際位數(shù)輸出?!窘獯稹緼BCD5.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){charc1,c2;scanf("%c%c",&c1,&c2);printf("c1=%c,c2=%c,c3=%d,c4=%d",c1++,--c2,c1,c2);}【解答】運(yùn)行輸入:AB<回車>運(yùn)行結(jié)果為:c1=A,c2=A,c3=65,c4=666.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){charc1,c2;scanf("%c,%c",&c1,&c2);++c1;--c2;printf("c1=%c,c2=%c\n",c1,c2);}【分析與提示】例如當(dāng)輸入B,C<回車>,B,C的ASCII碼值為66,67,執(zhí)行++c1;--c2;后,c1為66+1變成67即C,c2為67-1變成66即B?!窘獯稹窟\(yùn)行輸入:B,C<回車>運(yùn)行結(jié)果為:c1=C,c2=B7.以下程序的執(zhí)行結(jié)果是。main(){charch='a';inta=98;unsignedb=1000;longc=123456789;floatx=3.14;doubley=1.2345678;printf("(1)a=%d,a=%c,ch=%d,ch=%c\n",a,a,ch,ch);printf("(2)b=%u\n",b);printf("(3)c=%ld\n",c);printf("(4)x=%f,y=%f\n",x,y);printf("(5)x=%e,y=%e\n",x,y);printf("(6)y=%-10.2f\n",y);}【解答】(1)a=98,a=b,ch=97,ch=a(2)b=1000(3)c=123456789(4)x=3.140000,y=1.234568(5)x=3.14000e+00,y=1.23457e+00(6)y=1.238.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){inta,b;floatx;scanf("%d,%d",&a,&b);x=a/b;printf("\nx=%f\n",x);}【解答】運(yùn)行輸入:2,2<回車>,運(yùn)行結(jié)果為:1.0000009.當(dāng)輸入12345,a時(shí),給出程序的運(yùn)行結(jié)果,執(zhí)行結(jié)果是。#include<stdio.h>main(){inta;charc;scanf("%3d,%c",&a,&c);printf("\n%d,%d\n",a,c);}【分析與提示】%md,m指出了要輸出數(shù)據(jù)的寬度。若數(shù)據(jù)位數(shù)小于m,則左端補(bǔ)空格,若數(shù)據(jù)位數(shù)大于m,則按實(shí)際位數(shù)輸出。a的ASCII碼值是97?!窘獯稹?2345,9710.一個(gè)程序中,使用了多個(gè)scanf函數(shù)輸入數(shù)據(jù),用a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’輸入到每個(gè)變量,應(yīng)該如何輸入數(shù)據(jù)?main(){inta,b;floatx,y;charc1,c2;scanf("a=%d,b=%d",&a,&b);scanf("└┘x=%f,y=%e",&x,&y);scanf("└┘c1=%cc2=%c",&c1,&c2);printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2);}【分析與提示】在使用多個(gè)scanf函數(shù)輸入數(shù)據(jù)時(shí),第一個(gè)輸入行末尾輸入的回車被第二個(gè)scanf函數(shù)吸收,因此在第二、三個(gè)scanf函數(shù)的雙引號(hào)后放置一個(gè)空格以抵消上行輸入的回車鍵。若沒有一個(gè)空格,則按上面輸入的數(shù)據(jù)會(huì)出錯(cuò)。【解答】運(yùn)行輸入:a=3,b=4<回車>X=8,y=71.82<回車>C1=AC2=a<回車>運(yùn)行結(jié)果:a=3,b=7,x=8.500000,y=71.820000,c1=A,c2=a三、編程題1.從鍵盤上輸入一個(gè)大寫字母,把它轉(zhuǎn)換成小寫字母,然后顯示出來。【分析與提示】大寫字母轉(zhuǎn)換小寫時(shí)ASCII碼值+32,相反的,小寫字母轉(zhuǎn)換成大寫字母時(shí)ASCII碼值-32。參考代碼:#include<stdio.h>main(){charx1,x2;printf("x1=?\n");scanf("%c",&x1);x2=x1+32;printf("%c,%c\n",x1,x2);}【解答】運(yùn)行輸入:A<回車>運(yùn)行結(jié)果:A,a2.從鍵盤上輸入兩個(gè)實(shí)型數(shù),求兩數(shù)的和、差、積,輸出結(jié)果時(shí)要求小數(shù)部分占兩位?!咎崾尽拷Y(jié)果要求保留2位小數(shù),所以輸出的結(jié)果格式為%.2f。main(){floatx,y,a,b,c;printf("pleaseinputx,y:");scanf("%f,%f",&x,&y);a=x+y;b=x-y;c=x*y;printf("x=%f,y=%f\n",x,y);printf("x+y=%.2f\nx-y=%.2f\nx*y=%.2f\n",a,b,c);}【解答】運(yùn)行輸入:pleaseinputx,y:10,20<回車>運(yùn)行結(jié)果:x=10.000000,y=20.000000x+y=30.00x-y=-10.00x*y=200.003.輸入兩個(gè)整數(shù)a=10、b=20,將它們的值交換后輸出?!窘獯稹繀⒖即a:#include"stdio.h"voidmain(){inta,b,t;scanf("%d%d",&a,&b);t=a;a=b;b=t;printf("%d,%d\n",a,b);}4.輸入長(zhǎng)方體的長(zhǎng)、寬、高,求長(zhǎng)方體的體積、表面積、對(duì)角線長(zhǎng)?!咎崾尽吭谇髷?shù)學(xué)公式時(shí)需要加上#include”math.h”。需要了解求長(zhǎng)方體的體積、表面積、對(duì)角線長(zhǎng)公式?!窘獯稹繀⒖即a:#include"stdio.h"#include"math.h"voidmain(){doublel,w,h,v,s,r;scanf("%lf%lf%lf",&l,&w,&h);v=l*w*h;s=2*l*w+2*l*h+2*w*h;r=sqrt(l*l+h*h+w*w);printf("v=%5.2lf,s=%5.2lf,r=%5.2lf\n",v,s,r);}5.輸入一個(gè)大寫字母,求其對(duì)應(yīng)的小寫字母及它的前驅(qū)和后繼。【提示】前驅(qū)就是前面的一個(gè)字母,后繼就是后面的一個(gè)字母,在取單個(gè)字符時(shí)我們通常會(huì)用到函數(shù)getchar()。【解答】參考代碼:#include"stdio.h"voidmain(){ charc; c=getchar(); getchar(); putchar(c+32); printf("\n"); putchar(c-1); printf("\n"); putchar(c+1); printf("\n");}6.輸入三個(gè)小寫字母,輸出其ASCII碼和對(duì)應(yīng)的大寫字母?!窘獯稹繀⒖即a:#include"stdio.h"voidmain(){ chara,b,c; scanf("%c,%c,%c",&a,&b,&c); printf("%c:%d,%c\n",a,a,a-32); printf("%c:%d,%c\n",b,b,b-32); printf("%c:%d,%c\n",c,c,c-32);}7.編寫將輸入的英里轉(zhuǎn)換為公里,每英里等于5380英尺,每英尺等于12英寸,每英寸等于2.54厘米,每公里等于100000厘米。main(){doublemile,k;printf(“entermile:”);scanf(“%lf”,&mile);k=mile*5380*12*2.54/100000;printf(“%lfmileis%lfkilometer\n”,mile,k);}【解答】運(yùn)行:entermile:2↙2.000000mileis3.279648kilometer一.簡(jiǎn)答題1.關(guān)系表達(dá)式和邏輯表達(dá)式的值“真”與“假”是怎樣在表達(dá)式中表示的?【解答】零表示假,非零表示真。2.選擇語句中的“條件分支”有幾種格式?請(qǐng)說明它們的作用及適用范圍?【解答】第一種形式:?jiǎn)畏种f語句格式:if(表達(dá)式)〈語句〉;功能:首先計(jì)算表達(dá)式的值。若表達(dá)式的值為“真”(為非0),則執(zhí)行語句;若表達(dá)式的值為“假”(為0),則直接轉(zhuǎn)到此if語句的下一條語句去執(zhí)行。第二種形式:雙分支if語句格式:if(表達(dá)式)〈語句1〉;else〈語句2〉;功能:首先判斷表達(dá)式的值,若表達(dá)式的值為“真”(非0),則執(zhí)行語句1;否則,執(zhí)行語句2。第三種形式:多分支if語句格式:if(表達(dá)式1)〈語句1〉;elseif(表達(dá)式2)〈語句2〉;…elseif(表達(dá)式n)〈語句n〉;else〈語句n+1〉;功能:從表達(dá)式1的值開始進(jìn)行判斷,當(dāng)出現(xiàn)某個(gè)表達(dá)式的值為真時(shí),則執(zhí)行其對(duì)應(yīng)分支的語句,然后跳出整個(gè)if語句,執(zhí)行后續(xù)語句。若所有表達(dá)式的值都為“假”(為0),則執(zhí)行語句n+1。3.條件語句中的if與else的配對(duì)關(guān)系是如何來確定的?【解答】配對(duì)原則是;從后往前查找,else總是與離它最近的、尚未與其它else配對(duì)的if語句配對(duì)。4.簡(jiǎn)述switch()多分支語句的執(zhí)行過程?【解答】執(zhí)行過程:首先計(jì)算switch后面圓括號(hào)內(nèi)表達(dá)式的值,若此值等于某個(gè)case后面的常量表達(dá)式的值,則轉(zhuǎn)向該case后面的語句去執(zhí)行;若表達(dá)式的值不等于任何case后面的常量表達(dá)式的值,則轉(zhuǎn)向default后面的語句去執(zhí)行;如果沒有default部分,則將不執(zhí)行switch語句中的任何語句,直接轉(zhuǎn)到switch語句后面的語句去執(zhí)行。5.已知a=3,b=4,c=5,則邏輯表達(dá)式a+b>c&&b==的值為多少?!(a>b)&&c||1的值為多少?!(a+b)+c-1&&b+c/2的值為多少?【解答】0,1,1二、運(yùn)行程序?qū)懡Y(jié)果1.下列程序運(yùn)行的運(yùn)行結(jié)果為。#include<stdio.h>main(){inta=3,b=8,c=9,d=2,e=4;intmin;min=(a<b)?a:b;min=(min<c)?min:c;min=(min<d)?min:d;min=(min<e)?min:e;printf("Minis%d\n",min);}【分析與提示】本題程序的功能為:找出a,b,c,d,e中最小的值并輸出?!窘獯稹縈inis22.若輸入3,4<回車>,下列程序運(yùn)行的運(yùn)行結(jié)果為;若輸入4,3<回車>,下列程序運(yùn)行的運(yùn)行結(jié)果為。#include<stdio.h>main(){inta,b,c;printf("Inputa,b:");scanf("%d,%d",&a,&b);if(a>=b){c=a*b;printf("%d*%d=%d\n",a,b,c);}else{c=a/b;printf("%d/%d=%d\n",a,b,c);}}【分析與提示】本題程序的功能為:從鍵盤輸入變量a,b,計(jì)算c的值(若a>=b,則c=a*b,若a<b則c=a/b),并輸出a,b,c的值。【解答】3/4=0;4*3=123.下列程序運(yùn)行的運(yùn)行結(jié)果為。#include<stdio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}【分析與提示】本題中case1:后面是一個(gè)switch語句,執(zhí)行完該語句后,結(jié)束switch(y)語句,直接執(zhí)行case2:后面的語句?!窘獯稹縜=2,b=14.當(dāng)輸入-1,-2<回車>時(shí),下列程序的運(yùn)行結(jié)果是。#include<stdio.h>main(){inta,b,s,t;scanf("%d,%d",&a,&b);s=1;t=1;if(a>0)s=s+1;if(a<b)t=2*s;elseif(a==b)t=5;elset=s+t;printf("s=%d,t=%d\n",s,t);}【解答】s=1,t=25.當(dāng)輸入23456<回車>時(shí),下列程序的運(yùn)行結(jié)果是。#include<stdio.h>main(){ints;while((s=getchar())!=’\n’){switch(s-’2’){case0:case1:putchar(s+4);case2:putchar(s+4);break;case3:putchar(s+3);default:putchar(s+2);break;}}printf("\n");}【解答】66778878三.編程題寫一程序,從鍵盤上輸入年份year(用4位十進(jìn)制數(shù),如2016),判斷是否閏年。【解答】參考代碼:#include"stdio.h"voidmain(){ intyear; scanf("%d",&year); if(((year%4==0)&&(year%100!=0))||year%400==0) printf("%d是閏年\n",year); else printf("%d不是閏年\n",year);}2.鍵盤輸入2個(gè)加數(shù),再輸入答案,如果正確,顯示“right”,否則顯示“error”?!窘獯稹繀⒖即a:#include"stdio.h"voidmain(){ inta,b,c; scanf("%d%d%d",&a,&b,&c); if(a+b==c) printf("right\n"); else printf("error\n");}3.由鍵盤輸入三個(gè)整數(shù)a、b、c,用條件運(yùn)算符求出其中最大值和最小值。【分析與提示】首先比較輸入的a,b的大小,并把大數(shù)裝入max,小數(shù)裝入min中,然后再與c比較,若max小于c,則把c賦予max;如果c小于min,則把c賦予min。因此max內(nèi)總是最大數(shù),而min內(nèi)總是最小數(shù)。最后輸出max和min的值即可。參考代碼:main(){ inta,b,c,max,min;scanf("%d,%d,%d",&a,&b,&c);max=a>b?a:b;max=max>c?max:c;min=a<b?a:b;min=min<c?min:c;printf("最大值為:%d,最小值為:%d\n",max,min);}4.輸入三個(gè)數(shù),按由小到大的順序輸出,即三個(gè)數(shù)進(jìn)行排序。【解答】參考代碼:#include"stdio.h"voidmain(){ inta,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b) { t=a; a=b; b=t; } if(a>c) { t=a; a=c; c=t; } if(b>c) { t=b; b=c; c=t; } printf("%d,%d,%d\n",a,b,c);}5.有一函數(shù):x(x<1)y=2x-1(1≤x<10)3x-11(x≥10)編一程序,輸入一個(gè)x值,輸出y值。【分析與提示】本題考查if語句的嵌套,應(yīng)當(dāng)注意if與else的配對(duì)關(guān)系。從最內(nèi)層開始,else總是與它上面最近的(未曾配對(duì)的)if配對(duì)。參考代碼:main(){floatx,y;printf("請(qǐng)輸入x的值\n");scanf("%f",&x);if(x<1)y=x;elseif(x>=10)y=3*x-11;elsey=2*x-1;printf("x=%6.2f,y=%6.2f",x,y);}6.從鍵盤上輸入星期號(hào),并顯示該日期的英文星期名稱?!痉治雠c提示】本實(shí)例知識(shí)點(diǎn):switch語句。switch語句的控制流程是:首先計(jì)算表達(dá)式的值,然后依次與每一個(gè)case中的常量值進(jìn)行比較,一旦發(fā)現(xiàn)了某個(gè)能夠匹配的值,就執(zhí)行該case后面的語句組,直到遇到break語句為止。如果表達(dá)式的值與所有case中的常量都不匹配,則執(zhí)行default后面的語句組。參考代碼:main(){intxqh;charywm;printf("請(qǐng)輸入星期號(hào)(1~7):\n");scanf("%d",&xqh);switch(xqh){case1:printf("Monday");break;case2:printf("Tuesday");break;case3:printf("Wednesday");break;case4:printf("Thursday");break;case5:printf("Friday");break;case6:printf("Saturday");break;case7:printf("Sunday");break;default:printf("error");}}7.計(jì)算銀行存款利息。銀行整存整取按存款期限利息不同,分別為:1年0.315%,2年0.330%,3年0.345%,5年0.375%,8年0.420%,要求輸入本金和期限,求出到期后,從銀行得到的利息與本金的合計(jì)?!窘獯稹繀⒖即a:#include"stdio.h"voidmain(){ intyear; doublemoney,total; scanf("%lf%d",&money,&year); switch(year) { case1: total=money*(1+0.00315);break; case2: total=money*(1+0.00330*2);break; case3: total=money*(1+0.00345*3);break; case5: total=money*(1+0.00375*5);break; case8: total=money*(1+0.00420*8);break; } printf("%8.2lf的本金經(jīng)過%d年后,可得總額為%8.2lf\n",money,year,total);}8.從鍵盤輸入一個(gè)月份(1~12),并顯示該月份的英文名稱。【解答】參考代碼:#include"stdio.h"voidmain(){ intmonth; scanf("%d",&month); switch(month) { case1: printf("January\n");break; case2: printf("February\n");break; case3: printf("March\n");break; case4: printf("April\n");break; case5: printf("May\n");break; case6: printf("June\n");break; case7: printf("July\n");break; case8: printf("August\n");break; case9: printf("September\n");break; case10: printf("October\n");break; case11: printf("November\n");break; case12: printf("December\n");break; default: printf("error");break; }}9.編一程序根據(jù)每個(gè)月上網(wǎng)時(shí)間計(jì)算上網(wǎng)費(fèi)用。要求輸入每月上網(wǎng)小時(shí)數(shù),計(jì)算顯示該月總的上網(wǎng)費(fèi)用。計(jì)算方法如下:25元hour≤10小時(shí)費(fèi)用=每小時(shí)2元10<hour>50每小時(shí)1.5元hour≥50小時(shí)【解答】參考代碼:#include"stdio.h"voidmain(){ doublehour,pay; scanf("%lf",&hour); if(hour<=10) pay=25; elseif(hour<50) pay=hour*2; else pay=hour*1.5; printf("%5.2lf\n",pay);}10.某物品原有價(jià)值為p,由于使用,使其價(jià)值降低,價(jià)值的折扣率根據(jù)時(shí)間t(月數(shù))確定如下:t<3,無折扣3≤t<6,2%折扣6≤t<12,5%折扣12≤t<21,8%折扣t≥21,10%折扣【提示】本例考查switch語句的用法,說明如何將區(qū)間表示的數(shù)據(jù)轉(zhuǎn)換成若干個(gè)整數(shù)表示。此外,也說明了在進(jìn)行除法運(yùn)算時(shí)應(yīng)注意參加運(yùn)算的數(shù)據(jù)類型的問題?!窘獯稹繀⒖即a:#include"stdio.h"voidmain(){ doublep,pl; intt; scanf("%lf%d",&p,&t); switch(t) { case1: case2: pl=p;break; case3: case4: case5: pl=p*(1-0.02);break; case6: case7: case8: case9: case10: case11: pl=p*(1-0.05);break; case12: case13: case14: case15: case16: case17: case18: case19: case20: pl=p*(1-0.08);break; default: pl=p*(1-0.1);break; } printf("價(jià)值為%lf的物品被使用%d個(gè)月后的價(jià)值為:%5.2lf\n",p,t,pl);}一、簡(jiǎn)答題1.簡(jiǎn)述while循環(huán)與do-while循環(huán)語句的共同點(diǎn)與區(qū)別?【解答】共同點(diǎn):都是循環(huán)語句,當(dāng)首次進(jìn)行循環(huán)條件判斷為真時(shí),二者作用相同。不同點(diǎn):while是先判斷后執(zhí)行,可能一次也不執(zhí)行;do-while是先執(zhí)行后判斷,至少執(zhí)行一次。2.for循環(huán)格式中的表達(dá)式1、表達(dá)式2、表達(dá)式3的作用?若表達(dá)式1省略,應(yīng)該怎樣處理好初值表達(dá)式1?表達(dá)式2可以省略嗎?【解答】表達(dá)式1:設(shè)置初值;表達(dá)式2:循環(huán)條件判斷;表達(dá)式3:循環(huán)條件增值。若表達(dá)式1省略,應(yīng)將其放在for循環(huán)之前執(zhí)行。表達(dá)式2不可以省略,否則為死循環(huán),程序無法結(jié)束。3.簡(jiǎn)述break語句與continue語句的區(qū)別?【解答】break功能:中斷語句執(zhí)行。無條件退出當(dāng)前所執(zhí)行的循環(huán)語句。說明:(1)在多重循環(huán)的情況下,使用break語句時(shí),僅退出包含break語句的那層循環(huán)體。(2)break語句僅能用于開關(guān)語句switch,循環(huán)語句while、do-while和for。continue功能:跳過continue語句下面尚未執(zhí)行的語句,提前結(jié)束本次循環(huán),進(jìn)行下一次循環(huán)。說明:continue語句只是提前結(jié)束本次循環(huán),即跳過循環(huán)語句中尚未執(zhí)行的語句,繼續(xù)進(jìn)行下一次循環(huán)條件的判定。4、在多重循環(huán)語句中,在內(nèi)循環(huán)體內(nèi)用break語句可以跳出所有的循環(huán)體外嗎?【解答】不可以,僅退出包含break語句的那層循環(huán)體。二.運(yùn)行程序?qū)懡Y(jié)果1.下列程序運(yùn)行的運(yùn)行結(jié)果為。#include<stdio.h>main(){inty=10;do{y--;}while(--y);printf("%d",y--);}【分析與提示】注意--y與y--的運(yùn)算順序?!窘獯稹?2.下列程序運(yùn)行的運(yùn)行結(jié)果為。main(){intx=3,y=6,z=2;while(x++!=(y-=1)){ z+=1;if(y<x)break;printf(“%d,%d,%d\n”,x,y,z);}}【解答】4,5,33.下列程序運(yùn)行的運(yùn)行結(jié)果為。main(){inta=1,b=0;for(
;a<3
;a++)switch(a++){case1:b--;case2:b++;case3:b+=3;break;}printf(“%d\n”,b);}【解答】34.下列程序運(yùn)行的運(yùn)行結(jié)果為。main(){intx=10,y=10,i;for(i=0;i<2
;y=i++)printf(“%4d%4d”,x--,y);}【解答】1010905.下列程序運(yùn)行的運(yùn)行結(jié)果是。#nclude<stdio.h>main(){intk=0,n=2;while(k++&&n++>2);printf("%d%d",k,n);}【解答】1空格26.下列程序運(yùn)行的運(yùn)行結(jié)果是。#nclude<stdio.h>main(){inta=1,b=0;switch(a){case1:switch(b){case0:printf("**0**\n");break;case1:printf("**1**\n");break;}case2:printf("**2**\n");break;}}【解答】**0****2**三.編程題1.求1!+2!+3!+…+10!的值?!痉治雠c提示】本題為數(shù)學(xué)項(xiàng)求和問題,數(shù)學(xué)項(xiàng)間的關(guān)系為:第n項(xiàng)的值為第n-1項(xiàng)的n倍。參考代碼:main(){longintt=0,tn=1;inti;for(i=1;i<=10;i++){tn=i*tn;t=t+tn;}printf("t=%ld",t);}2.求s=2/1+3/2+4/3+5/4+…+22/21的值?!痉治雠c提示】請(qǐng)抓住分子與分母的變化規(guī)律。參考代碼:main(){intm;floats=0,n=2.0;for(m=1;m<=21;m++){s=s+n/m;n=n+1;}printf("s=%.2f\n",s);}3.求100以內(nèi)能被8整除的數(shù),并求它們的和。【提示】判斷一個(gè)數(shù)m能否被n整除的方法是:將m對(duì)n取余數(shù),若余數(shù)為0,則為整除。參考代碼:main(){intn,s=0;for(n=1;n<=100;n++)if(n%8==0){s=s+n;printf("%4d",n);}printf("\ns=%d\n",s);}4.打印出所有的“水仙花數(shù)”。所謂“水仙花數(shù)”是指一個(gè)三位數(shù),其中各位數(shù)字的立方和等于該數(shù)本身。例如153=13+53+33。【分析與提示】利用for循環(huán)控制100~999個(gè)數(shù),每個(gè)數(shù)分解出個(gè)位,十位,百位。參考代碼:main(){inti,j,k,n;printf("narcissusnumber:");for(n=100;n<1000;n++){i=n/100;j=n/10-i*10;k=n%10;if(n==i*i*i+j*j*j+k*k*k)printf("%5d",n);}printf("\n");}5.用for循環(huán)打印輸出以下圖案。********************************(圖形a)(圖形b)輸出圖形a程序代碼:#include"stdio.h"main(){inti,j,k;for(i=0;i<4;i++)/*控制打印行數(shù)*/{for(j=0;j<10+i;j++)/*控制空格輸出位置*/printf("");for(k=0;k<4;k++)/*控制每行*的輸出個(gè)數(shù)*/printf("*");printf("\n");}}輸出圖形b序代碼:#include“stdio.h”main(){inti,j,k;for(i=0;i<4;i++)/*控制打印行數(shù)*/{for(j=0;j<3-i;j++)/*控制空格輸出位置*/printf(“”);for(k=0;k<2*i+1;k++)/*控制每行*的輸出個(gè)數(shù)*/printf(“*”);printf(“\n”);}}6.Fibonacci數(shù)列問題,求出數(shù)列的前40個(gè)數(shù)(1,1,2,3,5,8,…)。【解答】參考代碼:#include"stdio.h"voidmain(){ inta=1,b=1,i,t; printf("%d\n%d\n",a,b); for(i=3;i<=40;i++) { t=a+b; a=b; b=t; printf("%d\n",b); }}7.用指針把一個(gè)字符串反序打印出來。【解答】參考代碼:#include"stdio.h"#defineN10voidmain(){ chara[N],*p; inti; printf("輸入%d個(gè)字符:",N); for(i=0;i<N;i++) scanf("%c",&a[i]); p=&a[N-1]; for(i=N-1;i>=0;i--) { printf("%c",*p); p--; } printf("\n");}8.輸入一行字符,分別統(tǒng)計(jì)其中的英文字母、空格、數(shù)字和其他字符的個(gè)數(shù)?!痉治雠c提示】利用while語句,條件為輸入的字符不為'\n'.參考代碼:#include"stdio.h"main(){charc;intletters=0,space=0,digit=0,other=0;printf("請(qǐng)輸入一行字符:\n");while((c=getchar())!=’\n’){if(c>=’a’&&c<=’z’||c>=’A’&&c<=’Z’)letters++;elseif(c==’’)space++;elseif(c>=’0’&&c<=’9’)digit++;elseother++;}printf("字母數(shù)=%d空格數(shù)=
%d數(shù)字?jǐn)?shù)=%d其它字符數(shù)=%d\n",letters,space,digit,other);}一.簡(jiǎn)答題1.什么是數(shù)組,為什么要在C語言中引用數(shù)組?【解答】數(shù)組是有序的、且具有相同性質(zhì)類型的數(shù)據(jù)集合。引用數(shù)組來實(shí)現(xiàn)成批地處理數(shù)據(jù)。2.在C語言中如何表示一個(gè)字符串?【解答】運(yùn)用字符型數(shù)組來表示字符串。3.C語言中,指針的含義是什么?【解答】指針的含義就是變量的地址。4.若有inta[3][2]={{1,2},{3},{4,5}};則a[1][1]的值是多少?【解答】05.判斷兩個(gè)字符串str1和str2是否相等,應(yīng)當(dāng)怎樣操作?【解答】首先加上頭文件“string.h”,然后利用strcmp(字符串1,字符串2)函數(shù)比較字符串1和字符串2的大小。說明:按照ASCII碼值大小將兩個(gè)字符串自左至右逐個(gè)字符比較,直到出現(xiàn)不同的字符或遇到‘\0’為止。如果全部字符相同,則認(rèn)為相等;如果出現(xiàn)不相同的字符,則以第一個(gè)不相同字符的比較結(jié)果為準(zhǔn)返回函數(shù)值。字符串1==字符串2,函數(shù)值=0;字符串1>字符串2,函數(shù)值>0;③字符串1<字符串2,函數(shù)值<0。注意:對(duì)兩個(gè)字符串比較是否相等,不能用以下形式:if(str1==str2)printf(“yes”);而只能用:if(strcmp(str1,str2)==0)printf(“yes”);6.有以下定義:inta[4]={0,1,2,3},*p;若p=&a[1];則*p++的值是多少?若p=&a[2];則*--p的值是多少?【解答】11二.運(yùn)行程序?qū)懡Y(jié)果1.以下程序的執(zhí)行結(jié)果是。main(){intk,a[6]={1,2,3,4,5,6};for(k=5;k>0;--k)if(a[k]%2==0)printf("%d",a[k]);}【分析與提示】從后向前把能被2整除的數(shù)組元素輸出?!窘獯稹?422.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>main(){charstr[]="SSSWLIA",c;intk;for(k=2;(c=str[k])!='\0';k++){switch(c){case'I':++k;break;case'L':continue;default:putchar(c);continue;}putchar('*');}}【分析與提示】從字符串中第3個(gè)字符開始,把符合要求的字符運(yùn)用輸出字符函數(shù)putchar()輸出;最后在其后輸出一個(gè)"*"?!窘獯稹縎W*3.以下程序的執(zhí)行結(jié)果是。main(){charss[10]="12345";strcat(ss,"6789");gets(ss);printf("%s",ss);}假設(shè)輸入"ABC"【分析與提示】運(yùn)用字符串連接函數(shù)strcat(),把兩個(gè)串"12345"和"6789"連接,對(duì)其重新賦值后,原有數(shù)值被刷新輸出新值。【解答】"ABC"4.以下程序的執(zhí)行結(jié)果是。#include<string.h>main(){chara[]="Monday",b[]="day";strcpy(a,b);printf("%s\t%s\n",a,b);printf("%c\t%c\n",a[4],a[5]);}【分析與提示】把b字符串的內(nèi)容拷貝到a字符串中,分別顯示a和b串內(nèi)容;再顯示數(shù)組元素a[4]和a[5]的內(nèi)容。【解答】daydayay5.以下程序的執(zhí)行結(jié)果是。main(){intx[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d",s[2]);}【分析與提示】運(yùn)用指針顯示數(shù)組元素值。需要注意的是把數(shù)組x第3個(gè)元素的地址,賦給了指針變量s,所以s[2]里面存儲(chǔ)的是x[5],即0?!窘獯稹?6.以下程序的執(zhí)行結(jié)果是。main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=p;p=q;q=r;printf("%d,%d,%d,%d",*p,*q,a,b);}【分析與提示】指針變量存儲(chǔ)地址,而不是數(shù)值。【解答】8,7,7,87.以下程序的執(zhí)行結(jié)果是。main(){chara[]="language",b[]="programe";char*p,*q;p=a;q=b;while(*p&&*q){if((*p)==(*q))printf("%c",*p);p++;q++;}}【分析與提示】程序功能是,輸出兩個(gè)字符串中相同的字符?!窘獯稹縢ae8.以下程序的執(zhí)行結(jié)果是。#include<stdio.h>#include<string.h>main(){chara[80]="AB",b[80]="LMNP";inti=0;strcat(a,b);while(a[i++]!='\0')b[i]=a[i];puts(b);}【分析與提示】把b串內(nèi)容連接到a串上,再通過循環(huán)對(duì)b串重新賦值。【解答】LBLMNP三.編程題1.用一維數(shù)組求10個(gè)數(shù)中的最大值。【分析與提示】運(yùn)用一維數(shù)組保存10個(gè)數(shù),依次比較保存最大值。參考代碼:main(){inti,a;intn[10]={8,2,4,6,7,1,0,85,32,54};a=n[0];for(i=1;i<10;i++)if(n[i]>a)a=n[i];printf("a=%d\n",a);}2.用數(shù)組輸入5個(gè)學(xué)生成績(jī),求出這些成績(jī)的平均值,并輸出所有高出平均值的分?jǐn)?shù)?!窘獯稹繀⒖即a:#include"stdio.h"voidmain(){ inti; floata[5],sum=0,ave; printf("輸入5個(gè)學(xué)生的成績(jī):"); for(i=0;i<5;i++) { scanf("%f",&a[i]); sum=sum+a[i]; } ave=sum/5; printf("5個(gè)學(xué)生的平均成績(jī)是%5.2f。\n",ave); printf("高出平均值的成績(jī)有:\n"); for(i=0;i<5;i++) if(a[i]>ave) printf("%5.2f\n",a[i]);}3.輸入10個(gè)整數(shù)用一維數(shù)組保存,統(tǒng)計(jì)其中正數(shù)、負(fù)數(shù)和零的個(gè)數(shù),并在屏幕上輸出?!窘獯稹繀⒖即a:#include"stdio.h"voidmain(){ inta[10],i,n1=0,n2=0,n3=0; printf("請(qǐng)輸入10個(gè)整數(shù):\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) { if(a[i]>0) n1++; elseif(a[i]==0) n2++; else n3++; } printf("正數(shù):%d個(gè)\n零:%d個(gè)\n負(fù)數(shù):%d個(gè)\n",n1,n2,n3);}4.鍵盤任意輸入10個(gè)整數(shù),求偶數(shù)的個(gè)數(shù)?!窘獯稹繀⒖即a:#include"stdio.h"voidmain(){ inta[10],i,n=0; printf("請(qǐng)輸入10個(gè)整數(shù):\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=0;i<10;i++) { if(a[i]%2==0) n++; } printf("偶數(shù):%d個(gè)\n",n);}5.有任意10個(gè)數(shù)(如:12,46,68,80,10,12,4,16,100,0),請(qǐng)輸入一個(gè)數(shù),判斷該數(shù)是否在該數(shù)組中?!痉治觥吭搯栴}是一個(gè)線性查找問題。輸入一個(gè)數(shù),然后從數(shù)組的第一個(gè)元素開始,依次與數(shù)組中元素比較,直到找遍整個(gè)數(shù)組為止,最后顯示找到與否。參考代碼:main(){inttable[10]={12,46,68,80,10,12,4,16,100,0};intfind=0,i,x;printf("請(qǐng)輸入要找的數(shù):");scanf("%d",&x);for(i=0;i<10;i++)if(x==table[i]){find=1;break;}if(find==1)printf("%d在table數(shù)組中\(zhòng)n",x);elseprintf("沒有找到數(shù)%d\n",x);}6.輸入10個(gè)數(shù),用一維數(shù)組按逆序重新存放并輸出。例原數(shù):1,2,3,4,5>5,4,3,2,1【解答】參考代碼:#include"stdio.h"voidmain(){ inta[10],i,n=0; printf("請(qǐng)輸入10個(gè)整數(shù):\n"); for(i=0;i<10;i++) scanf("%d",&a[i]); for(i=9;i>=0;i--) printf("%d",a[i]); printf("\n");}7.將兩個(gè)二維數(shù)組對(duì)應(yīng)元素加起來,存到另一個(gè)二維數(shù)組中。10203040102030405060a=142536b=【分析與提示】運(yùn)用雙重循環(huán),把行列下標(biāo)均相同的元素值相加。參考代碼:main(){inta[3][2]={10,20,30,40,50,60};intb[3][2]={1,4,2,5,3,6};intc[3][2];int
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 私人俱樂部高爾夫球場(chǎng)改造協(xié)議
- 人工智能安全使用手冊(cè)
- 工程力學(xué)A卷及(附答案)
- 結(jié)婚時(shí)新郎父親的講話稿5篇
- 2024年度婚姻法律咨詢服務(wù)協(xié)議
- 橋梁建設(shè)貨車租賃合同協(xié)議書范本
- 信息技術(shù)招投標(biāo)投訴處理技巧
- 文化遺產(chǎn)保護(hù)國有土地租賃協(xié)議
- 臨時(shí)城市規(guī)劃師聘用合同模板
- 挖掘土方責(zé)任協(xié)議
- 2023年天津公務(wù)員已出天津公務(wù)員考試真題
- 2025年高考數(shù)學(xué)專項(xiàng)題型點(diǎn)撥訓(xùn)練之初等數(shù)論
- 書法知識(shí)基礎(chǔ)理論單選題100道及答案解析
- 教科版三年級(jí)科學(xué)上冊(cè)《第1單元第1課時(shí) 水到哪里去了》教學(xué)課件
- 通信技術(shù)工程師招聘筆試題與參考答案(某世界500強(qiáng)集團(tuán))2024年
- 國際貿(mào)易術(shù)語2020
- 國網(wǎng)新安規(guī)培訓(xùn)考試題及答案
- 2024至2030年中國節(jié)流孔板組數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 黑龍江省哈爾濱市師大附中2024-2025學(xué)年高一上學(xué)期10月階段性考試英語試題含答案
- 第六單元測(cè)試卷-2024-2025學(xué)年統(tǒng)編版語文三年級(jí)上冊(cè)
- (新版)社會(huì)工作者考試題庫及答案
評(píng)論
0/150
提交評(píng)論