C語言程序設計(山東聯盟)知到智慧樹期末考試答案題庫2025年菏澤學院_第1頁
C語言程序設計(山東聯盟)知到智慧樹期末考試答案題庫2025年菏澤學院_第2頁
C語言程序設計(山東聯盟)知到智慧樹期末考試答案題庫2025年菏澤學院_第3頁
C語言程序設計(山東聯盟)知到智慧樹期末考試答案題庫2025年菏澤學院_第4頁
C語言程序設計(山東聯盟)知到智慧樹期末考試答案題庫2025年菏澤學院_第5頁
已閱讀5頁,還剩22頁未讀 繼續免費閱讀

付費下載

VIP免費下載

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C語言程序設計(山東聯盟)知到智慧樹期末考試答案題庫2025年菏澤學院鏈表不具有的特點是()。

答案:可隨機訪問任一元素邏輯運算符兩側運算對象的數據類型()。

答案:可以是任何類型的數據進行宏定義時,宏名必須使用大寫字母表示。

答案:錯運行以下程序后,如果從鍵盤上輸入6514,則輸出結果為()。intmain(void){intm,n;printf("Enterm,n;");scanf("%d%d",&m,&n);while(m!=n){while(m>n)m=m-n;while(n>m)n=n-m;}printf("m=%d\n",m);return0;}

答案:m=1賦值運算符的結合性為左結合。

答案:錯調用函數f(27)的輸出結果是()。voidf(intn){

if(n<5)printf("%d",n);

else{

printf("%d",n%5);

f(n/5);

}}

答案:201語句的結束標志是冒號“:”。

答案:錯語句inta[3]=1;可以給數組a的第一個元素賦值。

答案:錯設有說明語句:structs{inta;floatb;}type;則下面正確的敘述是()。

答案:struct是結構體類型的關鍵字;structs是用戶定義的結構體類型;a和b都是結構體成員名設有程序段intm=20;

while(m=0)m=m++;以下說法正確的是()

答案:循環體語句一次也不執行設有程序段intm=20;while(m=0)m=m++;

答案:循環體語句一次也不執行設有定義語句“floats[10],*p1=s,*p2=s+5;”,下列表達式錯誤的是()。

答案:p1=0xffff設有定義“intk=0;”,下列選項的4個表達式中值相同的是()。

答案:k+=1;++k;k+1設有定義:inta;floatb;,執行scanf("%2d%f",&a,&b);語句時,若從鍵盤輸入876

543.0,則a和b的值分別是()

答案:87和6.0設有如下程序charch1=A',ch2=’a’;printf("%c\n”,(ch1,ch2));則以下敘述中正確的是()。

答案:程序的輸出結果為小寫字母a設有如下定義的鏈表,則值為7的表達式是()。structst{intn;structst*next;}a[3]={5,&a[1],7,&a[2],9,NULL},*p=&a;

答案:p->next->n設有以下語句:typedefstructS{intg;charh;}T;則可以用T定義結構體變量

答案:對設有以下語句:typedefstructS{intg;charh;}T;則可以用S定義結構體變量。

答案:錯設有以下定義:structsk{inta;floatb;}data;int*p;若要使p指向data中的a域,正確的賦值語句是()。

答案:p=&data.a;設有intm=1,n=2;則++m==n的結果是()

答案:1設有inta=2,b;則執行b=a&&1;語句后,b的結果是()

答案:1設有i=10,在表達式j=i--,則j的值是()。

答案:10設整型變量i值為5,執行完j=i--后,j的值是()。

答案:5設變量定義為inta[2]={1,3},*p=&a[0]+1;,則*p的值是()。

答案:3設變量x為float型且已賦值,則以下語句中能將x中的數值保留到小數點后兩位,并將第三位四舍五入的語句是()。

答案:x=(int)(x*100+0.5)/100.0;設x和y都是int型變量,則以下語句:x+=y;y=x-y;x-=y;的功能是交換x和y的值。

答案:對計算機能直接執行的程序是用(

)程序設計語言編寫的。

答案:機器語言要求以下程序的功能是計算:s=1+1/2+1/3+...+1/10,但運行后輸出結果錯誤,導致錯誤結果的程序行是().intmain(void){intn;floats;s=1.0;for(n=10;n>1;n--)s=s+1/n;printf("%6.4f",s);return0;}

答案:s=s+1/n;表達式(x%3)等價于表達式()。

答案:x%3!=0若要用fopen函數打開一個新的二進制文件,該文件既要能讀也要能寫,則文件打開方式字符串應是()。

