當前位置:首頁 » 編程語言 » c語言程序設計韓立毛答案
擴展閱讀
怎樣恢復西瓜緩存 2022-06-27 18:45:55
飛盧小說緩存章節 2022-06-27 18:44:55
怎麼樣修手機改密碼 2022-06-27 18:44:31

c語言程序設計韓立毛答案

發布時間: 2022-06-23 15:37:57

c語言程序設計答案

#include<stdio.h>
voidmain(){
for(inti=0;i<21;i++)//公雞
for(intj=0;j<34;j++)//母雞
for(intk=0;k<301;k++)//小雞
{
if((i+j+k)==100&&(5*i+3*j+k/3)==100&&k%3==0)
printf("公雞%d,母雞%d,小雞%d ",i,j,k);
}
}

❷ 求C語言程序設計課本答案

順序結構體答案?是第三章的哪一題啊?我的屬剛好在邊上 可以說詳細點么?

❸ 《C語言程序設計》課程作業二答案

第四題上面那些是作什麼的?
第四題:1. d=1 k++ k<=n
2. x>=0 x<amin
3. float y=1 y*=i float s=1
4. (8) r (9)r=m%n (10)gcd=n
第五題:
#include "stdio.h"
#define N 8
void main()
{
int i,j,a[N][N];
for(i=0;i<N;i++)
a[i][0]=a[i][i]=1;
for(i=2;i<N;i++)
{
for(j=1;j<i;j++)
a[i][j]=a[i-1][j]+a[i-1][j-1];
}
for(i=0;i<N;i++)
{
for(j=0;j<=i;j++)
printf("%3d",a[i][j]);
printf("\n");
}
}
2.
#include "stdio.h"
#define N 100
void main()
{
int i,sum=0;
for(i=2;i<=N;i+=2)
sum+=i;
printf("sum=%d\n",sum);
}

❹ c語言程序設計答案

1.// 華氏溫度與攝氏溫度對照表

#include<stdio.h>
#include<stdlib.h>

int main()
{
float fahr = 0,cels = 0;
int low = 0,max = 300,step = 20;

printf ("\t=========本程序輸出華氏和攝氏的溫度對照!==========\n\t2006-12-30\n");

fahr = low;
printf ("\n\n華氏溫度: 攝氏溫度:\n-------- --------\n");
for (;fahr <= max;)
{
cels = 5.0 / 9.0 * (fahr - 12);
printf ("%.0f\t\t %6.2f\n",fahr,cels);
fahr += step;
}
system("pause");
return 0;
}
2.#include <stdio.h>

void main(void)
{
float c,F;
printf("請輸入華氏溫度:");
scanf("%f",F);

c=5/(9*(F-32));

printf("對應攝氏溫度為%.2f",c); //取2位小數
}
你的串號我已經記下,採納後我會幫你製作

❺ 急求===《C語言程序設計實驗·設計·習題》的答案

這是譚浩強版習題題答案,看與你的是否一致

