版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
《C語言程序設(shè)計(jì)》練習(xí)冊(cè)專業(yè):____________班級(jí):____________學(xué)號(hào):____________學(xué)生姓名:_________任課教師:_________計(jì)算機(jī)學(xué)院基礎(chǔ)教研室編制1C語言概述一、單項(xiàng)選擇題1、一個(gè)C程序的執(zhí)行是從(A)。A.本程序的main函數(shù)開始,到main函數(shù)結(jié)束B.本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C.本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D.本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束2、在C語言中,每個(gè)語句必須以(D)結(jié)束。A.回車符B.冒號(hào)C.逗號(hào)D.分號(hào)*3、C語言規(guī)定:在一個(gè)源程序中,main函數(shù)的位置(A)。CA.必須在最開始B.必須在系統(tǒng)調(diào)用的庫函數(shù)的后面C.可以任意D.必須在最后4、一個(gè)C語言程序是由(D)。*BA.一個(gè)主程序和若干子程序組成B.函數(shù)組成C.若干過程組成D.若干子程序組成5、下列說法中錯(cuò)誤的是(D)。A.主函數(shù)可以分為兩個(gè)部分:主函數(shù)說明部分和主函數(shù)體B.主函數(shù)可以調(diào)用任何非主函數(shù)的其他函數(shù)C.任何非主函數(shù)可以調(diào)用其他任何非主函數(shù)D.程序可以從任何非主函數(shù)開始執(zhí)行6、用C語言編寫的源文件經(jīng)過編譯,若沒有產(chǎn)生編譯錯(cuò)誤,則系統(tǒng)將(B)。.C.OBJ.EXEA.生成可執(zhí)行目標(biāo)文件B.生成目標(biāo)文件C.輸出運(yùn)行結(jié)果D.自動(dòng)保存源文件二、填空題1、C語言只有37個(gè)關(guān)鍵字和9種控制語句。2、每個(gè)源程序有且只有一個(gè)主函數(shù),系統(tǒng)總是從該函數(shù)開始執(zhí)行C語言程序。3、C語言程序的注釋可以出現(xiàn)在程序中的任何地方,它總是以/*符號(hào)作為開始標(biāo)記,以*/符號(hào)作為結(jié)束標(biāo)記。4、C語言中,輸入操作是由庫函數(shù)scanf完成的,輸出操作是由庫函數(shù)printf完成的。5、系統(tǒng)默認(rèn)的C語言源程序文件的擴(kuò)展名是.c,經(jīng)過編譯后生成的目標(biāo)文件的擴(kuò)展名是.obj,經(jīng)過連接后生成的可執(zhí)行文件的擴(kuò)展名是.exe。6、C語言的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種字符組成。三、判斷題(F)1、C源程序是由多個(gè)函數(shù)組成的,程序的執(zhí)行是按書寫順序進(jìn)行的。(T)2、一個(gè)C程序可以由一個(gè)文件組成,也可由若干文件組成。(F)3、變量xx和XX是一樣的。Intfloat(F)4、C程序中無論是整數(shù)int還是實(shí)數(shù),只要在允許的范圍內(nèi)都能準(zhǔn)確無誤的表示。T(F)5、簡(jiǎn)單的C程序由函數(shù)組成。(F)6、C程序的每一行結(jié)束都有一個(gè)";"。3數(shù)據(jù)類型、運(yùn)算符與表達(dá)式一、單項(xiàng)選擇題邏輯運(yùn)算符!>算數(shù)>關(guān)系運(yùn)算>==>邏輯&&.||>賦值運(yùn)算1、以下選項(xiàng)中,不正確的C語言浮點(diǎn)型常量是(A)。A.160.B.0.12C.2e4.2D.0.02、以下選項(xiàng)中,(D)是不正確的C語言字符型常量。A.'a'B.'\x41'C.'\101'D."a"3、 在C語言中,字符型數(shù)據(jù)在計(jì)算機(jī)內(nèi)存中,以字符的(C)形式存儲(chǔ)。A.原碼B.反碼C.ASCII碼D.BCD碼4、若x、i、j和k都是int型變量,則計(jì)算下面表達(dá)式后,x的值是(C)。x=(i=4,j=16,k=32)A.4B.16C.32D.525、算術(shù)運(yùn)算符、賦值運(yùn)算符和關(guān)系運(yùn)算符的運(yùn)算優(yōu)先級(jí)按從高到低依次為(B)。A.算術(shù)運(yùn)算、賦值運(yùn)算、關(guān)系運(yùn)算B.算術(shù)運(yùn)算、關(guān)系運(yùn)算、賦值運(yùn)算C.關(guān)系運(yùn)算、賦值運(yùn)算、算術(shù)運(yùn)算D.關(guān)系運(yùn)算、算術(shù)運(yùn)算、賦值運(yùn)算6、若有代數(shù)式,則不正確的C語言表達(dá)式是(C)。A.a/b/c*e*3 B.3*a*e/b/c C.3*a*e/b*cD.a*e/c/b*37、表達(dá)式!x||a==b等效于(D)。A.!((x||a)==b)B.!(x||y)==bC.!(x||(a==b))D.(!x)||(a==b)8、設(shè)整型變量m,n,a,b,c,d均為1,執(zhí)行(m=a>b)&&(n=c>d)后,m,n的值是(B)。A.0,0B.0,1C.1,0D.1,19、設(shè)有語句inta=3;,則執(zhí)行了語句a+=a-=a*=a;后,變量a的值是(B)。A.3B.0C.9D.-1210、在以下一組運(yùn)算符中,優(yōu)先級(jí)最低的運(yùn)算符是(D)。A.*B.!=C.+D.=11、設(shè)整型變量i值為2,表達(dá)式(++i)+(++i)+(++i)的結(jié)果是(B)。A.6B.12C.15D.表達(dá)式出錯(cuò)12、若已定義x和y為double類型,則表達(dá)式x=1,y=x+3/2的值是(D)。CA.1B.2C.2.0D.2.513、sizeof(double)的結(jié)果值是(B)。AA.8B.4C.2D.出錯(cuò)《三目運(yùn)算符,右結(jié)合》14、設(shè)a=1,b=2,c=3,d=4,則表達(dá)式:a<ba:c<da:d的結(jié)果為(D)。A.4B.3C.2D.115、設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:10<a<15的C語言表達(dá)式是(A)。A.10<a<15B.a==11||a==12||a==13||a==14C.a>10&&a<15D.!(a<=10)&&!(a>=15)16、設(shè)f是實(shí)型變量,下列表達(dá)式中不是逗號(hào)表達(dá)式的是(B)。DA.f=3.2,1.0B.f>0,f<10C.f=2.0,f>0D.f=(3.2,1.0)17、表達(dá)式18/4*sqrt(4.0)/8值的數(shù)據(jù)類型是(B)C。A.intB.floatC.doubleD.不確定18、已知字母A的ASCII碼為十進(jìn)制數(shù)65,且c2為字符型,則執(zhí)行語句C2=’A’+’6’-‘3’;后c2中的值是(C)。AA.DB.68C.不確定的值D.C19、以下用戶標(biāo)識(shí)符中,合法的是(C)。標(biāo)識(shí)符由字母、下劃線、數(shù)字這三個(gè)方面組成,但開頭必須是字母或下劃線BA.intB.nitC.123D.a+b20、C語言中,要求運(yùn)算對(duì)象只能為整數(shù)的運(yùn)算符是(A)。A.%B./C.>D.*21、若有說明語句:charc='\72';則變量c在內(nèi)存占用的字節(jié)數(shù)是(A)。A.1B.2C.3D.422、字符串"ABC"在內(nèi)存占用的字節(jié)數(shù)是(A)。\0A.3B.4C.6D.823、要為字符型變量a賦初值,下列語句中哪一個(gè)是正確的(B)。A.chara="3";B.chara=’3’;C.chara=%;D.chara=*;24、下列不正確的轉(zhuǎn)義字符是(C)。A.\\B.\'C.074D.\0注:其實(shí)所有編程語言,擁有轉(zhuǎn)義字符的原因基本上是兩點(diǎn):一、使用轉(zhuǎn)義字符來表示字符集中定義的字符,比如ASCll里面的控制字符及回車換行等字符,這些字符都沒有現(xiàn)成的文字代號(hào)。所以只能用轉(zhuǎn)義字符來表示。二、某一些特定的字符在編輯語言中被定義為特殊用途的字符。這些字符由于被定義為特殊用途,它們失去了原有的意義。比如說Html中,<被HTML定義為標(biāo)簽的開始,所以當(dāng)我們轉(zhuǎn)入<時(shí),HTML就會(huì)把它當(dāng)作為開始,而不是當(dāng)作一個(gè)<來看待。再如PHP的雙引號(hào)("),被PHP定義為字符串的外圍標(biāo)簽,所以如果你在一對(duì)雙引號(hào)里面,還想要使用雙引號(hào),只能使用轉(zhuǎn)義字符了。不然PHP就會(huì)報(bào)錯(cuò)了。二、填空題1、C語言中的邏輯值“真”是用1表示的,邏輯值“假”是用0表示的。2、若x和n都是int型變量,且x的初值為12,n的初值為5,則計(jì)算表達(dá)式x%=(n%=2)后x的值為0。3、設(shè)c='w',a=1,b=2,d=-5,則表達(dá)式'x'+1>c,'y'!=c+2,-a-5*b<=d+1,b==a=2的值分別為1、0、1、0。4、設(shè)floatx=2.5,y=4.7;inta=7;,表達(dá)式x+a%3*(int)(x+y)%2/4的值為2.5。5、判斷變量a、b的值均不為0的邏輯表達(dá)式為a!=0&&b!=0。6、求解賦值表達(dá)式a=(b=10)%(c=6),表達(dá)式值、a、b、c的值依次為4,10,6。*7、求解逗號(hào)表達(dá)式x=a=3,6*a后,表達(dá)式值、x、a的值依次為3,3。*8、數(shù)學(xué)式a/(b*c)的C語言表達(dá)式A/B/C。三、判斷題類型轉(zhuǎn)化(T)1、C語言中,非0值作為true,0作為false;若表達(dá)式取得true值時(shí),結(jié)果為1,取得false值時(shí),為0。
*(F)2、為了確保表達(dá)式n/2的值為float型,可寫成float(n/2)。*(T)3、若有(float)x,則x變成float型變量。(F)4、若a=3,b=4,c=5,則d=!(a%b)的值是0。
(T)5、a是實(shí)型變量,進(jìn)行賦值a=10,因此實(shí)型變量中允許存放整型值(T)6、在賦值表達(dá)式中,賦值號(hào)左邊既可以是變量也可以是任意表達(dá)式(F)7、
執(zhí)行表達(dá)式a=b后,在內(nèi)存中a和b存儲(chǔ)單元中的原值都將被改變,a的值已由原來的改變?yōu)閎的值,b的值由原來改變?yōu)?
(F)8、有a=3,b=5。執(zhí)行a=b,b=a后,使a的值為5,b的值為3。
(F)9、
getchar()和scanf()均為輸入函數(shù),它們之間可通用,沒有任何區(qū)別。
(F)10、執(zhí)行語句scanf("%6.3f",&a)后,輸入123456可使a的值為123.456。*(F)11、
putchar()函數(shù)的作用是輸出”一串”字符。一個(gè)*(T)12、
使用scanf()函數(shù),在輸入數(shù)據(jù)時(shí),若遇非法輸入則認(rèn)為該數(shù)據(jù)輸入結(jié)束。(T)13、在C中所用的變量必須先定義后使用。(T)14、在C程序中,運(yùn)算符%僅能用于整型數(shù)的運(yùn)算。(T)15、APH與aph分別表示不同的變量。
(F)16、設(shè)x和y都是int型變量,則以下語句:x+=y;y=x-y;x-=y;的功能是交換x和y的值。
(F)17、設(shè)a=5,b=6,c=7,d=8,m=2,n=2,執(zhí)行(m=a>b)&&(n=c>d)后n的值為0。(F)18、C語言中無邏輯變量,也無邏輯表達(dá)式。
四、編程題:1、 設(shè)長(zhǎng)方形的高為1.5,寬為2.3,編程求該長(zhǎng)方形的周長(zhǎng)和面積。#include<stdio.h>voidmain(){floata=0,b=0,l=0,s=0;printf("請(qǐng)您輸入長(zhǎng)寬:\n");scanf("%f%f",&a,&b);l=2*(a+b);s=a*b;printf("\n該長(zhǎng)方形周長(zhǎng)為:%f面積:%f\n",l,s);}用函數(shù):#include<stdio.h>intmain(){floata=0,b=0,l=0,s=0;floatql(float,float);floatqs(float,float);printf("請(qǐng)您輸入長(zhǎng)寬:\n");scanf("%f%f",&a,&b);l=ql(a,b);s=qs(a,b);printf("\n該長(zhǎng)方形周長(zhǎng)為:%f面積:%f\n",l,s);return0;}floatql(floata,floatb){floatl=0;l=2*(a+b);returnl;}floatqs(floata,floatb){floats=0;s=a*b;returns;}編寫一個(gè)程序,將大寫字母A轉(zhuǎn)換為小寫字母a。4最簡(jiǎn)單的C程序設(shè)計(jì)—順序程序設(shè)計(jì)一、單項(xiàng)選擇題1、printf("f=%3.2f%%",3.478);的輸出結(jié)果是a)。A.f=3.48%B.f=3.5%C.f=3.48%%D.f=347.8%2、printf("%c,%d",'a','a');的輸出結(jié)果是(a)。A.a,97B.a97C.97,aD.97a3、有以下程序段charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);程序運(yùn)行后,若從鍵盤輸入(從第1列開始):123<回車>45678<回車>。則輸出結(jié)果是:(D)A.1267B.1256
C.1278D.12454、若一個(gè)int類型的數(shù)據(jù)占2字節(jié),則程序段:intx=1;printf("%u,%d",x,x);的輸出結(jié)果是(A)。A.65535,1B.1,65535C.32767,32768D.32768,327675、在TC中g(shù)etchar、putchar、printf、scanf四個(gè)函數(shù),均包含在頭文件(B)中。A.math.hB.stdio.hC.stbio.hD.stdlib.h6、復(fù)合語句是用(C)括起來的語句組。A.()B.[]C.{}D.<>7、下列格式符中,哪一個(gè)可以用于以八進(jìn)制形式輸出整數(shù)(C)。A.%dB.%8dC.%oD.%ld8、下列格式符中,哪一個(gè)可以用于以十六進(jìn)制形式輸出整數(shù)(B)。A.%16dB.%8xC.%d16D.%d9、a是int類型變量,c是字符變量,下列輸入語句中哪一個(gè)是錯(cuò)誤的(B)。A.scanf("%d,%c",&a,&c);B.scanf("%d%c",a,c);C.scanf("%d%c",&a,&c);D.scanf("d=%d,c=%c",&a,&c);10、要使doublex;longa;的數(shù)據(jù)能正確的輸出,輸出語句應(yīng)是(D)。A.printf("%d,%f",a,x);B.printf("%d,%1f",a,x);C.scanf("%1d,%1f",&a,&x);D.printf("%1d,%lf",a,x);二、程序改錯(cuò)題1、以下程序的功能是,從鍵盤輸入一個(gè)字符并鳴笛輸出。#include"stdio.h"VOIDmian(){charc;getchar(c);putchar('007');/*鳴笛*/putchar(C);}2、以下程序的功能是,輸入長(zhǎng)方形的兩邊長(zhǎng)(邊長(zhǎng)可以取整數(shù)和實(shí)數(shù)),輸出它的面積和周長(zhǎng)。#include"stdio.h"VOIDmain{FLOATa,b,s,l;scanf("%F,%F",&a,&b);s=a*b;l=2*(a+b);printf("l=%f,s=%f\n",l,s);}三、寫出程序運(yùn)行結(jié)果1、main(){inta,b;scanf("%2d%*2s%2d",&a,&b);printf("%d\n",a+b);}運(yùn)行時(shí)輸入:12345678,輸出結(jié)果是。2、main(){inta=3,b=5,x,y;x=a+1,b+6;y=(a+1,b+6);printf("x=%d\ny=%d\n",x,y);}輸出結(jié)果是411__。四、編程題1、輸入3個(gè)整數(shù),計(jì)算它們的和與平均值,平均值的結(jié)果保留2位小數(shù)。#include<stdio.h>Viodmain(){Inta,b,c,s,av;Scanf(“%d%d%d\n”,&a,&b,&c);S=a+b+c;Av=s/3;Printf(“sumis%daverageis%d\n”s,av);}2、輸入兩個(gè)實(shí)數(shù)a,b,然后交換它們的值,最后輸出(提示:要交換兩個(gè)數(shù)得借助一個(gè)中間變量temp。首先讓temp存放a的值,然后把b存入a,再把temp存入b就完成了)。5選擇結(jié)構(gòu)程序一、單項(xiàng)選擇題1、假定所有變量均已正確定義,下列程序段運(yùn)行后x的值是(B)。a=b=c=0,x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;A.34B.4C.35D.32、有以下程序段,其輸出結(jié)果是:(A)inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c;c=a;printf("a=%db=%dc=%d\n",a,b,c);A.a=10b=50c=10B.a=10b=50c=30C.a=10b=30c=10D.a=50b=30c=503、有以下程序段,其輸出結(jié)果是:(d)intx=1,y=2,z=3;if(x>y)if(y<z)printf("%d",++z);elseprintf("%d",++y);
printf("%d\n",x++);
A.331B.41C.2D.14、程序段intx=5,y=8,max;max=(x>y)x:y;printf("%d",max);的輸出結(jié)果是(C)。A.5B.3C.8D.135、程序段intx=3,a=1;switch(x){case4:a++;case3:a++;case2:a++;case1:a++;}printf("%d",a);的輸出結(jié)果是(D)。A.1B.2C.3D.46、下列語句應(yīng)將小寫字母轉(zhuǎn)換為大寫字母,其中正確的是(b)。A.if(ch>='a'&ch<='z')ch=ch-32;B.if(ch>='a'&&ch<='z')ch=ch-32;C.ch=(ch>='a'&&ch<='z')ch-32:’’;D.ch=(ch>'a'&&ch<'z')ch-32:ch;7、有以下程序段,其輸出結(jié)果是:(C)intx=1,y=0,a=0,b=0;switch(x){case1:
switch(y){case0:a++;break;case1:b++;break;}
case2:a++;b++;break;case3:a++;b++;}printf("a=%d,b=%d\n",a,b);A.a=1,b=0B.a=2,b=2C.a=2,b=1D.a=1,b=1二、填空題1、當(dāng)a,b,c的值分別為3,4,5時(shí),以下各語句執(zhí)行后a,b,c的值為多少(1)if(a>c){a=b;b=c;c=a;}else{a=c;c=b;b=a;}執(zhí)行后a,b,c的值為__5_,__5_,_4__(2)if(a<c)a=c;elsea=b;c=b;b=a;執(zhí)行后a,b,c的值為__5_,_4__,_5__(3)if(a!=c);elsea=c;c=b;b=a;執(zhí)行后a,b,c的值為__3_,_4_,__5__2、若整數(shù)x分別等于95、87、100、43、66、79,則以下程序段運(yùn)行后屏幕顯示是什么?switch(x/10){case6:case7:printf("Pass\n");break;case8:printf("Good\n");break;case9:case10:printf("VeryGood\n");break;default:printf("Fail\n");}x等于95時(shí),程序段運(yùn)行后屏幕上顯示VeryGoodx等于87時(shí),程序段運(yùn)行后屏幕上顯示Goodx等于100時(shí),程序段運(yùn)行后屏幕上顯示VeryGoodx等于43時(shí),程序段運(yùn)行后屏幕上顯示Failx等于66時(shí),程序段運(yùn)行后屏幕上顯示Passx等于79時(shí),程序段運(yùn)行后屏幕上顯示Pass三、閱讀程序,寫出運(yùn)行結(jié)果1、voidmain(){inta=10,b=4,c=3;if(a<b)a=b;if(a<c)a=c;printf("%d,%d,%d\n",a,b,c);1043}2、voidmain(){intx=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!ok1)x=1;elseif(ok2)x=10;elsex=-1;printf("%d\n",x);-1}3、intk,a=1,b=2;k=(a++==b)2:3;printf("%d",k);3++a與a++的區(qū)別4、voidmain(){ ints=1,k=0; switch(s) {case1:k+=1; case2:k+=2;default:k+=3;}printf(“%d”,k);}65.voidmain(){ ints=1,k=0; switch(s) {case1:k+=1;break; case2:k+=2;break; default:k+=3;}1printf(“%d”,k)}四、選做題1、輸入3個(gè)整數(shù),按從大到小的順序輸出。#include<stdio.h>voidmain()形參改變不了實(shí)參,出非用指針,的值改變法{值傳遞為單向可以返回一比較值但改變不了實(shí)參的值且形參在調(diào)用結(jié)束后動(dòng)態(tài)釋放, inta,b,c,*p1,*p2,*p3; voidjh(int*e,int*f); printf("pleaseinputthreenumber:"); scanf("%d%d%d",&a,&b,&c); p1=&a;p2=&b;p3=&c; if(a<b)jh(p1,p2);if(a<c)jh(p1,p3);if(b<c)jh(p2,p3);printf("%d%d%d\n",a,b,c);}voidjh(int*e,int*f){intd;d=*e;*e=*f;*f=d;}2、請(qǐng)將以下語句改寫成switch語句。if((s>0)&&(s<=10))if((s>=3)&&(s<=6))x=2;elseif((s>1)||(s>8))x=3;elsex=1;elsex=0;6循環(huán)控制一、單項(xiàng)選擇題1、for(i=1;i<9;i+=1);該循環(huán)共執(zhí)行了(B)次。A.7B.8C.9D.102、inta=2;while(a=0)a--;該循環(huán)共執(zhí)行了(A)次。A.0B.1C.2D.33、執(zhí)行完循環(huán)for(i=1;i<100;i++);后,i的值為(B)。A.99B.100C.101D.1024、以下for語句中,書寫錯(cuò)誤的是D。A.for(i=1;i<5;i++)B.i=1;for(;i<5;i++)C.for(i=1;i<5;i++);D.for(i=1;i<5;)i++;5、(C)語句,在循環(huán)條件初次判斷為假,還會(huì)執(zhí)行一次循環(huán)體。A.forB.whileC.do-whileD.以上都不是6、有以下程序段inti=5;do{if(i%3==1)if(i%5==2){printf("*%d",i);break;}i++;}while(i!=0);其運(yùn)行結(jié)果是(B)語句1,2認(rèn)識(shí)A.*2*6B.*7C.*5D.*3*57、i、j已定義為int類型,則以下程序段中內(nèi)循環(huán)體的執(zhí)行次數(shù)是(A)。for(i=5;i;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.308、以下不構(gòu)成無限循環(huán)的語句或語句組是(C)。
A.n=10;while(n);{n--;}B.n=0;while(1){n++;}
C.n=0;do{++n;}while(n<=0);D.for(n=0,i=1;;i++)n+=i;9、有以下程序段inty=9;for(y>0;y--)if(y%3==0)printf("%d",--y);其運(yùn)行結(jié)果是(C)。
A.875421B.963C.852D.74110、有以下程序段:inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}
其運(yùn)行結(jié)果是(D)。
A.234B.432C.23D.45
3455433434
4523二、判斷題(T)1、do{……}while(0);程序塊至少會(huì)執(zhí)行一次(F)2、語句for(i=0;i=10;i++){……};至多循環(huán)10次(T)3、for(;;)表示無限循環(huán)。(F)4、下面的循環(huán)不能正常結(jié)束:
for(s=0,i=1;i<=10;){s=s+i;i++;}(F)5、continue語句是終止整個(gè)循環(huán)的執(zhí)行。
(T)6、對(duì)for(表達(dá)式1;;表達(dá)式3;)可理解為for(表達(dá)式1;1;表達(dá)式3;)。(F)7、下列程序段執(zhí)行循環(huán)二次
x=-1;do{x=x*x;}while(!x);()8、下列程序段能計(jì)算s=10!的值
i=1;s=1;
do{s=s*i;i++;}while(i<=10);(F)9、下列程序段將輸出3和0,intx=3;do{printf(“%d\n”,x-=2);}while(!--x));三、程序填空題1.有1020個(gè)西瓜,第一天賣一半多兩個(gè),以后每天賣剩下的一半多兩個(gè),問幾天后賣完?main(){intday,x1,x2;day=0;x1=1020;while(X1>0){x2=1/2*X1-2;x1=X2;day++;}printf("day=%d\n",day);}2.輸入若干個(gè)字符,分別統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù)、英文字母的個(gè)數(shù),當(dāng)輸入換行符時(shí)輸出統(tǒng)計(jì)結(jié)果,運(yùn)行結(jié)束。#include<stdio.h>voidmain(){ints1=0,s2=0;charch;while(()!='\n'){if(ch>='0'&&ch<='9')s1++;if(ch>='a'&&ch<='z'||)s2++;}printf(“%d,%d”,s1,s2);}3.下面程序的功能是計(jì)算1-3+5-7+……-99+101的值,請(qǐng)?zhí)羁铡?include<stdio.h>main(){inti=1,t=1,s=0;for(i=1;i<=101;i=i+2){S=S+T*I;T=-T;}printf(“%d\n”,s);}四、閱讀下列程序,寫出程序運(yùn)行的輸出結(jié)果1.voidmain(){inty=9;for(;y>0;y--)if(y%3==0){printf("%d",--y);continue;}}程序運(yùn)行后輸出結(jié)果為8522.main(){intn1,n2;scanf("%d",&n2);while(n2!=0){n1=n2%10;n2=n2/10;printf("%d",n1);}}程序運(yùn)行后,如果從鍵盤上輸入1298;則輸出結(jié)果為89213.main(){ints,i;for(s=0,i=1;i<3;i++,s+=i);printf("%d\n",s);}程序運(yùn)行后輸出結(jié)果為54.#include<stdio.h>voidmain(){ints=1,t=1,a,n;scanf("%d%d",&a,&n);for(inti=1;i<n;i++){t=t*10+1;s=s+t;}1+11+111+1111s*=a;printf("SUM=%d\n",s);}程序運(yùn)行后,如果從鍵盤上輸入2,4;則輸出結(jié)果為2468五、程序改錯(cuò)1、以下程序是顯示[200,300]所有能被7整除的數(shù),每行顯示5個(gè)數(shù),此程序有5處錯(cuò)。main(){inti,n=0;/*n用來記錄每行已打印數(shù)的個(gè)數(shù)*/while(i<=300){if(i%7!==0)CONTINUE;printf("%5d",i);n=n+1;if(n==5)/*滿5個(gè)換行*/{printf("\n");n=0;}I++;}}2、以下程序是求1!+2!+3!+4!+5!+6!+7!的值,其中有3處錯(cuò)誤。main(){inti,s,t=1,s=0;for(i=1;i<=7;i++){t=t*i;s=s+t;}printf("sum=%d\n",s);}六、選做題1.求序列2/1,3/2,5/3,8/5,13/8,21/13,的前20項(xiàng)之和。2.請(qǐng)完成用一元人民幣換成一分、兩分、五分的所有兌換方案。7數(shù)組一、單項(xiàng)選擇題1、inta[4]={5,3,8,9};其中a[3]的值為(D)。A.5B.3C.8D.92、以下4個(gè)字符串函數(shù)中,(A)所在的頭文件與其他3個(gè)不同?!癝TRING.H”A.getsB.strcpyC.strlenD.strcmp3、以下4個(gè)數(shù)組定義中,(D)是錯(cuò)誤的。A.inta[7];B.#defineN5longb[N];C.charc[5];D.intn,d[n];4、字符數(shù)組進(jìn)行初始化,(B)形式是錯(cuò)誤。A.charc1[]={'1','2','3'};B.charc2[]=123;C.charc3[]={'1','2','3','\0'};D.charc4[]="123";5、在數(shù)組中,數(shù)組名表示(A)。A.數(shù)組第1個(gè)元素的首地址B.數(shù)組第2個(gè)元素的首地址C.數(shù)組所有元素的首地址D.數(shù)組最后1個(gè)元素的首地址6、若有以下數(shù)組說明,則數(shù)值最小的和最大的元素下標(biāo)分別是(B)。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};A.1,12B.0,11C.1,11D.0,127、若有以下說明,則數(shù)值為4的表達(dá)式是(d)。inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc=’a’,d,g;A.a[g-c]B.a[4]C.a['d'-'c']D.a['d'-c]8、設(shè)有定義:chars[12]="string";則printf("%d\n",strlen(s));的輸出是(A)。A.6B.7C.11D.129、設(shè)有定義:chars[12]="string";則printf("%d\n",sizeof(s));的輸出是(D)。A.6B.7C.11D.1210、合法的數(shù)組定義是(A)。A.chara[]="string";B.inta[5]={0,1,2,3,4,5};C.chara="string";D.chara[]={0,1,2,3,4,5}11、合法的數(shù)組定義是(D)。A.inta[3][]={0,1,2,3,4,5};B.inta[][3]={0,1,2,3,4};C.inta[2][3]={0,1,2,3,4,5,6};D.inta[2][3]={0,1,2,3,4,5,};12、下列語句中,正確的是(B)。A.chara[3][]={'abc','1'};B.chara[][3]={'abc','1'};C.chara[3][]={'a',"1"};D.chara[][3]={"a","1"};13、下列定義的字符數(shù)組中,輸出printf("%s\n",str[2]);的輸出是(C)。0staticstr[3][20]={"basic","foxpro","windows"};A.basicB.foxproC.windowsD.輸出語句出錯(cuò)14、下列各語句定義了數(shù)組,其中哪一個(gè)是不正確的(C)。A.chara[3][10]={"China","American","Asia"};B.intx[2][2]={1,2,3,4};C.floatx[2][]={1,2,4,6,8,10};D.intm[][3]={1,2,3,4,5,6};15、數(shù)組定義為inta[3][2]={1,2,3,4,5,6},值為6的數(shù)組元素是(B)。A.a[3][2]B.a[2][1]C.a[1][2]D.a[2][3]16、下面的程序中哪一行有錯(cuò)誤(D)。#include<stdio.h>main(){floatarray[5]={0.0};//第A行inti;for(i=0;i<5;i++)scanf("%f",&array[i]);for(i=1;i<5;i++)array[0]=array[0]+array[i];//第B行printf("%f\n",array[0]);//第C行}A.第A行 B.第B行 C.第C行 D.沒有*17、下面哪一項(xiàng)是不正確的字符串賦值或賦初值的方式(C)。A.char*str;str="string";B.charstr[7]={'s','t','r','i','n','g'};C.charstr1[10];str1="string";D.charstr1[]="string",str2[]="12345678";18、若有以下說明和語句,則輸出結(jié)果是哪一項(xiàng)(C)。(strlen(s)為求字符串s的長(zhǎng)度的函數(shù))chars[12]="abook!";printf("%d",strlen(s));A.12B.8C.7D.1119、若有以下說明和語句,則輸出結(jié)果是(B)。charsp[]="\t\v\\\0will\n";printf("%d",strlen(sp));A.14 B.3 C.9 D.字符串中有非法字符20、若有以下說明和語句,則輸出結(jié)果是(C)。charstr[]="\"c:\\abc.dat\"";printf("%s",str);A.字符串中有非法字符B.\"c:\\abc.dat\"C."c:\abc.dat"D."c:\\abc.dat"二、填空題1、C語言中,數(shù)組的各元素必須具有相同的數(shù)據(jù)類型,元素的下標(biāo)下限為0,下標(biāo)必須是正整數(shù)、0、或者常量。但在程序執(zhí)行過程中,不檢查元素下標(biāo)是否越界。2、C語言中,數(shù)組在內(nèi)存中占一片連續(xù)的存儲(chǔ)區(qū),由數(shù)組名代表它的首地址。數(shù)組名是一個(gè)地址常量,不能對(duì)它進(jìn)行賦值運(yùn)算。3、執(zhí)行staticintb[5],a[][3]={1,2,3,4,5,6};后,b[4]=0,a[1][2]=6。4、設(shè)有定義語句staticinta[3][4]={{1},{2},{3}};則a[1][0]值為,a[1][1]值為,a[2][1]的值為。5、如定義語句為chara[]="windows",b[]="95";,語句printf("%s",strcat(a,b));的輸出結(jié)果為。6、根據(jù)以下說明,寫出正確的說明語句:men是一個(gè)有10個(gè)整型元素的數(shù)組。step是一個(gè)有4個(gè)實(shí)型元素的數(shù)組,元素值分別為1.9,-2.33,0,20.6。grid是一個(gè)二維數(shù)組,共有4行,10列整型元素。7、array是一個(gè)一維整形數(shù)組,有10個(gè)元素,前6個(gè)元素的初值是9,4,7,49,32,-5,正確的說明語句為:。該數(shù)組下標(biāo)的取值范圍是從到(從小到大)。用scanf函數(shù)輸入數(shù)組的第二個(gè)元素表示為:。用賦值語句把39存入第一個(gè)元素表示為:。把第六個(gè)和第四個(gè)元素之和存入第一個(gè)元素表示為:。8、寫出以下初始化數(shù)組的長(zhǎng)度:=1\*GB3①intchn[3];數(shù)組chn的長(zhǎng)度為。=2\*GB3②floatisa[]={1.0,2.0,3.0,4.0,5.0};數(shù)組isa的長(zhǎng)度為。=3\*GB3③intdoom[8];數(shù)組doom的長(zhǎng)度為。=4\*GB3④floatpci[4][2];數(shù)組pci的長(zhǎng)度為。=5\*GB3⑤intast[3][3];數(shù)組ast的長(zhǎng)度為。=6\*GB3⑥intatt[3][4];數(shù)組att的長(zhǎng)度為。=7\*GB3⑦floatdell[][3]={{1,4,7},{2,5},{3,6,9}};數(shù)組dell的長(zhǎng)度為。9、若有以下整型的a數(shù)組,數(shù)組元素和它們得值如下所示:數(shù)組元素:a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]a[9]元素的值:941282107513=1\*GB3①請(qǐng)寫出對(duì)該數(shù)組的說明,并賦以上初值。=2\*GB3②該數(shù)組的最小下標(biāo)值為,最大下標(biāo)值為。=3\*GB3③寫出下面各式的值:a[a[9]]的值為;a[a[4]+a[8]]的值為。10、字符串"ab\n\\012/\\\""的長(zhǎng)度為。三、判斷題()1、C允許對(duì)數(shù)組的大小作動(dòng)態(tài)定義,即可用變量定義數(shù)組的大小。
()2、字符數(shù)組不要求它的最后一個(gè)字符為‘\0’,甚至可以不包含‘\0’。()3、數(shù)組定義inta[10];也可以寫成inta(10);。()4、在對(duì)全部數(shù)組元素賦初值時(shí),可以不指定數(shù)組長(zhǎng)度。()5、定義s為5×6(5行6列)的數(shù)組可寫成floata[5,6];
()6、數(shù)組定義inta[10];表示數(shù)組名為a,此數(shù)組有10個(gè)元素。()7、數(shù)組定義inta[10];表示數(shù)組名為a,此數(shù)組有10個(gè)元素,第10個(gè)元素為a[10]。()8、staticcharc[]={“abook”};與staticcharc[]=“abook”;等價(jià)。()9、staticcharc[]={'a','','b','o','o','k','\0'};與staticcharc[]={'a','','b','o','o','k'};等價(jià)。()10、設(shè)已有說明:staticcharc1[10],c2[10];下面程序片段是合法的。c1={“book”};c2=c1;四、程序填空題1、輸入20個(gè)數(shù),輸出它們的平均值,輸出與平均值之差的絕對(duì)值為最小的數(shù)組元素。請(qǐng)?zhí)羁铡?include<stdio.h>voidmain(){floata[20],pjz=0,s,t;inti,k;for(i=0;i<20;i++)pjz+=a[i];s=fabs(a[0]-pjz);for(i=1;i<20;i++)if(fabs(a[i]-pjz)<s){s=fabs(a[i]-pjz);t=a[i];}}2、以下程序以每行10個(gè)數(shù)據(jù)的形式輸出a數(shù)組,請(qǐng)?zhí)羁?。voidmain(){inta[50],i;printf("輸入50個(gè)整數(shù):");for(i=0;i<50;i++)scanf("%d",);for(i=1;i<=50;i++){if()printf("%3d\n",);printf("%3d",a[i-1]);}}3、下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請(qǐng)?zhí)羁铡oidmain(){intk,p;ints[]={1,-9,7,2,-10,3};for(p=0,k=p;p<6;p++)if(s[p]>s[k]);printf("%d\n",k);}4、這個(gè)程序輸入了20個(gè)數(shù)存放在一個(gè)數(shù)組中,并且輸出其中最大者與最小者、20個(gè)數(shù)的和及它們的平均值。請(qǐng)?zhí)羁铡oidmain(){chararray;intmax,min,average,sum;inti;for(i=0;i<;i++){printf("請(qǐng)輸入第%d個(gè)數(shù):",i+1);scanf("%d",);}max=array[0];min=array[0];for(i=0;i<=;i++){if(max<array[i])if(min>array[i])sum=;}average=;printf("20個(gè)數(shù)中最大值是%d,",max);printf("最小值是%d,",min);printf("和是%d,",sum);printf("平均值是%d.\n",average);}五、選做題1、閱讀程序,分析程序的功能。#include<stdio.h>#include<string.h>voidmain(){chars[80];inti;for(i=0;i<80;i++){s[i]=getchar();if(s[i]=='\n')break;}s[i]='\0';i=0;while(s[i])putchar(s[i++]);putchar(‘\n’);}2、閱讀程序,分析程序的功能。#include<stdio.h>#include<string.h>voidmain(){charstr[10][80],c[80];inti;for(i=0;i<10;i++)gets(str[i]);strcpy(c,str[0]);for(i=1;i<10;i++)if(strlen(c)<strlen(str[i]))strcpy(c,str[i]);printf("%s\n",c);printf("%d\n",strlen(c));}3、閱讀程序,分析程序的功能。#include<stdio.h>#include<string.h>voidmain(){chara[10][80],c[80];inti,j,k;for(i=0;i<10;i++)gets(a[i]);for(i=0;i<9;i++){k=i;for(j=i+1;j<10;j++)if(strcmp(a[j],a[k])<0)k=j;if(k!=i){strcpy(c,a[i]);strcpy(a[i],a[k]);strcpy(a[k],c);}//字符串交換}for(i=0;i<10;i++)puts(a[i]);}4、閱讀程序,寫出運(yùn)行結(jié)果#include<stdio.h>voidmain(){inta[6]={12,4,17,25,27,16},b[6]={27,13,4,25,23,16},i,j;for(i=0;i<6;i++){for(j=0;j<6;j++)if(a[i]==b[j])break;if(j<6)printf("%d",a[i]);}printf("\n");}5、閱讀程序,寫出運(yùn)行結(jié)果。#include<stdio.h>voidmain(){chara[8],temp;intj,k;for(j=0;j<7;j++)a[j]='a'+j;a[7]='\0';for(j=0;j<3;j++){temp=a[6];for(k=6;k>0;k--)a[k]=a[k-1];a[0]=temp;printf("%s\n",a);}}6、閱讀下列程序,寫出程序運(yùn)行的輸出結(jié)果。#include<stdio.h>#include<string.h>voidmain(){charstr1[]="*******";for(inti=0;i<4;i++){printf("%s\n",str1);str1[i]='';str1[strlen(str1)-1]='\0';}}7、該程序的運(yùn)行結(jié)果是:min=,m=,n=。voidmain(){floatarray[3][4]={{3.4,-5.6,56.7},{56.8,999.,-.0123},{0.45,-5.77,123.5},{43.4,0,111.2}};inti,j;intmin;intm,n;min=array[0][0];m=0;n=0;for(i=0;i<3;i++)for(j=0;j<4;j++)if(min>array[i][j]){min=array[i][j];m=i;n=j;}printf("min=%d,m=%d,n=%d\n",min,m,n);}8、寫出下面這個(gè)程序的輸出結(jié)果:voidmain(){charstr[]="ABCDEFGHIJKL";printf("%s\n",str);屏幕上顯示printf("%s\n",&str[4]);屏幕上顯示str[2]=str[5];printf("%s\n",str);屏幕上顯示str[9]='\0';printf("%s\n",str);屏幕上顯示}8函數(shù)一、單項(xiàng)選擇題1、C語言總是從(A)函數(shù)開始執(zhí)行。A.mainB.處于最前的 C.處于最后的D.隨機(jī)選一個(gè)2、函數(shù)在定義時(shí),省略函數(shù)類型說明符,則該函數(shù)值的類型為(A)。A.intB.floatC.longD.double2、以下(B)函數(shù),真正地沒有返回值。A.inta(){inta=2;return(a);}B.voidb(){printf("c");}C.inta(){inta=2;returna;} D.以上都是3、在C語言中,有關(guān)函數(shù)的說法,以下正確的是(C)。A.函數(shù)可嵌套定義,也可嵌套調(diào)用B.函數(shù)可嵌套定義,但不可嵌套調(diào)用C.函數(shù)不可嵌套定義,但可嵌套調(diào)用D.函數(shù)不可嵌套定義,也不可嵌套調(diào)用4、以下函數(shù)調(diào)用語句中,含有實(shí)參的個(gè)數(shù)為(D)。Bfun((2,3),(4,5+6,7));A.1B.2C.5D.6*5、函數(shù)調(diào)用可以在(D)。A.函數(shù)表達(dá)式中B.函數(shù)語句中 C.函數(shù)參數(shù)中D.以上都是6、被調(diào)函數(shù)返回給主調(diào)函數(shù)的值稱為(C)。A.形參B.實(shí)參C.返回值D.參數(shù)7、(D),可以不進(jìn)行函數(shù)類型說明。A.被調(diào)函數(shù)的返回值是整型或字符型時(shí) B.被調(diào)函數(shù)的定義在主調(diào)函數(shù)定義之前時(shí)C.在所有函數(shù)定義前,已在函數(shù)外預(yù)先說明了被調(diào)函數(shù)類型 D.以上都是8、被調(diào)函數(shù)通過(D)語句,將值返回給主調(diào)函數(shù)。A.ifB.forC.whileD.return9、被調(diào)函數(shù)調(diào)用結(jié)束后,返回到(D)。A.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句處B.主函數(shù)中該被調(diào)函數(shù)調(diào)用語句處C.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句的前一語句D.主調(diào)函數(shù)中該被調(diào)函數(shù)調(diào)用語句的后一語句10、以下對(duì)C語言函數(shù)的有關(guān)描述中,正確的是(D)。A.在C中,調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳送給形參,形參的值不能傳送給實(shí)參B.C函數(shù)既可以嵌套定義又可遞歸調(diào)用C.函數(shù)必須有返回值,否則不能使用函數(shù)D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)源程序文件中11、C語言中函數(shù)的隱含存儲(chǔ)類型是(A)。A.autoB.staticC.externD.無存儲(chǔ)類型*12、能把函數(shù)處理結(jié)果的兩個(gè)數(shù)據(jù)返回給主調(diào)函數(shù),在下面的方法中不正確的是(A)。A.return這兩個(gè)數(shù) B.形參用兩個(gè)元素的數(shù)組C.形參用兩個(gè)這種數(shù)據(jù)類型的指針 D.用兩個(gè)全局變量13、C語言可執(zhí)行程序從什么地方開始執(zhí)行(C)。A.程序中第一條可執(zhí)行語句B.程序中第一個(gè)函數(shù)C.程序中的main函數(shù)D.包含文件中的第一個(gè)函數(shù)*14、有一個(gè)函數(shù)原型為abc(floatx,floaty);,則該函數(shù)的返回類型為(C)。A.voidB.doubleC.intD.float二、填空題1、變量的作用域主要取決于變量的定義位置,變量的生存期既取決于變量的儲(chǔ)存類型,又取決于變量。2、說明變量時(shí),若省略存儲(chǔ)類型符,系統(tǒng)默認(rèn)其為自動(dòng)存儲(chǔ)類別,該存儲(chǔ)類別的類型符為:autoint。3、靜態(tài)型局部變量的作用域是,生存期是。4、函數(shù)中的形參和調(diào)用時(shí)的實(shí)參都是數(shù)組名時(shí),傳遞方式為地址,都是變量時(shí),傳遞方式為值傳遞。5、函數(shù)的形式參數(shù)的作用域?yàn)楸竞瘮?shù),全局的外部變量和函數(shù)體內(nèi)定義的局部變量重名時(shí),局部變量?jī)?yōu)先。6、若自定義函數(shù)要求返回一個(gè)值,則應(yīng)在該函數(shù)體中有一條return語句,若自定義函數(shù)要求不返回一個(gè)值,則應(yīng)在該函數(shù)說明時(shí)加一個(gè)類型說明符void。7、若函數(shù)的形式參數(shù)是指針類型,則實(shí)參可以是變量或常量。8、函數(shù)的參數(shù)為char*類型時(shí),形參與實(shí)參結(jié)合的傳遞方式為值。9、函數(shù)的實(shí)參為常量時(shí),形參與實(shí)參結(jié)合的傳遞方式為值。10、下面這個(gè)函數(shù)的功能是求兩個(gè)整數(shù)的積,并通過形參傳回結(jié)果,請(qǐng)?zhí)羁?。voidmul(_int__x,_int__y,_int__result){Returnresult=x*y;}三、判斷題(T)1、函數(shù)說明指的是在程序中設(shè)定一個(gè)函數(shù)模塊。
(T)2、形參只有在被調(diào)用時(shí)才分配存儲(chǔ)空間。
(F)3、在C的函數(shù)中,最好使用全局變量。
(F)4、在調(diào)用函數(shù)時(shí),實(shí)參傳值給形參,調(diào)用結(jié)束時(shí),形參值傳給實(shí)參//返回值max(T)5、所有函數(shù)定義都是并行的,相互獨(dú)立的。
(F)6、函數(shù)的隱含存儲(chǔ)類型是extern。
(T)7、形參可以是常量、變量或表達(dá)式。
(F)8、函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參。(T)9、C語言規(guī)定,實(shí)參應(yīng)與其對(duì)應(yīng)的形參類型一致。
*(F)10、定義函數(shù)時(shí),形參的類型說明可以放在函數(shù)體內(nèi)。
四、程序填空題1、對(duì)數(shù)組按值從大到小的順序排序后輸出,請(qǐng)?zhí)羁铡?include<stdio.h>voidmain(){floata[7]={2,6,3,8,3,12,9}; inti
;voidsort(float*,int);sort(a,7);;for(i=0;i<7;i++)printf("%f",a[i]);printf("\n");}voidsort(float*p,intn)//相當(dāng)于把首地址a中的值穿給了*p{inti,j,k;floatt;for(i=0;i<n-1;i++){k=i;for(j=i+1;j<n;j++)if(*(p+j)>*(p+k))k=j;If(k!=i){t=*(p+i);*(p+i)=*(p+k);*(p+k)=t;}}}2、下列函數(shù)在n個(gè)元素的一維數(shù)組中,找出最大值、最小值并傳送到調(diào)用函數(shù),請(qǐng)?zhí)羁铡?include<stdio.h>voidfind(float*p,intmax,intmin,intn){intk;*max=*p;for(k=1;k<n;k++){t=*(p+k);if()*max=t;if(t<*min)*min=t;}}五、選做題1、寫出下列程序運(yùn)行結(jié)果main(){inti=1,p;p=fun(i,i+1);printf("%d\n",p);}intfun(inta,intb){intf;if(a>b)f=1;elseif(a==b)f=0;elsef=-1;returnf;}2、鍵盤輸入abcdef<CR>#include<stdio.h>voidfun(){charc;if((c=getchar())!='\n')fun();putchar(c);}voidmain(){fun();}3、寫出下列程序運(yùn)行結(jié)果#include<stdio.h>#defineC5intx=1,y=C;voidmain(){intx;x=y++;printf("%d%d\n",x,y);if(x>4){intx;x=++y;printf("%d%d\n",x,y);}x+=y--;printf("%d%d\n",x,y);}4、寫出下列程序運(yùn)行結(jié)果#include<stdio.h>intc,a=4;func(inta,intb){c=a*b;a=b-1;b++;return(a+b+1);}voidmain(){intb=2,p=0;c=1;p=func(b,a);printf("%d,%d,%d,%d\n",a,b,c,p);}5、寫出下列程序運(yùn)行結(jié)果unsignedfun6(unsignednum){unsignedk=1;do{k*=num%10;num/=10;}while(num);returnk;}voidmain(){unsignedn=26;printf("%d\n",fun6(n));}6、寫出下列程序運(yùn)行結(jié)果#include<stdio.h>intmax(inta,intb);main(){intx,y,z,t,m;scanf("%d,%d,%d",&x,&y,&z);t=max(x,y);m=max(t,z);printf("%d",m);}intmax(inta,intb){if(a>b)return(a);elsereturn(b);}運(yùn)行時(shí)若輸入:10,15,9則輸出:運(yùn)行時(shí)若輸入:300,129,300則輸出:7、寫出下列程序運(yùn)行結(jié)果#include<stdio.h>longsum(inta,intb);longfactorial(intn);main(){intn1,n2;longa;scanf("%d,%d",&n1,&n2);a=sum(n1,n2);printf("a=%1d",a);}longsum(inta,intb){longc1,c2;c1=factorial(a);c2=factorial(b);return(c1+c2);}longfactorial(intn){longrtn=1;inti;for(i=1;i<=n;i++)rtn*=i;return(rtn);}運(yùn)行時(shí)若輸入:2,3則輸出:運(yùn)行時(shí)若輸入:0,5則輸出:8、#include<stdio.h>ints();intx,y;main(){intn;x=1;y=2;n=s();printf("x=%d,y=%d,n=%d",x,y,n);}ints(){intz;x=3;y=4;z=x+y;return(z);}程序運(yùn)行后輸出:9預(yù)處理命令一、單項(xiàng)選擇題以下不正確的敘述是()A.宏替換不占用運(yùn)行時(shí)間。 B.宏名無類型。C.宏替換只是字符替換。 D.宏名必須用大寫字母表示。C語言的編譯系統(tǒng)對(duì)宏命令的處理()A.在程序運(yùn)行時(shí)進(jìn)行的。B.在程序連接時(shí)進(jìn)行。C.和C程序中的其它語句同時(shí)進(jìn)行編譯的。D.在對(duì)源程序中其它語句正式編譯之前進(jìn)行的。3、以下程序的輸出結(jié)果是()A.15 B.100 C.10 D.150 #defineMIN(x,y) (x)<(y)(x):(y)voidmain() { intI,j,k; i=10;j=15;k=10*MIN(i,j);printf(“%d\n”,k);}4、以下敘述中正確的是()A.用#include包含的文件的后綴必須是“.h”。B.若一些源程序中包含某個(gè)頭文件;當(dāng)該文件有錯(cuò)時(shí),只需對(duì)該頭文件進(jìn)行修改,包含此頭.文件的所有源程序不必重新進(jìn)行編譯。C.宏命令行可以看作是一行C語句。D.預(yù)處理是在編譯之前進(jìn)行的。5、以下敘述中正確的是()A.源程序中所有的行都參加編譯。B.宏定義常量與const定義常量是一樣的。C.宏定義可以嵌套定義,即在宏定義中的字符串可以引用另一個(gè)宏定義的標(biāo)識(shí)符。D.以上都不正確。二、填空題1、以下程序中for循環(huán)執(zhí)行的次數(shù)是。#define N 2#define M N+1#define NUM (M+1)*M/2voidmai
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 災(zāi)后飲用水衛(wèi)生監(jiān)督制度
- 煙花廠衛(wèi)生管理制度
- 衛(wèi)生院門診治療管理制度
- 衛(wèi)生標(biāo)準(zhǔn)及管理制度
- 寧夏衛(wèi)生院醫(yī)保管理制度
- 衛(wèi)生院新冠院感制度
- 街道辦事處衛(wèi)生工作制度
- 豬肉店衛(wèi)生管理制度
- 基層醫(yī)院衛(wèi)生制度
- 健身房衛(wèi)生獎(jiǎng)罰制度
- 2025年住院醫(yī)師規(guī)范化培訓(xùn)考試(腎臟內(nèi)科)歷年參考題庫含答案詳解(5卷)
- 血液小學(xué)生課件
- 森林消防安全知識(shí)課件
- T-CRHA 089-2024 成人床旁心電監(jiān)測(cè)護(hù)理規(guī)程
- 燃?xì)夤艿廊毕菪迯?fù)技術(shù)-深度研究
- 刑事訴訟法學(xué)全套課件
- DBJ51-T 040-2021 四川省工程建設(shè)項(xiàng)目招標(biāo)代理操作規(guī)程
- 青鳥消防JBF62E-T1型測(cè)溫式電氣火災(zāi)監(jiān)控探測(cè)器使用說明書
- 武漢市江岸區(qū)2022-2023學(xué)年七年級(jí)上學(xué)期期末地理試題【帶答案】
- 自動(dòng)駕駛系統(tǒng)關(guān)鍵技術(shù)
- 完整工資表模板(帶公式)
評(píng)論
0/150
提交評(píng)論