C語言最終模擬題含復習資料_第1頁
C語言最終模擬題含復習資料_第2頁
C語言最終模擬題含復習資料_第3頁
C語言最終模擬題含復習資料_第4頁
C語言最終模擬題含復習資料_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

題號1.以下選項中,能用作用戶標識符的是(C)。A:void B:8_8C:_0_ D:unsigned題號2...選擇題A:(1分,正確答案A,學生答案*)閱讀以下程序#include<stdio.h>main(){intcase;floatprintF;printf("請輸入2個數(shù):");scanf("%d%f",&case,&printF);printf("%d%f\n",case,printF);}該程序在編譯時產(chǎn)生錯誤,其出錯原因是()。A:定義語句出錯,case是關(guān)鍵字,不能用作用戶自定義標識符 B:定義語句出錯,printF不能用作用戶自定義標識符C:定義語句無錯,scanf不能作為輸入函數(shù)使用 D:定義語句無錯,printf不能輸出case的值題號3...選擇題A:(1分,正確答案B,學生答案B)表達式:(int)((double)9/2)-(9)%2的值是()。A:0 B:3C:4 D:5題號4...選擇題A:(1分,正確答案B,學生答案D)若有定義語句:intx=10;,則表達式x-=x+x的值為()。A:-20 B:-10C:0 D:10題號5...選擇題A:(1分,正確答案D,學生答案*)有以下程序#include<stdio.h>main(){inta=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);}程序運行后的輸出結(jié)果是()。A:0,0 B:1,0C:3,2 D:1,2題號6...選擇題A:(1分,正確答案A,學生答案*)有以下程序#include<stdio.h>main(){intc=0,k;for(k=1;k<3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf("%d\n",c);}程序運行后的輸出結(jié)果是()。A:3 B:5C:7 D:9題號7...選擇題A:(1分,正確答案B,學生答案A)當需要定義一個函數(shù)時,以下標識符中,()不能用作函數(shù)名。A:scanf B:forC:_sum D:F2題號8...選擇題A:(1分,正確答案D,學生答案*)已有聲明語句"unsignedcharch;",及表達式"ch='B'"的值不相同的表達式是()。(注釋:字符A的Ascii碼以十進制表示為65)A:ch=0x42 B:ch=0102C:ch='\102' D:ch=066題號9...選擇題A:(1分,正確答案C,學生答案*)若要對a進行++運算,則a應具有以下說明()。A:inta[3][2]; B:char*a[]={"12","ab"};C:intb[10],*a=b; D:char(*a)(char);題號10...選擇題A:(1分,正確答案B,學生答案*)以下對于break語句使用的正確描述是()。A:可以出現(xiàn)在程序中的任何位置 B:只能出現(xiàn)在循環(huán)或switch結(jié)構(gòu)中C:只能出現(xiàn)在switch結(jié)構(gòu)中 D:只能出現(xiàn)在循環(huán)結(jié)構(gòu)中題號11...選擇題A:(1分,正確答案B,學生答案*)若有聲明語句"inta=5,b=4,c=3,*p=&a;",則下列()表達式語句是正確的。A:(*p)++=c; B:printf(a%4==0?"%3d\n":"%3d",*p);C:*(*p)++; D:a>20?return*p-20:return*p-1;題號12...選擇題A:(1分,正確答案A,學生答案*)設(shè)intx=2,y=3,z=(++x<=y--)?((--y==1)?y--:--y):y--;則x,y,z的值為()。A:3,0,1 B:2,0,0C:3,1,1 D:2,2,1題號13...選擇題A:(1分,正確答案B,學生答案*)在定義任何一個函數(shù)時,下列選項中,()是不可缺少的。A:函數(shù)名之前的數(shù)據(jù)類型 B:函數(shù)名之后的一對圓括號C:形式參數(shù)聲明 D:函數(shù)體內(nèi)的語句題號14...選擇題A:(1分,正確答案D,學生答案*)已知某程序如下:floatp=1.5;main(){printf("%f",p);}則main函數(shù)中標識符p代表的操作數(shù)是()。A:float型變量 B:double型變量C:float型常量 D:double型常量題號15...選擇題A:(1分,正確答案A,學生答案*)已有聲明"ints[2][3]",以下選項中()正確地引用了數(shù)組s中的基本元素。A:s[1>2][!1] B:s[2][0]C:s[1] D:s題號16...選擇題A:(1分,正確答案C,學生答案*)若有聲明"inta[5],*b=a,(*c)[3],*d[3];",則在以下表達式中有語法錯誤的是()。A:a[0]=0 B:b[0]=0C:c[0]=0 D:d[0]=0題號17...選擇題A:(1分,正確答案C,學生答案*)以下跳轉(zhuǎn)語句中,只有()可以選擇不唯一的跳轉(zhuǎn)目的地。A:continue; B:break;C:goto標識符; D:return;題號18...選擇題A:(1分,正確答案A,學生答案*)一個用c語言編寫的程序,()是必不可少的。A:取名為main的函數(shù)定義 B:#include<stdio.h>C:變量聲明 D:注釋題號19...選擇題A:(1分,正確答案D,學生答案*)以下聲明中正確的是()。A:intn=2,a[n]={10}; B:intn=10,*p[2]=&n;C:intn=10,a[2]={n}; D:inta[2][2]={10},(*p)[2]=a+1;題號20...選擇題A:(1分,正確答案B,學生答案*)若有函數(shù)fun的定義為voidfun(…){staticinta=1;...}則下列敘述中不正確的是()。A:在每次調(diào)用fun函數(shù)時,變量a的值是上次調(diào)用結(jié)束時a的值 B:在fun函數(shù)之外,可以用變量名a直接引用a的值C:在其他函數(shù)中,可以出現(xiàn)聲明doublea=2.5; D:fun函數(shù)的形式參數(shù)不能取名為a題號21...選擇題A:(1分,正確答案D,學生答案*)以下單目運算符均只需一個操作數(shù),其中要求操作數(shù)的類型只能是指針型的是()。A:& B:++C:! D:*題號22...選擇題A:(1分,正確答案D,學生答案*)C語言規(guī)定,在一個源程序中main函數(shù)的位置()。A:必須在最開始 B:必須在最后C:必須在預處理命令的后面 D:可以在其他函數(shù)之前或之后題號23...選擇題A:(1分,正確答案D,學生答案B)以下選項中,()是C語言關(guān)鍵字。A:printf B:includeC:fun D:default題號24...選擇題A:(1分,正確答案A,學生答案*)已知有聲明"inta=3,b=4,c;",則執(zhí)行語句"c=1/2*(a+b);"后,c的值為()。A:0 B:3C:3.5 D:4題號25...選擇題A:(1分,正確答案B,學生答案*)設(shè)指針變量占2個字節(jié)的內(nèi)存空間,若有聲明"char*p="123";intc;",則執(zhí)行語句"c=sizeof(p);"后,c的值為()。A:1 B:2C:3 D:4題號26...選擇題A:(1分,正確答案C,學生答案*)已知有聲明"inta=3,b=4;",下列表達式中合法的是()。A:a+b=7 B:a=|b|C:a=b=0 D:(a++)++題號27...選擇題A:(1分,正確答案D,學生答案*)已知有聲明"chars[20]="Hello";",在程序運行過程中,若要想使數(shù)組s中的內(nèi)容修改為"Good",則以下語句中能夠?qū)崿F(xiàn)此功能的是()。A:s="Good"; B:s[20]="Good";C:strcat(s,"Good"); D:strcpy(s,"Good");題號28...選擇題A:(1分,正確答案B,學生答案*)已知有聲明"intn;floatx,y;",則執(zhí)行語句"y=n=x=3.89;"后,y的值為()。A:3 C:3.89 題號29...選擇題A:(1分,正確答案C,學生答案A)已知有聲明"inta=12,b=15,c;",則執(zhí)行表達式"c=(a||(b-=a))"后,變量b與c的值分別為()。A:3,1 B:15,12C:15,1 D:3,12題號30...選擇題A:(1分,正確答案B,學生答案*)已知int類型數(shù)據(jù)在內(nèi)存中存儲長度為2個字節(jié),以下語句中能正確輸出整數(shù)32768的是()。A:printf("%d",32768); B:printf("%ld",32768);C:printf("%f",32768); D:printf("%c",32768);題號31...選擇題A:(1分,正確答案D,學生答案*)已知有聲明"inta=3,b=4,c=5;",以下表達式中值為0的是()。A:a&&b B:a<=bC:a||b&&c D:!(!c||1)題號32...選擇題A:(1分,正確答案C,學生答案B)已知有聲明"longx,y;"且x中整數(shù)的十進制表示有n位數(shù)字(4<n<10),若要求去掉整數(shù)x十進制表示中的最高位,用剩下的數(shù)字組成一個新的整數(shù)并保存到y(tǒng)中,則以下表達式中能正確實現(xiàn)這一功能的是()。A:y=x/(10*(n-1)) B:y=x%(10*(n-1))C:y=x%(long)pow(10,n-1) D:y=x%(10^(n-1))題號33...選擇題A:(1分,正確答案B,學生答案B)已知有聲明"intm[]={5,4,3,2,1},i=0;",下列對m數(shù)組元素的引用中,錯誤是()。A:m[++i] B:m[5]C:m[2*2] D:m[m[4]]題號34...選擇題A:(1分,正確答案C,學生答案*)下列程序的輸出結(jié)果是()。main(){inta=7,b=5;printf("%d\n",b=b/a);}A:5 B:1C:0 D:不確定值題號35...選擇題A:(1分,正確答案B,學生答案*)假設(shè)變量a,b均為整型,表達式(a=5,b=2,a>b?a++:b++,a+b)的值是()。A:7 B:8C:9 D:2題號36...選擇題A:(1分,正確答案B,學生答案*)設(shè)a為int型變量,執(zhí)行下列賦值語句后,a的取值分別是()。a=125.534;a=(int)125.521%4;a=5<<2;A:125,31,1 B:125,1,20C:125,31,20 D:125.534,2,20題號37...選擇題A:(1分,正確答案C,學生答案*)設(shè)有如下程序段,下面描述中正確的是()。intk=10;while(k=0)k=k-1;A:循環(huán)執(zhí)行一次 B:循環(huán)是無限循環(huán)C:循環(huán)體語句一次也不執(zhí)行 D:循環(huán)體語句執(zhí)行一次題號38...選擇題A:(1分,正確答案A,學生答案*)以下程序的輸出結(jié)果為()。inti;voidprt(){for(i=5;i<8;i++)printf("%c",'*');printf("\t");}main(){for(i=5;i<=8;i++)prt();}A:*** B:************C:****** D:***題號39...選擇題A:(1分,正確答案A,學生答案*)以下函數(shù)調(diào)用語句中含有()個實參。func((e1,e2),(e3,e4,e5));A:2 B:3C:5 D:語法錯誤題號40...選擇題A:(1分,正確答案D,學生答案*)C語言中的文件類型只有()。A:索引文件與文本文件兩種 B:文本文件一種C:二進制文件一種 D:ASCII碼文件與二進制文件兩種題號41...選擇題B:(2分,正確答案D,學生答案*)有以下程序#include<stdio.h>main(){intn=2,k=0;while(k++&&n++>2);printf("%d%d\n",k,n);}程序運行后的輸出結(jié)果是()。A:02 B:13C:57 D:l2題號42...選擇題B:(2分,正確答案D,學生答案*)以下函數(shù)findmax擬實現(xiàn)在數(shù)組中查找最大值并作為函數(shù)值返回,但程序中有錯導致不能實現(xiàn)預定功能。#defineMIN-2147483647intfindmax(intx[],intn){inti,max;for(i=0;i<n;i++){max=MIN;if(max<x[i])max=x[i];}returnmax;}造成錯誤的原因是()。A:定義語句inti,max;中max未賦初值 B:賦值語句max=MIN;中,不應給max賦MIN值C:語句if(max<X[i])max=X[i];中判斷條件設(shè)置錯誤 D:賦值語句max=MIN;放錯了位置題號43...選擇題B:(2分,正確答案D,學生答案A)下面是有關(guān)C語言字符數(shù)組的描述,其中錯誤的是()。A:不可以用賦值語句給字符數(shù)組名賦字符串 B:可以用輸入語句把字符串整體輸入給字符數(shù)組C:字符數(shù)組中的內(nèi)容不一定是字符串 D:字符數(shù)組只能存放字符串題號44...選擇題B:(2分,正確答案C,學生答案*)有以下程序#include<stdio.h>intf(intn);main(){inta=3,s;s=f(a);s=s+f(a);printf("%d\n",s);}intf(intn){staticinta=1;n+=a++;returnn;}程序運行后的輸出結(jié)果是()。A:7 B:8C:9 D:10題號45...選擇題B:(2分,正確答案B,學生答案*)下面結(jié)構(gòu)體的定義語句中,錯誤的是()。A:structord{intx;inty;intz;};structorda; B:structord{intx;inty;intz;}structorda;C:structord{intx;inty;intz;}a; D:struct{intx;inty;intz;}a;題號46...選擇題B:(2分,正確答案A,學生答案D)設(shè)有定義:char*c;,以下選項中能夠使字符型指針c正確指向一個字符串的是(A)。A:charstr[]="string";c=str; B:scanf("%s",c);C:c=getchar(); D:c=*string";題號47...選擇題B:(2分,正確答案D,學生答案*)有以下程序#include<stdio.h>#include<string.h>structA{inta;charb[10];doublec;};structAf(structAt);main(){structAa={1001,"ZhangDa",1098.0};a=f(a);printf("%d,%s,%\n",a.a,a.b,a.c);}structAf(structAt){t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returnt;}程序運行后的輸出結(jié)果是()。A:1001,ZhangDa,1098.0 C:1001,ChangRong,1098.0 題號48...選擇題B:(2分,正確答案D,學生答案*)下列程序段執(zhí)行后的結(jié)果為()。main(){staticinta[3][3]={1,3,5,7,9,11,13,15,17},y,x,*p=&a[2][2];for(x=0;x<3;x++)y+=*(p-4*x);printf("\n%d",y);}A:45 B:33C:17 D:27題號49...選擇題B:(2分,正確答案B,學生答案*)設(shè)有定義如下;typedefstuct{intx,y;}pOINT;typedefenum{RED,YELLOW,BLUE,GREEN}COLOR;struct{pOINTxy;COLORc;}pixel,*p=&pixel;以下對變量pixel的賦值操作中正確的是()。A:pixel={1,2,BLUE}; B:p->xy.x=1;p->xy.y=2;p->c=BLUE;C:scanf("%d%d%d",p->xy.x,p->xy.y,&pixel.c); D:pixel.color=2;題號50...選擇題B:(2分,正確答案C,學生答案*)執(zhí)行了以下程序段后,x、w的值為()。intx=0,y=1,z=2,w;if(x++)w=x;elseif(x++&y>=1)w=y;elseif(x++&&z>1)w=z;A:0、1 B:1、1C:2、1 D:3、2題號51...選擇題B:(2分,正確答案B,學生答案*)已有數(shù)據(jù)類型定義與變量聲明如下:structperson{intnum;charname[20],sex;strrut{intcla;charprof[20];}in;}a={20,"Lining",'M',{5,"computer"}},*p=&a;下列語句中正確的是()。A:printf("%s",a->name); B:printf("%s",p->f);C:printf("%s",*); D:printf("%s",p->in->prof);題號52...選擇題B:(2分,正確答案C,學生答案*)已有預處理命令與聲明如下:#defineN10inta=2,c=1;doubleb=1.2;下述程序段正確的是()。A:switch(a){casec:a--;break;casec+1:a++;break;} B:switch(a){caseN>0:a=1;break;case1:a=O;break;}C:switch(a){case2:b++;break;case'0':b=3;} D:switch(b){case1.0:b++;break;case1.2:b=1;break;}題號53...選擇題B:(2分,正確答案C,學生答案*)若有以下聲明與定義:voidfun(intc){printf("%d",c);}main(){void(*a)(int)=fun,*b(int),(*c)(int);/*調(diào)用fun函數(shù)語句位置*/}void*b(intc){}如果在main函數(shù)中需要調(diào)用fun函數(shù),以下調(diào)用語句中錯誤的是()。A:fun(1); B:(*a)(1);C:b=fun;(*b)(1); D:c=a;(*c)(1);題號54...判斷題:inti=20;switch(i/10){case2:printf("A");case1:printf("B");}的輸出結(jié)果為A。()(對或錯)參考答案(1分) 學生答案(0分)錯 題號55...判斷題:函數(shù)strlen("ASDFG\n")的值是7。()(對或錯)參考答案(1分) 學生答案(0分)錯~~F 題號56...判斷題:通過return語句,函數(shù)可以帶回一個或一個以上的返回值。(錯)(對或錯)參考答案(1分) 學生答案(0分) 題號57...判斷題:用fopen("file","r+");打開的文件"file"可以進行修改。()(對或錯)參考答案(1分) 學生答案(0分)對 題號58...填空題:若有定義語句:inta=5;,則表達式:a++的值是_____________。參考答案(2分) 學生答案(0分)5 題號59...填空題:若有語句doublex=17;inty;,當執(zhí)行y=(int)(x/5)%2;之后y的值為_________。參考答案(2分) 學生答案(0分)1 題號60...填空題:有以下程序#include<stdio.h>main(){intf,f1,f2,i;f1=0;f2=1;printf("%d,%d",f1,f2);for(i=3;i<=5;i++){f=f1+f2;printf("%d",f);f1=f2;f2=f;}}程序運行后的輸出結(jié)果是___________。參考答案(2分) 學生答案(0分)0,1123 題號61...填空題:有以下程序#include<stdio.h>inta=5;voidfun(intb){inta=10;a+=b;printf("%d",a);}main(){intc=20;fun(c);a+=c;printf("%d",a);}程序運行后的輸出結(jié)果是________________。參考答案(2分) 學生答案(0分)3025 題號62...填空題:有以下程序:#include<stdio.h>fun(intx){if(x/2>0)fun(x/2);printf("%d",x);}main(){fun(6);}程序運行后的輸出結(jié)果是___________________。參考答案(2分) 學生答案(0分)136 題號63...實驗_程序填空題:輸入x、y兩個整數(shù),按先大后小的順序輸出x、y。請寫出完整程序。注意:源程序存放在blank.c中。不得增行或刪行,也不得更改程序的結(jié)構(gòu)!上傳完整程序代碼!參考答案(6分) 學生答案(0分)#include"stdio.h"main(){intx,y,*px,*py,*p;//空1scanf("%d%d",&x,&y);//空2px=&x;//空3py=&y;//空4if(x<y){p=px;px=py;py=p;}printf("x=%d,y=%d,",x,y);printf("MAX=%d,MIN=%d",*px,*py);} 題號64...實驗_程序修改題:給定程序modi.c中fun函數(shù)的功能是:根據(jù)形參m,計算如下公式的值。例如,若輸入5,則應輸出2.283333。請改正程序中的錯誤,使它能計算出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!上傳完整程序代碼!參考答案(6分) 學生答案(0分)#include<stdio.h>doublefun(intm){doublet=1.0;inti;for(i=2;i<=m;i++)t+=1.0/i;//錯1returnt;//錯2}main(){intm;scanf("%d",&m);printf("\nTheresultis%lf\n",fun(m));} 題號65...實驗_程序設(shè)計題:編寫函數(shù)fun,它的功能是計算:s作為函數(shù)值返回。在C語言中可調(diào)用log(n)函數(shù)求ln(n)。log函數(shù)的引用說明是:doublelog(doublex)。例如,若m的值為:20,fun函數(shù)值為:6.506583。注意:部分源程序在文件prog.c中。請勿改動主函數(shù)main,僅在函數(shù)fun的花括號中填入你編寫的若干語句。上傳完整程序代碼!參考答案(8分) 學生答案(0分)#include<math.h>#include<stdio.h>doublefun(intm){doubles=0.0;inti;for(i=1;i<=m;i++)s+=log(1.0*i);s=sqrt(s);returns;}main(){intn;scanf("%d",&n);printf("%f",fun(n));}66..選擇題A:(1分,正確答案D,學生答案D)以下敘述中正確的是()。A:程序設(shè)計的任務就是編寫程序代碼并上機調(diào)試B:程序設(shè)計的任務就是確定所用數(shù)據(jù)結(jié)構(gòu)C:程序設(shè)計的任務就是確定所用算法D:以上三種說法都不完整67..選擇題A:(1分,正確答案B,學生答案B)表達式:(int)((double)9/2)-(9)%2的值是()。A:0B:3C:4D:568..選擇題A:(1分,正確答案B,學生答案B)若有定義語句:intx=10;,則表達式x-=x+x的值為()。A:-20B:-10C:069..選擇題A:(1分,正確答案A,學生答案A)以下程序段中,及語句:k=a>b?(b>c?1:0):0;功能相同的是()。A:if((a>b)&&(b>c))k=l;elsek=0;B:if((a>b)||(b>c))k=l;elsek=0;C:if(a<=b)k=0;elseif(b<=c)k=1;D:if(a>b)k=l;elseif(b>c)k=1;elsek=0;70.選擇題A:(1分,正確答案B,學生答案B)當需要定義一個函數(shù)時,以下標識符中,()不能用作函數(shù)名。A:scanfB:forC:_sumD:F271...選擇題A:(1分,正確答案C,學生答案C)若要對a進行++運算,則a應具有以下說明()。A:inta[3][2];B:char*a[]={"12","ab"};C:intb[10],*a=b;D:char(*a)(char);72..選擇題A:(1分,正確答案B,)若有以下程序:intx:intf(inty){return標識符;}#include<stdio.h>intw:main(){intz=2;f(z);…}則在函數(shù)f中return語句后允許出現(xiàn)的標識符是()。A:x或wB:x或yC:z或wD:NULL73..選擇題A:(1分,正確答案A,學生答案A)一個用c語言編寫的程序,()是必不可少的。A:取名為main的函數(shù)定義B:#include<stdio.h>C:變量聲明D:注釋74..選擇題A:(1分,正確答案D,學生答案)已知有聲明charc='1';intx=300;floatt=35000;doubled=3.1234567e10;,則以下表達式求值時除()外其結(jié)果都可能是不準確的。A:x=t/cB:t=d/xC:t=d/le5fD:t=x+c75.選擇題A:(1分,正確答案A,學生答案A)已知有聲明"inta=3,b=4,c;",則執(zhí)行語句"c=1/2*(a+b);"后,c的值為()。A:0B:3D:476....選擇題A:(1分,正確答案A,學生答案C)已知有聲明"inta[4][4]={{1,2,3,4},{5,6,7,8),{9,10,11,12},{13,14,15,16)};",若需要引用值為12的數(shù)組元素,則下列選項中錯誤的是()。A:*(a+2)+3B:*(*(a+2)+3)C:*(a[2]+3)D:a[2][3]77..選擇題A:(1分,正確答案B,學生答案D)下列敘述中,正確的是()。A:C語言中的文件是流式文件,因此只能順序存取文件中的數(shù)據(jù)B:調(diào)用fopen函數(shù)時若用"r"或"r+"模式打開一個文件,該文件必須在指定存儲位置或默認存儲位置處存在C:當對文件進行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到該文件中的第1個數(shù)據(jù)D:無論以何種模式打開一個已存在的文件,在進行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋78.選擇題A:(1分,正確答案C,學生答案)以下敘述中正確的是()。A:C語言系統(tǒng)以函數(shù)為單位編譯源程序B:main函數(shù)必須放在程序開始C:用戶定義的函數(shù)可以被一個或多個函數(shù)調(diào)用任意多次D:在一個函數(shù)體內(nèi)可以定義另外一個函數(shù)79.選擇題A:(1分,正確答案D,學生答案D)若函數(shù)調(diào)用時的實參為變量,則以下關(guān)于函數(shù)形參與實參的敘述中正確的是()。A:實參與其對應的形參占用同一存儲單元B:形參不占用存儲單元C:同名的實參與形參占用同一存儲單元D:形參與實參占用不同的存儲單元80...選擇題A:(1分,正確答案D,學生答案)已知有聲明inti,a[10],*p=a;,現(xiàn)需要將1到l0保存到元素a[0]到a[9]中,以下程序段中不能實現(xiàn)這一功能的是()。A:for(i=0;i<10;i++)a[i]=i+1;B:for(i=0;i<10;i++)p[i]=i+1;C:i=1;while(p<a+10)*p++=i++;D:i=1;while(p<a+10)*a++=i++;81..選擇題A:(1分,正確答案B,學生答案B)C語言源程序的基本單位是()。A:過程B:函數(shù)C:子程序D:標識符82.選擇題A:(1分,正確答案C,學生答案C)下列程序的輸出結(jié)果是()。main(){inta=7,b=5;printf("%d\n",b=b/a);}A:5B:1C:0D:不確定值83..選擇題A:(1分,正確答案B,學生答案B)在C語言程序中,以下說法正確的是()。A:函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套B:函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套C:函數(shù)的定義與函數(shù)的調(diào)用都不可以嵌套D:函數(shù)的定義與函數(shù)的調(diào)用都可以嵌套84..選擇題A:(1分,正確答案A,學生答案A)設(shè)有以下定義,值為5的枚舉常量是()。enumweek{sun,mon=4,tue,wed,thu,fri,sat}w;A:tueB:satC:friD:thu85...選擇題B:(2分,正確答案D,學生答案D)有以下程序#include<stdio.h>main(){intn=2,k=0;while(k++&&n++>2);printf("%d%d\n",k,n);}程序運行后的輸出結(jié)果是()。A:02B:13C:57D:l286...選擇題B:(2分,正確答案B,學生答案)有以下程序#include<stdio.h>main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d\n",m,n,*p,*q);}程序運行后的輸出結(jié)果是()。A:1,2,1,2B:1,2,2,1C:2,1,2,1D:2,1,1,287選擇題B:(2分,正確答案C,學生答案D)有以下程序#include<stdio.h>main(){inta[]={2,3,5,4},i;for(i=0;i<4;i++)switch(i%2){case0:switch(a[i]%2){case0:a[i]++;break;case1:a[i]--;}break;case1:a[i]=0;}for(i=0;i<4;i++)printf("%d",a[i]);printf("\n");}程序運行后的輸出結(jié)果是()。A:3344B:2050C:3040D:030488..選擇題B:(2分,正確答案A,學生答案)下列函數(shù)的功能是()。fun(char*a,char*b){while((*b=*a)!='\0'){a++;b++;}}A:將a所指字符串賦給b所指空間B:使指針b指向a所指字符串C:將a所指字符串與b所指字符串進行比較D:檢查a與b所指字符串中是否有'\0'89..選擇題B:(2分,正確答案A,學生答案A)設(shè)有以下函數(shù):voidfun(intn,char*s){……}則下面對函數(shù)指針的定義與賦值均正確的是()。A:void(*pf)();pf=fun;B:void*pf();pf=fun;C:void*pf();*pf=fun;D:void(*pf)(int,char);pf=&fun;90...選擇題B:(2分,正確答案C,學生答案C)若有以下程序段intr=8;printf("%d\n",r>>1);輸出結(jié)果是()。A:16B:8C:4D:291.選擇題B:(2分,正確答案D,學生答案)若有聲明:intk,a,b;unsignedlongy=5;doublex=1.23;則以下表達式中正確的是()。A:x%(-5)B:x=y[6]C:k=(a=l,b=2,&a+&b)D:a+=a-=(b=2)*(a=3)92.選擇題B:(2分,正確答案A,學生答案A)以下程序的輸出結(jié)果為()。#defineADD(x)x*xmain(){inta=4,b=6,c=7,d=ADD(a+b)*c;printf("d=%d",d);}A:d=70B:d=80C:d=140D:d=70093.選擇題B:(2分,正確答案A,學生答案A)以下程序的輸出結(jié)果為()。#include"stdio.h"voidxy(int*x,int*y){int*t;t=x;x=y;y=t;}intmain(){inta=7,b=8,*x=&a,*y=&b;xy(x,y);printf("%d,%d,%d,%d",a,b,*x,*y);}A:7,8,7,8B:7,8,8,7C:8,7,7,8D:8,7,8,794.判斷題:char*p="girl";的含義是定義字符型指針變量p,p的值是字符串"girl"。(對)95..判斷題:若有定義:char*p(chara[10]);則p是函數(shù)名。(對)(對或錯)96...填空題:以下程序運行后的輸出結(jié)果是__10___________。#include<stdio.h>main(){intx=20;printf("%d",0<x<20);printf("%d",0<x&&x<20);}97.填空題:以下程序運行后的輸出結(jié)果是_5_________。#include<stdio.h>main(){inta=1,b=7;do{b=b/2;a+=b;}while(b>1);printf("%d",a);}98..填空題:有以下程序#include<stdio.h>main(){chara[20]="Howareyou?",b[20];scanf("%s",b);printf("%s%s",a,b);}程序運行時從鍵盤輸入:Howareyou?<回車>則輸出結(jié)果為___Howareyou?How_____________。99.填空題:有以下程序#include<stdio.h>typedefstruct{intnum;doubles;}REC;voidfunl(RECx){x.num=23;x.s=88.5;}main(){RECa={16,90.0};funl(a);printf("%d",a.num);}程序運行后的輸出結(jié)果是_______16_____________。100.實驗_程序修改題:給定程序modi.c計算n的階乘。請改正程序中的錯誤,使程序能輸出正確的結(jié)果。注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!上傳完整程序代碼!#include"stdio.h"intmain(){intn,i;longt;t=1;scanf("%d",&n);for(i=1;i<=n;i++)t*=i;printf("%d!=%ld",n,t);}101.實驗_程序設(shè)計題:請編寫函數(shù)ff(str,ch),功能是統(tǒng)計并返回字符ch在字符串str中出現(xiàn)的次數(shù)。例如:調(diào)用ff("every",'e')后返回2,因為在字符串"every"中字符'e'出現(xiàn)了2次。注意:部分源程序在文件prog.c中。請勿改動主函數(shù)main,僅在函數(shù)ff的花括號中填入你編寫的若干語句。上傳完整程序代碼!參考答案(8分)#include<stdio.h>intff(char*str,charch){intcount=0;while(*str){if(*str==ch)count++;str++;}returncount;}intmain(){charstr[80],ch;scanf("%s",str);scanf("%c",&ch);scanf("%c",&ch);printf("%d",ff(str,ch));}102.選擇題A:(1分,正確答案C,學生答案A)設(shè)有定義:inta=l,b=2,c=3;,以下語句中執(zhí)行效果及其它三個不同的是()。A:if(a>b)c=a,a=b,b=c;B:if(a>b){c=a,a=b,b=c;}C:if(a>b)c=a;a=b;b=c;D:if(a>b){c=a;a=b;b=c;}103.選擇題A:(1分,正確答案A,學生答案A)已知數(shù)據(jù)類型定義與變量聲明如下:structsk{inta;floatb;}data[2],*p;若有p=data,則以下對data[0]中成員a的引用中錯誤的是()。A:data[0]->aB:data->aC:p->aD:(*p).a104...選擇題A:(1分,正確答案B,學生答案A)有以下程序#include<stdio.h>main(){chars[]={"012xy"};inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='a'&&s[i]<='z')n++;printf("%d\n",n);}程序運行后的輸出結(jié)果是()。A:0B:2C:3D:5105.選擇題A:(1分,正確答案D,學生答案D)邏輯"異或"運算可描述為"axorb",其中a與b為參加運算的兩個操作數(shù),運算結(jié)果為當且僅當a、b兩個操作數(shù)中只有一個為真時才為真,其他情況下均為假。以下表達式中()可以正確表示邏輯"異或"運算。A:a||bB:a&&bC:(a&&b)&&!(a||b)D:(a||b)&&!(a&&b)106.選擇題A:(1分,正確答案D,學生答案C)已知有聲明charc='1';intx=300;floatt=35000;doubled=3.1234567e10;,則以下表達式求值時除()外其結(jié)果都可能是不準確的。A:x=t/cB:t=d/xC:t=d/le5fD:t=x+c107..選擇題A:(1分,正確答案A,學生答案D)已知有聲明chars[80];,若需要將鍵盤輸入的一個不含空格的字符串保存到數(shù)組中,則下列語句中正確的是()。A:scanf("%s",s);B:scanf("%s",s[0]);C:s=gets();D:s=getchar();108.選擇題A:(1分,正確答案D,學生答案D)已知有聲明inti,a[10],*p=a;,現(xiàn)需要將1到l0保存到元素a[0]到a[9]中,以下程序段中不能實現(xiàn)這一功能的是()。A:for(i=0;i<10;i++)a[i]=i+1;B:for(i=0;i<10;i++)p[i]=i+1;C:i=1;while(p<a+10)*p++=i++;D:i=1;while(p<a+10)*a++=i++;109..選擇題B:(2分,正確答案C,學生答案C)有以下定義語句,編譯時會出現(xiàn)編譯錯誤的是()。A:chara='a';B:chara='\n';C:chara='aa';D:chara='\x2d';110.選擇題B:(2分,正確答案C,學生答案C)有以下程序#include<stdio.h>#include<string.h>main(){charstr[][20]={"One*World","One*Dream!"},*p=str[1];printf("%d,",strlen(p));printf("%s\n",p);}程序運行后的輸出結(jié)果是()。A:9,One*WorldB:9,One*Dream!C:10,One*Dream!D:10,One*World111.選擇題B:(2分,正確答案A,學生答案C)有以下程序#include<stdio.h>#definef(x)x*x*xmain(){inta=3,s,t;s=f(a+1);t=f((a+1));printf("%d,%d\n",s,t);}程序運行后的輸出結(jié)果是()。A:10,64B:10,10C:64,10D:64,64112.選擇題B:(2分,正確答案C,學生答案B)下列關(guān)于C語言文件的敘述中正確的是()。A:文件由一系列數(shù)據(jù)依次排列組成,只能構(gòu)成二進制文件B:文件由結(jié)構(gòu)序列組成,可以構(gòu)成二進制文件或文本文件C:文件由數(shù)據(jù)序列組成,可以構(gòu)成二進制文件或文本文件D:文件由字符序列組成,其類型只能是文本文件113..選擇題B:(2分,正確答案B,學生答案C)設(shè)有定義如下;typedefstuct{intx,y;}pOINT;typedefenum{RED,YELLOW,BLUE,GREEN}COLOR;struct{pOINTxy;COLORc;}pixel,*p=&pixel;以下對變量pixel的賦值操作中正確的是()。A:pixel={1,2,BLUE};B:p->xy.x=1;p->xy.y=2;p->c=BLUE;C:scanf("%d%d%d",p->xy.x,p->xy.y,&pixel.c);D:pixel.color=2;114..選擇題B:(2分,正確答案B,學生答案B)已有數(shù)據(jù)類型定義與變量聲明如下:structperson{intnum;charname[20],sex;strrut{intcla;charprof[20];}in;}a={20,"Lining",'M',{5,"computer"}},*p=&a;下列語句中正確的是()。A:printf("%s",a->name);B:printf("%s",p->f);C:printf("%s",*);D:printf("%s",p->in->prof);115..選擇題B:(2分,正確答案D,學生答案D)若有聲明:intk,a,b;unsignedlongy=5;doublex=1.23;則以下表達式中正確的是()。A:x%(-5)B:x=y[6]C:k=(a=l,b=2,&a+&b)D:a+=a-=(b=2)*(a=3)116...判斷題:inti=20;switch(i/10){case2:printf("A");case1:printf("B");}的輸出結(jié)果為A。(錯)(對或錯)117...判斷題:若有定義:char*p(chara[10]);則p是函數(shù)名。()(對或錯)參考答案(1分)學生答案(1分)對118..填空題:設(shè)有定義:structperson{intID;charname[12];}p;請將scanf("%d",______________);語句補充完整,使其能夠為結(jié)構(gòu)體變量p的成員ID正確讀入數(shù)據(jù)。參考答案(2分)119..實驗_程序填空題:輸入1個長整數(shù),求各位數(shù)字的平方與,請寫出完整程序。源程序存放在blank.c中。注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!上傳完整程序!參考答案(6分)學生答案(0分)#include<stdio.h>intmain(){intdigit;longin,s;scanf("%ld",&in);if(in<0)in=-in;//空1s=0;//空2while(in>0){digit=in%10;//空3s=s+digit*digit;in=in/10;//空4}printf("sum=%ld",s);}120..實驗_程序修改題:給定程序modi.c計算n的階乘。請改正程序中的錯誤,使程序能輸出正確的結(jié)果。注意:不得增行或刪行,也不得更改程序的結(jié)構(gòu)!上傳完整程序代碼!參考答案(6分)學生答案(0分)#include<stdio.h>intmain(){intn,i,t;t=1;//錯1scanf("%d",&n);for(i=1;i<=n;i++)t*=i;//錯2printf("%d!=%d",n,t);}121.實驗_程序設(shè)計題:函數(shù)fun的功能是:將兩個兩位數(shù)的正整數(shù)a、b合并形成一個整數(shù)放在c中。合并的方式是:將a數(shù)的十位與個位數(shù)依次放在c數(shù)的千位與十位上,b數(shù)的十位與個位數(shù)依次放在c數(shù)的百位與個位上。例如,當a=45,b=12時,調(diào)用該函數(shù)后,c=4152。注意:部分源程序存在文件prog.c中。請勿改動主函數(shù)main,僅在函數(shù)fun的花括號中填入你編寫的若干語句。上傳完整程序代碼!參考答案(8分)學生答案(0分)#include<stdio.h>voidfun(inta,intb,long*c){*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b%10);}main(){inta,b;longc;scanf("%d,%d",&a,&b);fun(a,b,&c);printf("Theresultis:%d",c);}122.選擇題A:(1分,正確答案D

溫馨提示

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

最新文檔

評論

0/150

提交評論