1.5請參照本章例題,編寫一個C程序,輸出以下信息:
************
Very Goodj!
************
解:
main()
{
printf(" ************ \n");
printf("\n");
printf(" Very Good! \n");
printf("\n");
printf(" ************\n");
}
1.6編寫一個程序,輸入a b c三個值,輸出其中最大者。
解:main()
{int a,b,c,max;
printf("請輸入三個數a,b,c:\n");
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max<B)
max=b;
if(max<C)
max=c;
printf("最大數為:%d",max);
}
第三章
3.3 請將下面各數用八進制數和十六進制數表示:
(1)10 (2)32 (3)75 (4)-617
(5)-111 (6)2483 (7)-28654 (8)21003
解:十 八 十六
(10)=(12)=(a)
(32)=(40)=20
(75)=(113)=4b
(-617)=(176627)=fd97
-111=177621=ff91
2483=4663=963
-28654=110022=9012
21003=51013=520b
3.5字元常量與字元串常量有什麼區別?
解:字元常量是一個字元,用單引號括起來。字元串常量是由0個或若干個字元
而成,用雙引號把它們括起來,存儲時自動在字元串最後加一個結束符號'\0'.
3.6寫出以下程序的運行結果:
#include
void main()
{
char c1='a',c2='b',c3='c',c4='\101',c5='\116';
printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);
printf("\t\b%c %c\n",c4,c5);
解:程序的運行結果為:
aabb cc abc
A N
3.7將"China"譯成密碼.密碼規律:用原來的字母後面第4個字母代替原來的字母,
例如,字母"A"後面第4個字母是"E",用"E"代替"A".因此,"China"應譯為"Glmre".
請編一程序,用賦初值的議程使c1,c2,c3,c4,c5分別變成'G','1','m','r','e',並
輸出.
main()
{char c1="C",c2="h",c3="i",c4='n',c5='a';
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("密碼是%c%c%c%c%c\n",c1,c2,c3,c4,c5);
}
3.8例3.6能否改成如下:
#include
void main()
{
int c1,c2;(原為 char c1,c2)
c1=97;
c2=98;
printf("%c%c\n",c1,c2);
printf("%d%d\n",c1,c2);
}
解:可以.因為在可輸出的字元范圍內,用整型和字元型作用相同.
3.9求下面算術表達式的值.
(1)x+a%3*(int)(x+y)%2/4=2.5(x=2.5,a=7,y=4.7)
(2)(float)(a+b)/2+(int)x%(int)y=3.5(設a=2,b=3,x=3.5,y=2.5)
3.10寫出下面程序的運行結果:
#include
void main()
{
int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);
}
解:結果: 9,11,9,10
第4章
4.4.a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'.想得
到以下的輸出格式和結果,請寫出程序要求輸出的結果如下:
a= 3 b= 4 c= 5
x=1.200000,y=2.400000,z=-3.600000
x+y= 3.60 y+z=-1.20 z+x=-2.40
u= 51274 n= 128765
c1='a' or 97(ASCII)
c2='B' or 98(ASCII)
解:
main()
{
int a,b,c;
long int u,n;
float x,y,z;
char c1,c2;
a=3;b=4;c=5;
x=1.2;y=2.4;z=-3.6;
u=51274;n=128765;
c1='a';c2='b';
printf("\n");
printf("a=%2d b=%2d c=%2d\n",a,b,c);
printf("x=%8.6f,y=%8.6f,z=%9.6f\n",x,y,z);
printf("x+y=%5.2f y=z=%5.2f z+x=%5.2f\n",x+y,y+z,z+x);
printf("u=%6ld n=%9ld\n",u,n);
printf("c1='%c' or %d(ASCII)\n",c1,c2);
printf("c2='%c' or %d(ASCII)\n",c2,c2);
}
4.5請寫出下面程序的輸出結果.
結果:
57
5 7
67.856400,-789.123962
67.856400 ,-789.123962
67.86,-789.12,67.856400,-789.123962,67.856400,-789.123962
6.785640e+001,-7.89e+002
A,65,101,41
1234567,4553207,d687
65535,17777,ffff,-1
COMPUTER, COM
4.6用下面的scanf函數輸入數據,使a=3,b=7,x=8.5,y=71.82,c1='A',c2='a',
問在鍵盤上如何輸入?
main()
{
int a,b;
float x,y;
char c1,c2;
scanf("a=%d b=%d,&a,&b);
scanf(" x=%f y=%e",&x,&y);
scanf(" c1=%c c2=%c",&c1,&c2);
}
解:可按如下方式在鍵盤上輸入:
a=3 b=7
x=8.5 y=71.82
c1=A c2=a
說明:在邊疆使用一個或多個scnaf函數時,第一個輸入行末尾輸入的"回車"被第二
個scanf函數吸收,因此在第二\三個scanf函數的雙引號後設一個空格以抵消上行
入的"回車".如果沒有這個空格,按上面輸入數據會出錯,讀者目前對此只留有一
初步概念即可,以後再進一步深入理解.
4.7用下面的scanf函數輸入數據使a=10,b=20,c1='A',c2='a',x=1.5,y=-
3.75,z=57.8,請問
在鍵盤上如何輸入數據?
scanf("%5d%5d%c%c%f%f%*f %f",&a,&b,&c1,&c2,&y,&z);
解:
main()
{
int a,b;
float x,y,z;
char c1,c2;
scanf("%5d%5d%c%c%f%f",&a,&b,&c1,&c2,&x,&y,&z);
}
運行時輸入:
10 20Aa1.5 -3.75 +1.5,67.8
註解:按%5d格式的要求輸入a與b時,要先鍵入三個空格,而後再打入10與20。%*f
是用來禁止賦值的。在輸入時,對應於%*f的地方,隨意打入了一個數1.5,該值不
會賦給任何變數。
4.8設圓半徑r=1.5,圓柱高h=3,求圓周長,圓面積,圓球表面積,圓球體積,圓柱體積,
用scanf輸入數據,輸出計算結果,輸出時要求有文字說明,取小數點後兩位數字.請編
程.
解:main()
{
float pi,h,r,l,s,sq,vq,vz;
pi=3.1415926;
printf("請輸入圓半徑r圓柱高h:\n");
scanf("%f,%f",&r,&h);
l=2*pi*r;
s=r*r*pi;
sq=4*pi*r*r;
vq=4.0/3.0*pi*r*r*r;
vz=pi*r*r*h;
printf("圓周長為: =%6.2f\n",l);
printf("圓面積為: =%6.2f\n",s);
printf("圓球表面積為: =%6.2f\n",sq);
printf("圓球體積為: =%6.2f\n",vz);
}
4.9輸入一個華氏溫度,要求輸出攝氏溫度,公式為C=5/9(F-32),輸出要有文字說明,
取兩位小數.
解: main()
{
float c,f;
printf("請輸入一個華氏溫度:\n");
scanf("%f",&f);
c=(5.0/9.0)*(f-32);
printf("攝氏溫度為:%5.2f\n",c);
}
第五章 邏輯運算和判斷選取結構
5.4有三個整數a,b,c,由鍵盤輸入,輸出其中最大的數.
main()
{
int a,b,c;
printf("請輸入三個數:");
scanf("%d,%d,%d",&a,&b,&c);
if(a<B)
if(b<C)
printf("max=%d\n",c);
else
printf("max=%d\n",b);
else if(a<C)
printf("max=%d\n",c);
else
printf("max-%d\n",a);
}
方法2:使用條件表達式.
main()
{int a,b,c,termp,max;
printf(" 請輸入 A,B,C: ");
scanf("%d,%d,%d",&a,&b,&c);
printf("A=%d,B=%d,C=%d\n",a,b,c);
temp=(a>b)?a:b;
max=(temp>c)? temp:c;
printf(" A,B,C中最大數是%d,",max);
}
5.5 main()
{int x,y;
printf("輸入x:");
scanf("%d",&x);
if(x<1)
{y=x;
printf("X-%d,Y=X=%d \n",x,y);
}
else if(x<10)
{y=2*x-1;
printf(" X=%d, Y=2*X-1=%d\n",x,y);
}
else
{y=3*x-11;
printf("X=5d, Y=3*x-11=%d \n",x,y);
}
}
(習題5-6:)自己寫的已經運行成功!不同的人有不同的演算法,這些答案僅供參考! 818pp.com
# include
void main()
{
float s,i;
char a;
scanf("%f",&s);
while(s>100||s<0)
{
printf("輸入錯誤!error!");
scanf("%f",&s);
}
i=s/10;
switch((int)i)
{
case 10:
case 9: a='A';break;
case 8: a='B';break;
case 7: a='C';break;
case 6: a='D';break;
case 5:
case 4:
case 2:
case 1:
case 0: a='E';
}
printf("%c",a);
}
http://818pp.com/
5.7給一個不多於5位的正整數,要求:1.求它是幾位數2.分別列印出每一位數字3.
按逆序列印出各位數字.例如原數為321,應輸出123.
main()
{
long int num;
int indiv,ten,hundred,housand,tenthousand,place;
printf("請輸入一個整數(0-99999):");
scanf("%ld",&num);
if(num>9999)
place=5;
else if(num>999)
place=4;
else if(num>99)
place=3;
else if(num>9)
place=2;
else place=1;
printf("place=%d\n",place);
printf("每位數字為:");
ten_thousand=num/10000;
thousand=(num-tenthousand*10000)/1000;
hundred=(num-tenthousand*10000-thousand*1000)/100;
ten=(num-tenthousand*10000-thousand*1000-hundred*100)/10;
indiv=num-tenthousand*10000-thousand*1000-hundred*100-ten*10;
switch(place)
{case 5:printf("%d,%d,%d,%d,%d",tenthousand,thousand,hundred,ten,indiv);
printf("\n反序數字為:");
printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,tenthousand);
break;
case 4:printf("%d,%d,%d,%d",thousand,hundred,ten,indiv);
printf("\n反序數字為:");
printf("%d%d%d%d\n",indiv,ten,hundred,thousand);
break;
case 3:printf("%d,%d,%d\n",hundred,ten,indiv);
printf("\n反序數字為:");
printf("%d%d%d\n",indiv,ten,hundred);
case 2:printf("%d,%d\n",ten,indiv);
printf("\n反序數字為:");
printf("%d%d\n",indiv,ten);
case 1:printf("%d\n",indiv);
printf("\n反序數字為:");
printf("%d\n",indiv);
}
}
5.8
1.if語句
main()
{long i;
float bonus,bon1,bon2,bon4,bon6,bon10;
bon1=100000*0.1;
bon2=bon1+100000*0.075;
bon4=bon2+200000*0.05;
bon6=bon4+200000*0.03;
bon10=bon6+400000*0.015;
scanf("%ld",&i);
if(i<=1e5)bonus=i*0.1;
else if(i<=2e5)bonus=bon1+(i-100000)*0.075;
else if(i<=4e5)bonus=bon2+(i-200000)*0.05;
else if(i<=6e5)bonus=bon4+(i-400000)*0.03;
else if(i<=1e6)bonus=bon6+(i-600000)*0.015;
else bonus=bon10+(i-1000000)*0.01;
printf("bonus=%10.2f",bonus);
}
用switch語句編程序
main()
{long i;
float bonus,bon1,bon2,bon4,bon6,bon10;
int branch;
bon1=100000*0.1;
bon2=bon1+100000*0.075;
bon4=bon2+200000*0.05;
bon6=bon4+200000*0.03;
bon10=bon6+400000*0.015;
scanf("%ld",&i);
branch=i/100000;
if(branch>10)branch=10;
switch(branch)
{case 0:bonus=i*0.1;break;
case 1:bonus=bon1+(i-100000)*0.075;break;
case 2:
case 3:bonus=bon2+(i-200000)*0.05;break;
case 4:
case 5:bonus=bon4+(i-400000)*0.03;break;
case 6:
case 7
case 8:
case 9:bonus=bon6+(i-600000)*0.015;break;
case 10:bonus=bon10+(i-1000000)*0.01;
}
printf("bonus=%10.2f",bonus);
} http://818pp.com/

