本題共1分,參考答案:B:B!窘馕觥恐羔樦写娣诺氖亲兞康牡刂罚羔樢部梢赃M行增減運算,這時指針移動的最小單位是一個存儲單元,而不是一個字節(jié)。所以題中“P+6”指的是將指針向后移動了6個存儲單元,即指向b[6],存放的是bE6]的地址。
32有下列程序:
main()
{ char s[]=”abode”;
s+=2:
printf(”%d\n”,s[o]);
)
執(zhí)行后的結果是( )。A. 輸出字符a的ASCII碼B. 輸出字符c的ASCII碼C. 輸出字符cD. 程序出錯
本題共1分,參考答案:D:D!窘馕觥恳驗樽址麛(shù)組s[]中的數(shù)組名s表示的是一個地址常量。所以語句“s+一2;”不能將指針在當前位置的基礎上再向后移動兩位,因而程序編譯時出錯。
33有以下程序:
#include
main()
{ int w=4,x=3,y=2,z=1;
printf(”%d\n”,(w
程序的輸出結果是( )。A. 1B. 2C. 3D. 4
本題共1分,參考答案:A:A!窘馕觥織l件運算符具有右結合性。當一個表達式中出現(xiàn)多個條件運算符時,應該將位于最右邊的問號與離它最近的冒號配對,并按這一原則正確區(qū)分各條件運算符的運算對象。w
34下列程序的運行結果是( )。
#include
void fun(int*s,int*p)
{ static int t=3;
*p=set];
t——:
}
void main()
{int a[]={2,3,4,5),k;
int x:
for(k=0,k<4,k++)
{fun(a,&.x);
printf(”%d,”,x);
)
}A. 5,4,3,2B. 2,3,4,5C. 2,2,2,2D. 5,5,5,5
本題共1分,參考答案:A:A!窘馕觥恳罁(jù)fun函數(shù),可知其要實現(xiàn)的功能是將S中第(t+1)個元素以前的元素逆置賦給數(shù)組p。由于fun中函數(shù)定義了靜態(tài)變量t=3,因此,main()函數(shù)中調(diào)用函數(shù)fun(a,&x)時,就是要將數(shù)組a中前4個元素逆置賦給數(shù)X,最后輸出X數(shù)組。
35若有以下程序( )。
#include
main()
{ int**k,*j,i=100;
j=&i;k=&j;printf(”%d\n”,**k);
}
程序的輸出結果是( >。A. 運行出錯B. 100C. j的地址D. i的地址
本題共1分,參考答案:B:B!窘馕鰈int**k,*j,i=100;
j=8Li;//一維指針j指向i的地址,所以j中存放的是i的地址,*j就是i的內(nèi)容,即*j一1001k-=&j;//二維指針k指向j的地址,所以k中存放的是指向i的地址的地址,*j就是i的內(nèi)容,**k就是i的內(nèi)容,即**k一100,printf(”%d\n”,**k);//輸出100。
36c語言中,下列不合法的字符常量是( )。A. '\xff'B. '\65'C. '&'D. '\028'
本題共1分,參考答案:D:D!窘馕觥窟x項A,'\xff’中'\X'組合表示是一個十六進制數(shù)ffH一10進制的255,它代表一個不可見字符的ASCIl碼,合法。選項B,‘\65'=’\o65'10進制的53,是'F’的ASCIl碼表示。選項C,單'&’字,合法。選項D中’\028'同上表示是八進制數(shù),但八進制數(shù)中逢八則進一,是不會出現(xiàn)8的,所以格式雖對但數(shù)值錯了,不合法。
37下列程序的運行結果是( )。
int y一5,x一14;
y=((x=3*y,x+1),x-1);
printf(”x=%d,y=%d”,x,y);A. x=27,y=27B. x=12,y=13C. x=15,y=14D. x=y=27
本題共1分,參考答案:C:C!窘馕觥慷禾柋磉_式的解題思路是從左到右,依次求解,整個逗號表達式的值就是最后一個表達式的值。表達式(x=3*Y,X+1)中,依次是x=3*Y=3*5=15,表達式x+1-16,但沒有給x或Y賦值,所以x還是等于15;第3個表達式x-l=15-1-14,所以Y的值為14。
38有以下程序段:
int x:
for(x=3:x<6:X++
print[((x%2)?(”**%d”):(”##%d\n”),x);
程序段的輸出結果是( )。A. **3B. ##3
##4 **4
**5 ##5C. ##3D. **3##4
**4##5 **5
本題共1分,參考答案:D:D!窘馕觥縱oidmain(){
intx;
for(x=3;x<6;X十+)
printf((X%2)?(”**%d”):(”##%d\n”),x);//x一33%2—1**3
//x一44%2—0##4\n//x一55%2=1**5//x一6退出循環(huán)
)
結果:
**3##4**5
因此正確答案為D選項。
39有以下程序:
#include
main()
{ int x,i;
for(i=1:i<=100:i++)
{ x=i:
if(++x$2==0)
if(++x%3==0)
if(++x%7==0)
printf(“%d”,x);
printf(”\n”);
程序的輸出結果是( )。A. 2870B. 4284C. 2668D. 3981
本題共1分,參考答案:A:A。【解析】1—100內(nèi)打印出如下數(shù),這個數(shù),可以被7整除,前一個數(shù)可以被3整除,再前一個數(shù)可以被2整除,最終運行結果為2870,因此正確答案為A。
40下面程序的運行結果是( )。
#include
void del(char*s)
{int i,j;
char*a:
a=s:
for(i=0,j一0;a[i]!='\o' ; i++)
{if(a[i]>='0'&&a[i]<='9')
{ s[j]=a[i];
j++;
}
s[j]='\0' ;
}
)
main()
{ char*s==”aa89gggh”:
del(s);
printf(”\n%s”,s);A. 1B. 2C. 3D. 4
本題共1分,參考答案:B:B。【解析】本題中del(char*s)函數(shù)實現(xiàn)的功能是逐個讀入S數(shù)組中的字符,如果遇到數(shù)字,則將數(shù)字存在S中,遇到非數(shù)字字符則跳過。所以最后輸出的應該是字符串s中所有數(shù)字的個數(shù)。
相關推薦:
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |