寧波工程學院2022年計算機C語言期末及答案_第1頁
寧波工程學院2022年計算機C語言期末及答案_第2頁
寧波工程學院2022年計算機C語言期末及答案_第3頁
寧波工程學院2022年計算機C語言期末及答案_第4頁
寧波工程學院2022年計算機C語言期末及答案_第5頁
已閱讀5頁,還剩23頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2/2計算機C語言期末(總分100分,考試時長90分鐘)一、理論基礎(每小題1分,共10分)1、下列運算符中優(yōu)先級最高的算符是________。 A、! B、% C、-= D、&&2、以下標識符中,不能作為合法的c用戶定義標識符的是________。 A、putchar B、_double C、_123 D、INT3、已有定義:charc;不能用于判斷c中的字符是否為大寫字母的表達式是______。 A、c>='A'&&c<='Z' B、'A'<=c<='Z' C、'A'<=c&&c<='Z' D、c<=('z'-32)&&('a'-32)<=c4、c語言中,運算符>=屬于 A、算術運算符 B、關系運算符 C、邏輯運算符 D、條件運算符5、在計算機中,用()位二進制碼組成一個字節(jié)。 A、8 B、16 C、32 D、64.6、以下數(shù)值中,不正確的八進制數(shù)或十六進制數(shù)是________。 A、0x16 B、016 C、-16 D、0xaaaa7、已知字母a的ascii碼十進制值為97,則執(zhí)行以下語句后的輸出為________。yhgchara='a';

a--;

printf(''%d,%c\n'',a+'2'-'0',a+'3'-'0'); A、b,c B、a-運算不合法,故有語法錯 C、98,c D、格式描述和輸出項不匹配,輸出無定值8、以下選項中正確的整型常量是________。 A、12. B、-20 C、1,000 D、4569、如果inta=2,b=3,c=0,下列描述正確的是________。 A、a>b!=c和a>(b!=c)的執(zhí)行順序是一樣的 B、!a!=(b!=c)表達式的值為1 C、a||(b=c)執(zhí)行后b的值為0 D、a&&b>c的結果為假10、以下常量中,能夠代表邏輯"真"值的常量是________。 A、\0' B、0 C、'0' D、NULL11、設a=5、b=6、c=10、d=8、m=2、n=5,執(zhí)行(m=a>b)&&(n=c>d)后n的值為______。 A、1 B、5 C、3 D、412、以下答案中不是c語言最基本數(shù)據(jù)類型的是________。 A、邏輯型 B、整型 C、字符型 D、指針型13、設chars[10]=〞abcde〞,t[]=〞12345〞;則s和t在內(nèi)存中分配的字節(jié)數(shù)分別是________。 A、6和5 B、6和6 C、10和5 D、10和614、下列引用的定義中,()是錯誤的。 A、inti;

int&j=i; B、inti;

int&j;

j=i; C、floati;

float&j=i; D、chard;

char&k=d;15、與十六進制數(shù)ab等值的二進數(shù)是________。 A、10101010 B、10101011 C、10111010 D、1011101116、設有intx=11;則表達式(x++*1/3)的值是________。 A、3 B、4 C、11 D、1217、未指定存儲類別的變量,其隱含的存儲類別為________。 A、auto B、static C、extern D、register18、表達式"~0x11"的值是________。 A、0xFFEE B、0x71 C、0x0071 D、0xFFEl19、有如下程序inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達式是________。 A、*P+9 B、*(P+8) C、*P+=9 D、P+820、指針x指向的整型變量值為25,則”printf(“%d\n”,++*x);”

的輸出是____ A、23 B、24 C、25 D、26二、控制結構(每小題1分,共10分)1、在c程序中,判斷邏輯值時,分別用()表示邏輯值"真"、"假"。 A、非00 B、01 C、非0非0 D、112、a,b為整型變量,二者均不為0,以下關系表達式中恒成立的是()。 A、a*b/a*b==1 B、a/b*b/a==1 C、a/b*b+a%b==a D、a/b*b==a3、有以下定義語句:doublea,b;intw;longc;若各變量已正確賦值,則下列選項中正確的表達式是________。 A、a=a+b=b++ B、w%((int)a+b) C、(c+w)%(int)a D、w=a==b4、設變量a、b、e、d和y都已正確定義并賦值。若有以下if語句:if(a<b)if(c==d)y=0;elsey=1;該語句所表示的含義是________。 A、y=0,a B、y=0,a