5.9 輸入四個整數,按大小順序輸出.
main()
{int t,a,b,c,d;
printf("請輸入四個數:");
scanf("%d,%d,%d,%d",&a,&b,&c,&d);
printf("\n\n a=%d,b=%d,c=%d,d=%d \n",a,b,c,d);
if(a>b)
{t=a;a=b;b=t;}
if(a>c)
{t=a;a=c;c=t;}
if(a>d)
{t=a;a=d;d=t;}
if(b>c)
{t=b;b=c;c=t;}
if(b>d)
{t=b;b=d;d=t;}
if(c>d)
{t=c;c=d;d=t;}
printf("\n 排序結果如下: \n");
printf(" %d %d %d %d \n",a,b,c,d);
}
5.10塔
main()
{
int h=10;
float x,y,x0=2,y0=2,d1,d2,d3,d4;
printf("請輸入一個點(x,y):");
scanf("%f,%f",&x,&y);
d1=(x-x0)*(x-x0)+(y-y0)(y-y0);
d2=(x-x0)*(x-x0)+(y+y0)(y+y0);
d3=(x+x0)*(x+x0)+(y-y0)*(y-y0);
d4=(x+x0)*(x+x0)+(y+y0)*(y+y0);
if(d1>1 && d2>1 && d3>1 && d4>1)
h=0;
printf("該點高度為%d",h);
}

