第 1 頁:選擇題 |
第 5 頁:程序填空題 |
第 6 頁:程序改錯題 |
第 7 頁:程序設計題 |
一、選擇題
1執(zhí)行下列程序后,變量a,b,e的值分別是( )。
int x=5,Y=4;
int a,b,e;
a=(--x==y++)?x;++y;
b=++x;
c=y;
A.a=5,b=5,c=5B.a=4,b=5,c=5C.a=5,b=6,c=5D.a=1,b=5,C=6
參考答案:B
參考解析:本題考查自加(++)、自減(--)運算符的使用!++X,--x”,在變量x前使用,先使x的值加1或者減l,再使用此時的表達式的值參與運算;“x++,X--”,先把使用x的值參與運算,在使用x之后,再使x的值加l或者減1。
對于表達式--×=4,y+十=4,兩者相等,--x=y++為真,所以a=x=4,執(zhí)行完此語句后Y的值是5。第2個表達式b=++x,X的值先加l,然后賦給b,即b=x+1=5;表達式c=y=5。故選項B正確。
2C語言可執(zhí)行程序的開始執(zhí)行點是( )。
A.包含文件中的第一個函數(shù)
B.程序中第一個函數(shù)
C.程序中的main()函數(shù)
D.程序中第一條語句
參考答案:C
參考解析:每個C程序有且只有一個主函數(shù)main(),且程序必須從main()函數(shù)開始執(zhí)行,并在main()函數(shù)中結束。
3設有定義的語句:“char c1=92,c2=92;”,則以下表達式中的值為零的是( )。
A.c1^c2B.c1&c2C.^c2D.^c1
參考答案:A
參考解析:當值相同時按位異或,則為0,按位或與 按位與時仍不變,負數(shù)也為非0。
4有以下程序:
main()
{ int x=0,y=5,z=3;
while(z-->0&&++x<5)y=y-1:
printf(”%d,%d,%d\n”,x,y.z);
}
程序執(zhí)行后的輸出結果是( )。
A.3,2,0B.3,2,-1C.4,3,-1D.5,2,5
參考答案:B
參考解析:
while語句執(zhí)行如下:
當z=3,x=0時,表達式z一一>0&&++x%5為真,Z的值變?yōu)?,X的值變?yōu)閘,執(zhí)行語句“y=y-1;”,Y的值變?yōu)?;
當z=2,x=1時,表達式z一一>0&&++x<5為真,z的值變?yōu)?,X的值變?yōu)?,執(zhí)行語句“y=y-1;”,y的值變?yōu)?;
當z=1,x=2時,表達式z一一>0&&++x<5為真,z的值變?yōu)?,X的值變?yōu)?,執(zhí)行語句“y=y-1;”,Y的值變?yōu)?;
當z=0,x=3時,表達式z一一>0為假,表達式(z一一>o&&++x%5)為假,Z的值為-1,不進行++x<5的判斷,不執(zhí)行語句y=y-1;;
所以X的值為3,Y的值為2,z的值為-1。答案為B。
5下述程序執(zhí)行的輸出結果是( )。
#include
main()
{char a[2][4];
strcpy(a,"are");strcpy(a[1],"you");
a[0][3]='&'
print[(”%s\n”,a);
}
A.are&youB.youC.areD.&.
參考答案:A
參考解析:strepy實現(xiàn)的功能是復制,該操作把are復制到a中,a[o][3]=’&’,且strcpy(a[1],”you”)把you復制到a[1]中,故輸出a為“are&you”。
6兩個或兩個以上模塊之間聯(lián)系的緊密程度稱為( )。
A.耦合性B.內聚性C.復雜性D.數(shù)據(jù)傳輸特性
參考答案:A
參考解析:耦合性用來表示模塊間互相連接的緊密程度的度量。它取決于各個模塊之間接口的復雜度、調用方式以及哪些信息通過接口。
7若有以下程序:
#include
main()
{int k=2,m=4,n=6,。pk=&k,*pm=&m,*P;
*(P=&n)=*pk*(*pm);printf("%d\n",n);
)
程序的輸出結果是( )。
A.4B.6C.8D.10
參考答案:C
參考解析:p=&n即指針P指向n的地址,*(p一&n)即*P即n的值n=2*4=8。因此正確的答案為C。
8交換兩個變量的值,不允許用臨時變量,應該使用下列( )位運算符。
A.&B.^C.||D.~
參考答案:B
參考解析:按邏輯位運算特點:①用按位與運算將特定位清為0或保留特定位;②用按位或運算將特定的位置為l;③用按位異或運算將某個變量的特定位翻轉或交換兩個變量的值。
9下列字符數(shù)組初始化語句中,不正確的是( )。
A.char c[]='goodmorning';B.char e[20]="goodmorning":C.char c[]=('a','b','c','d');D.char c[]={”ffgoodmorning”);
參考答案:A
參考解析:本題考查兩個概念:①用單引號括起來的一個字符常量只能存放一個字符;②C語言中沒有字符串變量,只能用字符數(shù)組來存儲字符串。
10有以下程序:
#include(strint9.h>
main()
{char p[20]={'a','b','c','d'},q[]=”abe”,r[]=”
abcde”;
strcpy(p+strlen(q),r);strcat(p,q);
printf(”%d%d\n”,sizeof(p),strlen(p));
)
程序運行后的輸出結果是( )。
A.20 9B.9 9C.Z0 11D.11 11.
參考答案:C
參考解析:在主函數(shù)中,首先定義一個包含20個元素的字符數(shù)組P,執(zhí)行語句“strcpy(p+strlen(q),r);”,數(shù)組P的內容變?yōu)閧a,b,c,a'b,c,d,e,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0,\0),執(zhí)行語句“strcat(P,q);”,數(shù)組P的內容變?yōu)閞a,b,C,a,6,c,d,e,a,b,C,\0,\0,\0,\0,\0,\0,\0,\0},函數(shù)sizeof(p)是求數(shù)組P的大小,返回20,而函數(shù)strlen(p)是計算以P所指起始地址的字符串的長度,這一長度不包括串尾的結束標志0,所以函數(shù)返回11。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內蒙古 |