計(jì)算機(jī)等級(jí)考試c語言程序設(shè)計(jì)習(xí)題_第1頁
計(jì)算機(jī)等級(jí)考試c語言程序設(shè)計(jì)習(xí)題_第2頁
計(jì)算機(jī)等級(jí)考試c語言程序設(shè)計(jì)習(xí)題_第3頁
計(jì)算機(jī)等級(jí)考試c語言程序設(shè)計(jì)習(xí)題_第4頁
計(jì)算機(jī)等級(jí)考試c語言程序設(shè)計(jì)習(xí)題_第5頁
已閱讀5頁,還剩115頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章C語言程序設(shè)計(jì)概述一、選擇題1.下列關(guān)于計(jì)算機(jī)語言的敘述中,正確的是B.高級(jí)語言的源程序可以被計(jì)算機(jī)直接執(zhí)行2.源程序TEST.C經(jīng)編譯產(chǎn)生的目標(biāo)文件和連接后產(chǎn)生的可執(zhí)行文件是oA.TEST.BAK和TEST.OBJB.TEST.OBJ和TEST.EXEC.TEST.EXE和TEST.CD.TEST.B3,一個(gè)C程序的執(zhí)行是從。B.本程序文件的第一個(gè)函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束C.本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D.本程序文件的第一個(gè)函數(shù)開始,到本程序main函數(shù)結(jié)束4.以下敘述正確的是,D.在對(duì)一個(gè)C程序進(jìn)行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯(cuò)誤5.以下敘述不正確的是。C.在C程序中,注釋說明只能位于一條語句的后面6,一個(gè)C語言程序是由。C.若干過程組成7.關(guān)于C語言程序書寫規(guī)則說法中正確的是C.每行必須有行號(hào)D.每條語句用分號(hào)結(jié)束8,下面關(guān)于算法的說法,錯(cuò)誤的是。A.算法必須有輸出,但不一定有輸入B.算法必須在計(jì)算機(jī)上用某種語言實(shí)現(xiàn)D.算法的每一步驟必須有確切的定義19.結(jié)構(gòu)化程序設(shè)計(jì)規(guī)定的3種基本控制結(jié)構(gòu)是A.順序、選擇和轉(zhuǎn)向B.層次、網(wǎng)狀和循環(huán)C.模塊、選擇和循環(huán)D.順序、選擇和循環(huán)10.結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,三種基本結(jié)構(gòu)組成的算法。A.可以完成任何復(fù)雜的任務(wù)B.只能完成部分復(fù)雜的任務(wù)C.只能完成符合結(jié)構(gòu)化的任務(wù)D.只能完成一些簡(jiǎn)單的任務(wù)二、填空題1.C源程序的基本單位是,一個(gè)C源程序中必須包括一個(gè)。2.在一個(gè)C源程序中,注釋部分兩側(cè)的分界符分別為和。3.C語言源程序文件的后綴是;經(jīng)過編譯后,生成文件的后綴是;經(jīng)過連接后,生成的文件的后綴是。4.結(jié)構(gòu)化程序由、、,3種基本結(jié)構(gòu)組成。三、編程題1.編寫一個(gè)程序,用2個(gè)printf()語句分別輸出學(xué)校名稱和自己的姓名,·.編寫一個(gè)程序,用1個(gè)printf()語句輸出學(xué)校名稱和自己的姓名。2第2章數(shù)據(jù)類型及其運(yùn)算1.下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)的是C。2.以下選項(xiàng)中可以作為C語言中合法整數(shù)的是C。A.10110BB.0386C.OXff3.以下選項(xiàng)中合法的實(shí)型常數(shù)是C。A.5E2.0B.E-3C.2E0D.1.3E4.以下選項(xiàng)中可作為C語言合法常量的是A。A.-80B.-080C.-8e1.0D.-80.0e5.下面四個(gè)選項(xiàng)中,均是合法轉(zhuǎn)義字符的選項(xiàng)是B。C.\018''\f'\xab'D.\\O''\101''x1f6.下面不正確的字符串常量是A。A.'abc'B."12’12"C."0"D."n7.以下選項(xiàng)中不屬于C語言的類型的是D。8.在C語言中,要求運(yùn)算數(shù)必須是整型的運(yùn)算符是D。A./B.++C.!=D.%9.以下運(yùn)算符中優(yōu)先級(jí)最低的是A,以下運(yùn)算符中優(yōu)先級(jí)最高的是BA.&&B.<=C.A.4B.16/4的值是A。A.2.500000B.2.750000C.3.500000D.0.000000A.floatB.charC.int15.以下選項(xiàng)中非法的表達(dá)式是DA.0<=x<100B.i=j==0C.(char)(65+3)D.x+1=x+13A.0B.1C.2D.317.若變量c為char類型,能正確判斷出c為小寫字母的表達(dá)式是D。A.'a'<=c<='zB.(c>='a')||(c<='z')C.('a1<=c)and('z'>=c)D.(c>='a')&&(c<='z')eA.abs(x-y)<10B.x-y>-10&&x-y<10C.!(x-y)<-10|!(y-x)>10D.(x-y)*(x-y)<100二、填空題1.C語言中的標(biāo)識(shí)符只能由三種字符組成,它們是,和2.在C語言中(以32位PC機(jī)為例),一個(gè)char型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為,一個(gè)int型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為,一個(gè)float型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為,一個(gè)double型數(shù)據(jù)在內(nèi)存中所占的字節(jié)數(shù)為。3.有以下定義intm=5,y=2;則計(jì)算表達(dá)式y(tǒng)+=y-=m*=y后的y值是。4.若定義:inta=2,b=3;floatx5.x和n均為int型變量,且x的初值為12,n的初值為5,則計(jì)算表達(dá)式x%=(n%=2)后x的值為。6.設(shè)所有變量均為整型,則表達(dá)式(a=2,b=5,a++,b++,a+b)的值為。7.a、b和c均是int型變量,則計(jì)算表達(dá)式a=(b=4)+(c=2)后,a值為,b值為,c值為。8.a是int型變量,且a的初值為6,則計(jì)算表達(dá)式a+=a-=a*a后a的值為。9.設(shè)y是int型變量,請(qǐng)寫出判斷y為奇數(shù)的關(guān)系表達(dá)式10.若a,b,c均為整型變量,則執(zhí)行以下語句a=b=c=0;a++&&++b||c++;后,a的值為,b的值為,c的值為。三、程序閱讀題1.下面程序的運(yùn)行結(jié)果是b。#include<stdio.h>intmain(){charm;m='B'+32;printf("%c\n",m);return0;}2,下面程序的運(yùn)行結(jié)果是0#include<stdio.h>intmain(){intx=3,y=5;printf("%d\n",x/y);return0;3.下面程序的運(yùn)行結(jié)果是0#include<stdio.h>4{main()m=0xabc,n=0xabc;printf("%x\n",m);}4.下面程序的運(yùn)行結(jié)果是10,2#include<stdio.h>intmain(){x=10,y=3;printf("%d,%d\n",x++,--y);5.下面程序的運(yùn)行結(jié)果是9,10,9,10。#include<stdio.h>{j=10;printf("%d,%d,%d,%d\n",i,j,++i,j++):return0;6.下面程序的運(yùn)行結(jié)果是3,1,0,0。#include<stdio.h>inta=1,b=2,c=3;printf("%d,%d,%d,%d\n",a=b=c,a=b=c,a==(b=c),a==(b==c));return0;}7.下面程序的運(yùn)行結(jié)果是3,20,30,1#include<stdio.h>(inta=2,b=20,c=30,d;d=++a<=10||b-->=20||c++;printf("%d,%d,%d,%d\n",a,b,c,d);return0;5第3章語句與輸入輸出一、選擇題1.設(shè)有定義:longx=123456L;,則以下能夠正確輸出變量x值的語句是。A.printf("x=%d\n",x);B.printf("x=%ld\n",x);C.printf("x=%8dL\n",x);D.printf("x=%LD\n",x);2.若有以下程序段intm=0xabc,n=0xabc;printf("%X\n",m);執(zhí)行后輸出結(jié)果是。A.0X0B.0x0C.0D.OXABC3.已知chara=\103';則語句printf("%3d",a);執(zhí)行后的輸出結(jié)果為。A.67B.'C'C.若要使得a為1,b為2,c為3。則以下選項(xiàng)中正確的輸入形式是。A.a=1B.1,2,3C.a=1,b=2,c=3D.123b=25.已知i、j、k為int型變量,若從鍵盤輸入:1,2,3/,使i的值為1、j的值為2、k的值為3,以下選項(xiàng)中正確的輸入語句是。A.scanf("%2d%2d%2d",&i,&j,&k);B.scanf("%d%d%d",&i,&j,&k);C.scanf("%d,%d,%d",&i,&j,&k);D.scanf("i=%d,j=%d,k=%d",&i,&j,&k)6.x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),正確的輸入語句是。B.scanf("%d,%d,%d",&x,&y,&z);C.scanf("%d,%d,%d",x,y,z);D.read("%d,%d,%d",&x,&y,&z)7.若有inta;floatb;scanf("%d,%f",&a,&b);使a、b的值分別為30和5.5,則正確的輸入是。A.305.5B.30,5.5C.a=30,b=5.5D.a=30b=5.58.根據(jù)以下定義語句和數(shù)據(jù)的輸入方式,scanf語句的正確形式應(yīng)為。數(shù)據(jù)的輸入方式:4.52/A.scanf("%f,%f",&f1,&f2);B.scanf("%f%f",&f1,&f2);C.scanf("%3.2f%2.1f",&f1,&f2);D.scanf("%3.2f%2.1f",&f1,&f2);9.以下針對(duì)scanfO函數(shù)的敘述中,正確的是。610.有以下程序#include<stdio.h>intmain(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(cl);putchar(c2);}當(dāng)運(yùn)行時(shí)輸入a∠后,以下敘述正確的是。C.變量c1被賦予字符a,c2中仍是原有字符2D.變量cl被賦予字符a,c2中將無確定值二、填空題1.已知floatf=123.467;,則執(zhí)行語句printf("%.2f\n",f);,輸出結(jié)果是2.已知字符'A'的ASCⅡ值為十進(jìn)制65,變量c為字符型,則執(zhí)行語句c='A'+'6'-'3';printf("%c\n",c);,輸出結(jié)果是。3.scanf()函數(shù)在輸入數(shù)據(jù)時(shí)默認(rèn)的分隔符有、Tab、空格。4.已知:inti=10,j=1;則執(zhí)行語句printf("%d,%d",i++,++j);后,輸出結(jié)果 三、程序閱讀題1.下面程序的運(yùn)行結(jié)果是261。#include<stdio.h>intmain(){intm=177;printf("%o\n",m);return0;2.下面程序的運(yùn)行結(jié)果是20#include<stdio.h>intmain(){n+=(n=10);printf("%d\n",n);}3.下面程序的運(yùn)行結(jié)果是201,10。#include<stdio.h>intmain()7{inta=201,b=012;printf("%2d,%2d\n",a,b);return0;4.下面程序的運(yùn)行結(jié)果是y=4630,y=4630。intmain(){inty=2456;printf("y=%3o\n",y);printf("y=%8o\n",y);return0;}5.下面程序的運(yùn)行結(jié)果是*3.140000.3.142*#include<stdio.h>intmain(){printf("*%f,%4.3f*\n",3.14,3.1415);return0;}6.下面程序的運(yùn)行結(jié)果是#include<stdio.h>intmain(){printf("c:dec=%d,oct=%o,hex=%x,ASCI=%c\n",c,c,c,c);return0;}7,下面程序的運(yùn)行結(jié)果是。#include<stdio.h>{main()x=1,y=2;printf("x=%dy=%d*sum*=%d\n",x,y,x+y);printf("10squaredis:%d\n",10*10);return0;}8,下面程序的運(yùn)行結(jié)果是#include<stdio.h>intmain(){charn=100;8printf("%d%d%3.1f%3.1f\n",n,c,f,x);}9.下面程序的運(yùn)行結(jié)果是。運(yùn)行時(shí)從鍵盤輸入:251310/。{intx,y,z;printf("x+y+z=%d\n",x+y+z);}10.下面程序的運(yùn)行結(jié)果是。運(yùn)行時(shí)從鍵盤輸入:55AB/。intmain(){intk=0;charc1='a',c2='b';printf("%d,%c,%c\n",k,c1,c2);}1.編寫一個(gè)程序,讀入一個(gè)字母,輸出與之對(duì)應(yīng)的ASCⅡ碼值。2.編寫一個(gè)程序,從鍵盤輸入圓的半徑r,圓柱的高h(yuǎn),分別計(jì)算出圓周長cl、圓面積cs和圓柱的體積cv,輸出計(jì)算結(jié)果時(shí)要求保留小數(shù)點(diǎn)后4位。3.編寫一個(gè)程序,輸入一個(gè)三位數(shù),分別求出這個(gè)三位數(shù)的個(gè)位、十位和百位上的數(shù)。9printf("*\n");printf("*\n");printf("**\n");第4章選擇結(jié)構(gòu)程序設(shè)計(jì)一、選擇題1.if語句的選擇條件是d。A.只能用關(guān)系表達(dá)式B.只能用關(guān)系表達(dá)式或邏輯表達(dá)式C.只能用邏輯表達(dá)式D.可以用任何表達(dá)式3.以下程序段的輸出結(jié)果是c。printf("%d\n",c);C.其之后最近的ifD.與最近的{}之前的if6.若有定義:floatw;inta,b;則合法的switch語句是d{}{{{二、程序閱讀題1.下面程序的運(yùn)行結(jié)果是10運(yùn)行時(shí)從鍵盤輸入:9/。#include<stdio.h>intmain(){if(n++<10)printf("%d\n",n);elseprintf("%d\n",n--);}2.下面程序的運(yùn)行結(jié)果是2.2.2e#include<stdio.h>{inti=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);return0;}3.下面程序的運(yùn)行結(jié)果是6。#include<stdio.h>{main()printf("%d\n",m);printf("%d\n",m--);}4.下面程序的運(yùn)行結(jié)果是97.b。#include<stdio.h>{if(c1>='a'&&c1<='z')printf("%d,%c",c1,c1+1);printf("%c",c1);return0;}5,下面程序的運(yùn)行結(jié)果是c=-1.#include<stdio.h>{main()elseprintf("c=%d",c);return0:6.下面程序的運(yùn)行結(jié)果是8888。運(yùn)行時(shí)從鍵盤輸入:88/。#include<stdio.h>{}7.下面程序的運(yùn)行結(jié)果是20.0#include<stdio.h>{printf("%d,%d\n",x,y);return0:}8.下面程序的運(yùn)行結(jié)果是2.1#include<stdio.h>{intx={}printf("%d,%d",a,b);}9.下面程序的運(yùn)行結(jié)果是_1,1-2,2運(yùn)行時(shí)從鍵盤輸入:1/。{{case2:printf("%d,%d\n",k,k--);case4:printf("%d,%d\n",-k,k++);break;}}10.下面程序的運(yùn)行結(jié)果是a=1.b=3{intx=1,y=1,a=0,b=0;{{}b++;}printf("a=%d,b=%d\n",a,b);}1.下面程序用于將輸入的三個(gè)數(shù)從小到大排序輸出。elseif(y>c)y=c;printf("%d,%d,%d",y,a+b+c-x-y,x);return0;1.編寫一個(gè)程序,從鍵盤上輸入4個(gè)整數(shù),輸出其中的最小值。#include<stdio.h>intmain(){inta,b,c,d,min;scanf("%d%d%d%d",&a,&b,&c,&d);if(a<b)min=a;if(c<min)min=c;if(d<min)min=d;printf("%d\n",min);return0;2.編寫一個(gè)程序,從鍵盤輸入一個(gè)四位整數(shù)n,輸出它的各位數(shù)字之和。例如n=1308,則輸出12;n=3204,則輸出9。#include<stdio.h>intmain()intnum,a,b,c,d;printf("請(qǐng)輸入一個(gè)四位整數(shù):");scanf("%d",&num);a=num/1000;b=num%1000/100;c=num%100/10;d=num%10;return0:#include<stdio.h>{printf("請(qǐng)輸入x:");scanf("%d",&x);printf("%d\n",x);printf("%d\n",3*x-2);printf("%d\n",4*x+1);printf("%d\n",5*x).return0;編寫一個(gè)程序,從鍵盤輸入x的值,輸出y的值。級(jí)2.50元/kg。利用switch語句編寫一個(gè)程序,輸入蘋果的等級(jí)、數(shù)量以及顧客的付款數(shù),顧客的付款數(shù)不合要求時(shí),通知用戶“DataError!”,結(jié)束程序。#include<stdio.h>{printf("請(qǐng)輸入等級(jí)(1~4):");if(dj>4||dj<1))scanf("%f',&zl);switch(dj){第5章循環(huán)結(jié)構(gòu)程序設(shè)計(jì)1.有以下程序段intk=10;while(k=0)k=k-1;則下面描述中正確的是A.while循環(huán)執(zhí)行10次B.循環(huán)是無限循環(huán)C.循環(huán)體語句一句也不執(zhí)行D.循環(huán)體語句執(zhí)行一次2.有以下程序段printf("%d",s);A.運(yùn)行程序段輸出0B.運(yùn)行程序段輸出1C.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無限次3.下面程序的功能是將從鍵盤輸入的一對(duì)數(shù),由小到大排序輸出。當(dāng)輸入一對(duì)相等數(shù)#include<stdio.h>{scanf("%d%d",&a,&b);while({{t=a;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}A.!a=bB.a!=bC.a4.下面程序的功能是在輸入的一批正整數(shù)中求出最大者,輸入0結(jié)束循環(huán),請(qǐng)選擇填#include<stdio.h>{inta,max=0;scanf("%d",&a);{if(max<a)max=a;scanf("%d",&a);〈printf("%d",max);return0;}A.a==0B.aC.!a==1D.!a5.C語言中while和do—while循環(huán)的主要區(qū)別是。A.do—while的循環(huán)體至少無條件執(zhí)行一次C.do—while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)D.do—while的循環(huán)體不能是復(fù)合語句6.下面程序的運(yùn)行結(jié)果是。#include<stdio.h>{main()a=1,b=10;b-=a;〈while(b--<0):printf("a=%d,b=%d\n",a,b);return0:A.a=3,b=11B.a=2,b=8C.a=1,b=-1D.a=4,b=97.若i為整型變量,則以下循環(huán)執(zhí)行次數(shù)是(for(i=2;i==0;)printf("%d",i--);A.無限次B.0次C.1次D.2次8.下面程序的功能是計(jì)算1到10之間的奇數(shù)之和及偶數(shù)之和。請(qǐng)選擇填空。#include<stdio.h>intmain()inta,b,c,i;for(i=0;i<=10;i+=2){〈}〈}}printf("sumoftheeven=%d\n",a);printf("sumoftheodd=%d\n",(2));return0 9.有以下程序#include<stdio.h>intmain(){return0;則下面描述中正確的是A.輸出1B.輸出2C.輸出3D.死循環(huán)。10.for循環(huán)語句:for(表達(dá)式1;表達(dá)式2;表達(dá)式3)語句,以下敘述正確的是。A.for語句中的3個(gè)表達(dá)式一個(gè)都不能少C.for語句中的循環(huán)體可以是一個(gè)復(fù)合語句11.關(guān)于break和continue,以下說法正確的是。二、程序閱讀題1.下面程序的運(yùn)行結(jié)果是。#include<stdio.h>#include<math.h>intmain(){inta=1,b=2,c=2,t;while(a<b<c){b=t;printf("%d,%d,%d\n",a,b,c);}2.有以下程序#include<stdio.h>{main()m=n=1;scanf("%d%d",&a,&b);{{m=2*n;b++;elsen=m+n;b++;while(a==b);printf("m=%dn=%d",m,n);若輸入輸入-10乂。程序的運(yùn)行結(jié)果是。3,下面程序的運(yùn)行結(jié)果是。#include<stdio.h>intmain(){for(a=0;a<6;a++)putchar(cl+a);putchar(c2+a);return0;}4.下面程序的運(yùn)行結(jié)果是。#include<stdio.h>intmain(){inti,m=0,n=0,k=0;for(i=9;i<=11;i++){switch(i/10){case0:m++;n++;break;n++;break;default:k++;n++;}printf("%d%d%d\n",m,n,k)return0;}5,下面程序的運(yùn)行結(jié)果是。#include<stdio.h>{main()a=1,b;for(b=1;b<=10;b++){if(a>=8)break;if(a%2==1){a+=5;continue;}}printf("%d\n",b);return0:}6.下面程序的運(yùn)行結(jié)果是。#include<stdio.h>{intm=0,k=0,i,j;{k++;k=k-j:}m=i+j;printf("k=%d,m=%d\n",k,m);}7.下面程序的運(yùn)行結(jié)果是e#include<stdio.h>intmain(){{x++;for(j=0;j<=3;j++){continue;X++;)x++;}printf("x=%d\n",x);return0:}8.有以下程序#include<stdio.h>#include<math.h>main()x,y,Z;scanf("%f,%f",&x,&y);while(1){if(fabs(z)>1.0){X=y;y=Z;}break;}printf("%3.1f\n",y);若輸入數(shù)據(jù)∠。程序的運(yùn)行結(jié)果是9.有以下程序#include<stdio.h>while(c!='\n'){{break;break;}printf("\n");若輸入數(shù)據(jù)7654∠。程序的運(yùn)行結(jié)果是。三、程序完善題1.下面程序的功能是:按規(guī)律將電文變成密碼,即將字母A變成字母E,a變成e,即變成其后的第4個(gè)字母,W變成A,X變成B,Y變成C,Z變成D;非字母字符保持原狀不變。如“boy”轉(zhuǎn)換為“fsc”。從鍵盤輸入一行字符,用換行符結(jié)束輸入,輸出其相應(yīng)的#include<stdio.h>{{if((ch>='a'&&ch<='z)|l(ch>={}printf("%c",ch);printf("\n")2.下面程序的功能是:計(jì)算100至1000之間有多少個(gè)數(shù)其各位數(shù)字之和是5。請(qǐng)?zhí)羁铡?include<stdio.h>{for(i=100;i<=1000;i++){while(k= ;count++;printf("%d",count);return0:#include<stdio.h>{t= ;}printf("s=%d\n",s);}4.下面程序的功能是:用公立求π的近似值,直到發(fā)現(xiàn)某一項(xiàng)#include<stdio.h>#include<math.h>{floatpi=0.0,n=1,t=whileipi=pi+t; ;}pi=pi*4printf("pi=%8.6f\n",pi);}5.下面程序的功能是:計(jì)算100以內(nèi)能被3整除,且個(gè)位數(shù)為4的所有整數(shù)。請(qǐng)?zhí)羁铡?include<stdio.h>{j=i*10+4:printf("%d\n",j);return0;則稱這個(gè)三位數(shù)為水仙花數(shù)。例如,153是一個(gè)水仙花數(shù),因?yàn)?53=13+53+33。一、選擇題1.在C語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型不允許是。2.以下對(duì)一維整型數(shù)組a的定義,正確的是。A.inta(10);B.intn=10,a[n];C.intn;D.inta[10];scanf("%d",&n);3.若有定義:inta[10];,則對(duì)a數(shù)組元素的正確引用是。A.a[10]B.a[3.5]C.a(5)D.a[10-10]4.對(duì)定義inta[10]={6,7,8,9,10};的正確理解是。 D.因?yàn)閿?shù)組長度與初值個(gè)數(shù)不相同,所以此語句不正確5.以下對(duì)二維數(shù)組a的正確說明是。A.inta[3][];B.floata(3)(4);6.若有定義:inta[3][4];,則對(duì)a數(shù)組元素的正確引用是。A.a[3][4]B.a[1,3]C.a[1+1][0]D.a(2)(1)7.以下對(duì)二維數(shù)組a初始化正確的語句是。A.inta[2][]={{0,1,2},{3,4,5}}:B.inta[][3]={{0,1,2},{3,4,5}};C.inta[2][4]={{0,1,2},{3,4},{5}};D.inta[][3]={{0,1,2},{},{3,4}};8.對(duì)二維數(shù)組a進(jìn)行如下初始化inta[][3]={0,1,2,3,4,5};A.0B.3C.4D.19,下面程序段的運(yùn)行結(jié)果是。#include<stdio.h>)inti,x[3][3]={1,2,3,4,5,6,7,8,9};printf("%2d",x[i][2-i]);return0;)A.159B.147C.357D.36910.以下對(duì)數(shù)組s的初始化,錯(cuò)誤的是A.chars[5]={"abc"};11.對(duì)兩個(gè)數(shù)組a和b進(jìn)行如下初始化,charb[]={'A','B','C','D','E','F'};則以下敘述正確的是。A.a和b數(shù)組完全相同B.a與b長度相同C.a的長度比b短D.a的長度比b長12.有兩個(gè)字符數(shù)組a,b,則以下正確的輸入語句是。A.gets(a,b);B.scanf("%s,C.scanf("%s%s",&a,&b);D.gets("a"),gets("b");13.下面程序段的運(yùn)行結(jié)果是。printf("%c\n",a[5]);A.□(□表示一個(gè)空格)B.\0C.eD.f14.判斷字符串s1是否大于字符串s2,應(yīng)當(dāng)使用。A.if(s1>s2)B.if(strcmp(s1,s2))C.if(strcpy(s1,s2))D.if(str15.若有定義:chars[100]="hello";,下列函數(shù)調(diào)用語句中,不正確的是。A.strlen(strcpy(s,"well"));B.strcat(s,"!");C.puts(puts("hello"));D.16.下面程序的運(yùn)行結(jié)果是。#include<stdio.h>intmain(){chara[80]="AB",b[80]="LMNP";b[i]=a[i];puts(b);}A.LBB.ABLMNP二、程序閱讀題1.下面程序的運(yùn)行結(jié)果是。#include<stdio.h>{k=5;for(i=0;i<10;i++)a[i]=i;p[i]=a[i*i];for(i=0;i<3;i++)k=p[i]*2;printf("%d\n",k);return0;2.下面程序的運(yùn)行結(jié)果是。#include<stdio.h>intmain(){inti,x[10]={2,3,0,3,0,2,3,2,1,3},y[4]={0};for(i=0;i<10;i++)y[x[i]]++;printf("%d\n",y[3]);3,下面程序的運(yùn)行結(jié)果是。#include<stdio.h>intmain(){inti,j,a[3][3]={0};for(i=0;i<3;i++)for(j=0;j<=i;j++)a[i][j]=i*j;printf("%d,%d\n",a[1][2],a[2][1]);return0;4.下面程序的運(yùn)行結(jié)果是。#include<stdio.h>{main()inti,s=0;for(i=0;i<3;i++)a[3][3]={0,1,2,3,4,5,6,7,8};s+=a[i][1];printf("%d\n",s);return0;}5,下面程序的運(yùn)行結(jié)果是。#include<stdio.h>intmain()chara[]='Time",b[]="Tom";for(i=0;a[i]!=\0'&&b[i]!='\0';i++)if(a[i]==b[i])if(a[i]>='a'&&a[i]<='z')printf("%c",a[i]-32);elseprintf("%c",a[i]+32);elseprintf("*");return0;}6.下面程序的運(yùn)行結(jié)果是c#include<stdio.h>intmain(){chara[]="morning",t;inti,j=0;if(a[j]<a[i])j=i;t=a[j];a[j]=a[7];a[7]=a[j];puts(a);return0;}7.下面程序的運(yùn)行結(jié)果是。#include<stdio.h>#include<string.h>intmain(){chara[5][10]={"one","two","three","four","five"},str[10];for(i=0;i<4;i++)for(j=i+1;j<5;j++)if(a[i][0]>a[j][0]){t=a[i][0];?strcpy(str,a[1]);puts(str);}三、程序完善題1.下面程序的功能是輸入5個(gè)整數(shù),找出最大數(shù)和最小數(shù)所在的位置,并把二者對(duì)調(diào),然后輸出調(diào)整后的5個(gè)數(shù)。請(qǐng)?zhí)羁铡?include<stdio.h>intmain(){inta[5],max,min,i,j=0,k=0;for(i=0;i<5;i++)scanf("%d",&a[i]);min=a[0];for(i=1;i<5;i++)if(a[i]<min){min=a[i]; ;(maxf=a[0];for(i=1;i<5;i++)if(a[i]>max){max=a[i]; ; printf("\nThepositionofminis:%3d\n",k);printf("\nThepositionofmaxis:%3d\n",j);for(i=0;i<5;i++)printf("%5d",a[i]);return0;}2.下面程序的功能是:從鍵盤上輸入10個(gè)學(xué)生的成績,統(tǒng)計(jì)計(jì)算出平均成績,并輸出低于平均分的學(xué)生成績。請(qǐng)?zhí)羁铡?include<stdio.h>intmain()printf("pleasrenter:ln"); ;avg=sum/10;ifprintf("%3d",score[i]);}并且存儲(chǔ)到數(shù)組s中。請(qǐng)?zhí)羁铡?include<stdio.h>intmain()a[3][4]={0,1,2,3,4,5,6,7,{printf("%4d",a[i][j]);; ;printf("%d\n",s[i]);}4.下面程序的功能是:將字符串str的內(nèi)容倒過來存放。請(qǐng)?zhí)羁铡?include<stdio.h>intmain(){{ ;printf("%s\n",str);}5.下面程序的功能是:從終端輸入字符,直到輸入#為止,統(tǒng)計(jì)輸入的字符中每個(gè)大寫字母的個(gè)數(shù),存放在num數(shù)組中,其中num[0]表示字母A的個(gè)數(shù),num[1]表示字母B的個(gè)#include<stdio.h>intmain(){intnum[26]={0},i;if(c>='A'&&c<='Z') ;for(i=0;i<26;i++)printf("%c:%d\n",i+'A',num[i]);return0;四、編程題1.在鍵盤上輸入N個(gè)整數(shù),編寫一個(gè)程序使該數(shù)組中的數(shù)按照從小到大的次序排列,首先找出值最小的數(shù),然后把這個(gè)數(shù)與第一個(gè)數(shù)交換,這樣值最小的數(shù)就放到了第一個(gè)位置;然后,再從剩下的數(shù)中找值最小的,把它和第二個(gè)數(shù)互換,使得第二小的數(shù)放在第二個(gè)位置上。以此類推,直到所有的值從小到大的順序排列為止。2.編寫一個(gè)程序,將輸入的數(shù)據(jù)插入到一個(gè)已按升序排好的數(shù)組中,要求插入后的數(shù)3.編寫一個(gè)程序,計(jì)算5×5的矩陣的主對(duì)角線之和。例如:其主對(duì)角線之和為60。4.編寫一個(gè)程序,將兩個(gè)字符串連接起來。不能使用strcat函數(shù)。5.編寫一個(gè)程序,計(jì)算字符串的實(shí)際長度。不能使用strlen函數(shù)。一、選擇題1.以下正確的說法是。戶源文件中,由系統(tǒng)自動(dòng)去調(diào)用。2.以下正確的函數(shù)形式是。z=x+y;returnz;}B.fun(intx,y){returnz;C.fun(x,y)doublez;returnz;D.doublefun(intx,inty){doublez;z=x+y;}3,如果一個(gè)函數(shù)沒有返回值,那么該函數(shù)的類型是。A.intB.charC.floatD.void4.C語言允許函數(shù)值類型缺省定義,此時(shí)該函數(shù)值隱含的類型是。A.intB.charC.floatD.yoid5.以下說法不正確的是6.一個(gè)函數(shù)形參的作用域是A.main函數(shù)B.形參所在函數(shù)體C.從定義處到文件尾D.整個(gè)程序7.以下關(guān)于形參和實(shí)參的說明中,錯(cuò)誤的是。向傳給實(shí)參8.C語言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是。B.單向值傳遞D.由用戶指定傳遞方式9.關(guān)于函數(shù)調(diào)用的形式,以下錯(cuò)誤的描述是。C.可以作為一個(gè)函數(shù)的實(shí)參D.可以作為一個(gè)函數(shù)的形參10.C語言規(guī)定,函數(shù)返回值的類型是由。11.以下函數(shù)原型聲明語句正確的是。A.voidf(intx):C.voidf(intx)D.void(intx);12.若用一維數(shù)組名作為函數(shù)調(diào)用的實(shí)參,傳遞給形參的是(A.數(shù)組首元素的地址B.數(shù)組第一個(gè)元素的值13,以下關(guān)于函數(shù)的遞歸調(diào)用說法中,錯(cuò)誤的是A.遞歸調(diào)用時(shí),調(diào)用函數(shù)又是被調(diào)用函數(shù),即遞歸函數(shù)將反復(fù)地調(diào)用其自身C.遞歸調(diào)用分為直接遞歸調(diào)用和間接調(diào)用兩種14.以下不正確的說法是。C.在函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效D.在函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效15.凡在函數(shù)中未指定存儲(chǔ)類型的局部變量,其隱含的存儲(chǔ)類型為1.下面程序的運(yùn)行結(jié)果是intmain()intmax(intx,inty);inta=1,b=2,c:c=max(a,b);printf("maxis%d\n",c);return0;intmax(intx,inty){}2.下面程序的運(yùn)行結(jié)果是。#include<stdio.h>{main()voidy);printf("a=%d,b=%d\n",a,b);return0;voidf(intx,inty){x=100;y=200:}3,下面程序的運(yùn)行結(jié)果是。#include<stdio.h>intmain(){voidincrement();increment();increment();increment();voidincrement(){printf("%d\t",x);}4.下面程序的運(yùn)行結(jié)果是o#include<stdio.h>intmain()inta=11,b=12,c;c=fl(a,b);printf("a=%d,b=%d,c=%d\n",a,b,c);return0;}{intf2(int,int);y=y*2;c=f2(x,y);returnc*2;{。5,下面程序的運(yùn)行結(jié)果是。#include<stdio.h>intmain(){printf("%d\n",fun(3));return0;{if(n)returnfun(n-1)+n;}6,下面程序的運(yùn)行結(jié)果是。#include<stdio.h>intmain(){printf("%4d",f(a));{b++;c++;)7.下面程序的運(yùn)行結(jié)果是。{intk=4,m=1,p;p=func(k,m);printf("%d\t",p);p=func(k,m);printf("%d\n",p);intfunc(inta,intb){i+=m+1;m=i+a+b;}8,下面程序的運(yùn)行結(jié)果是。{print();print():voidf1(){}{inti,a[3];}voidprint(){printf("%3d",a[i]);}1.下面程序的功能是:area函數(shù)計(jì)算圓的面積,main函數(shù)中調(diào)用area函數(shù),計(jì)算給定半徑的圓的面積,輸出時(shí)顯示兩位小數(shù)。請(qǐng)?zhí)羁?。intmain()printf("%6.2f\n",y);return0;floatarea(floatr){ ;}2.下面程序的功能是:fun函數(shù)實(shí)現(xiàn)x”的計(jì)算,main函數(shù)中調(diào)用fun函數(shù),計(jì)算43的值。請(qǐng)?zhí)羁?。intmain(){printf("z=%f\n",z);doublefun(doublex,i{3.z功能;:有一個(gè)一維數(shù)組score,內(nèi)放10個(gè)學(xué)生成績,統(tǒng)計(jì)不及格的學(xué)生}人數(shù)。請(qǐng)?zhí)羁铡?include<stdio.h>偶情況的函數(shù),在主函數(shù)中主函數(shù)輸入1個(gè)整數(shù),輸出是奇數(shù)還是 ;printf("%d\n",count}{{ :2.編寫一個(gè)判斷素?cái)?shù)的函數(shù),在主函數(shù)輸入1個(gè)整數(shù),輸出是否為素?cái)?shù)的信息。3.編寫兩個(gè)函數(shù),分別計(jì)算2個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),在主函數(shù)中輸入2個(gè)整數(shù),計(jì)算最大公約數(shù)和最小公倍數(shù)。4.編寫一個(gè)函數(shù),將2個(gè)字符串連接起來。第8章編譯預(yù)處理1.編譯預(yù)處理包括2.在宏定義#definePI3.1415926中,用宏名PI代替一個(gè)3.以下有關(guān)宏替換的敘述不正確的是,4.若程序中有#include<文件名>,則意味著5.在文件包含預(yù)處理語句的使用形式中,當(dāng)#include后面的文件名用""(雙引號(hào))括起時(shí),尋找被包含文件的方式是6.在文件包含預(yù)處理語句的使用形式中,當(dāng)#include后面的文件名用<>(雙引號(hào))括起時(shí),尋找被包含文件的方式是。二、程序閱讀題1.下面程序的運(yùn)行結(jié)果是#defineNNN*N/2{printf("%d,",NN);printf("%d",5*NN);2.下面程序的運(yùn)行結(jié)果是_#include<stdio.h>#defineMIN(x,y)(x)<(y)?(x):(y)intmain()j)inti=10,j=15,k;k=10*MIN(i,j);printf("%d\n",k);return0;}3.下面程序的運(yùn)行結(jié)果是#include<stdio.h>#defineDOUBLE(r)r*rintmain(){intx=1,y=2,t;t=DOUBLE(x+y);printf("%d\n",t);return0;一、選擇題1.若已定義inta=5;下面對(duì)①、②兩個(gè)語句的正確解釋是。①int*p=&a;②*p=a;A.語句①和②中的*p含義相同,都表示給指針變量p賦值。B.①和②語句的執(zhí)行結(jié)果,都是把變量a的地址值賦給指針變量p。C.①在對(duì)p進(jìn)行說明的同時(shí)進(jìn)行初始化,使p指向a;②將變量a的值賦給指針變量p。D.①在對(duì)p進(jìn)行說明的同時(shí)進(jìn)行初始化,使p指向a;②將變量a的值賦為*p。2.若需要建立如下圖9-16所示的存儲(chǔ)結(jié)構(gòu),且已有說明float*p,m=3.14;則正確的賦值語句是。3.143.14mp圖9-16A.p=m;B.p=&m;C.*p=m;D.*p=&m;3.有如下語句inta=10,b=20,*pl,*p2;p1=&a;p2=&b;如圖9-17所示;若要實(shí)現(xiàn)圖9-18所示的存儲(chǔ)結(jié)構(gòu),可選用的賦值語句是。plplp2plp2圖9-17圖9-18A.*pl=*p2;B.pl=p2;C.p1=*p2;D.*p1=p2;4.若有說明:int*p,n;以不正確的程序段是。A.scanf("%d",&n):B.scanf("%d",&n):*p=n;C.p=&n;D.p=&n:scanf("%d",&p);scanf("%d",p);5,下列選項(xiàng)中正確的語句組是。A.chars[8];s={"Beijing"};B.char*s;s={"Beijing"};C.chars[8];s="Beijing";D.char*s;s="Beijing"6.設(shè)char*s="\ta\017bc";則指針變量s指向字符串所占的字節(jié)數(shù)是。A.9B.57.下面程序段的運(yùn)行結(jié)果是。chara[]="anguage",*p;p=a;44while(*p!='u'){printf("%c",*p-32);p++;}A.LANGUAGEB.languageC.LANGD.langUAGEA.&aB.a+1C.aD.&a[1]9.有以下程序段inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[5];b中的值是cA.5B.6C.8D.910.若有定義:int*p[3];,則以下敘述中正確的是。A.定義了一個(gè)基類型為int的指針變量p,該變量具有三個(gè)指針B.定義了一個(gè)指針數(shù)組p,該數(shù)組含有三個(gè)元素,每個(gè)元素都是基類型為int的指針C.定義了一個(gè)名為*p的整型數(shù)組,該數(shù)組含有三個(gè)int類型元素D.定義了一個(gè)可指向一維數(shù)組的指針變量p,所指一維數(shù)組應(yīng)具有三個(gè)int類型元素11.設(shè)有以下定義和語句inta[3][2]={1,2,3,4,5},*p[3];p[0]=a[1];則*(p[0]+1)所代表的數(shù)組元素是cA.a[0][1]B.a[1][0]C.a[1][1]D.a[1][2]12.閱讀以下函數(shù)intfun(char*sl,char*s2){inti=0;while(sl[i]==s2[i]&&s2[i]!=\0)i++;return(sl[i]==\0'&&s2[i]=='\0);此函數(shù)的功能是。A.將s2所指字符串賦給s1B.比較s1和s2所指字符串的大小,若s1比s2的大,函數(shù)值為1,否則函數(shù)值為0C.比較s1和s2所指字符串是否相等,若相等,函數(shù)值為1,否則函數(shù)值為0D.比較s1和s2所指字符串的長度,若s1比s2的長,函數(shù)值為1,否則函數(shù)值為013.有以下程序段#include<stdio.h>intmain()c=&b;b=&a;return0;}程序在執(zhí)行了c=&b;b=&a;語句后,表達(dá)式**c的值是A.變量a的地址B.變量b的值C.變量a的值D.變量b的地址14.若有以下說明和語句intc[4][5],(*p)[5];p=c;能夠正確引用c數(shù)組元素的是A.p+1B.*(p+1)C.*(p+1)+3D.*(p[0]+2)15.在聲明語句“int*f();”中,標(biāo)識(shí)符f代表的是。16.設(shè)程序中若有如下說明和定義語句intmain()以下選項(xiàng)中對(duì)函數(shù)fun的正確調(diào)用語句是cA.(*f1)(a):B.*f1(*s);C.fun(&a):D.ch=*f1(s)17.不合法的main函數(shù)命令行參數(shù)的表示形式是。C.intmain(intargc,

溫馨提示

  • 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)論