y=1,a≥by一1,a≥b且c≠d C、y=0,a D、y=0,a

y=1,a<B且C≠Dy="1,c≠d5、若a是數(shù)值類型,則邏輯表達式(a==1)||(a!=1)的值是________。 A、1 B、0 C、2 D、不知道a的值,不能確定6、若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是________。 A、switch(x){

case1.0:printf("*\n");

case2.0:printf("**\n");

} B、switch((int)x);{

case1:printf("*\n");

case2:printf("**\n");

} C、switch(a+b){

case1:printf("*\n");

case2+1:printf("**\n");

} D、switch(a+b){

case1:printf("*\n");

casec:printf("**\n");

}7、設變量x和y均已正確定義并賦值。以下if語句中,在編譯時將產(chǎn)生錯誤信息的是________。 A、if(x++); B、if(x>y&&y!=0); C、if(x>0)x-- D、if(y<0){;}8、下列程序的輸出結果是________。

main()

{

inta=0,i;

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

{

switch(i)

{

case0:case3:a+=1;

case1;

case2:a+=2;

default:a+=3;

}

}

printf("%d",a);

} A、19 B、1 C、6 D、89、在c的if語句中,可用作條件的表達式是________。 A、關系表達式 B、邏輯表達式 C、算術表達式 D、任意表達式10、設變量x和y均已正確定義并賦值。以下if語句中,在編譯時將產(chǎn)生錯誤信息的是________。 A、if(x++); B、if(x>y&&y!=0); C、if(x>0)x-elsey++; D、if(y<0){;}elsex++;三、循環(huán)結構(每小題1分,共10分)1、運行下面程序時,從鍵盤輸入字母a,則輸出結果是________。

#include<stdio.h>

main()

{

charch;

ch=getchar();

switch(ch)

{

case'a':printf("aaaa\n");

case'b':printf("bbbb\n");

default:printf("cccc\n");

}

} A、AAAA B、AAAABBBB C、AAAABBBBCCCC D、AAAACCCC2、下列while循環(huán)的次數(shù)是________。while(inti=0)i--; A、0 B、1 C、5 D、無限3、以下不構成無限循環(huán)的語句或語句組是______。 A、n=0;

do

++n;

while(n<=0); B、n=0;

while(1)

n++; C、n=10;

while(n);

n--; D、for(n=0,i=1;;i++)

n+=i;4、以下選項中哪些描述是不正確的? A、循環(huán)語句必須要有終止條件否則不能編譯 B、break關鍵字用于跳出當前循環(huán) C、continue用于終止本次循環(huán),執(zhí)行下一次循環(huán) D、switch條件語句中可以使用break5、以下程序運行后的輸出結果是________。

#include<stdio.h>

main()

{

ints=0,k;

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

{

switch(k)

{

case1:case4:case7:s++;

break;

case2:case3:case6:break;

case0:case5:s+=2;

break;

}

}

printf("s=%d\n",s);

} A、s=5 B、s=1 C、s=3 D、s=76、若有程序段:x=99;while(x-2)x--;則循環(huán)結束時,x=________。 A、99 B、2 C、1 D、07、執(zhí)行下面程序片段的結果是______。intx=23;

do

{

printf("%2d",x--);

}

while(!x); A、打印出321 B、打印出23 C、不打印任何內(nèi)容 D、陷入死循環(huán)8、有以下程序

main()

{

intk=4,n=0;

for(;n<k;)

{

n++;

if(n%3!=0)continue;

k--;

}

printf("%d,%d\n",k,n);

}

程序運行后的輸出結果是________。 A、1,1 B、2,2 C、3,3 D、4,49、程序設計語言中________。 A、while循環(huán)語句的執(zhí)行效率比do-while循環(huán)語句的執(zhí)行效率高 B、while循環(huán)語句的循環(huán)體執(zhí)行次數(shù)比循環(huán)條件的判斷次數(shù)多1,而do-while語句的循環(huán)體執(zhí)行次數(shù)比循環(huán)條件的判斷次數(shù)少1 C、while語句的循環(huán)體執(zhí)行次數(shù)比循環(huán)條件的判斷次數(shù)少1,而do-while語句的循環(huán)體執(zhí)行次數(shù)比循環(huán)條件的判斷次數(shù)多1 D、while語句的循環(huán)體執(zhí)行次數(shù)比循環(huán)條件的判斷次數(shù)少1,而do-while語句的循環(huán)體執(zhí)行次數(shù)等于循環(huán)條件的判斷次數(shù)10、以下程序中,while循環(huán)的循環(huán)次數(shù)是