❻ c語言程序設計課後習題解答第3版

http://wenku..com/view/3ce7511810a6f524ccbf8508.html

自己下載

很容易

❼ 求科學出版社《C語言程序設計(第二版)》的課後答案

這個貌似沒得下載吧。去當當或者卓越買一本《C程序設計題解和上機指導》吧

❽ 求:C語言程序設計試卷及答案一份

一、選擇題(1~40題每題1分,41~50題每題2分,共60分)下列各題A、B、C、D四個選項中,只有一個選項是正確的。請將正確選項塗寫在答題卡相應位置上,答在試卷上不得分。

1.微型計算機的運算器、控制器及內存儲器組合在一起,稱之為()(本題分值:1分)
【正確答案】D
A.ALU
B.CPU
C.MPU
D.主機
2.下列存儲器中,存取速度最快的是()(本題分值:1分)
【正確答案】D
A.軟盤
B.硬碟
C.光碟
D.內存
3.系統軟體中最重要的是()(本題分值:1分)
【正確答案】A
A.操作系統
B.語言處理程序
C.工具軟體
D.資料庫管理系統
4、CPU處理的數據基本單位為字,一個字的字長()(本題分值:1分)
【正確答案】D
A.為8個二進制位
B.為16個二進制位
C.為32個二進制位
D.與CPU晶元的型號有關
5.列印當前屏幕內容應使用的控制鍵是()(本題分值:1分)
【正確答案】D
A.Scroll-Lock
B.Num-Lock
C.PgDn
D.PrtSc(Print Screen)
6.能將高級語言源程序轉換成目標程序的是()(本題分值:1分)
【正確答案】C
A.調試程序
B.解釋程序
C.編譯程序
D.編輯程序
7.二進制數1110111.11轉換成十進制數是()(本題分值:1分)
【正確答案】B
A.119.375
B.119.75
C.119.125
D.119.3
8.十六進制數FF.1轉換成十進制數是()(本題分值:1分)
【正確答案】A
A.255.0625
B.255.125
C.127.0625
D.127.125
9.中國國家計算機網路設施是()(本題分值:1分)
【正確答案】A
A.NCFC
B.CERNET
C.ISDN
D.Internet
10.控制鍵^C的功能為()(本題分值:1分)
【正確答案】A
A.終止當前操作
B.系統復位
C.暫停標准輸出設備的輸出
D.結束命令行
11.COMMAND.COM為命令處理程序,DOS系統啟動後,它()(本題分值:1分)
【正確答案】B
A.駐留在外存,需要時裝入內存
B.常駐內存,包含所有內部命令
C.不能處理外部命令
D.不能處理後綴為.EXE的可執行文件
12.為了將所有擴展名為.PAS的文件改成擴展名為.P,應使用命令()(本題分值:1分)
【正確答案】C
A.REN *.PAS .?AS
B.REN PAS P
C.REN *.PAS *.P
D.REN *.PAS *.P??
13.設當前盤中文件XY.C的路徑為\A\B\XU,當前目錄為\A\B。為了查看文件XY.C的內容,應使用命令()(本題分值:1分)
【正確答案】A
A.TYPE XU\XY.C
B.TYPE \XU\XY.C
C.DIR XU\XY.C
D.DIR \A\B\XU\XY.C
14.要將提示符改成當前盤當前目錄後加一個大於號「>」,應使用命令()(本題分值:1分)
【正確答案】B
A.PROMPT
B.PROMPT $ p $ g
C.PROMPT $ $
D.PROMPT C\>
15.在多媒體計算機系統中,CD-ROM屬於()(本題分值:1分)
【正確答案】D
A.感覺媒體
B.表示媒體
C.表現媒體
D.存儲媒體
16.設當前盤為C盤,將A盤根目錄下的文件目錄信息存放到當前盤當前目錄下的文件AB中,應使用命令()(本題分值:1分)
【正確答案】C
A.TYPE A:\>AB
B.DIR >AB
C.DIR A:\>AB
D.DIR \>AB
17.在位運算中,操作數每右移一位,其結果相當於()(本題分值:1分)
【正確答案】B
A.操作數乘以2
B.操作數除以2
C.操作數除以16
D.操作數乘以16
18.在當前盤當前目錄下有一個文件A.BAT,其內容為
CD \
MD \XYZ\AB\B\C
CD XYZ\AB\B
在正確執行上述文件後,接著執行下列命令時,不會發生錯誤的是()(本題分值:1分)
【正確答案】C
A.MD C
B.RD \XYZ
C.RD C
D.RD B
19.下列命令組中兩個DOS命令互相等價的是()(本題分值:1分)
【正確答案】D
A.TYPE AB.TXT與DIR AB.TXT
B.DISKCOMP A:B:與COMP A:.* B:*.
C.TYPE AB.TXT>>XY.TXT與COPY AB.TXT XY.TXT
D.TYPE AB.TXT>XY.TXT與COPY AB.TXT XY.TXT
20.設A盤為啟動盤,其目錄結構為
根目錄
DOS子目錄 COMAND.COM
USER子目錄 AUTOEXEC.BAT
其文件AUTOEXEC.BAT的內容如下:
MD \XYZ
CD \DOS\USER
則由A盤啟動成功後,A盤的當前目錄是()(本題分值:2分)
【正確答案】C
A.\DOS\USER
B.\XYZ
C.根目錄
D.\DOS
21.C語言提供的合法關鍵字是()(本題分值:1分)
【正確答案】C
A.switch
B.cher
C.case
D.default
22.在C語言中,合法的字元常量是()(本題分值:1分)
【正確答案】B
A.′\084′
B.′\x43′
C.′ab′
D.′\0′
23.若已定義x和y為double類型,則表達式: x=1,y=x+3/2的值是()(本題分值:1分)
【正確答案】C
A.1
B.2
C.2.0
D.2.5
24.合法的數組定義是()(本題分值:1分)
【正確答案】D
A.int a[]=〃string〃;
B.int a[5]={0,1,2,3,4,5};
C.char a=〃string〃;
D.char a[]={0,1,2,3,4,5};
25.設a為整型變數,不能正確表達數學關系10<a<15的C語言表達式是()(本題分值:1分)
【正確答案】A
A.10<a<15
B.a==11||a==12||a==13||a==14
C.a>10&&a<15
D.!(a<=10)&&!(a>=15)

