版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
一、單選題1、?通常把高級語言源程序翻譯成目標程序的程序稱為()。A.匯編程序B.編譯程序C.編輯程序D.解釋程序答案:B2、?一個算法應該具有"確定性"等5個特性,下面對另外4個特性的描述中錯誤的是()。A.有零個或多個輸入B.有零個或多個輸出C.有窮性D.可行性答案:B3、?面向對象方法中,一個對象請求另一個對象為其服務的方式是通過發(fā)送()完成的。A.消息B.命令C.調用語句D.口令答案:A4、?以下敘述正確的是()。A.C語言不允許直接訪問物理地址,不可以直接對硬件進行操作B.C語言程序只需編譯,不需連接即可被計算機運行C.C語言允許直接訪問物理地址,可以直接對硬件進行操作D.C語言程序不用編譯,即可被計算機識別運行答案:C5、下面選項()不屬于結構化程序設計原則。A.程序模塊化B.不限制GOTO語句使用C.逐步求精D.自頂向下答案:B二、判斷題6、?計算機只能完成其能力范圍內的計算工作,超出計算機能力范圍的計算計算機將無法完成。(對)7、?高級語言是用接近自然語言的符號,按照一定的語法規(guī)則編寫程序,需要編譯程序翻譯成機器指令才能被計算機執(zhí)行。(對)8、面向對象程序設計方法具有與人們的習慣與思維方法一致,便于解決復雜問題的特性。(對)9、?程序中適當?shù)靥砑幼⑨?,可以增加程序的可讀性和清晰性。(對)10、在VC++6.0環(huán)境下,任何一個C程序都必須包含在一個工程項目中,而且只能有一個main函數(shù)。(對)三、填空題11、?C語言開發(fā)工具直接輸入的程序代碼是(源或源程序)文件,經(jīng)過編譯后生成的是目標程序文件,經(jīng)過連接后生成的是可執(zhí)行程序文件。12、?結構化程序設計所規(guī)定的三種基本控制結構是順序結構、(選擇或分支)結構和循環(huán)結構。13、?描述算法的方法主要有(自然語言)、專用工具(傳統(tǒng)流程圖)、(N-S流程圖)和偽代碼等。14、?程序的執(zhí)行方式分為(編譯)和解釋兩種方式。15、衡量算法的時間復雜度是指對于相同規(guī)模的問題,算法的執(zhí)行(時間)的長短。一、單選題1、關于變量定義,下面說法錯誤的是()。A.變量的類型確定了變量占據(jù)的存儲單元的大小B.確定了變量的表數(shù)范圍C.確定了變量中的內容D.確定了變量的名字答案:C2、?下列敘述正確的是()。A.C語言中的數(shù)據(jù)的類型不同,在內存中占據(jù)不同長度的存儲單元B.C語言中的常量是沒有類型的C.C語言中的數(shù)據(jù)的類型不同,但取值范圍都是相同的D.C語言中的數(shù)據(jù)的類型不同,在內存中占據(jù)相同長度的存儲單元答案:A3、?下列轉義字符中,錯誤的是()。A.'\"'B.'\0xa5'C.'\b'D.'\031'答案:B4、下面關于C語言標識符的命名規(guī)則敘述中不準確的是()。A.不區(qū)分大小寫字母B.首字符必須為字母或下劃線C.不能使用系統(tǒng)的保留字D.只能由字母、數(shù)字和下劃線組成答案:A5、?關于定點數(shù)和浮點數(shù)的說法,下列說法錯誤的是()。A.用浮點數(shù)表示既有整數(shù)部分、又有小數(shù)部分的實數(shù)B.浮點數(shù)表示的數(shù)即是數(shù)值的精確值C.在計算機中通常用定點數(shù)表示整數(shù)和純小數(shù)D.定點數(shù)表示數(shù)據(jù)的范圍有限答案:B6、?以下哪個數(shù)字的值最大()。A.10.0B.010C.10D.0x10答案:D二、判斷題7、?C語言的關鍵字是由C語言規(guī)定的、具有特定功能的固定字母組合,也稱為保留字,共計32個。(對)8、變量是在程序執(zhí)行期間其值可以改變的量,必須先定義后使用。(對)9、變量被定義后沒有賦值,其單元內容不可以使用,是內存中的隨機數(shù)。(對)10、變量的名字代表內存中的存儲單元;變量名和內存中的存儲單元相對應,通過變量名來存、取存儲單元的內容。(對)三、填空題11、?若有定義:charc='\010';則變量C中包含的字符個數(shù)為(1)。12、?已知i=5;寫出語句i+=012;執(zhí)行后整型變量i的十進制值是(15)。13、?在C語言中的實型變量分為float型和double型,按浮點數(shù)進行存儲,分為數(shù)符、(階碼)和尾數(shù)幾部分。14、設有變量定義:inti=3,j=5;floatx=2.5;doubley=5.0;則表達式y(tǒng)+=i-=j*=++x;的計算結果為(-9.0或-9.000000)。15、?設有變量定義:??floatx=2.5;??doubley=5.0;??則表達式(int)x/(int)y+y的值為(5.0)。一、單選題1、?若變量已正確定義,執(zhí)行語句scanf("%d,%d,%d",&k1,&k2,&k3);時,正確的數(shù)據(jù)輸入方法是()。A.20,3040B.20,30,40C.2030,40D.203040答案:B2、?以下程序的輸出結果是()。??intmain()??{??floatx=3.6;??inti;??i=(int)x;??printf("x=%f,i=%d\n",x,i);??return0;??}A.x=3i=3.600000B.x=3.600000,i=4C.x=3,i=3D.x=3.600000,i=3答案:D3、?已定義doublea;inti;選擇正確的輸入格式為()。A.scanf("%6.2f%3d",&a,&i);B.scanf("%6lf%3d",&a,&i);C.scanf("%f%d",a,i);D.scanf("%lf%s",&a,&i);答案:B4、?已有定義chars1,s2;,下面正確的語句是()。A.scanf("%c%c",&s1,&s2);B.scanf("%s%c",s1,&s2);C.scanf("%c%c",s1,s2);D.scanf("%s%c",s1,s2);答案:A5、?運行下面的程序,正確的輸出結果是()。??#include<stdio.h>??intmain()??{??doublex=68.7563,y=-789.127;??printf("%f,%10.2f\n",x,y);??return0;??}A.68.75,□□□-789.13B.68.756300,□□□-789.12C.68.75,-789.12D.68.756300,□□□-789.13答案:D6、?已知floatx=2.23,y=4.35;,根據(jù)下面的輸出結果,正確的程序段是()。??x=2.230000,y=4.350000??y+x=6.58,y-x=2.12A.printf("x=%8.2f,y=%8.2f",x,y);printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);B.printf("x=%7.2f,y=%7.2f\n",x,y);printf("y+x=%3.2f,y=%3.2f\n",y+x,y-x);C.printf("x=%f,y=%f\n",&x,&y);printf("y+x=%f,y=%f\n",y+x,y-x);D.printf("x=%8.6f,y=%8.6f\n",x,y);printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);答案:D二、判斷題7、?C語言中本身沒有提供專門的輸入輸出語句,輸入輸出通過調用函數(shù)完成。(對)8、?輸入數(shù)據(jù)時不可以指定數(shù)據(jù)的寬度。(錯)9、使用getchar()函數(shù)可以一次接受多個字符。(錯)10、?在使用標準的輸入/輸出庫函數(shù)時,應該在程序的開頭使用編譯預處理命令“#include<stdio.h>”。(對)三、填空題11、?getchar()函數(shù)只能接收一個(字符)。12、?下列語句輸出的結果是(b,98)。??charch='b';??printf("%c,%d",ch,ch);13、用scanf函數(shù)輸入數(shù)據(jù)(%lf%lf),使得x=1.23,y=67.1234。#include<math.h>#include<stdio.h>intmain(){doublex,y,z;scanf("",&x,&y);z=2*x+y/sin(3.1415/4);printf("z=%6.2f",z);return0;}14、用scanf函數(shù)輸入數(shù)據(jù)(a=%d,b='%c',c='%c'或a=%d,b=\'%c\',c=\'%c\'),使得下面程序運行結果為a=2,b='x',c='z'?#include<stdio.h>?intmain()?{?inta,b;?scanf("%d%c",&a,&b);?printf("",a,b,b+2);?return0;?}15、?若要將數(shù)據(jù)以指數(shù)形式輸出,應該選擇(e或E)格式符。一、單選題1、?若給定條件表達式(m)?(a++):(a--),則其中表達式m()。A.和(m==1)等價B.和(m!=1)等價C.和(m!=0)等價D.和(m==0)等價答案:C2、?C語言的switch語句中case后邊()。A.只能為常量或常量表達式B.可為任何量或表達式C.只能為常量D.可為常量或表達式或有確定值的變量及表達式答案:A3、?執(zhí)行下面程序段后,ch的值是()。??charch='a';??ch=(ch>='A'&&ch<='Z')?(ch+32):ch;A.ZB.AC.zD.a答案:D4、?下列表達式中,值為0的表達式是()。A.3!=3>4B.3>4==0C.6>5>4D.3!=0答案:C5、?設inta=3;,則表達式a<1&&--a>1的運算結果和a的值分別是()。A.1和2B.0和2C.0和3D.1和3答案:C6、?設整型變量x、y、z的值分別為3、2、1,則下列程序段的輸出是()。??if(x>y)x=y;??if(x>z)x=z;??printf("%d,%d,%d\n",x,y,z);A.1,2,3B.3,2,1C.1,2,1D.1,1,1答案:C二、判斷題7、?能正確表達邏輯關系“0<a<1并且0<b<1”的表達式是(0<a<1)&&(0<b<1)。(錯)8、?在a>b?a+b:a-b表達式中,若a>b,則條件表達式的值為a+b的值,否則為a-b的值。(對)9、條件運算符的優(yōu)先級低于算術運算符、關系運算符及邏輯運算符,高于賦值運算符和逗號運算符。(對)10、同一個switch語句中各個常量表達式的值必須互不相等,且只能是常量。(對)三、填空題11、intx=4,y=4,z=2;x=y==z;則x的值為(0)。12、?當a=1,b=2,c=3時,執(zhí)行以下程序段后b的值為(2)。??if(a>c)??b=a;??a=c;??c=b;13、?當a=3,b=2,c=1;時,執(zhí)行以下程序段后,a=(2)。??if(a>b)a=b;??if(b>c)b=c;??elsec=b;??c=a;14、?c語言表達式5>2>7>8的值是(0)。15、?為了避免嵌套條件語句的二義性,C語言規(guī)定else與其前面最近的(if)語句配對。??一、單選題1、?關于下面程序段,正確的是()。??intk=10;?while(!k)??k--;A.死循環(huán)B.循環(huán)體執(zhí)行10次C.循環(huán)體執(zhí)行1次D.循環(huán)體一次也不執(zhí)行答案:D2、下面程序的運行結果是()。?#include<stdio.h>?intmain()?{?intx=3;?do{?printf("%3d",x-=2);?}while(!(--x));?return0;?}A.1-2B.死循環(huán)C.1D.10答案:A3、下面程序的運行結果是()。?#include<stdio.h>?intmain()?{?inti=0,sum=0;?while(i++<6)?sum+=i;?printf("%d",sum);?return0;?}A.21B.22C.15D.16答案:A4、?下面程序的運行結果是()。???#include<stdio.h>??intmain()??{??inti=10;??while(i-->0);??printf("%d",i);??return0;??}A.-1B.10C.0D.10987654321答案:A5、?已定義intj;下面程序段的輸出結果是()。??for(j=7;j<10;j++)??printf("%d",j);A.91011B.789C.無結果D.8910答案:B6、?下面程序的輸出結果是()。??#include<stdio.h>??intmain()??{??inti,j,s=0;??for(j=1,i=7;j<=i;j++,i--)??s=s+i+j;??printf("%d",s);??return0;??}A.0B.死循環(huán)C.32D.28答案:C二、判斷題7、?while循環(huán)語句至少無條件執(zhí)行一次循環(huán)體。(錯)8、?dowhile循環(huán)語句中,根據(jù)情況可以省略關鍵字while。(對)9、?dowhile循環(huán)語句至少無條件執(zhí)行一次循環(huán)體。(對)10、for循環(huán)語句先判斷循環(huán)條件是否成立,然后再決定是否執(zhí)行循環(huán)體。(對)11、?for循環(huán)的三個表達式中間用逗號相分隔,并且不能省略。(錯)12、?dowhile循環(huán)語句的特點是先執(zhí)行循環(huán)體,然后判斷循環(huán)條件是否成立。(對)三、填空題13、下面程序用來計算10!,請完善程序。(s=1)?#include<stdio.h>?intmain()?{?intj,s;?;?for(j=1;j<=10;j++)?s*=j;?printf("%d",s);?return0;?}?14、?下面程序用來計算1+1/2!+1/3!+…1/10!,請完善程序。(double或float)?#include<stdio.h>?intmain()?{?inti,j;?sum=0,fac;?for(i=1;i<=10;i++)?{?fac=1;?for(j=1;j<=i;j++)?fac=fac*j;?sum=sum+1/fac;?}?printf("%f",sum);?return0;?}15、?下面程序計算并輸出1100之間[包括100]能被3整除同時能被7整除余3的所有數(shù)之和,請完善程序。(i<=100或i<101)?#include<stdio.h>?intmain()?{?intsum=0,i;?i=1;?while()?{?if(i%3==0&&i%7==3)?sum=sum+i;?i++;?}?printf("sum=%d",sum);?return0;?}??一、單選題1、從循環(huán)體內某一層跳出,繼續(xù)執(zhí)行循環(huán)外的語句是()。A.空語句B.continue語句C.break語句D.if語句答案:C2、?針對for循環(huán)語句,for(表達式1;表達式2;表達式3),下列說法正確的是()。A.break語句可以一次性跳出多層嵌套循環(huán)B.continue語句可以一次性跳出多層嵌套循環(huán)C.continue語句只能跳出所在層循環(huán)D.break語句只能跳出所在層循環(huán)答案:D3、?以下正確的描述是()。A.在循環(huán)體內使用break和continue語句的作用相同。B.只能在循環(huán)體內和switch語句內使用break語句。C.continue語句的作用是終止整個循環(huán)的執(zhí)行。D.從多層嵌套的外層循環(huán)中退出時,只能使用goto語句。答案:B4、?下面程序的運行結果是()。??#include<stdio.h>??intmain()??{inti,j,sum;??for(i=2;i<7;i++)??{sum=1;??for(j=i;j<7;j++)??sum=sum+j;}??printf("%d",sum);??return0;??}A.49B.48C.1D.7答案:D5、?下面程序的運行結果是()。??#include<stdio.h>??intmain()??{inti=10,s=0;??while(i>0)??{if(i%3==0)continue;??s=s+i;??i--;}??printf("s=%d",s);??return0;??}A.55B.死循環(huán)C.10D.37答案:B二、判斷題6、continue語句用于終止循環(huán)體的本次執(zhí)行。(對)7、break語句能夠終止當前進行的多層循環(huán)。(錯)8、?對于for(表達式1;表達式2;表達式3)語句來說,continue語句意味著轉去執(zhí)行表達式3。(對)9、?continue語句在循環(huán)體中出現(xiàn),其作用是結束本次循環(huán),接著進行是否執(zhí)行下一循環(huán)的判定。(對)10、break終止包含該語句的最內層循環(huán)。(對)11、?for(表達式1;表達式2;表達式3),當執(zhí)行循環(huán)體內的continue語句時,意味著轉去執(zhí)行表達式2。(錯)12、?程序中遇到goto語句無條件跳到標號指定的位置繼續(xù)執(zhí)行。(對)三、填空題13、?程序的功能是:求1到10的階乘的和。(t=1)#include"stdio.h"?intmain(){intn,j,s=0,t;for(n=1;n<=10;n++){;for(j=1;j<=n;j++)t=t*j;s=s+t;}printf("s=%d\n",s);return0;}?14、程序的功能是:從鍵盤輸入10個字符,輸出其中數(shù)字字符。(continue)#include<stdio.h>intmain(){inti;charc;for(i=1;i<=10;i++){c=getchar();if(c<'0'||c>'9');putchar(c);}return0;}15、?用10元人民幣兌換角幣有多少種換法[角幣有1角、2角、5角三種]。(j<=50)??#include<stdio.h>??intmain()??{inti,j,k,m=0;??for(i=0;i<=20;i++)??for(j=0;;j++)??for(k=0;k<=100;k++)??if(i*5+j*2+k==100)??{m++;printf("i=%d,j=%d,k=%d\n",i,j,k);}??printf("m=%d",m);??return0;??}一、單選題1、對以下說明語句的正確理解是()。inta[10]={6,7,8,9,10};A.將5個初值依次賦給a[1]至a[5]B.將5個初值依次賦給a[0]至a[4]C.因為數(shù)組長度與初值的個數(shù)不相同,所以此語句不正確D.將5個初值依次賦給a[6]至a[10]答案:B2、現(xiàn)有如下程序,則程序的輸出結果為()。?#include<stdio.h>?intmain()?{?intk[30]={12,324,45,6,768,98,21,34,453,456};?intcount=0,i=0;?while(k[i])?{?if(k[i]%2==0‖k[i]%5==0)?count++;?i++;?}?printf("%d,%d\n",count,i);?return0;?}A.8,10B.7,8C.8,8D.7,10答案:A3、以下能對一維數(shù)組a進行初始化的正確語句是()。A.inta[]={0};B.inta[10]={0,1,2,3,4,5,6,7,8,9,10};C.inta[10]=(0,0,0);D.inta[10]={};答案:A4、以下對一維整型數(shù)組a的正確說明是()。A.inta(6);B.#defineN8inta[N];C.intn=10,a[n];D.intn;scanf(“%d”,&n);inta[n];答案:B5、下面程序的運行結果是()。?#include<stdio.h>?intmain()?{?inta[10],i,k=1;?for(i=0;i<10;i++)?a[i]=i;?for(i=1;i<6;i++)?k+=a[i]+i;?printf("%d\n",k);?return0;?}A.33B.20C.31D.32答案:C二、判斷題6、?如果對數(shù)組不賦初值,則數(shù)組元素取隨機值。(對)7、?引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許的是:整型常量或整型表達式。(對)8、數(shù)組名的規(guī)定與變量名不相同。(錯)9、一個數(shù)組可以存放許多不同類型的數(shù)值。(錯)10、?數(shù)組的下標通常是float型。(錯)三、填空題11、下列程序的功能是輸入N個實數(shù),然后依次輸出前l(fā)個實數(shù)和、前2個實數(shù)和、……前N個實數(shù)和。(x=x+f[i-1]或x+=f[i-1])?12、下列程序的功能是輸出數(shù)組s中最大元素的下標。(k=i)?13、以下程序的功能是求數(shù)組num中小于零的數(shù)據(jù)之和。請?zhí)羁?。(num[i]+sum或sum+num[i])
一、單選題1、有以下程序??#include<stdio.h>??intmain()??{inta[4][4]={{1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}},i,k,t;??for(i=0;i<3;i++)??for(k=i+1;k<4;k++)??if(a[i][i]<a[k][k])??{t=a[i][i];??a[i][i]=a[k][k];??a[k][k]=t;}??for(i=0;i<4;i++)??printf("%d,",a[0][i]);??return0;??}??程序運行后的輸出結果是()A.2,3,4,6B.6,4,3,2C.1,1,2,6D.6,2,1,1答案:B2、設有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()A.7個字節(jié)B.6個字節(jié)C.5個字節(jié)D.4個字節(jié)答案:B3、下述對C語言字符數(shù)組的描述中錯誤的是()?A.字符數(shù)組可以存放字符串B.字符數(shù)組的下標從0開始C.可以在賦值語句中通過賦值運算符"="對字符數(shù)組整體賦值D.字符數(shù)組中的字符串可以進行整體輸入/輸出答案:C4、下面程序的運行結果是#include"stdio.h"#include"string.h"intmain(){chara[80]="AB",b[80]="LMNP";inti=0;strcat(a,b);while(a[i++]!='\0')b[i]=a[i];puts(b);return0;}A.LBLMNPB.ABLMNPC.LBD.AB答案:A5、若二維數(shù)組a有m列,則在a[i][j]前的元素個數(shù)為A.i*m+j+1B.i*m+jC.i*m+j-1D.j*m+i答案:B二、判斷題6、?字符數(shù)組不要求它的最后一個字符為”\0”,甚至可以不包含”\0”。(錯)7、?在程序中可以對數(shù)值數(shù)組中的數(shù)據(jù)進行整體使用。(對)8、?用scanf函數(shù)輸入的字符串不可以帶空格。(錯)9、?用gets函數(shù)輸入的字符串可以帶空格。(對)10、?實現(xiàn)兩個字符串的復制可以使用str1=str2;語句。(對)三、填空題11、輸出連接后的字符串(#include<string.h>或#include"string.h"或#include<string.h>或#include"string.h")?#include"stdio.h"?intmain()?{?charss[10]="12345";?strcat(ss,"6789");?printf("%s",ss);?return0;?}??12、計算矩陣a的下三角(包含主對角線)元素之和,矩陣的行、列數(shù)和元素值均由鍵盤輸入(j<=i或i>=j)#defineM20#include"stdio.h"intmain(){inti,j,n,a[M][M];ints=0;scanf("%d",&n);for(i=0;i<n;i++)for(j=0;j<n;j++)scanf("%d",&a[i][j]);for(i=0;i<n;i++)for(j=0;;j++)s=s+a[i][j];printf("%d\n",s);return0;}??13、下面程序的功能是將字符串a(chǎn)下標值為偶數(shù)的元素由小到大排序,其他元素不變。請?zhí)羁?。(a[i]>a[j]或a[j]<a[i])?#include<stdio.h>?intmain()?{chara[]="labchmfye",t;?inti,j;?for(i=0;i<7;i+=2)?for(j=i+2;j<9;j++)?if()?{t=a[i];?a[i]=a[j];?a[j]=t;?j++;}?puts(a);?printf("\n");?return0;?}??一、單選題1、?以下函數(shù)返回值的類型是()。?intfff(floatx)?{?x=x+5;?returnx;?}A.無法確定B.int類型C.void類型D.與參數(shù)x的類型相同答案:B2、?以下敘述錯誤的是()。A.函數(shù)調用可以作為一個函數(shù)的實參B.函數(shù)調用可以作為一個函數(shù)的形參C.函數(shù)調用可以出現(xiàn)在一個表達式中D.函數(shù)允許遞歸調用答案:B3、以下說法正確的是()。A.C程序總是從第一個定義的函數(shù)開始執(zhí)行B.C程序中的main()函數(shù)必須放在程序的開始處C.C程序中,被調用的函數(shù)必須在main()函數(shù)中定義D.C程序總是從主函數(shù)main()開始執(zhí)行答案:D4、?關于函數(shù)的定義,敘述錯誤的是()。A.必須給出函數(shù)完成的功能語句B.必須指出函數(shù)的名字和類型C.函數(shù)參數(shù)可有可無D.函數(shù)必須要有返回語句答案:D5、關于函數(shù)原型,敘述錯誤的是()。A.函數(shù)可以不必進行聲明,可以放在程序的任意位置B.被調用函數(shù)在主調函數(shù)之前定義,可以省略函數(shù)原型聲明C.當自定義函數(shù)被放在了主調函數(shù)的后面,就需要在函數(shù)調用之前,加上函數(shù)的原型聲明D.所有函數(shù)定義放在main函數(shù)之前,可以省略原型聲明答案:A6、?下列函數(shù)定義中,正確的是()。A.intmax1(inta,intb);{returna>b?a:b;}B.intmax1(a,b){inta,b;returna>b?a:b;}C.intmax1(inta,b){returna>b?a:b;}D.intmax1(inta,intb){returna>b?a:b;}答案:D二、判斷題7、?模塊化程序設計方法是采用逐步分解、分而治之的方法處理問題。(對)8、函數(shù)的表達式調用必須是有返回值的函數(shù)調用。(對)9、函數(shù)通過return語句可以向主調用函數(shù)返回多個值。(錯)10、?一個函數(shù)中有且只能有一個return語句。(錯)三、填空題11、數(shù)組作為函數(shù)參數(shù)進行函數(shù)調用時,實參應當采用(數(shù)組名)。12、以下函數(shù)的功能是連接兩個字符串,請完善程序。(str[i]='\0'或str[i]=0)?voidstr_cat(charstr1[],charstr2[],charstr[])?{?inti,j;?for(i=0;str1[i]!='\0';i++)?str[i]=str1[i];?for(j=0;str2[j]!='\0';j++)?str[i++]=str2[j];?;?}??13、?以下函數(shù)的功能是計算n!,請完善程序。(sum*i或i*sum)??longmul(intn)??{??inti=1;??longsum;??if(n==0)return1;??elsesum=1;??while(i<=n)??{??sum=;??i++;??}??returnsum;??}14、?在調用一個函數(shù)的過程中,直接或間接地調用該函數(shù)本身,稱為函數(shù)的(遞歸)調用。15、?完善下列程序(voiddata(intb[3][3]);或voiddata(intb[][3]);)??#include<stdio.h>??_______________??intmain()??{??inta[3][3],i,j;??data(a);??for(i=0;i<3;i++)??{??for(j=0;j<3;j++)??printf("%3d",a[i][j]);??printf("\n");??}??return0;??}??voiddata(intb[3][3])??{??inti,j;??for(i=0;i<3;i++)??for(j=0;j<3;j++)??if(i==0||i==2||j==0||j==2)??b[i][j]=6;??else??b[i][j]=1;??}一、單選題1、?C編譯系統(tǒng)對程序中的宏展開是在()。A.編輯時進行的B.編譯時進行的C.編譯前預處理時進行的D.程序執(zhí)行時進行的答案:C2、以下敘述不正確的是()。A.全局變量存放在靜態(tài)存儲區(qū)B.在程序運行期間,全局變量所占存儲單元的值永久保留C.全局變量可以由系統(tǒng)自動初始化D.當局部變量與全局變量重名時,全局變量起作用答案:D3、執(zhí)行下列程序后的輸出結果是()。?#include<stdio.h>?inta=3,b=4;?voidfun(intx1,intx2)?{?printf("%d,%d",x1+x2,b);?}?intmain()?{?inta=5,b=6;?fun(a,b);?return0;?}A.3,4B.11,1C.11,4D.11,6答案:C4、?在文件包含預處理的定義中,#include后的文件名用<>括起來時,尋找被包含文件的方式是()。A.按系統(tǒng)指定的路徑下搜索指定文件B.僅搜索當前目錄C.先在源程序所在目錄搜索,再按系統(tǒng)設定的標準方式搜索D.僅搜索源程序所在目錄答案:A5、?函數(shù)的形式參數(shù)系統(tǒng)默認存儲類型說明是()。A.registerB.externC.staticD.auto答案:D6、?下述程序的結果為()。?intf(intx)?{?staticinta=3;?a+=x;?returna;?}?intmain()?{?intk=2,m=1,n;?n=f(k);?n=f(m);?printf("%d",n);?return0;?}A.3B.9C.6D.4答案:C二、判斷題7、?在一個函數(shù)中定義的靜態(tài)局部變量可以被另一個函數(shù)調用。(錯)8、?如果在一個文件內需要使用在其他文件中定義的全局變量,則需要在引用該變量的文件內,用extern對此變量做說明。(對)9、?宏名沒有作用域,在整個文件范圍內都有效。(錯)10、進行宏定義時,可以引用已經(jīng)定義的宏名進行層層置換。(對)11、帶參數(shù)的宏定義,進行宏展開時與函數(shù)調用主要區(qū)別是,只替換,不求值。(對)三、填空題12、?預處理命令行都必須以(#)號開始。13、局部靜態(tài)變量是在靜態(tài)存儲區(qū)分配存儲單元的,在整個程序運行期間始終占(內存或存儲)空間。14、下面程序的運行結果:(Howareyou)。?#include<stdio.h>?#include<ctype.h>?voidfun(chars[])?{?inti,j;?for(i=j=0;s[i];i++)?if(isalpha(s[i]))?s[j++]=s[i];?s[j]='\0';?}?intmain()?{?charstr[20]="Howareyou!";?fun(str);?puts(str);?return0;?}?其中,函數(shù)isalpha(ch)的功能是判斷ch是否為字母,若是,函數(shù)值為1,否則為0。15、?下列程序的運行結果:(11)。?#defineMOD(x,y)x%y?intmain()?{?intz,a=15,b=100;?z=MOD(b,a);?printf("%d\n",++z);?return0;?}一、單選題1、?如有下面的語句說明,則執(zhí)行語句for(i=0;*s++;i++);后變量i的值是()。?inti;??char*s="a\n46\b";A.8B.6C.7D.5答案:D2、?如有下面的語句說明,則正確的賦值語句是()。?chara[10],*p=a;A.p=”VC++”;B.a=”VC++”;C.*p=”VC++”;D.a[10]=”VC++”;答案:A3、?如有下面的語句說明,則下面賦值表達式非法的是()。?inti,j,*p,*q;A.i=(int)pB.p=&iC.i=*p+++*qD.*q=&j答案:D4、若有以下語句,則&a[2]-p的值是()。?inta[3],*p=a;A.2B.3C.不確定D.1答案:A5、若有程序段?intb[4],*p,*q;?p=&b[1];q=&b[3];?則q-p表示的意義是()。A.表達式錯誤B.p與q之間數(shù)據(jù)個數(shù)C.p與q之間的字節(jié)數(shù)D.p占據(jù)的字節(jié)數(shù)答案:B二、判斷題6、只可以通過求地址運算”&”獲得地址值。(錯)7、?空指針p是指向地址為0的存貯單元的指針。(錯)8、如有變量的定義char*p=”abc”;語句*p=’X’;是合法的。(錯)9、如有變量的定義chars[]=”abc”;語句char*p=s;是合法的。(對)10、?如有變量的定義int*r;doublex;則語句r=&x;是合法的。(錯)三、填空題11、?若已定義char*p;,使指針p指向變量ch的賦值語句是(p=&ch;)。12、若有定義:charch,*p=&ch;?通過指針p給變量ch讀入字符的scanf調用語句是(scanf["%c",p];)。??13、?若有定義:charch,*p=&ch;??通過指針p給變量ch賦字符'a'的語句是(*p='a';)。14、如有變量的定義inti,j,*p=&i,*q=&j;則表達式p==&i的值是(1)。15、將字符數(shù)組s1中的字符串拷貝到字符數(shù)組s2中,請完善程序。(s2)?#include<stdio.h>?intmain()?{?chars1[80],s2[80],*p1,*p2;?gets(s1);?p1=s1;?p2=s2;??while(*p2++=*p1++);?printf("s2=%s",________);?return0;?}??四、單選題1、如定義int(*p)[10];,則標識符p是()。A.含有10個整型指針元素的數(shù)組名B.指向含有10個整型元素的一維數(shù)組的指針C.含有10個整型元素的數(shù)組名D.指向整型變量的地址答案:B2、?以下正確的程序段是()。A.chars[20],*t="12345";strcat(s,t);B.chars[]="12345",t[]="6543d21";strcpy(s,t);C.chars[20]="",*t="12345";strcat(s,t);D.char*s="12345",*t="54321";strcat(s,t);答案:C3、下面程序段的運行結果是()。#include<stdio.h>intmain(){chars[]="example!",*t;t=s;while(*t!='p'){printf("%c",*t-32);t++;?}?return0;?}A.EXAMPLE!B.example!C.EXAMD.example!答案:C4、?若有定義:chard[15],*p=d;,則以下正確的賦值語句是()。A.d="IloveChina!";B.p="IloveChina!";C.d[0]="IloveChina!";D.*p="IloveChina!";答案:B5、如定義int*p[10];,則標識符p是()。A.含有10個整型指針元素的數(shù)組名B.整型指針變量C.指向10個整型元素的一維數(shù)組的指針D.指向二維數(shù)組的指針變量答案:A五、判斷題6、?指向函數(shù)的指針變量的值是一個函數(shù)的入口地址。(對)7、?作為函數(shù)形式參數(shù)時,intx[][5]與int(*x)[5]兩種寫法等價。(對)8、?二維M*N數(shù)組的名字是一個指向N元數(shù)組的指針常量。(對)9、如果一個變量的值是一級指針變量的地址,則稱這個變量為二級指針變量。(對)10、可以利用指針實現(xiàn)函數(shù)返回多個值。(對)六、填空題11、?如有變量的定義inti,j,*p=&i,*q=&j;則表達式p==&i的值是(1)。??12、?如有變量的定義doublea[2],*p=a,*q=p+1;則表達式q-p的值是(1)。??13、?下面程序的運行結果為:(Porm)。??#include<stdio.h>??intmain()??{??staticchara[]=”Program”,*ptr;??for(ptr=a;ptr<a+7;ptr+=2)??putchar(*ptr);??return0;??}14、如有定義chary[4]=“321”,z[2][4]={“MAT”,“LAB”},*py=&y[0],*pz=&z[1][0];?則表達式*y+2的值是(5或'5'或53)。15、如有定義chary[4]=“321”,z[2][4]={“MAT”,“LAB”},*py=&y[0],*pz=&z[1][0];(1或'1'或49)則表達式*(py+2)的值是。?一、單選題1、?有以下的結構體變量定義語句:??structstudent??{??intnum;??charname[9];??}stu;??則下列敘述中錯誤的是()。A.結構體類型名為stuB.結構體名為studentC.num是結構體成員名D.struct是C的關鍵字答案:A2、有以下定義語句:?structstudent?{intnum;?charname[9];}?則不能正確定義結構體數(shù)組并賦初始值的是()。A.structstu[]={{1,"zhangsan"},{2,"lisi"}};B.structstudentstu[2]={1,"zhangsan",2,"lisi"};C.structstudentstu[]={{1,"zhangsan"},{2,"lisi"}};D.structstudentstu[2]={{1,"zhangsan"},{2,"lisi"}};答案:A3、?以下程序的輸出結果是()。??#include<stdio.h>??voidmain()??{structcmplx{intx;inty;}cnum[2]={1,3,2,7};??printf("%d\n",cnum[0].y/cnum[0].x*cnum[1].x);??}A.0B.6C.3D.1答案:B4、?有以下程序:??#include<stdio.h>??structord??{intx,y;}dt[2]={1,2,3,4};??intmain()??{structord*p=dt;??printf("%d,",++p->x);printf("%d\n",++p->y);??return0;??}??程序的運行結果是()。A.4,1B.1,2C.2,3D.3,4答案:C5、?若有以下說明和定義??uniondt??{??inta;charb;doublec;??}data;??以下敘述中錯誤的是()。A.程序段:data.a=5;printf("%f\n",data.c);輸出結果為5.000000B.變量data所占內存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等C.data的每個成員起始地址都相同D.data可以作為函數(shù)的實參答案:A二、判斷題6、設有定義:?structstudent?{intID;?charname[12];}s,*p=&s;?語句:p.ID=20161001;是否正確?(錯)7、?使幾個不同類型的變量共占同一段內存的結構稱為共用體。(對)8、?在定義一個共用體變量時,系統(tǒng)分配給它的存儲空間是該共用體變量中占用存儲單元最長的成員的長度。(對)9、?結構體變量可以在函數(shù)間傳遞,傳遞方式有值傳遞和地址傳遞兩種。(對)三、填空題10、?以下程序運行后的輸出結果是(123)。??#include<stdio.h>??structNODE??{intk;??chars[20];??};??intmain()??{??structNODEm[3];??inti;??for(i=0;i<3;i++)??
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年電氣傳動系統(tǒng)中的反饋控制策略
- 2026年綠色建筑技術的國際經(jīng)驗
- 2026年智能監(jiān)控在路基建設中的應用實例
- 賀家李課件教學課件
- 醫(yī)院醫(yī)療廢物焚燒設備維護規(guī)范培訓
- 貨物安全操作培訓課件
- 個性化疫苗設計與制備
- 醫(yī)院管理與運營優(yōu)化
- 醫(yī)療信息安全管理與隱私保護策略
- 2026年衡水職業(yè)技術學院單招綜合素質考試參考題庫帶答案解析
- 心理治療效果評估-洞察分析
- 危重患者的早期識別及處理原則
- 華師 八下 數(shù)學 第18章 平行四邊形《平行四邊形的判定(2)》課件
- 新教科版小學1-6年級科學需做實驗目錄
- GB/T 18457-2024制造醫(yī)療器械用不銹鋼針管要求和試驗方法
- 電信營業(yè)廳運營方案策劃書(2篇)
- 手機維修單完整版本
- 流感防治知識培訓
- 呼吸內科進修匯報課件
- 康復治療進修匯報
- 離婚協(xié)議書模板(模板)(通用)
評論
0/150
提交評論