main()

{

inti=0;

while(i<10)

{

if(i<1)continue;

if(i==5)break;

i++;

}

} A、1 B、10 C、6 D、死循環(huán),不能確定次數(shù)四、數(shù)組/指針數(shù)組(每小題1分,共10分)1、在c語言中,一維數(shù)組的定義方式為:類型說明符數(shù)組名____ A、[常量表達式] B、[整型表達式] C、[整型常量]或[整型表達式] D、[整型常量]2、已知英文字母a的十進制ascii碼值為65,那么a的十進制ascii碼值為______。 A、98 B、100 C、89 D、973、對兩個數(shù)組a和b進行下列初始化:charm[]="1234567";charn[]={'1','2’,'3','4','5','6','7'};則下列敘述正確的是________。 A、數(shù)組in與數(shù)組n完全相同 B、數(shù)組m與數(shù)組n長度相同 C、數(shù)組m比數(shù)組n長1 D、數(shù)組m與數(shù)組n中都存放字符串4、設有以下定義:inta[3][3]={1,2,3,4,5,6,7,8,9};int(*ptr)[3]=a;則下列能正確表示數(shù)組元素a[1][2]的表達式是______。 A、*((*ptr+1)[2]) B、a[2][3] C、(*ptr+1)+2 D、*(*(a+1)+2)5、設charstr[100];inti=5;則引用數(shù)組元素的錯誤形式的是________。 A、str[I+10] B、*(srr+ C、(str+I-1) D、*(&(str++)+6、要定義整型數(shù)組x,使之包括初值為0的三個元素,下列語句中錯誤的是________。 A、intx[3]=0,0,0; B、intx[]=0; C、staticintx[3]=0; D、intx[]=7、若有inta[10],*p=a;

,且a數(shù)組已賦值,則與a[4]不等價的表達式為________。 A、p+4 B、*(p+4) C、*(a+4) D、p[4]8、以下能正確定義數(shù)組并正確賦初值的選項是______。 A、intN=5,a[N][N]; B、intb[1][2]={{1},{2}}; C、intc[2][]={{1,2},{3,4}}; D、intd[3][2]={{1,2},{3,4}};9、在以下定義中,標識符p________。int(*p)[3]; A、定義不合法 B、是一個指針數(shù)組名,每個元素是一個指向整數(shù)變量的指針 C、是一個指針,它指向一個具有三個元素的一維數(shù)組 D、是一個指向整型變量的指針10、關于數(shù)組的定義與初始化,下列哪一項是錯誤的() A、intarr[5]={1,2,3,4,5}; B、intarr[]={1,2,3,4,5}; C、intarr[5]={1,2,3}; D、intarr[5]={1,2,3,4,5,6};五、字符串/字符串指針(每小題1分,共10分)1、在下列各項中,運算級別最低的為________。 A、算術運算符 B、關系運算符 C、邏輯運算符 D、圓括號()2、從鍵盤上輸入某字符串時,不可使用的函數(shù)是()。 A、getchar() B、gets() C、scanf() D、fread()3、下列類型的數(shù)據(jù)不可以存儲在可變型變量中的是________。 A、整型 B、字節(jié)型 C、單精度型 D、日期型4、在c語言中,以作為字符串結束標志 A、’\n’ B、’’ C、’0’ D、’\0’5、下列哪個是c語言的有效標識符 A、_Nol B、No.1 C、12345 D、int6、下面選項中合法的字符常量是________。 A、"X" B、'X' C、'abc' D、'\'7、下列變量定義中,錯誤的是______。 A、intx=3; B、floatf;d; C、Strings="Hello!"; D、booleanb=true;8、設p1和p2是指向同一個字符串的指針變量,c為字符變量,則以下不能正確執(zhí)行的賦值語句是()。 A、c=*p1+*p2; B、p2=c; C、p1=p2; D、c=*p1*(*p2);9、以下敘述中不正確的是________。 A、空字符串(即兩個雙引號連寫)只占一個存儲單元 B、字符型常量可以放在字符型變量中 C、字符型常量可以放在字符串變量中 D、字符型常量可以與整數(shù)混合運算,而字符串常量不可以10、下列能正確進行字符串賦值的是________。 A、chars[5]={“ABCDE”); B、chars[5]={'A','B','C','D','E'}; C、char*s;s=”ABCDE”; D、char*s;printf(”%S”,s);六、函數(shù)/函數(shù)指針(每小題1分,共10分)1、下列關于c語言的說法錯誤的是________。 A、C程序的工作過程是編輯、編譯、連接、運行 B、C語言不區(qū)分大小寫。 C、C程序的三種基本結構是順序、選擇、循環(huán) D、C程序從main函數(shù)開始執(zhí)行2、有以下函數(shù):fun(char*a,char*b)

{

while((*a!='\0')&&(*b!='\0')&&(*a==*b))

{

a++;

b++;

}

return(*a-*b);

}

該函數(shù)的功能是______。 A、計算a和b所指字符串的長度之差 B、將b所指字符串連接到a所指字符串中 C、將b所指字符串連接到a所指字符串后面 D、比較a和b所指字符串的大小3、已有定義int(*p)();指針p可以。 A、代表函數(shù)的返回值 B、指向函數(shù)的入口地址 C、表示函數(shù)的類型 D、表示函數(shù)返回值的類型4、以下敘述中正確的是______。 A、全局變量的作用域一定比局部變量的作用域范圍大 B、靜態(tài)(static)類別變量的生存期貫穿于整個程序的運行期間 C、函數(shù)的形參都屬于全局變量 D、未在定義語句中賦初值的auto變量和static變量的初值都是隨機值5、已有函數(shù)max(a,b),為了讓函數(shù)指針變量p指向函數(shù)max,正確的賦值方法是______。 A、p=max; B、*p=max; C、p=max(a,b); D、*p=max(a,b);6、閱讀以下函數(shù)fun(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所指字符串賦給s1 B、比較s1和s2所指字符串的大小,若s1比s2的大,函數(shù)值為1,否則函數(shù)值為0 C、比較s1和s2所指字符串是否相等,若相等,函數(shù)值為1,否則函數(shù)值為0 D、比較s1和s2所指字符串的長度,若s1比s2的長,函數(shù)值為1,否則函數(shù)值為07、設c1,c2均是char類型變量,則不正確的函數(shù)調(diào)用為______。 A、printf("%c,%c,",c1,c2) B、getchar(c1) C、putchar('\') D、putchar(c1)8、調(diào)用函數(shù)時,當實參和形參都是簡單變量時,它們之間數(shù)據(jù)傳遞的過程是__________. A、實參將其地址傳遞給形參,并釋放原先占用的存儲單元 B、實參將其地址傳遞給形參,調(diào)用結束時形參再將其地址回傳給實參 C、實參將其值傳遞給形參,調(diào)用結束時形參再將其值回傳給實參 D、實參將其值傳遞給形參,調(diào)用結束時形參并不將其值回傳給實參9、設有如下函數(shù)定義:若執(zhí)行調(diào)用語句:n=fun(3);則函數(shù)fun總被調(diào)用次數(shù)為________。 A、2 B、3 C、4 D、510、以下程序的運行結果是________。

#include<stdio.h>

#defineMIN(x,y)(x)<(y)?(x):(y)

main(){

inti=10,j=15,k;

k=10*MIN(i,j);

printf("%d\n",k);

} A、10 B、15 C、100 D、150七、指針(每小題1分,共10分)1、以下關于數(shù)組的描述正確的是______。 A、數(shù)組的大小是固定的,但可以有不同的類型的數(shù)組元素。 B、數(shù)組的大小是可變的,但所有數(shù)組元素的類型必須相同。 C、數(shù)組的大小是固定的,但所有數(shù)組元素的類型必須相同。 D、數(shù)組的大小是可變的,但可以有不同的類型的數(shù)組元素。2、以下不正確的定義語句是________。 A、doublex[5]=1.0,2.0,3.0,4.0,5.0; B、inty[5]=0,1,2,3,4,5; C、charc1[]='1','2','3','4','5'; D、charc2[]='a','b','c';3、在c語言中,調(diào)用函數(shù)除函數(shù)名外,還必須有________。 A、函數(shù)預說明 B、實際參數(shù) C、() D、函數(shù)返回值4、下列數(shù)據(jù)中屬于"字符串常量"的是________。 A、ABC B、"ABC" C、'ABC' D、'A'5、若有數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是________。 A、數(shù)組的首地址 B、數(shù)組第一個元素的值 C、數(shù)組中全部元素的值 D、數(shù)組元素的個數(shù)6、以下定義:int(*p)[4]中,標識符p是________。 A、一個指向整型變量的指針 B、一個指針數(shù)組名 C、一個指針,它指向一個含有4個整型元素的一維數(shù)組 D、說明不合法7、以下正確的函數(shù)頭定義形式是________。 A、doublefun(intx,inty) B、doublefun(intx;inty) C、doublefun(intx,inty); D、doublefun(intx,y);8、char*match(charc)是()。 A、函數(shù)定義的頭部 B、函數(shù)預說明 C、函數(shù)調(diào)用 D、指針變量說明9、有以下程序段:charc1,c2,c3;scanf("%c%c%c",&c1,&c2,&c3);若要給c1、c2、c3分別輸入字母abc,則以下對輸入形式的描述正確的是________。 A、字母ABC之間可以用空格分隔 B、字母ABC之間不能有分隔符 C、字母ABC之間可以用回車符分隔 D、字母ABC之間可以用Tab鍵分隔10、以下函數(shù)調(diào)用語句中實參的個數(shù)是()。

func((e1,e2),(e3,e4,e5)); A、2 B、3 C、5 D、語法錯誤八、結構體(每小題1分,共10分)1、有以下結構體說明和變量的定義,且指針p指向變量a,指針q指向變量b。則不能把結點b連接到結點a之后的語句是________。

structnode

{

chardata;

structnode*next;

}

a,b,*p=&a,*q=&b; A、3475 B、3574 C、1234 D、12352、以下程序運行后的輸出結果是

#include<stdio.h>

structst

{

intx,y;

}data[2]={{1,10},{2,20}};

main()

{

structst*p=data;

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

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

} A、10,1 B、20,1 C、10,2 D、20,23、設有如下說明

typedefstructst

{

longa;

intb;

charc[2];

}

new;

則下面敘述中正確的是______。 A、以上的說明形式非法 B、ST是一個結構體類型 C、NEW是一個結構體類型 D、NEW是一個結構體變量4、有以下程序

#include<stdio.h>

structtt

{

intx;

structtt*y;

}

*p;

structtta[4]={20,a+1,15,a+2,30,a+3,17,a};

main()

{

inti;

p=a;

for(i=1;i<=2,i++)

{

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

p=p->y;

}

}

程序的運行結果是________。 A、20,30, B、30,17 C、15,30, D、20,155、c語言中用于定義類的關鍵字是________。 A、class B、struct C、default D、sizeof6、以下敘述中正確的是________。 A、即使是同類型的結構體變量,也不能進行整體賦值 B、結構體變量的地址不能作為實參傳給函數(shù) C、結構體數(shù)組名不能作為實參傳給函數(shù) D、結構體中可以含有指向本結構體的指針成員7、以下程序的輸出結果是

#include<stdio.h>

structst

{

intx;

int*y;

}

*p;

intdt[4]={10,20,30,40};

structstaa[4]={50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],};

main()

{

p=aa;

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

} A、10 B、11 C、51 D、608、以下關于c語言數(shù)據(jù)類型使用的敘述中錯誤的是________。 A、若只處理“真”和“假”兩種邏輯值,應使用邏輯類型 B、若要保存帶有多位小數(shù)的數(shù)據(jù),可使用雙精度類型 C、整數(shù)類型表示的自然數(shù)是準確無誤差的 D、若要處理“人員信息”等含有不同類型的相關數(shù)據(jù),應自定義結構體類型9、有以下程序

structstu

{

charnum[10];

floatscore[3];

}

;

main()

{

structstus[3]={{"20021",90,95,85},{"20022",95,80,75},{"20023",100,95,90}},*p;

inti;

floatsum=0;

p=s+1;

for(i=0;i<3;i++)sum=sum+p->score[i];

printf("%.3f\n",sum);

}

程序運行后的輸出結果是___________。 A、250.000 B、250 C、270.000 D、27010、以下對c語言中共用體類型數(shù)據(jù)的敘述正確的是______。 A、可以對共用體變量名直接賦值 B、一個共用體變量中可以同時存放其所有成員 C、一個共用體變量中不可以同時存放其所有成員 D、共用體類型定義中不能出現(xiàn)結構體類型的成員九、程序題(每小題1分,共10分)1、有以下程序

main(){

inti,j,m=55;

for(i=l;i<3;i++)for(j=3;j<=++)m=m%j;

printf("%d\n",m);

}

程序的運行結果是________。 A、0 B、1 C、2 D、32、有以下程序

#include<stdio.h>

main()

{

inta=1,b=0;

printf("%d,",b=a+b);

printf("%d",a=2*b);

}

程序運行后的輸出結果是________。 A、0,0 B、1,0 C、3,2 D、1,23、以下程序的輸出結果是______。

#defineSQR(X)X*X

main()

{

intA,k=2,m=1;

A=SQR(k+m)/SQR(k+m);

printf("%d\n",a);

} A、1 B、7 C、9 D、34、有以下程序:

main()

{

charx[]="string";

x[0]=0;

x[1]='\0';

x[2]='0';

printf("%d%d\n",sizeof(x),strlen(x));

}

程序運行后的輸出結果是________。 A、61 B、70 C、63 D、715、執(zhí)行下列程序時輸入:123<空格>456<空格>789<回車>,輸出結果是

main()

{

chars[100];

intc,i;

scanf("%c",&c);

scanf("%d",&i);

scanf("%s",s);

printf("%c,%d,%s\n",c,i,s);

} A、123,456,789 B、1,456,789 C、1,23,456,789 D、1,23,4566、有以下程序

main()

{

char*p[10]={"abc","aabdfg","dcdbe","abbd","cd"};

printf("%d\n",strlen(p[4]));

}

執(zhí)行后輸出結果是________。 A、2 B、3 C、4 D、57、有以下程序

main()

{

intx=011;

printf("%d\n",++x);

}

程序運行后的輸出結果是________。 A、12 B、11 C、10 D、98、若希望下面的程序運行后輸出45,程序空白處的正確選擇是__________.

#include<stdio.h>

voidmain()

{

inti,j=10,a[]={1,3,5,7,9,11,13,15};

for(____________)j+=a[i];

printf("%d\n",j);

} A、i=5;i>1;i-- B、i=0;i<7;++i C、i=5;i>=1;--i D、i=2;i<6;++i9、下面程序的輸出結果是__________.

#include<stdio.h>

voidmain()

{

intx=8,y=-7,z=9;

if(x<y)if(y<0)z=0;

elsez-=1;

printf("%d\n",z);

} A、8 B、1 C、9 D、010、閱讀以下程序:

main()

{

intx;

for(x=5;x>0;x--)if(x--<5)printf("%d,",x);

elseprintf("%d,",x++);

}

程序運行后的輸出結果是________。 A、4,3,2 B、4,3,1, C、5,4,2 D、5,3,1,

參考答案一、理論基礎1、A2、A3、B4、B5、A【解析】在計算機中,8位二進制碼組成一個字節(jié)。6、C7、C8、B9、B10、C11、B12、A13、D14、B15、B【解析】本題考查十六進制與二進制的轉化,每位十六進制數(shù)正好對應4位二進制數(shù),不足4位的高應補0。本題中數(shù)A對應1010,數(shù)B對應l0ll,故轉換過程為AB→10101011。16、A【解析】當自加運算符做后綴表達式的時候,表達式的值不變,只有變量的值增加1,所以表達式(x++*1/3)相當于(11*1/3),取整后為3。17、A18、A19、B20、D二、控制結構1、A【解析】在C程序中,判斷邏輯值時,用非0表示“真”,用0表示“假”。計算邏輯表達式時,邏輯表達式的值為“真”是用1表示的,若邏輯表達式的值為“假”,則用0表示。2、C3、C【解析】選項A不是合法的賦值語句,將最右邊的第一個賦值表達式加括號即為a=a+(b=b++)才正確,故選項A不正確。選項B中運算符%的對象必須是整型,而在選項B中(int)a+b為double型,故選項B不正確。a,b都為double型,應當避免使用a==b這樣的關系表達式,因為通常存放在內(nèi)存中的實型數(shù)據(jù)是有誤差的,因此不可能精確相等,這將導致關系表達式a==b總為0。所以,4個選項中選項C符合題意。4、C5、A6、C【解析】在C語言中,switch()后的一對圓括號中可以是整型表達式或字符表達式。case語句后面的常量表達式的類型必須與switch后圓括號中的表達式類型相同,備case語句標號的值應該互不相同。選項A)中case后面的常量表達式為實型,所以不正確;選項D)中case后面出現(xiàn)了變量表達式,所以選項D)錯誤。7、C【解析】elsey++;elsex++;

本題考查的是if語句。if后表達式兩側的圓括號不可少,最后是一條語句或是用花括號括起來的一組語句。選項A和B是在表達式后跟了一條空語句,選項D是在表達式后跟了一組空語句,選項C中x--是表達式而不是語句,所以在編譯時會出現(xiàn)錯誤信息。故本題答案選C。8、A9、D10、C【解析】C語言規(guī)定,在“if(表達式)語句1;else語句2;”這種形式的if語句中,在每一個else前面有一個分號,整個語句結束處有一分號。在本題的C)選項中,else前面少了一個分號,這樣程序在編譯時,會出現(xiàn)語法錯誤。三、循環(huán)結構1、C【解析】本題考查switch語句。因為ch=A,所以第一個switch語句,執(zhí)行ease'A'后面的語句,輸出AAAA,沒有遇到break語句,所以接著再執(zhí)行case'B'和default,分別輸出BBBB和CCCC。2、A3、A【解析】while(1),條件永遠為真,是無限循環(huán);while(n);循環(huán)體為空語句,是無限循環(huán);for循環(huán)中兩個分號之間為循環(huán)執(zhí)行條件,如果省略,則為條件永遠成立,為無限循環(huán);所以答案選擇A。4、A5、D6、B7、B8、C9、D10、D四、數(shù)組/指針數(shù)組1、D2、D【解析】在ASCII碼表中,大、小寫英文字母是分組排序安排在不同位置的,并且小寫英文字母的碼值比對應的大寫英文字母的碼值大32。所以,當知道A的ASCII碼值是65后,字符a的碼值為65+32=97。3、C4、D【解析】指針變量ptr是指向長度為3的整型一維數(shù)組,當ptr指向二維數(shù)組a時,ptr每移動一個單位將指向數(shù)組的下一行,*(*(a+1)+2)表示數(shù)組元素a[1][2],*(*(ptr+1)+2)也可以。5、D6、D【解析】選項D中整型數(shù)組x的第一個元素是NULL不是0,故選D。7、A【解析】請仔細閱讀交規(guī)難度:簡單8、D【解析】數(shù)組維數(shù)必須為常量;B.b[1][2]數(shù)組為一行兩列,而兩行一列;數(shù)組定義錯誤,數(shù)組定義時列數(shù)必須寫明,而行數(shù)可以缺??;D.表示正確,相當于{{1,2},{3,4},{0,0}}9、C10、D【解析】選項4初始化值大于數(shù)組的大小。五、字符串/字符串指針1、C【解析】如果在同一個表達式中出現(xiàn)不同的運算符,其優(yōu)先順序為:先執(zhí)行算術運算、字符串運算和日期時間運算,其次執(zhí)行關系運算,最后執(zhí)行邏輯運算。如果在表達式中包含圓括號,首先應該計算出圓括號中的結果,其優(yōu)先級最高。2、A3、B【解析】本題考查可變型變量。可變型變量可以存儲9種類型的數(shù)據(jù):空、NULL型、整型、長整型、單精度型、雙精度型、貨幣型、日期型和字符串型。選項A錯誤,整型數(shù)據(jù)可以存儲在可變型變量中;選項B正確,字節(jié)型數(shù)據(jù)不可以存儲在可變型變量中;選項C錯誤,單精度型數(shù)據(jù)可以存儲在可變型變量中;選項D錯誤,日期型數(shù)據(jù)可以存儲在可變型變量中。答案為B。4、D5、A【解析】標識符是一個以字母或下劃線開始的,由字母、下劃線和數(shù)字組成的字符串,標識符不能與任意關鍵字同名。6、B【解析】字符常量是用單引號括起來的一個字符。A選項中,使用雙引號,所以是錯誤的;C選項中,abc是字符串,字符常量只能是單個字符,不能是字符串;D選項中,以反斜線"開頭的是轉義字符。因此B選項正確。7、B【解析】A選項定義了一個整型;C選項定義了一個字符串;D選項定義了一個布爾型變量:B選項中的f;d不符合標識符規(guī)范,因而選B。8、B9、C10、C六、函數(shù)/函數(shù)指針1、B2、D【解析】字符串的比較規(guī)則是對兩個字符串自左至右逐個字符相比(按ASCII碼值大小比較),直到出現(xiàn)不同的字符或遇到'\0'為止,相等,則返回0,否則返回第一個不等字符

溫馨提示

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

評論

0/150

提交評論