答案:“wb+”若要打開A盤上的user子目錄下的名為abc.txt的文本文件進行讀寫操作,下列符合此要求的函數調用是()。

答案:fopen("A:\\user\\abc.txt","r+");若用數組名作為函數調用時的實參,則實際上傳遞給形參的是()。

答案:數組首地址若有說明:inta[5];,則下面可以輸出數組a中所有元素值的是()。

答案:for(i=0;i<5;i++)

printf("%d",a[i]);若有說明:inta[5];,則下面可以給5個數組元素賦值的是().

答案:for(i=0;i<5;i++)

scanf('%d',&a[i]);;a[0]=1;a[1]=6;a[2]=8;a[3]=2;a[4]=9;;for(i=0;i<5;i++)

a[i]=i;若有說明:inta[3];,則下面數組元素的賦值中,正確的是().

答案:a[0]=5;;a[1]=4;;a[2]=9;若有說明:inta[10]={6,7,8,9,10};則該語句不正確,因為數組長度與初值個數不相同。

答案:錯若有說明:inta[10];,則對a數組元素的正確引用是().

答案:a[10-10]若有說明:inta[][4]={0,0};則表示二維數組a的第一維大小為1。

答案:對若有說明:inta[][3]={1,2,3,4,5,6,7};,則以下正確的敘述是().

答案:引用a數組時,元素的兩個下標值均不能超過2;a數組的第一維大小為3;a數組中包含9個元素若有說明:inta[][3]={1,2,3,4,5,6,7};,則a數組第一維的大小是()

答案:3若有說明:int

i,j=7,*p=&i;則與i=j;等價的語句是().

答案:*p=*&j;若有語句inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a,則()不是對a數組元素的正確引用(0<=i<=10)。

答案:*(*(a+i))若有語句a=15%4執行后,a的值是()。

答案:3若有定義語句:inta[3][4]={{1,2},{0},{6,4,7,10}};,則初始化后a[1][2]的值為6。

答案:錯若有定義chara[]="Iamaboy",*b="Iamaboy";,則下列敘述錯誤的是()。

答案:b中存放的地址就是數組a的首地址若有定義“inta[5],*p=a;”,能正確引用a數組元素的是()。

答案:*(a+2)若有定義“inta[10]={1,2,3,4,5,6,7,8,9,10},*p;”,則下列語句正確的是()。

答案:for(p=a;p<(a+10);p++)若有定義“inta[10],*p=a;”,則p+5表示()。

答案:a[5]的地址若有定義“int*p,m=5,n;”,則下列選項中正確的是().

答案:p=&n;*p=m;若有定義“chara;intb;floatc;doubled;”,則表達式“a*b+d-c”值的類型為().

答案:double若有定義“chara;intb;floatc;doubled;”,則表達式“a*b+d-c”值的類型為____。

答案:double若有定義:intx[5]={11,5,4,6,8};則數組元素x[4]的值是()。

答案:8若有定義:intx[10]={1,2,4};則數組元素x[4]的值是()。

答案:0若有定義:inta=8,b=5,c;,執行語句:c=a/b+0.4;后,c的值是()。

答案:1若有定義:inta=7;floatx=2.5,y=4.7;則表達式x+a%3*(int)(x+y)%2/4的值是()。

答案:2.5若有定義:chara[4]="abc",b[20]="Hello";,則執行語句strcat(b,a);后,數組b中的內容為().

答案:Helloabc若有初始化語句:inta[3][4]={0};,則下面正確的敘述是()。

答案:數組a中每個元素均可得到初值0若有以下說明和語句:struct

student{intno;

char*name;

}stu,*p=&stu;則以下引用方式正確的是()。

答案:stu.no;(*p).no;p->no若有以下語句,則下面表達式的值為1002的是()。structstudent{intage;intnum;};structstudentstu[3]={{1001,20},{1002,19},{1003,2}};structstudent*p;p=stu;

答案:(*++p).age若有以下定義“inta,b,*p;floatc,*q;”,則賦值正確的是()。

答案:p=NULL若有下列語句,則以下引用方式不合法的是()。structstudent{

intnum;

intage;};structstudentstu[3]={{101,20},{102,19},{103,20}},*p=stu;

答案:p=&stu.age若有(float)x,則x變成float型變量。

答案:錯若已定義x和y為double類型,則表達式x=1;y=x+7/2的值是()。

答案:4.0若已定義inta=11;執行printf("a=%d,a=%o,a=%x",a,a,a);語句后的輸出結果是(

)。

