1. 求解c語言的一些題目 100分 好的話追加
序說明]
輸入 2 個整數lower 和 upper,輸出一張華氏一攝氏溫度轉換表,華氏溫度的取值范
圍是[lower,upper], 每次增加 20 F. 計算公式如下, 式中: c 表示攝氏溫度,f表示華氏溫度。
C= 5x(f一32)/9
運行示例:
Enter lower: 30
Enter upper: 35
fahr celsius
30 -1.1
32 0.0
34 1.1
[程序]
#include <stdio.h>
main( )
{ int fahr, lower, upper,
double celsius
printf (」Enter lower:」);
scanf ("%d」, &lower」);
printf ("Enter upper:」);
scanf (「%d」, &upper);
printf(」fahr celsius \n」);
for (fahr=lower;____(1)____;____(2)____){
celsius =____(3)____ ;
printf (「%d ____ (4)_____ \n「, fahr, celsius);
}
}
[供選擇的答案]
計算機等級考試試卷(二級C)第1頁(共7頁)
(l) A、 fahr <= upper B、fahr < upper
C 、 fahr >=uppa r D、 fahr > upper
(2) A、 fahr++ B、 fahr =fahr -2
C、 fahr + 2 D、fahr + 2
(3) A、5*(fahr – 32) /9 B、(5.0/9.0)*(fahr – 32)
C、 5/9*(fahr – 32) D、 5 * fahr - 32/9
(4) A、 %6d B、%6.2f C、%6.lf D、%6.0f
試題2 (每小題3分,共12分)
閱讀下列程序說明和程序. 在每小題提供的若干可選答案中, 挑選一個正確答案.
[程序說明]
輸入 2 個正整數 a 和 n, 求 a+aa+aaa+aa...a(n 個 a)之和.要求定義並調用函數
fn(a,n), 它的功能是返回aa...a(n個a).例如,fn(3,2)的返回值是33.
運行示例,
Enter a: 2
Enter n: 3
sum = 246
[程序]
#include<stdio.h>
main ( )
{ int i, n;
long a, sn;
long fn(long a, int n);
printf(「Enter a;」);
scanf (「%ld」, &a);
printf(「Enter n:」);
scanf(「%d」,&n);
_________(5)_______________
for ( i=1;i<=n; i++)
_________(6)____________
printf(「sum=%ld\n」,sn);
}
long fn(long a,int n)
{ int i;
long tn=0;
for(i=1;i<=n;i++) {
tn=tn+a;
________(7)____________
}
計算機等級考試試卷(二級C)笫 2 頁(共 7 頁)
(8)
}
[供選擇的答案]
(5) A sn=0; B ;
C sn=1; D sn=a;
(6) A sn=sn+fn(a, I ); B sn=sn+fn(a,n);
C sn=sn+fn(I,a); D sn=sn+fn(I,n);
(7) A tn=tn*10; B a=a*10;
C sn=tn*10; D sn=sn+a*10;
(8) A return; B return sn;
C return a; D return tn;
試題3(每小題3分,共12分)
閱讀下列程序說明和程序,在每小題提供的若干可選答案中,挑選一個正確答案。
[程序說明]
輸入一個以回車結束的字元串(少於80個字元),刪除其中除英文字母和數字字元以外的其他字元,再判斷新字元串是否對稱(不區分大小寫字母)。
運行示例1:
Enter a string : Madam I』m Adam
Yes
運行示例2:
Enter a string : elephant
No
#include <stdio.h>
#include <___(9)___>
main()
{ int flag ,i,k,length;
char str[80];
printf(「Enter a string:」);
gets(str);
i=k=0;
while(str[i]!=』\0』){
if(isupper(str[i])) str[i]=tolower(str[i]);
if(isdigit(str[i])//isalpha(str[i])){
(____10____)
k++;
}
i++;
計算機等級考試試卷(二級C)笫 3 頁(共 7 頁)
}
____(11)______
length=k;
flag=1;
for(k=0;k<=length/2;k++)
if(str[k]!=str[length-1-k]){
_____(12)______
break;}
if(flag) printf(「Yes\n」);
else printf(「No\n」);
}
[供選擇的答案]
(9) A 、ctype.h B、 string . h
C、 stdilb .h D、 math .h
(10) A、 i++; B、 str[k]=str[i];
C、 str[i]=str[k]; D、;
(11) A 、str[i]=』\0』; B 、str[i-1]=』\0』;
C、 str[k]=』\0』; D、 ;
(12) A、 flag=1; B、 flag=0;
C 、; D 、continue;
試題4 (每小題3分,共12分)
閱讀下列程序並回答問題,在每小題提供的若干可選答案中,挑選一個正確答案.
[程序]
#I include<stdio.h>
main()
{ int i,,m;
scanf(「%d」,&m);
for(i=2;i<=m/2;i++)
if(m%i==0){
printf(「%d#」,i);
break;} /*第8行*
printf(「%d」,i);}
(13)程序運行時,輸入5,輸出____13_____
A、3 B、3#3
C、3#4 D、3#5
(14)程序運行時,輸入9,輸出___14______
計算機等級考試試卷(二級C)笫 4頁(共 7 頁)
A、 3 B、 3#3
C、 3#4 D、 3#5
(15)將第8行改為」continue;」後,程序運行時,輸入9,輸出——。
A、 3 B、 3#3
C、 3#4 D、3#5
(16)將第8行改為「;「後,程序運行時,輸入9,輸出——。
A 、3 B、 3#3
C、 3#4 D、 3#5
試題5(每小題3分,共12分)
閱讀下列程序並回答問題,在每小題提供的若干可選答案中,挑選一個正確答案。
[程序]
#include<stdio.h>
main()
{int i,j,temp;
int a[3][3]={1,2,3,4,5,6,7,8,9};
void f(int *x,int *y);
for(i=0; i<3;i++)
for(j=0;j<3;j++)
if(i<j) f(&a[i][j],&a[j][i]); /*第8行*/
for(i=0;i<3;i++)
for(j=0;j<3;j++)
printf(「%2d」, a[i][j]);
}
void f(int *x,int *y)
{ int t;
t=*x; *x=*y; *y=t;
}
(17)程序的輸出是—(17)——。
A、3 2 1 6 5 4 9 8 7 B、 7 8 9 4 5 6 1 2 3
C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9
(18)將第8行改為」f(&a[I][j],&a[j][I]);」後,程序的輸出是——(18)——。
A、 3 2 1 6 5 4 9 8 7 B、7 8 9 4 5 6 1 2 3
C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9、
(19)將第8行改為」if(I<2) f(&a[I][j],&a[2-I][j]);」後,程序的輸出是——(19)——。
A、3 2 1 6 5 4 9 8 7 B、7 8 9 4 5 6 1 2 3
C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9、
(20)將第8行改為」if(j<2) f(&a[I][2-j]);」後,程序的輸出是——(20)——。
計算機等級考試試卷(二級C)笫 5頁(共 7 頁)
A、3 2 1 6 5 4 9 8 7 B、7 8 9 4 5 6 1 2 3
C、1 2 3 4 5 6 7 8 9 D、1 4 7 2 5 8 3 6 9
試題6(每小題3分,共12分)
#include<stdio.h>
main()
{ int i,x1,x2;
int a[5]={1,2,3,4,5};
void f1(int x,int y), f2 (int *x, int *y);
x1=x2=0;
for(i=1;i<5; i++){
if (a[i]<a[x1])
x2=i;
}
f2(&a[x1], &a[0]);
for (i=0;i<5;i++) printf (「%2d」,a[i]);
printf (「\n」);
f1 (a[x2], a[1]);
for (i=0; i<5;i++) printf (「%2d」,a[i]);
printf (「\n」);
f2(&a[x2], &a[4]);
for (i=0; i<5;i++) printf (「%2d」,a[i]);
printf (「\n」);
f1 (a[x1],a[3]);
for (i=0; i<5;i++) printf (「%2d」,a[i]);
printf (「\n」);
}
void f1 (int *x, int *y)
{ int t;
t=x; x=y; y=t;
}
void f2(int *x, int *y)
{ int t;
t=*x; *x=*y; *y=t;
}
(21) 程序運行時,第1行輸出——(21)——。
A.1 2 3 4 5 B。2 1 3 4 5
計算機等級考試試卷(二級C)笫 6頁(共 7 頁)
C、1 2 3 5 4 D、5 2 3 4 1
(22) 程序運行時,第2行輸出 :_____(22)_____
A、2 1 3 4 5 B、5 2 3 4 1
C、2 5 3 4 1 D、1 2 3 4 5
(23)程序運行時,第3行輸出 _______(23)______ .
A、1 2 3 5 4 B、2 5 3 4 1
C、1 2 3 4 5 D、5 2 3 4 1
(24)程序運行時,第4行輸出 _______(24)_____ .
A、5 2 3 1 4 B、1 2 3 4 5
C、1 2 3 5 4 D、5 2 3 4 1
試題7 (28 分)
從n個不同的元素中,每次取出 k個不同的元素,丕管其順序合並成一組,稱為組合.
組合種數計箅公式如下..
Cnk=n!/((n-k)!*k!)
1)定義函數fact(n)計算n!,類型double.
2)定義函數cal(k,n),計算組合種數Cnk,類型double.要求調用fact(n)計算n!.
3)定義函數main(),輸入正整數n,輸出n的所有組合數
Cnk,要求調用函數cal(k,n).
答案:
試題1:1、A 2、D 3、B 4、C
試題2:5、A 6、A 7、A 8、D
試題3:9、A 10、B 11、A 12、B
試題4:13、A 14、B 15、D 16、D
試題5:17、D 18、C 19、B 20、A
試題6:21、D 22、D 23、D 24、B
試題7:
# include 「stdio.h」
double fact(int n)
{int k; double result=1;
for(k=1;k<=n;k++)
result*=k;
return result;
}
double cal(int k, int n)
{double result;
result=fact(n)/(fact(n-k)*fact(k));
return result;
}
void main( )
{int n,k;
double x;
scanf(「%d」,&n);
for(k=1;k<=n;k++)
{x=cal(k,n);
printf(「%f\n」,x);
}
}
2. C語言簡答題1
5
5
1
main
(
)
{
int
x
,
y=1
,
z;
if
(
y
!=
0
)
x=5;
/腔鍵/y!=0
返回成功
故x
=5
printf(「擾圓褲\t%d\n」
,
x);
//輸出
5
if
(
y
=
=0
)
x
=
4;
//y==0返回失敗
else
x
=
5;
//執行
x
=5
printf(「\t%d\n」
,
x);
//輸出
5
x
=1;
//賦值
if
(
y
<
0)
//這里太亂緩簡了
下次注意格式
if(
y
>
0)
x=4;
else
x
=
5;
printf(「\t%d\n」
,
x);
}
3. c語言的簡答題!求高手解答
1 C 外部extern
2 A 函數中有遞歸函數 void型函數為無返回值函數 C語言程序有函數體組成 main函數 到各個子函數等
3 D 數組名做形參傳的是數組首地址 B C不解釋 被調函數在主調之前可以不聲明
4 D
5 D
6 B
7 B static 可以修飾任意位置變了 全局和靜態變態存在數據區 初值為0
8 B
9 A static修飾局部變數後存在數據區 不在存放在棧區, 全局被修飾後不能被其他文件引用變小作用域 全局和靜態變數初值為0
10 D
全手打
4. C語言簡答題
C語言中的保留字也就是關鍵字``是C語言自帶的,程序員自己命名標識符時不能使用保留字.C語言使用ASIC II(美國信息標准化字元集)來表示喚拆或字元,其程序結構和C++,JACA等一樣有選擇,循環,分支等常用結構.計算機是不能執行C語言源程序的,必須先要使用編譯器使源程序編譯成御轎目標代碼,再使用連接程序使之成為可執行程序才能運行.目和伍前編程語言主要分為四代,第一代就是機器語言,特點是執行效率高,但對程序員要求高,移植性很差;第二代是符號語言,也就是常說的匯編語言,特點跟第一代差不多,對程序員要求就低了些;第三代就是現在常用的C,C++,JAVA,VB等高級語言,特點是對程序員要求低,不用熟悉機器的硬體,移植性好.第四代目前正在研究中吧,好像稱為人工智慧語言.
以上是個人觀點,有什麼錯誤之處請不要見怪.
5. C語言題目簡答題
1、(c>=65 && c<=90)?(c=c+32):(c=c) /*符合你的要求,不是C語句,而是C表達式*/
2、a%10==5 /*符合你的要求,不是C語句,而是C表達式*/
3、【題目不全啊】
4、【題目不全啊】
5、這個題算是所有6個題中最難的了。
首先,fun函數中定義了一個static類型的變數,含義如下:
有時希望函數中的 局部 變數的值在函數調用結束後不消失而保留原值,即其佔用的存儲單元不釋放,在下一次該函數調用時,該變數已有值,就是上一次函數調用結束時的值。這時就應該指定該局部變數為「靜態局部變數」,用關鍵字static進行聲明。
這道題還有一個迷惑點是,該程序還在「文件包含」命令下面定義了一個全局變數,變數名同樣也是d。全局變數(或全程變數)可以為本文件中其它函數所共用,其有效范圍從定義變數的位置開始,到本源文件結束。
這里要注意,這兩個d雖然名字相同,但他們不是一個變數,兩者地址不同,即佔用的存儲單元不一樣。
要解決這道題,你還應該了解:一個C程序總是從main函數開始執行的,而不論main函數在整個程序中的位置如何(main函數可以放在程序最開頭,也可以放在程序最後,或在一些函數之前,或在另一些函數之後)。
上面的問題清楚之後,下面就容易了。先執行main函數,第一句
int a=1;
定義了整型變數a並賦初值為1。然後調用輸出函數
printf("%5d\n",fun(a+fun(d)));
這里,printf函數的輸出列表中調用了fun函數,而fun函數中的參數是一個表達式a+fun(d),這個表達式中也有fun函數,其參數是d,這里,這個d 作為實參,必定是在「文件包含」命令下面定義的全局變數d,即先執行了fun(1)。
好,我們看看執行fun(1)是什麼效果。首先形參p得到了實參的值1,然後
static int d=5;
定義了一個局部靜態變數d, 並初始化為5,然後
d+=p;
就相當於「d=d+p;」,即d=5+1,d的值為6,然後
printf("%5d",d);
輸出了當前局部靜態變數d的值6,然後
return d;
即函數返回值為6,main函數中fun(d)就可以用數字6代替,a+fun(d)就是7了。
然後又調用了一次fun函數,fun(a+fun(d)),即fun(7)。
好,我們繼續看這時函數應該如何調用。還是形參p得到了實參值7,然後
static int d=5;
由於fun函數里的d是靜態變數,在第一次調用該函數時d已經被定義,系統已經為它分配了存儲存單元,所以,這次再調用fun函數的時候,d不用再定義了,而且保留上次的值6,也就是說,這次的「d=5」是不會被執行的。繼續,
d+=p;
即d=d+p,也就是6+7,這次fun函數里的局部靜態變數d的值為13,
printf("%5d",d);
輸出d的值13,然後
return d;
fun函數返回值為13。回到main函數,fun(a+fun(d))即可用13 來代替,然後
printf("%5d\n",fun(a+fun(d)));
輸出13,換行,程序運行結束。
分析完執行過程,這個題的答案就有了。由於printf函數中寫在%和d之間的整數代表輸出欄位寬度為5(如果數據的位數小於5,則左補空格,若大於5,則按實際位數輸出),fun函數的printf函數的格式控制字元串中沒有換行符'\n',所以最終輸出結果應該只有一行:
6 13 13
press any key to continue
要注意,6前面有4個空格,6和第一個13之間有3個空格,兩個13之間也有3個空格,第二個13後面什麼都沒有直接換行。最後的「press any key to continue」是Visual C++ 6.0系統自動生成的,提示程序已經運行完畢,按任意鍵退出。
6、Visual C++ 6.0 或 Turbo C++ 3.0
艾瑪,打這么多字累屎了。。。。。。
6. C語言的題目,誰幫忙做下,謝謝,
一、
1、D 2、A 3、C 4、A 5、D
6、A 7、C 8、D 9、D 10、C
二、
1、1
2、3 1 2
3、1
4、-60
三、
1、0
2、1
3、1
4、0
5、1
四、
1、字元常量只能表示一個字元,而字元串常量可以表示一個字元串,多個字元,而且字元串常量有『/0』作為字元串結束標志。
2、C語言中用『1』和『0』表示真和假,
五、
1、
#include<stdio.h>
void main()
{
int a[4],i,j,k,x;
printf("請輸入四個整數\n");
for(i=0;i<4;i++)
scanf("%d",&a[i]);
for(i=0;i<3;i++)
{
k=i;
for(j=i+1;j<4;j++)
if(a[j]>a[k])
k=j;
if(k!=i)
{x=a[k];a[k]=a[i];a[i]=x;}
}
for(i=0;i<4;i++)
printf("%d ",a[i]);
printf("\n");
}
2、
#include<stdio.h>
void main()
{
char a[6];
int m,n,k=0,p;
printf("請輸入一個五位數\n");
for(m=0;m<6;m++)
{
scanf("%c",&a[m]);
}
n=m-2;
for(p=m-2,m=0;m<=n/2;m++,p--)
{
if(a[m]!=a[p])
{
k=1;
break;
}
}
if(k==0)
printf("Yes\n");
else
printf("No\n");
}
記得給分喲!!!