福建c語言考試
1. C語言考試填空,急啊~~~高分懸賞~~據說是福建師范大學以前的試題,會的幫下忙,回答有加分~~
1.若已知a=1,b=2,則表達式!a<b的值是【 1 】。
2.若有以下定義
double a[10];
則a數組元素下標的上限為【 0 】 ,下限為【 9 】 。
1.以下程序的輸出結果是【 2,1 】 main()
{ int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d,%d\n", a, b );
}
2.下列程序的輸出結果是16.00,請填空。main() { int a=9, b=2; float x= 【 6.6 】, y=1.1, z; z=a/2+b*x/y+1/2; printf("%5.2f\n", z ); }
3.下列程序段的輸出結果是【 Hell 】。 main() { char b[]="Hello,you"; b[5]=0; printf("%s\n", b ); }
4.下列程序段的輸出結果是【passwarn 】。 int n='c'; switch(n++) { default: printf("error");break; case 'a':case 'A':case 'b':case 'B':printf("good");break; case 'c':case 'C':printf("pass"); case 'd':case 'D':printf("warn"); }
5.以下程序的輸出結果是【 10 】。 main() { int arr[ ]={30,25,20,15,10,5}, *p=arr; p++; printf("%d\n",*(p+3)); }
6.以下程序用來輸出結構體變數ex所佔存儲單元的位元組數,請填空。 struct st { char name[20]; double score; }; main() { struct st ex; printf("ex size: %d\n",sizeof(【 struct st 】)); }
7.以下程序運行後,顯示:【 c=377 】
main()
{ float a=365.7189;
int b=12,c;
c=(int)a+b;
printf(「c=%d\n」,c);
}
8.以下程序是用來輸入5個整數,並存放在數組中,找出最大數與最小數所在的下標位置,並把二者對調,然後輸出調整後的5個數。
#include <stdio.h>
main()
{ int a[5],t,i,maxi,mini;
for(i=0;i<5;i++)
scanf(「%d」,&a[i]);
mini=maxi=【 a[i] 】;
for(i=1;i<5;i++)
{
if(【 a[i]<mini 】) mini=i;
if(a[i]>a[maxi]) 【 maxi=i 】;
}
printf(「最小數的位置是:%d\n」,mini);
printf(「最大數的位置是:%d\n」,maxi);
t=a[maxi];
【 a[maxi]=a[mini] 】;
a[mini]=t;
printf(「調整後的數為:」);
for(i=0;i<5;i++)
printf(「%d」,a[i]);
printf(「\n」);
}
9. 計算1+1/2+1/4+…+1/50的值,並顯示出來。
main()
{ int i=2;
float sum=1.0;
while(i<=【 50 】)
{ sum+=1/【(float)i 】;
i+=2;
}
printf(「sum=%f\n」,sum);
}
10.exchange函數的調用語句為exchange(&a,&b,&c);。它將3個數按由大到小的順序調整後依次放入a,b,c三個變數中,a中放最大值,請填空。
void swap(int *pt1,int *pt2)
{ int t;
t=*pt1;*pt1=*pt2;*pt2=t;
}
void exchange(int *q1,int *q2,int *q3)
{ if(*q3>*q2) swap(【q3,q2 】);
if(*q1<*q3) swap(【 q1,q3】);
if(*q1<*q2) swap(【q1,q2 】);
}
11.表示條件:10<x<100或x<0的C語言表達式是 【(x>10&&x<100)||x<10 】