答案:a=11,a=13,a=b若定義:inta=5,*b=&a;則printf(“%d”,*b);的輸出結果是()。

答案:5若變量已正確定義并且指針p已經指向某個變量x,則(*p)++相當于().

答案:x++若變量已正確定義,表達式(j=3,j++)的值是____。

答案:3若變量已正確定義,以下合法的賦值表達式是()。

答案:a=a/(b=5)若以”a+”方式打開一個已存在的文件,則敘述正確的是()。

答案:文件打開時,原有文件內容不被刪除,位置指針移到文件末尾,可作添加和讀操作。若以“a+”方式打開一個已存在的文件,原有文件內容不被刪除,位置指針移到文件末尾,可作添加和讀操作。

答案:對若以“a+”方式打開一個已存在的文件,原有文件內容不被刪除,位置指針移到文件開頭,可作重寫和讀操作。

答案:錯若x為浮點型,則表達式x=10/4為()。

答案:2.0若x=0,y=3,z=3,以下表達式值為0的是()。

答案:x%2&&y==z若x、i、j和k都是int型變量,則計算x=(i=4,j=16,k=32)表達式后,x的值是()。

答案:32若t已定義為double型,則表達式:t=5.0/4的值為()。

答案:1.25若p1、p2都是整型指針,p1已經指向變量x,要使p2也指向x,()是正確的。

答案:p2=p1;若i為整型變量,則以下循環執行次數是()。for(i=2;i==0;)printf(“%d”,i--);

答案:0次若i,j已定義為int類型,則以下程序段中內循環體的總的執行次數是().for(i=5;i;i--)for(j=0;j<4;j++){...}

答案:20若a是基本整型變量,c是單精度實型變量,輸入語句()是錯誤的。

答案:scanf("%d%f”,a,c);若a是基本整型變量,c是單精度實型變量,輸入語句____是錯誤的。

答案:scanf("%d%f”,a,c);若a為int型,且其值為3,則執行完表達式:

a+=6后,a的值是()。

答案:9若"intn;floatf=13.8;",則執行"n=(int)f%3"后,n的值是()。

答案:1能表示x為偶數的表達式是().

答案:x%2==0能正確表示“當x的取值在[1,10]和[200,210]范圍內為真,否則為假”的表達式是()

答案:(x>=1)&&(x<=10)||(x>=200)&&(x<=210)能將高級語言編寫的源程序轉換為目標程序的是()。

答案:編譯程序能使puts(s)語句正確輸出ABCDE字符串的程序段是()。

答案:char*s;s="ABCDE";puts(s);結構體類型是一個抽象的類型,它只是表示了由若干個不同類型數據項組成的復合類型。

答案:對結構體指針變量的一般定義形式如下:struct結構體類型名*結構體指針變量名。

答案:對結構體可以多層嵌套,并且允許內嵌結構體成員的名字與外層成員名字相同。

答案:對結構體變量不可以在定義時直接進行初始化。

答案:錯系統對變量的直接訪問是將變量的地址放在另一個內存單元中。

答案:錯程序運行后的輸出結果是(

)main(){inta=1,b=7;do{b=b/2;a+=b;}while(b>1);printf(“%d”,a);}

答案:5程序設計基本過程包括:

答案:理解題意,分析需求。;確定數據的組織形式即數據結構。;總體設計和詳細設計;界面設計。;代碼的編寫、調試、運行。程序能實現求20的階乘值。ints=1;n=1;for(n=1;n<=20;n++)s=s*n;

答案:錯直接使文件指針重新定位到文件讀寫的首地址的函數是()。

答案:rewind()函數用指針變量可以指向一維數組中的元素,也可以指向多維數組中的元素。

答案:對現有如下程序

#include“stdio.h”

intfun(intx)

{printf(“x=%d”,++x);

}

intmain()

{fun(12+5);return0;}

則程序的輸出結果是(

)。

答案:x=18每個“結構體成員列表”項中都可以含有多個同類型的成員名,它們之間以分號分隔。

答案:錯根據定義和數據的輸入方式,輸入語句的正確形式為()。已有定義:floatfl,f2;數據的輸入方式:4.523.5

答案:scanf("%f%f",&f1,&f2);根據聲明inta[10],*p=a;,下列表達式錯誤的是()。

答案:a++根據聲明inta[10],*p=a;,下列表達式正確的是()。

答案:a[9];p[5];*p++根據聲明int(*p)[10],p是一個()。

答案:指針標準輸入輸出函數中,將一個字符寫到磁盤文件上去,應調用fputc函數。

答案:對有說明語句inta[4][5];,則a[2]+3表示()。

答案:a數組行下標為2、列下標為3的元素的地址有語句inta=66,d=88;printf(“%d\n”,a);程序執行后的輸出結果是()。

答案:66有語句inta=5678;printf(“%3d\n”,a);程序執行后的輸出結果是()。

答案:5678有定義語句inta,b;,若要通過語句scanf("%d,%d",&a,&b);使變量a得到數值6,變量b得到數值5,下面輸入形式中錯誤的是()。(注:口代表空格)

答案:65有定義:chara[]="1";則a數組的長度是2。

答案:對有如下說明:int

a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數值為9的表達式是*(p+8)。

答案:對有如下程序:intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%d\n”,r);}該程序的輸出結果為()。

答案:15有如下定義:structStudent{

charname[10];

intage;

chargender;}std[3],*p=std;則以下各輸入語句中錯誤的是:

答案:scanf("%s",&);有如下定義:structStudent{charname[10];intage;chargender;}std[3],*p=std;則以下各輸入語句中正確的是():

答案:scanf("%d",&(*p).age);;scanf("%c",&std[0].gender);;scanf("%c",&(p->gender));有如下定義:struct

date{intyear;intmonth;

intday;};struct

{charname[20];charsex;structdatebirthday;}person;下面正確的賦值語句是()。

答案:person.birthday.year=1980;有如下函數調用語句:func(rec1,rec2+rec3,(rec4,rec5));則該函數調用語句中,含有的實參個數是()。

答案:3有以下程序段main(){…while(getchar()!='\n');…}以下敘述中不正確的是()

答案:此while語句將無限循環;getchar()不可以出現在while語句的條件表達式中;當執行此while語句時,按任意鍵循環就能結束有以下程序段intn=0,p;do{

scanf(“%d”,&p);

n++;}while(p!=12345&&n<3);此處do-while循環的結束條件是______。

答案:p的值等于12345或者n的值大于等于3有以下程序段:inta[][4]={1,2,3,4,5,6,7,8,9,10,11,12};printf(“%d”,a[1][5]);,執行后輸出的結果是(

答案:編譯有錯誤有以下程序voidmain(){inta;scanf(“%d”,&a);if(a<9)printf(“%d”,a);elseprintf(“%d”,a--);}程序運行時鍵盤輸入9,則輸出的結果是()

答案:9有以下程序main(){inty=5;while(y!=0);printf(“y=%d”,y);}程序執行后的輸出結果是(

)

答案:while構成無限循環有以下程序main(){intx=1,y=2,z=3;if(x>y)

if(y答案:1有以下程序main(){intc=0,k;for(k=1;k<3;k++)switch(k){case

1:c=c+1;break;case

2:c=c+2;break;default:c=c+3;}printf(“%d”,c);}程序運行后的輸出結果是(

)

答案:3有以下程序main(){inta=1,b=2;while(a<6){b+=a;a+=2;}printf(“%d,%d”,a,b);}程序運行后的輸出結果是(

)

答案:7,11有以下程序main(){inti,j,m=1,s=0;for(i=1;i<3;i++){

for(j=3;j>0;j--)

{m=i*j;s=s+m;}}printf(“s=%d”,s);}程序運行后的輸出結果是()

答案:s=18有以下程序:main(){floaty=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);}程序運行的結果是:()。

答案:*3.667000**3.67*有以下程序:main(){inta;charc=10;floatf=100.0;doublex;a=f/=c*=(x=6.5);printf("%d%d%3.1f%3.1f\n",a,c,f,x);}運行程序后的輸出結果是()。

答案:1

65

1.5

6.5有以下程序,執行后輸出的結果是(

)。voidf(intx,inty){intt;if(x答案:4,3,5有兩個字符數組s1,s2,則以下正確的輸入格式是(

)

答案:scanf("%s%s",s1,

s2);有兩個字符數組a,b,則以下正確的輸入語句是().

答案:scanf("%s%s",a,b);有a=3,b=5。執行a=b,b=a后,使a的值為5,b的值為3。

答案:錯文本文件每個字節存放一個ASCII碼,代表一個字符。

答案:對文件由二進制數據序列組成,C語言只能讀寫二進制文件。

答案:錯文件使用完后,要調用fclose關閉文件函數及時關閉文件,正常關閉文件時,函數返回值為1。

答案:錯數組名跟數組的首地址之間沒有任何關系。

答案:錯數組名代表數組的起始地址。

答案:對指向結構體變量的指針也稱為結構體指針,它保存了結構體變量的存儲單元首地址。

答案:對掃雷游戲設計數據結構只能用二維數組。

答案:錯執行表達式a=b后,在內存中a和b存儲單元中的原值都將被改變,a的值已由原來的改變為b的值,b的值由原來改變為0。

答案:錯執行下面程序段后,a的值為()。int*p,a=10,b=1;p=&a;a=*p+b;

答案:11循環結構中的continue語句是使整個循環終止執行

答案:錯引用數組元素時,數組元素下標可以是().

答案:整型變量;字符常量;算術表達式已知字符'c'的ASCII碼為99,語句printf("%d,%c",'c','c'+1);的輸出為().

答案:99,d已知字符'a'的ASCII碼為97,執行下列語句的輸出是()。printf("%d,%c",'b','b'+1);

答案:98,c已知各變量的類型說明如下:inta=2,b=5;doubley=8.5;則以下符合C語言語法的表達式是()。

答案:a+=a-=(b=2)已知inti=10;表達式'3<=i<=5'的值是()

答案:1已有定義:inta,b;floatx,y;,以下正確的賦值語句是().

答案:x*=y+8;已定義ch為字符型變量,以下賦值表達式中正確的是(

)。

答案:ch='a';ch=NULL;ch=62+3已定義inta=-2;和輸出語句printf("%8lx",a);以下正確的敘述是().

答案:%8lx不是錯誤的格式符,其中數字8規定了輸出字段的寬度屬于低級語言的是()。

答案:機器語言;匯編語言對數組下標的訪問規律變化,可用數組賦指定值實現。

答案:對對字符串進行輸入輸出操作時,只能對字符串整體進行輸入輸出。

答案:錯對以下定義語句inta[10]={6,7,8,9,10};的正確理解是().

答案:將6,7,8,9,10初值依次賦給a[0]~a[4]對于遞歸函數f,調用f(4),其返回值為()。intf(intn){

if(n)

returnf(n-1)+n;

elsereturnn;}

答案:10對于結構體變量的引用,下列敘述正確的是()。

答案:如果成員本身就是一個結構體,只能對最低級的成員進行賦值等引用和運算。對于數學表達式2x+(a+b)÷3sinx,對應的C表達式是()

答案:2*x+(a+b)/3/sin(x)對于以下遞歸函數f,調用f(4),其返回值為()。intf(intn){returnf(n-1)+n;}

答案:其余選項均不是對兩個數組a和b進行初始化:chara[]=“ABCDEF";

charb[]={'A','B','C','D','E','F'};

則以下敘述正確的是()

答案:a的長度比b長對for(表達式1;;表達式3)可理解為()。

答案:for(表達式1;1;表達式3)定義文件指針的一般形式:FILE指針變量名;

答案:錯定義一個名為s的字符型數組,并且賦初值為字符串"abc"的正確語句是().

答案:chars[]={'a','b','c','\0'};;chars[]={"abc"};;chars[4]={'a','b','c'};定義FILE*fp;則文件指針fp指向的是()。

答案:文件在緩沖區上的讀寫位置存在定義inta[10],x,*pa;,若pa=&a[0],下列的()選項和其他3個選項不是等價的.

答案:x=*pa;字符數組只能存放字符串。

答案:錯字符數組中的數據存儲時必須以'\0'結尾。

答案:錯如果要求在if后一對括號中的表達式在表示a不等于0的時候的值為“真”,則能正確表示這一關系的表達式為()。

答案:a如果要一個變量在整個程序運行期間都存在,但是僅在說明它的函數內是可見的,則這個變量的存儲類型應該被說明為()。

答案:靜態變量如果有如下定義:inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};,那么a[2][2]元素的結果是()

答案:11如果在一個函數中的復合語句中定義了一個變量,則該變量(

)。

答案:只在該復合語句中有效如果x是整型變量,則合法形式為()。

答案:*&x如有說明:inta[3][4];,則對a數組元素的正確引用是()。

答案:a[1+1][0]如有說明:inta[3][4];,則對a數組元素的合法引用是()

答案:a[0][2];a[1][3];a[2][0]在賦值表達式中,賦值號左邊既可以是變量也可以是任意表達式。

答案:錯在說明語句“int*f();”中,標識符f代表是()。

答案:一個返回值為指針型的函數名在程序運行期間,變量可以多次被賦值。

答案:對在定義一個結構體變量時系統分配給它的存儲空間是()。

答案:該結構體中所有成員所需存儲空間的總和在以下給出的表達式中,與do--while(E)語句中的(E)不等價的表達式是()。

答案:(E==0)在一個被調用函數中,關于return語句使用的描述,錯誤的是()

答案:被調用函數中,一個return語句可以返回多個值給調用函數在一個被調用函數中,關于return語句使用的描述,正確的是().

答案:被調用函數中可以不用return語句;被調用函數中可以使用多個return語句;被調用函數中,如果有返回值,就一定要有return語句在一個單鏈表head中,若要在指針p所指結點后插入一個q指針所指結點,則執行()。

答案:q->next=p->next;p->next=q;在一個單鏈表head中,若要刪除指針p所指結點的后繼結點,則執行()。

答案:q=p->next;p->next=q->next;free(q);在一個C源程序文件中,若要定義一個只允許本源文件中所有函數使用的全局變量,則該變量需要使用的存儲類別是(

)。

答案:static在inta[][3]={{1,4},{3,2},{4,5,6},{0}};中,a[2][1]的值是()。

答案:5在C語言程序中,表達式5%2的結果是()。

答案:1在C語言中,在register寄存器中存儲變量比在內存中存儲變量運算速度快。

答案:對在C語言中,函數的數據類型是指()。

答案:函數返回值的數據類型在C語言中,下列錯誤的說法是。

答案:遞歸程序不可能用非遞歸算法實現在C語言中,一維數組的定義方式為:類型說明符數組名().

答案:[整型常量表達式]在C語言中,一個函數一般由兩個部分組成,它們是函數首部和函數體。

答案:對在C程序中,運算符%僅能用于整型數的運算。

答案:對可以用輸入語句把字符串整體輸入給字符數組。

答案:對變量的有效范圍與其定義的位置有關,(

)的作用域在整個源程序文件中都有效。

答案:在定義第一個函數之前所定義的變量變量的指針,其含義是指該變量的()。

答案:地址單目運算符、賦值運算符和條件運算符均為右結合性。

答案:對判斷字符串a和b是否相等,應當使用().

答案:if(strcmp(a,b)==0)分析以下程序,下列說法正確的是()main(){intx=0,a=0,b=0;if(x=a+b)printf("****");elseprintf(";#");}

答案:輸出分析以下程序,下列說法正確的是()main(){intx=0,a=0,b=0;if(x==a+b)printf("****\n");elseprintf(";#\n");}

答案:輸出****函數putchar(65)的功能是向終端輸出(

)。

答案:A函數f定義如下,執行語句“sum=f(5)+f(3);”后,sum的值應為()。intf(intm)

{

staticinti=0;

ints=0;

for(;i<=m;i++)s+=i;

returns;}

答案:16凡是函數中未指定存儲類別的局部變量,其隱含的存儲類別是____。

答案:auto凡是函數中未指定存儲類別的局部變量,其隱含的存儲類別為(

)。

答案:自動(auto)關閉文件函數的正確調用形式是()。

答案:fclose(文件指針);共用體變量所占內存長度是各成員所占內存長度之和。

答案:錯共用體變量在程序執行期間()。

答案:部分成員一直駐留在內存中共用體與結構體不可以嵌套使用。

答案:錯假設字符變量ch中存放有小寫英文字母,將其轉換為相應的大寫英文字母的表達式是()。

答案:ch=ch-'a'+'A'假設scanf語句執行時輸入ABCDE,能使puts(s)語句正確輸出ABCDE字符串的程序段是__。

答案:char*s;s="ABCDE";puts(s);假定int類型變量占用兩個字節,其有定義:intx[10]={0,2,4};則數組x在內存中所占字節數是()。

答案:20使用指針變量訪問目標變量,也稱為對目標變量的()訪問。

答案:間接使用scanf()函數,在輸入數據時,若遇非法輸入則認為該數據輸入結束。

答案:對以下選項中不是C語句的是()。

答案:++t以下選項中不合法的用戶標識符是()。

答案:long;3Dmax;A.dat以下語句將輸出()。#includeprintf("%d

%d

%d",NULL,'',EOF);

答案:00-1以下語句將輸出()。#include"stdio.h"printf("%d

%d

%d",NULL,'\0',EOF);

答案:00-1以下能正確定義變量并給變量賦值的是(

)。

答案:inta,b;

a=b=6;;inta=5,b=5;;inta=5,b;

b=5;以下能對一維數組a進行正確初始化的語句形式是().

答案:inta[]={0};以下程序運行后的輸出結果是()。structs{

intx;

inty;}data[2]={10,100,20,200};intmain(){

structs*p=data+1;

printf("%d",p->x);

return0;}

答案:20以下程序運行后的輸出結果是____。#includestructs{

intx;

inty;}data[2]={10,100,20,200};intmain(){

structs*p=data+1;

printf("%d",p->x);

return0;}

答案:20以下程序的運行結果是()main(){intn;for(n=1;n<=10;n++){if(n%3==0)continue;printf("%d",n);}}

答案:12457810以下程序的運行結果是()。main(){

int

i,b,k=0;

for(i=1;i<=5;i++)

{b=i%2;

while(b>0){b--;k++;}}printf(“k=%d,b=%d”,k,b);}

答案:k=3,b=0以下程序的輸出結果是()。intmain(void){

intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};

inti,s=0;

for(i=0;i<4;i++)

s+=aa[i][1];

printf("%d",s);

return0;}

答案:19以下程序的輸出結果是()。

voidfun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;

fun(5,2,a);

printf(“%d”,a);}

答案:31以下程序的輸出結果是(

)。#defineMAX(x,y)(x)>(y)?(x):(y)main(){inta=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf('%d',t);}

答案:7以下程序段的輸出結果是()。char*p[]={"ABC","DEF","GHI"};intj;puts(p[1]);

答案:DEF以下程序段的輸出結果是inti,j;for(i=1;i<4;i++){for(j=i;j<4;j++)

printf("%d*%d=%d

",i,j,i*j);printf("\n");}

答案:1*1=1

1*2=2

1*3=32*2=4

2*3=63*3=9以下程序段中的變量已正確定義for(i=0;i<4;i=i+2)for(k=1;k<3;k++)printf('*');程序段的輸出結果是()

答案:****以下浮點數的表示不正確的是(

)。

答案:e23以下正確的函數形式是(

)。

答案:doublefun(intx,inty){doublez;z=x+y;returnz;}以下正確地定義了一維整型數組a的語句組是()

答案:inta[SIZE];(在程序開始有#defineSIZE10)以下標識符中,不能作為合法的C用戶定義標識符的是()。

答案:void以下是合法C語言常量的是(

)。

答案:012;“a”;‘a’以下所列的C語言常量中,正確的是()。

答案:0xFF;2L;'\72'以下對二維數組a的正確說明是().

答案:floata[3][4];以下對二維數組a的正確說明是(

)

答案:float

a[3][4];以下對一維整型數組a的正確說明是().

答案:inta[6];以下對一維數組的定義中正確的是()。

答案:charch2[]={'\x10','\xa','\x8'};;charch1[]={'1','2','3','4','5'};;floatx[5]={6.5,4.0,6.4,8.66,10.0};以下對一維數組a的定義中正確的是()。

答案:inta[5];以下定義變量的語句錯誤的是(

)。

答案:Double

a1;以下四個選項中合法的浮點數是(

)。

答案:1e+1以下哪個是字符數據類型關鍵字(

)。

答案:char以下合法的C語言整型常量是(

)。

答案:160;-0xffff;011以下各項中,符合C語言語法規定的實型常量是(

)。

答案:.5E-3以下各項中,不能作為合法常量的是()。

答案:1.234e0.4以下各個項中,可作為C語言中不合法整數的是()。

答案:10110B;0386;x2a2以下敘述錯誤的是()。

答案:可以通過typedef增加新的類型以下敘述正確的是()。

答案:C語言本身沒有輸入輸出語句以下敘述正確的是()。

答案:用do-while語句構成的循環,在while后的表達式為零時結束循環以下敘述中正確的是()。

答案:用戶所定義的標識符應盡量做到"見名知意";用戶所定義的標識符必須以字母或下劃線開頭;用戶定義的標識符中,大、小寫字母代表不同標識以下敘述不正確的是()。

答案:在C程序中,注釋說明只能位于一條語句的后面以下函數頭定義正確的是:(

)。

答案:double

fun(intx,inty)以下函數值的類型是()。fun(floatx){floaty;y=3*x-4;returny;}

答案:int以下關于編譯預處理的敘述中錯誤的是(

)。

答案:預處理命令行只能位于源程序中的所有語句之前以下關于符號常量的說法正確的是(

)。

答案:符號常量是以標識符形式出現的常量,一經定義,它所代表的常量值在其作用域內不能改變以下關于循環語句的說法正確的是()。

答案:用do-while語句構成的循環,在while后的表達式為零時結束循環以下關于函數聲明正確的說法是()。

答案:如果函數定義在函數調用之后的位置,必須對函數進行聲明以下關于switch語句和break語句的描述中正確的是()

答案:在switch語句中可以不使用break語句以下關于C語言程序中函數的說法正確的是:(

)。

答案:函數的定義不可以嵌套,但函數的調用可以嵌套以下不能對二維數組a進行正確初始化的語句是(

)

答案:int

a[2][3]=

{{1,2},{3,4},{5,6}};以下不合法的整型常量是(

)。

答案:0xabc以下不合法的實型常量是(

)。

答案:5以下()函數的定義是錯誤的?

答案:voidf(inti){returni+1;}以下()函數的定義是正確的?

答案:voidf(){};voidf(inti){};intf(){return0;}從循環體內某一層跳出,繼續執行循環外的語句是()。

答案:break語句為了避免嵌套的if—else語句的二義性,C語言規定else總是與()組成配對關系。

答案:在其之前未配對的最近的if為了確保表達式n/2的值為float型,可寫成float(n/2)。

答案:錯不能將字符串賦給字符變量。

答案:對不同結構體中的成員可以同名,結構體定義要以分號結尾。

答案:對不可以用賦值語句給字符數組名賦字符串。

答案:對不允許將一組常量直接賦給結構體變量。

答案:對下面程序運行后的輸出結果是()。#include“stdio.h”intmain(){

printf("%d",NULL);

return0;}

答案:0下面程序的運行結果是()。intmain(void){

intx[5]={2,4,6,8,10},*p,**pp;

p=x;

pp=&p;

printf(“%d”,*(p++));

printf(”%d”,**pp);

return0;}

答案:24下面程序的運行結果是()。#includeintmain(void){

intx[5]={2,4,6,8,10},*p,**pp;

p=x;

pp=&p;

printf(“%d”,*(p++));

printf(”%d”,**pp);

return0;}

答案:24下面程序的運行結果是()#includeintmain(){

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;

}

for(i=0;i<4;i++)

printf("%2d",a[i]);

printf("");

return0;}

答案:3344下面程序的輸出結果是()。voidfun(int*x,int*y){

printf("%d%d",*x,*y);

*x=3;

*y=4;}intmain(void){

intx=1,y=2;

fun(&x,&y);

printf("%d%d",x,y);

return0;}

答案:1234下面的程序段將輸出▁▁▁▁▁。doublea[]={1,2,3,4,5};printf("%d",sizeof(a));

答案:40下面是對數組s的初始化,其中正確的語句是().

答案:chars[5]={'a','b','c'};;chars[5]="";;chars[5]={"abc"};下面描述正確的是().

答案:字符串"That"小于字符串"The"下面四個選項中,均是合法的用戶標識符的選項是()。

答案:A,P_0,Do;Float,a0,_A下面關于數組的描述不正確的是().

答案:數組是基本數據類型下面關于形參和實參的說法中,正確的是()。

答案:實參與它所對應的形參占用不同的存儲單元。下列選項中,合法的C語言關鍵字是()。

答案:char;default下列說法正確的是(

)。

答案:main函數可以放在C程序的中間部分,但在執行C程序時是從main函數開始的下列能正確定義二維實型數組a的選項是().

答案:floata[3][4];下列程序運行后的輸出結果是()。main(){intb[10]={5,4,3,2},*p;for(p=b;p答案:5432下列程序的輸出結果是()。intf(intn){

staticintk,s;

n--;

for(k=n;k>0;k--)

s+=k;

returns;}intmain(void){

intk;

k=f(3);

printf("(%d,%d)",k,f(k));

return0;}

答案:(3,6)下列程序的輸出結果是()。

#includeintf(intn){

staticintk,s;n--;for(k=n;k>0;k--)s+=k;

returns;}intmain(void){

intk;k=f(3);printf("(%d,%d)",k,f(k));return0;}

答案:(3,6)下列程序的輸出為()。main(){

int

y=10;

while(y--);

printf(“y=%d

”,y);}

答案:y=-1下列程序段的輸出結果是intmain(void){intm,k=0,s=0;for(m=1;m<=4;m++){

switch(m%4){

case0:

case1:s+=m;break;

case2:

case3:s-=m;break;

}

k+=s;}printf("%d",k);return0;}

答案:-4下列程序段的輸出結果是()。intmain(void){for(inti=1;i<6;i++){if(i%2!=0){pri

溫馨提示

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

評論

0/150

提交評論