26.若t為double類型,表達式t=1,t+5,t++的值是()(本題分值:1分)
【正確答案】C
A.1
B.6.0
C.2.0
D.1.0
27.若有定義和語句:
char s[10];s=〃abcd〃;printf(〃%s\n〃,s);
則結果是(以下μ代表空格)()(本題分值:1分)
【正確答案】D
A.輸出abcd
B.輸出a
C.輸出abcdμμμμμ
D.編譯不通過
28.若有定義和語句:
int **pp,*p,a=10,b=20;
pp=&p;p=&a;p=&b;printf(〃%d,%d\n〃,*p,**pp);
則輸出結果是()(本題分值:1分)
【正確答案】D
A.10,10
B.10,20
C.20,10
D.20,20
29.若有以下定義和語句:
int u=010,v=0x10,w=10;
printf(〃%d,%d,%d\n〃,u,v,w);
則輸出結果是()(本題分值:1分)
【正確答案】A
A.8,16,10
B.10,10,10
C.8,8,10
D.8,10,10
30.若有以下定義和語句:
char c1=′b′,c2=′e′;
printf(〃%d,%c\n〃,c2-c1,c2-′a′+′A′);
則輸出結果是()(本題分值:1分)
【正確答案】B
A.2,M
B.3,E
C.2,E
D.輸出項與對應的格式控制不一致,輸出結果不確定
31.若有定義:int a[3][4];,()不能表示數組元素a[1][1]。(本題分值:1分)
【正確答案】D
A.*(a[1]+1)
B.*(&a[1][1])
C.(*(a+1))[1]
D.*(a+5)

32.若i、j已定義為int型,則以下程序段中內循環體的總的執行次數是()(本題分值:1分)
for(i=5;i>0;i--)
for(j=0;j<4;j++){…}
【正確答案】A
A.20
B.24
C.25
D.30
33.若有以下定義和語句:
char *s1=〃12345〃,*s2=〃1234〃;
printf(〃%d\n〃,strlen(strcpy(s1,s2)));
則輸出結果是()(本題分值:1分)
【正確答案】A
A.4
B.5
C.9
D.10
34.若有以下定義和語句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則不能表示a數組元素的表達式是()(本題分值:1分)
【正確答案】B
A.*p
B.a[10]
C.*a
D.a[p-a]
35.下面程序的輸出結果是()(本題分值:2分)
【正確答案】C
A.k=3 a=2 b=3
B.k=3 a=3 b=2
C.k=2 a=3 b=2
D.k=2 a=2 b=3
36.下面程序的輸出結果是()(本題分值:1分)
main()
{unsigned a=32768;
printf(〃a=%d\n〃,a);}
【正確答案】C
A.a=32768
B.a=32767
C.a=-32768
D.a=-1
37.執行下面語句後的輸出結果為()(本題分值:1分)
int i=-1;
if(i<=0) printf(〃****\n〃);
else printf(〃%%%%\n〃)
【正確答案】D
A.****
B.%%%%
C.%%%%c
D.有語法錯誤,不能正確執行
38.對於條件表達式(M)?(a++):(a--),其中的表達式M等價於()(本題分值:1分)
【正確答案】C
A.M==0
B.M==1
C.M!=0
D.M!=1
39.下述程序段的輸出結果是()(本題分值:1分)
int x=10;
int7nbspy=x++;
printf(〃%d,%d〃,(x++,y),y++);
【正確答案】A
A.11,10
B.11,11
C.10,10
D.10,11
40.若有以下的定義:
int a[]={1,2,3,4,5,6,7,8,9,10},*p=a
則值為3的表達式是()(本題分值:1分)
【正確答案】A
A.p+=2,*(p++)
B.p+=2,*++p
C.p+=3,*p++
D.p+=2,++*p
41.假定所有變數均已正確說明,下列是程序段運行後x的值是()(本題分值:2分)
a=b=c=0;x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;
【正確答案】B
A.34
B.4
C.35
D.3
42.在以下一組運算中,優先順序最高的運算符是()(本題分值:2分)
【正確答案】C
A.<=
B.=
C.%
D.&&
43.若有以下定義和語句:
int w[2][3],(*pw)[3];pw=w;
則對w數組元素的非法引用是()(本題分值:2分)
【正確答案】A
A.*(w[0]+2)
B.*(pw+1)[2]
C.pw[0][0]
D.*(pw[1]+2)
44.若有以下程序片段: char str[ ]=〃ab\n\012\\\\〃; printf(〃%d〃,strlen(str));
上面程序片段的輸出結果是()(本題分值:2分)
【正確答案】C
A.3
B.4
C.6
D.12
45.函數調用:strcat(strcpy(str1,str2),str3)的功能是()(本題分值:2分)
【正確答案】C
A.將串str1復制到串str2中後再連接到串str3之後
B.將串str1連接到串str2之後再復制到串str3之後
C.將串str2復制到串str1中後再將串str3連接到串str1之後
D.將串str2連接到串str1之後再將串str1復制到串str3中
46.以下對C語言函數的有關描述中,正確的是()(本題分值:2分)
【正確答案】A
A.在C中,調用函數時,只能把實參的值傳送給形參,形參的值不能傳送給實參
B.C函數既可以嵌套定義又可以遞歸調用
C.函數必須有返回值,否則不能使用函數
D.C程序中有調用關系的所有函數必須放在同一個源程序文件中
47.以下敘述中不正確的是()(本題分值:2分)
【正確答案】C
A.在C中,函數中的自動變數可以賦初值,每調用一次,賦一次初值
B.在C中,在調用函數時,實參和對應形參在類型上只需賦值兼容
C.在C中,外部變數的隱含類別是自動存儲類別
D.在C中,函數形參可以說明為register變數

48.設有以下定義或語句,則輸出的結果是(用small模式編譯,指針變數佔2個位元組)()(本題分值:2分)
struct date
{long *cat;
struct date *next;
double dog;
}too;
printf(〃%d〃,sizeof(too));
【正確答案】D
A.20
B.16
C.14
D.12
49.設有定義:struct sk
{int a;float b;}data,*p;
若有p=&data;,則對data中的a域的正確引用是()(本題分值:2分)
【正確答案】B
A.(*p).data.a
B.(*p).a
C.p->data.a
D.p.data.a
50.以下對枚舉類型名的定義中正確的是()(本題分值:2分)
【正確答案】B
A.enum a={one,two,three};
B.enum a{one=9,two=-1,three};
C.enum a={〃one〃,〃two〃,〃three〃};
D.enum a{〃one〃,〃two〃,〃three〃};
二、填空題(每空2分,共40分)請將答案分別寫在答題卡中序號【1】至【20】的橫線上,答在試卷上不得分。
1、與十進制數101等值的二進制數為。(本題分值:2分)
【正確答案】
【1】1100101
2、DOS命令分為內部命令與外部命令,XCOPY命令屬於命令。(本題分值:2分)
【正確答案】
【2】外部
3、設當前盤為A盤,當前系統提示符為「>」,在不改變當前盤的情況下,顯示C盤的當前目錄路徑,應使用命令。 (本題分值:2分)
【正確答案】
【3】CD C:
4、自動批處理文件名必須是。(本題分值:2分)
【正確答案】
【4】AUTOEXEC.BAT

5、設在當前盤當前目錄下有兩個文件W.TXT與P.TXT,現要將文件P.TXT連接到文件W.TXT的後面,若使用COPY命令,則完整的命令為。(本題分值:2分)
【正確答案】
【5】COPY W.TXT+P.TXT W.TXT
6、表示條件10<x<100或x<0的C語言表達式是。(本題分值:2分)
【正確答案】
【6】(x>10&& x<100)||x<0
或(10<x&&x<100)||x<0
或x<0 ||(x>10&&x<100)
或0>x ||(10<x&&x<100)
7、以下程序中,主函數調用了LineMax函數,實現在N行M列的二維數組中,找出每一行上的最籩怠G胩羈鍘?br> #define N 3
#define M 4
void LineMax(int x[N][M])
{ int i,j,p;
for(i=0;i<N;i++)
{p=0;
for(j=1;j<M;j++)
if(x[i][p]<x[i][j]) ;
printf(〃The max value in line is %d\n〃,);
}
}
main()
{ int x[N][M]={1,5,7,4,2,6,4,3,8,2,3,1};
;
}
(本題分值:6分)
【正確答案】
【7】p=j
【8】x[i][p]
【9】LineMax(x)
8、以下程序的功能是:從鍵盤上輸入若干個學生的成績,統計計算出平均成績,並輸出低於平均分的學生成績,用輸入負數結束輸入。請填空。
main()
{float x[1000],sum=0.0,ave,a;
int n=0,i;
printf(〃Enter mark:\n〃);scanf(〃%f〃,&a);
while(a>= 0.0 && n<1000)
{sum+=;x[n]=;
n++; scanf(〃%f〃,&a);
}
ave= ;
printf(〃Output:\n〃);
printf(〃ave=%f\n〃,ave);
for(i=0;i<n;i++)
if() printf(〃%f\n〃,x[i]);
}
(本題分值:8分)
【正確答案】
【10】a
【11】a
【12】sum/n或sum/(float)n或sum/(double)n
【13】x[i]<ave或!(x[i]>=ave)或ave>x[i]
9、執行以下程序,輸入-10的結果是,輸入5的結果是,輸入10的結果是,輸入30的結果是。
(本題分值:8分)
【正確答案】
【14】0
【15】5
【16】10
【17】5
10、以下程序的功能是。
main()
{int num[10]={10,1,-20,-203,-21,2,-2,-2,11,-21};
int sum=0,i;
for(i=0;i<10;i++)
if(num[i]>0)
sum=num[i]+sum;
printf(〃sum=%6d〃,sum);
}
(本題分值:2分)
【正確答案】
【18】計算數組num中大於零的數據之和
11、以下程序可以把從鍵盤上輸入十進制數(long型)以二到十六進制數的形式輸出,請填空。
#include
main()
{char
b[16]={′0′,′1′,′2′,′3′,′4′,′5′,′6′,′7′,′8′,′9′,′A′,′B′,′C′,′D′,′E′,′F′};
int c[64],d,i=0,base;
long n;
printf(〃Enter a number:\n〃); scanf(〃%1d〃,&n);
printf(〃Enter new base:\n〃); scanf(〃%1d〃,&base);
do
{c[i]=;
i++;
n=n/base;
}while(n!=0);
printf(〃The result is:\n〃);
for(--i;i>=0;--i)
{?d=c[i];
printf(〃%c〃,b);
}
}
(本題分值:4分)
【正確答案】
【19】n%base
【20】 [d]