




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題
注:可利用查找功能復(fù)制部分題干查詢對(duì)應(yīng)題目和解析。
查找按鍵:Ctrl+
一、單選題(每題1分,共20道小題,總分值20分)
1.若有定義inta=2,b=9,k;k=a+b++/a++;則k的值是()
A6.5
B7
C6
D8
正確答案:C
2.在一個(gè)C語言程序中()
Amain函數(shù)必須出現(xiàn)在所有函數(shù)之前
Bmain函數(shù)可以在任何地方出現(xiàn)
Cmain函數(shù)必須出現(xiàn)在所有函數(shù)之后
Dmain函數(shù)必須出現(xiàn)在固定位置
正確答案.D
3.以下敘星中錯(cuò)誤的是()。
AC語句必須以分號(hào)結(jié)束
B復(fù)合語句在語法上被看作一條語句
C空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行
D賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句
正確答案:c
4.執(zhí)行以下程序后,輸出結(jié)果是()
voidmain()
(
inty=ll;
while(-y)
y--;
printf("%d\n”,y-);
)
A-l
Bl
C8
DO
正確答案:D
5.voidmain()
(
inta=5,*b,**c;
c=&b;
b=&a;
)
程序在執(zhí)行了c=&b;b=&a;語句后,表達(dá)式:**c的值是()
A變量a的地址
B變量b中的值
C變量a中的值
D變量b的地址
正確答案.C
6.以下敘述中錯(cuò)誤的是()。
AC語言中對(duì)二進(jìn)制文件的訪問速度比文本文件快
BC語言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)
C語句FILEfp
D定義了一個(gè)名為fp的文件指針
EC語言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)
正確答案:C
7.下面程序執(zhí)行結(jié)果是()
voidmain()
(
charcl,c2;
inti=2;
cl='a';c2='c';
cl=cl+i;c2=c2-i;
printf("%c,%d”,cl,c2);/*R的ASCII碼為97*/
)
A語法錯(cuò)誤
B99,97
Cc,a
De,97
正確答案:D
8.算法的特征不包括:()。
A有窮性
B可行性
C確定性
D有1個(gè)或者多個(gè)輸入。
正確答案:D
9.若有以下說明語句(已知int占2個(gè)字節(jié),long占4個(gè)字節(jié)),則下面printf
的輸出結(jié)果是()
unionuarea
(
intx;
longy;
);
structstr
(
chars[20];
unionuareaz;
};
voidmain()
(
printf("%d\n〃,sizeof(structstrj);
}
A24
B26
C20
D3O
正確答案:A
10.設(shè)有定義:intk=l,m=2;floatf=7;,則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。
Ak=k>=k
B-k++
Ck%int(f)
Dk>=f>=m
正確答案:c
11.C語言中,運(yùn)算對(duì)象必須是整型的運(yùn)算符是()
A%
B/
C%和/
D>=
正確答案:A
12.在C語言中,不正確的int類型的常數(shù)是()
A32768
B0
C037
DOxAF
正確答案:A
13.以下能正確定義且賦初值的語句是()。
Aintnl=n2=10
Beharc=32
Cfloatf=f+l.l
Ddoublex=12.3E2.5
正確答案:B
14.以下敘述中正確的是()。
A調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)
B使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h
(:在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCII碼
正確答案:B
15.下面對(duì)指針變量的敘述,正確的是()
A指針變量可以加上一個(gè)指針變量
B可以把一個(gè)整形數(shù)賦給指針變量
C指針變量的值可以賦給指針變量
D指針變量不可以有空值,即該指針變量必須指向某一變量
正確答案:B
16.下列標(biāo)識(shí)符中,只有()是合法的。
Aif
B3ab
Clnt
DA-4
正確答案:C
17.為表示關(guān)系X>Y>Z,應(yīng)使用C語言表達(dá)式()
A(X>Y)&&(Y>Z)
BX>=Y>=Z
C(X>=Y)(Y>=Z)
D(X>=Y)&&(Y>=Z)
正確答案:D
18.下面的敘述,不正確的是()
A宏名無類型,其參數(shù)也無類型
B宏定義不是C語句,不必在行末加分號(hào)
C宏替換只是字符替換
D宏替換定義命令必須寫在文件開頭
正確答案:D
19.對(duì)于語句,intx,y,z[10],*px,*py;指出下列哪個(gè)語句是不正確的()
Apx=&x,py=px
Bpx=x
Cpy=&y
Dpx=z
正確答案:B
20.請(qǐng)問:071人052的結(jié)果是()
A032
B016
C023
D022
正確答案:A
二、改錯(cuò)(每題5分,共5道小題,總分值25分)
l.#include"stdio.h"
voidmain()
(
staticinta[]={0*5};
inti=0,sum=0;
for(;i<5;i++)sum=sum+*(a+i)+i;
printf(//sum=%d,,,sum);
}
正確答案:
staticinta□={0*5}修改為staticinta[5];
2.voidmain()
inta,b;
floatx,y,z;
scanf(/z%f%f%r,&x,&y,&z);
a二b=x+y+z;
c=a+b;
printf(//%d%d%d,,,a,b,c);
}
正確答案:
inta,b;修改為inta,b,c;
3.計(jì)算1+1/2+1/3+...+1/10
voidmain()
(
doublet=1.0;
inti;
for(i=2;i<=10;i++)
t+=l/i;
printf("t=%f\n",t);
}
正確答案:
t+=l/i;修改為t+=1.0/i;
4.以下程序用于通過指針對(duì)數(shù)組進(jìn)行輸入和輸出。
注:該題目有2個(gè)錯(cuò)誤之處,找出并改正。
#include<stdio.h>
voidmain()
(
inta[10];
int*p=a;
inti;
for(i=0;i<10;i++)
scanf(''%d”,*p++);
for(i=0;i<10;i++)
printf("%5cT,*p++);
}
正確答案:
在第2個(gè)for語句前,添加語句:p二a
5.以下程序用于計(jì)算一個(gè)一維數(shù)組各元素平方根的和。
注:該題目有3個(gè)錯(cuò)誤之處,找出并改正。
Winclude<stdio.h>
voidmain()
(
inta[10],i,sum;
for(i=0;i<=10;i++)
scanf("%d〃,&a[i]);
i=0;
while(!(i=9))
(
sum+=sqrt(a[i]);
i++;
)
)
正確答案:
第一個(gè)錯(cuò)誤:for的第二個(gè)表達(dá)式應(yīng)為i<10。
第二個(gè)錯(cuò)誤:sum未賦初值,應(yīng)加入:sum=0;
第三個(gè)錯(cuò)誤:while循環(huán)的條件應(yīng)改為:!(i==9)或者。<=9)或者(i<10)。
三、程序運(yùn)行結(jié)果(每題10分,共2道小題,總分值20分)
l.#include"stdio.h"
voidmain()
(
inti,k,a[10],p[3];
k=5;
for(i=0;i<10;i++)
a[i]=i;
for(i=0;i<3;i++)
p[i]=a[i*(i+l)];
for(i=0;i<3;i++)
k+=p[i]*2;
printf("%d\n”,k);
)
運(yùn)行結(jié)果。
(10分)
正確答案:
21
2.#include<stdio.h>
voidmain()
(
inta=100,b=10;
int*pl=&a,*p2=&b;
*pl=b;
*p2=a;
printf("%d,%d/,a,b);
printf("%d,%d\n"*pl,*p2);
)
(10分)
正確答案:
10,10,10,10
四、程序題(每題15分,共1道小題,總分值15分)
1.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如
下:
1
11其構(gòu)成規(guī)律是:
121(1)第0列元素和主對(duì)角線元素均為1
1331(2)其余元素為其左上方和正上方元素之和
14641(3)數(shù)據(jù)的個(gè)數(shù)每行遞增1
請(qǐng)將程序補(bǔ)充完整。
WdefineN6
voidyanghui(intx[N][N])
{
inti,j;
x[0][0]=l;
for(i=l;i<N;i++)
{
x[i][0]=①=1;
for(j=l;j<i;j++)
x[i][j]=②;
)
)
(15分)
正確答案:
五、綜合題(每題20分,共1道小題,總分值20分)
1.定義一8個(gè)元素的整數(shù)數(shù)組,讀入各元素值后用選擇法由小到大排序,之后輸
出排序結(jié)果。
(20分)
正確答案:
#include<stdio.h>
voidmain()
(
inta[8],i,j,min,temp;
printf("請(qǐng)輸入原數(shù)組:\n");
for(i=0;i<8;i++)
scanf("%d〃,&a[i]);
for(i=0;i<8;i++)
(
min=i;
for(j=i+l;j<8;j++)
if(a[min]>a[j])
min=j;
temp=a[min];
a[min]=a[i];
a[i]=temp;
}
printf("排序后為:\n〃);
for(i=0;i<8;i++)
printf(/z%d
}
程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題
一、單選題(每題1分,共20道小題,總分值20分)
1.返回值為void的函數(shù),其含義是()
A調(diào)用函數(shù)之后,被調(diào)用的函數(shù)沒有返回值;
B調(diào)用函數(shù)之后,被調(diào)用的函數(shù)不返回
(:調(diào)用函數(shù)之后,被調(diào)用的函數(shù)返回值為任意類型
D以上三種說法均不正確。
正確答案:A
2.C語言源程序的基本組成單位是()。
A函數(shù)
B語句
C聲明和語句
D文件
正確答案:A
3.下列說法中正確的是:()。
AC語言中的for語句的三個(gè)表達(dá)式都可以省略,而且分號(hào)也可以省略。
B宏替換比函數(shù)調(diào)用的執(zhí)行速度慢。
C實(shí)質(zhì)上,C語言中的指針就是一個(gè)變量的地址。
DC語言中的任何函數(shù)都可以由程序員命名。
正確答案:C
4.算法的特征不包括:()。
A有窮性
B可行性
C確定性
D有1個(gè)或者多個(gè)輸入。
正確答案:D
5.在一個(gè)C語言程序中()
Amain函數(shù)必須出現(xiàn)在所有函數(shù)之前
Bmain函數(shù)可以在任何地方出現(xiàn)
Cmain函數(shù)必須出現(xiàn)在所有函數(shù)之后
Dmain函數(shù)必須出現(xiàn)在固定位置
正確答案:B
6.下程序的結(jié)果為()
intf(inta)
(
autointb=0;
staticintc=3;
b=b+l;
c=c+l;
return(a+b+c);
}
voidmain()
(
inta=2,i;
for(i=0;i<3;i++)
printf("%d”,f(a));
}
A789
B777
C8910
D9
正確答案:A
7.voidmain()
(
inta=5,*b,**c;
c=&b;
b=&a;
)
程序在執(zhí)行了c=&b;b=&a;語句后,表達(dá)式:**c的值是()
A變量a的地址
B變量b中的值
C變量a中的值
D變量b的地址
正確答案:C
8.以下關(guān)于函數(shù)的敘述中正確的是()。
A每個(gè)函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù))
B每個(gè)函數(shù)都可以被單獨(dú)編譯
C每個(gè)函數(shù)都可以單獨(dú)運(yùn)行
D在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)
正確答案:B
9.若有定義inta=2,b=9,k;k=a+b++/a++;則k的值是()
A6.5
B7
C6
D8
正確答案:C
10.合法的C語言標(biāo)識(shí)符是()
Aab&c
B2ab
C_al
D/n
正確答案:C
11.已定義以下函數(shù)
intfun(int*p)
{
return*p;
)
該函數(shù)的返回值是()
A不確定的值
B形參p中存放的值
C形參p所指存儲(chǔ)單元中的值
D形參p的地址值
正確答案:C
12.對(duì)于scanf("A=%d",&a)語句,輸入10的正確的輸入形式是()
Aa=10
BA=10
CIO
D=10
正確答案:B
13.執(zhí)行以下程序后,輸出結(jié)果是()
voidmain()
(
inty=ll;
while(—y)
y-;
printf("%d\n〃,y—);
}
A-l
Bl
C8
DO
正確答案:D
14.對(duì)于語句,intx,y,z[10],*px,*py;指出下列哪個(gè)語句是不正確的()
Apx=&x,py=px
Bpx=x
Cpy=&y
Dpx=z
正確答案:B
15.下面對(duì)函數(shù)的敘述,不正確的是()
A函數(shù)的返回值是通過函數(shù)中的return語句獲得的
B函數(shù)不能嵌套定義
C一個(gè)函數(shù)中有且只有一個(gè)return語句
D函數(shù)中沒有return語句,并不是不帶回值
正確答案:C
16.以下敘述中正確的是()。
A調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)
B使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h
C在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCII碼
正確答案:B
17.以下不能正確定義二維數(shù)組的選項(xiàng)是()
Ainta[2][2]={{l},{2})
Binta[2][]={{l,2},{3,4}}
Cinta[2][2]={{1},2,3}
Dinta[][2]={l,2,3,4)
正確答案:B
18.若有兩條語句:staticcharx[]="abcde”;
staticchary[]={'a','b','c','d','e'};
則下列說法中正確的是()
Ax數(shù)組和y數(shù)組長(zhǎng)度相同
Bx數(shù)組長(zhǎng)度大于y數(shù)組長(zhǎng)度
Cx數(shù)組長(zhǎng)度小于y數(shù)組長(zhǎng)度
D以上三種說法均錯(cuò)誤。
正確答案:B
19.當(dāng)把以下四個(gè)表達(dá)式用作if語句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選
項(xiàng)含義不同,這個(gè)選項(xiàng)是()。
Ak%2
Bk%2==l
C(k%2)!=0
D!k%2==l
正確答案:D
20.函數(shù)strcmp("A","B")的值為()
AO
B-l
Cl
D3
正確答案:B
二、改錯(cuò)(每題5分,共5道小題,總分值25分)
1.以下程序用于計(jì)算一個(gè)一維數(shù)組各元素平方根的和。
注:該題目有3個(gè)錯(cuò)誤之處,找出并改正。
Winclude<stdio.h>
voidmain()
(
inta[10],i,sum;
for(i=0;i<=10;i++)
scanf("%d”,&a[i]);
i=0;
while(!(i=9))
sum+=sqrt(a[i]);
i++;
)
)
正確答案:
第一個(gè)錯(cuò)誤:for的第二個(gè)表達(dá)式應(yīng)為i<10。
第二個(gè)錯(cuò)誤:sum未賦初值,應(yīng)加入:sum=0;
第三個(gè)錯(cuò)誤:while循環(huán)的條件應(yīng)改為:!(仁二9)或者(i<=9)或者(i<10)。
2.#include"stdio.h"
voidmain()
(
chara[20];
inti=0;
scanf("%s〃,&a);
while(a[i])
printf("%c〃,a[i++]);
}
正確答案:
scanf(〃%s:&a);修改為scanf("%s〃,a);
3.下程序是從鍵盤上輸入若干學(xué)生的成績(jī),統(tǒng)計(jì)并輸出最高成績(jī)和最低成績(jī),當(dāng)
輸入負(fù)數(shù)時(shí)結(jié)束輸入。
注:該題目有1個(gè)錯(cuò)誤之處,找出并改正。
#include<stdio.h>
voidmain()
(
floatx,amax,amin;
scanf("%f〃,&x);
amax=x;
amin=x;
while(x<0)
(
if(x>amax)amax=x;
if(x<amin)amin=x;
scanf("%f〃,&x);
};
printf(zzamax=%f\namin=%f\n,,,amax,amin);
}
正確答案:
while(x<0)修改為while(x>=0)
4.以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積So
注:該題目有3個(gè)錯(cuò)誤之處,找出并改正
Winclude<stdio.h>
#definePI3.1415926;
voidmain()
(
intr;
floats;
scanf(“%d”,rj;
s=PI*r**r;
printf("s=%f\n,,,s);
}
正確答案:
第一個(gè)錯(cuò)誤:scanf("%d〃j)應(yīng)為scanf(〃%d,&r〃)。
第二個(gè)錯(cuò)誤:宏定義后邊的分號(hào)去掉。
第三個(gè)錯(cuò)誤:s=PI*r**2應(yīng)為s=Pl*r*r°
5.intstr_space(char*strj/*統(tǒng)計(jì)字符串中空格數(shù)*/
(
intnum=0;
charch;
while((ch=*str++)!=,\O,)
if(ch=〃)num++;
return(num);
}
正確答案:
if(ch=〃)修改為if(ch==〃)
三、程序運(yùn)行結(jié)果(每題10分,共2道小題,總分值20分)
1.有以下程序
#include<stdio.h>
voidmain()
(
inti=0,s=0;
do
(
if(i%2)
(
i++;
continue;
}
i++;
s+=i;
}while(i<9);
printf("%d\n”,s);
}
執(zhí)行后輸出的結(jié)果是。
(10分)
正確答案:
25
2.定義如下變量和數(shù)組
inti,x[3][3]={l,2,3,4,5,6,7,8,9};
則下列語句
for(i=0;i<3;i++)
printf(w%dw,x[i][2-i]);
的輸出結(jié)果是O
(10分)
正確答案:
357
四、程序題(每題15分,共工道小題,總分值15分)
1.以下程序的功能是輸出如下形式的方陣:
13141516
9101112
5678
1234
請(qǐng)?zhí)羁铡?/p>
^include<stdio.h>
voidmain()
(
int
for(j=4;一①;j--)
{
for(i=l;i<=4;i++)
(
x=(j;)*4+—②—;
printf("%4d",x);
}
printf("\n");
)
)
(15分)
正確答案:
①j>0;②i
五、綜合題(每題20分,共1道小題,總分值20分)
1.定義一8個(gè)元素的整數(shù)數(shù)組,讀入各元素值后用選擇法由小到大排序,之后輸
出排序結(jié)果。
(20分)
正確答案:
#include<stdio.h>
voidmain()
(
inta[8],i,j,min,temp;
printf(“請(qǐng)輸入原數(shù)組:\n〃);
for(i=0;i<8;i++)
scanf("%d〃,&a[i]);
for(i=0;i<8;i++)
(
min=i;
for(j=i+l;j<8;j++)
if(a[min]>a[j])
min=j;
temp=a[min];
a[min]=a[i];
a[i]=temp;
}
printf(〃排序后為:\n〃);
for(i=0;i<8;i++)
printf("%d
}
程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題
一、單選題(每題1分,共20道小題,總分值20分)
1.以下關(guān)于函數(shù)的敘述中正確的是()。
A每個(gè)函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù))
B每個(gè)函數(shù)都可以被單獨(dú)編譯
C每個(gè)函數(shù)都可以單獨(dú)運(yùn)行
D在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)
正確答案.B
2.以下敘述中錯(cuò)誤的是()。
AC語句必須以分號(hào)結(jié)束
B復(fù)合語句在語法上被看作一條語句
C空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行
D賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句
正確答案:c
3.下列標(biāo)識(shí)符中,只有()是合法的。
Aif
B3ab
Clnt
DA-4
正確答案:c
4.設(shè)有定義:inta=2,b=3,c=4;,則以下選項(xiàng)中值為。的表達(dá)式是()。
A(!a==l)&&(!b==0)
B(a<b)&&!c||1
Ca&&b
Da||(b+b)&&(c-a)
正確答案:A
5.有以下程序段
intk=0,a=l,b=2,c=3;k=a<b?b:a;k=k>c?c:k;
執(zhí)行該程序段后,k的值是()。
A3
B2
Cl
DO
正確答案.B
6.以下敘星中錯(cuò)誤的是()。
AC語言中對(duì)二進(jìn)制文件的訪問速度比文本文件快
BC語言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)
C語句FILEfp
D定義了一個(gè)名為fp的文件指針
EC語言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)
正確答案:C
7.uniondata
(
inti;
charc;
floatf;
};
定義了()
A共用體類型data
B共用體變量data
C結(jié)構(gòu)體類型data
DJ結(jié)構(gòu)體變量data
正確答案:A
8.以下不能正確計(jì)算代數(shù)式值的C語言表達(dá)式是()。
Al/3*sin(l/2)*sin(l/2)
Bsin(0.5)*sin(0.5)/3
Cpow(sin(0.5),2)/3
Dl/3.0*pow(sin(1.0/2),2)
確答案?A
9.下列常量中,只有()是合法的。
A3e-0.3
B'abc'
C02al
D\377
正確答案:D
10.下面對(duì)指針變量的敘述,正確的是()
A指針變量可以加上一個(gè)指針變量
B可以把一個(gè)整形數(shù)賦給指針變量
C指針變量的值可以賦給指針變量
D指針變量不可以有空值,即該指針變量必須指向某一變量
正確答案:B
1L執(zhí)行以下程序后,輸出結(jié)果是()
voidmain()
(
inty=ll;
while(—y)
y-;
printf("%d\n〃,y—);
}
A-l
Bl
C8
DO
正確答案:D
12.請(qǐng)問:07W052的結(jié)果是()
A032
B016
C023
D022
正確答案:A
13.下列說法中正確的是:()。
AC語言中的for語句的三個(gè)表達(dá)式都可以省略,而且分號(hào)也可以省略。
B宏替換比函數(shù)調(diào)用的執(zhí)行速度慢。
(:實(shí)質(zhì)上,C語言中的指針就是一個(gè)變量的地址。
DC語言中的任何函數(shù)都可以由程序員命名。
正確答案:C
14.在一個(gè)C語言程序中()
Amain函數(shù)必須出現(xiàn)在所有函數(shù)之前
Bmain函數(shù)可以在任何地方出現(xiàn)
Cmain函數(shù)必須出現(xiàn)在所有函數(shù)之后
Dmain函數(shù)必須出現(xiàn)在固定位置
正確答案:B
15.若有兩條語句:staticcharx[]="abcde”;
staticchary[]={'a','b','c','d','e'};
則下列說法中正確的是()
Ax數(shù)組和y數(shù)組長(zhǎng)度相同
Bx數(shù)組長(zhǎng)度大于y數(shù)組長(zhǎng)度
Cx數(shù)組長(zhǎng)度小于y數(shù)組長(zhǎng)度
D以上三種說法均錯(cuò)誤。
正確答案:B
16.下程序的結(jié)果為()
intf(inta)
autointb=0;
staticintc=3;
b=b+l;
c=c+l;
return(a+b+c);
}
voidmain()
(
inta=2,i;
for(i=0;i<3;i++)
printf(''%d'1f(a));
}
A789
B777
C8910
D9
正確答案:A
17.為表示關(guān)系X>Y>Z,應(yīng)使用C語言表達(dá)式()
A(X>Y)&&(Y>Z)
BX>=Y>=Z
C(X>=Y)(Y>=Z)
D(X>=Y)&&(Y>=Z)
正確答案:D
18.以下敘述中正確的是()。
A調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)
B使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h
C在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCII碼
正確答案:B
19.函數(shù)strcmp("A","B")的值為()
A0
B-1
C1
D3
正確答案:B
20.程序的結(jié)果為()
voidmain()
(
inta=3,b=4,t=l;
if(a>b)
{t=a;a=b;b=t;}
printf("%d〃,a);
}
A3
B4
Cl
DO
正確答案:A
二、改錯(cuò)(每題5分,共5道小題,總分值25分)
L以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積So
注:該題目有3個(gè)錯(cuò)誤之處,找出并改正
#include<stdio.h>
#definePI3.1415926;
voidmain()
(
intr;
floats;
scanf(”%d”,rj;
s=PI*r**r;
printf("s=%f\n,,,s);
}
正確答案:
第一個(gè)錯(cuò)誤:scanf("%d〃j)應(yīng)為scanf(〃%d,&r〃)。
第二個(gè)錯(cuò)誤:宏定義后邊的分號(hào)去掉。
第三個(gè)錯(cuò)誤:s=PI*r**2應(yīng)為s=Pl*r*r°
2.以下程序用于通過指針對(duì)數(shù)組進(jìn)行輸入和輸出。
注:該題目有2個(gè)錯(cuò)誤之處,找出并改正。
Winclude<stdio.h>
voidmain()
(
inta[10];
int*p=a;
inti;
for(i=0;i<10;i++)
scanf("%cT’*p++);
for(i=0;i<10;i++)
printf(〃%5cT,*p++);
}
正確答案:
在第2個(gè)for語句前,添加語句:p=a
3.求100以內(nèi)的正整數(shù)中為13的倍數(shù)的最大值。
voidmain()
|
inti;
for(i=100;i>=0;i-)
if(i%13==0)
printf("%d",i);
)
正確答案:
if(ch>='a'&&ch<='z')修改為if(*ch>='a'&&*ch<='z')
4.求1+2+3+...+100
voidmain()
{
inti=l;
do
{
sum+=i;
i++;
}while(i<=100);
printf(”%cT,sum);
}
正確答案:
在do之前面加:intsum=0;
5.#include"stdio.h"
voidmain()
(
chara[20];
inti=0;
scanf("%s〃,&a);
while(a[i])
printf(zz%c,,,a[i++]);
}
正確答案:
scanf("%s",&a);修改為scanf("%s",a);
三、程序運(yùn)行結(jié)果(每題10分,共2道小題,總分值20分)
l.#include"stdio.h"
voidmain()
{
intx=l;
voidfl(),f2();
fl();
f2(x);
printf("x=%d\n”,x);
)
voidfl()
{
intx=3;
printf("x=%d\n”,x);
)
voidf2(intx)
{
printf("x=%d\t”,x);
)
運(yùn)行結(jié)果。
(10分)
正確答案:
x=3
x=lx=l
2.#include<stdio.h>
voidmain()
(
inta⑷⑷={{323-4},{0,-12,-13,14},{-21,23,0,-24},{-31,12,-33,0}};
inti,j,s=O;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
(
if(a[i][j]<0)
continue;
if(a[i][j]==O)
break;
s+=a[i][j];
)
)
printf("%d\n",s);
)
(10分)
正確答案:
40
四、程序題(每題15分,共1道小題,總分值15分)
1.本程序?qū)崿F(xiàn)判斷m是否為素?cái)?shù),請(qǐng)?jiān)诔绦蚩瞻滋?序號(hào)①②處)填空
#include"stdio.h"
voidmain()
|
intm,i,k;
scanf("%cT,&m);
k=①;
for(i=2;i<=k;i++)
if(m%i==0)break;
if(②)
printf(''%d"isaprimenumber\n〃,m);
else
printf(/z%disnotaprimenumberXn^m);
}
(15分)
正確答案:
①m-1;②i>=m
五、綜合題(每題20分,共1道小題,總分值20分)
L設(shè)整型變量a、b、c分別從鍵盤輸入3個(gè)整數(shù),編寫程序,按照從大到小的順
序排列這3個(gè)數(shù),使a成為最大的,c成為最小的,并且按序輸出這3個(gè)數(shù)。
(20分)
正確答案:
#include<stdio.h>
voidmain()
(
inta,b,c,t;
printf('Inputa,b,c://);
scanf("%d,%d,%d",&a,&b,&c);
if(a<b)
{t=a;a=b;b=t;}
if(a<c)
{t=a;a=c;c=t;}
if(b<c)
{t=b;b=c;c=t;}
printf(zzaftersorted:");
printf("%d,%d,%d\n〃,abc);
)
程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題
一、單選題(每題1分,共20道小題,總分值20分)
1.當(dāng)把以下四個(gè)表達(dá)式用作if語句的控制表達(dá)式時(shí),有一個(gè)選項(xiàng)與其它三個(gè)選項(xiàng)
含義不同,這個(gè)選項(xiàng)是()。
Ak%2
Bk%2==l
C(k%2)!=0
D!k%2==l
正確答案:D
2.執(zhí)行以下程序后,輸出結(jié)果是()
voidmain()
(
inty=ll;
while(-y)
y-;
printf("%d\n",y--);
)
A-l
Bl
C8
DO
正確答案:D
3.為表示關(guān)系X2Y2Z,應(yīng)使用C語言表達(dá)式()
A(X>Y)&&(Y>Z)
BX>=Y>=Z
C(X>=Y)(Y>=Z)
D(X>=Y)&&(Y>=Z)
正確答案:D
4,將p定義為指向含n個(gè)元素的一維數(shù)組的指針變量,正確的語句為()
Aint(*p)[n]
Bint*p[n]
Cintp[n]
Dint**p[n]
正確答案:A
5.以下敘述中錯(cuò)誤的是()。
AC語句必須以分號(hào)結(jié)束
B復(fù)合語句在語法上被看作一條語句
C空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行
D賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句
正確答案?C
6.以下敘述中錯(cuò)誤的是()。
AC語言中對(duì)二進(jìn)制文件的訪問速度比文本文件快
BC語言中,隨機(jī)文件以二進(jìn)制代碼形式存儲(chǔ)數(shù)據(jù)
C語句FILEfp
D定義了一個(gè)名為fp的文件指針
EC語言中的文本文件以ASCII碼形式存儲(chǔ)數(shù)據(jù)
正確答案:C
7.下列關(guān)于switch和break語句的討論中,只有()是正確的。
Abreak語句是switch語句的一部分
B在switch語句中可以根據(jù)需要使用或不使用break語句
Cswitch語句中必須使用break語句
D以上三種說法都不正確。
正確答案:B
8.下列標(biāo)識(shí)符中,只有()是合法的。
Aif
B3ab
Clnt
DA-4
正確答案:C
9,函數(shù)strcmp(〃A〃,〃B〃)的值為()
AO
B-l
Cl
D3
正確答案:B
10.下面對(duì)枚舉類型的敘述,不正確的是()
A定義枚舉類型用enum開頭
B枚舉常量的值是一個(gè)常數(shù)
C一個(gè)整數(shù)可以直接賦給一個(gè)枚舉變量
D枚舉值可以用來作判斷比較
正確答案:C
11.以下敘述中正確的是()。
A調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)
B使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h
C在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCII碼
正確答案:B
12.返回值為void的函數(shù),其含義是()
A調(diào)用函數(shù)之后,被調(diào)用的函數(shù)沒有返回值;
B調(diào)用函數(shù)之后,被調(diào)用的函數(shù)不返回
(:調(diào)用函數(shù)之后,被調(diào)用的函數(shù)返回值為任意類型
D以上三種說法均不正確。
正確答案:A
13.C語言中,如果對(duì)函數(shù)類型未加說明,則函數(shù)的隱含類型為()
Aduoble
Bvoid
Cint
Dchar
正確答案:C
14.以下選項(xiàng)中,不能作為合法常量的是
A1.234e04
B1.234e0.4
C1.234e+4
D1.234e0
正確答案:B
15.以下敘述中正確的是()
AC程序中注釋部分可以出現(xiàn)在程序中任意合適的地方
B花括號(hào)“"和"}"只能作為函數(shù)體的定界符
C構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D分號(hào)是C語句之間的分隔符,不是語句的一部分
正確答案:A
16.合法的C語言標(biāo)識(shí)符是()
Aab&c
B2ab
C_al
D/n
正確答案:C
17.有以下程序段
typedefstructNODE{
intnum;
structNODE*next;
}OLD;
以下敘述中正確的是()。
A以上的說明形式非法
BNODE是一個(gè)結(jié)構(gòu)體類型
COLD是一個(gè)結(jié)構(gòu)體類型
DOLD是一個(gè)結(jié)構(gòu)體變量
正確答案:C
18.下面對(duì)函數(shù)的敘述,不正確的是()
A函數(shù)的返回值是通過函數(shù)中的return語句獲得的
B函數(shù)不能嵌套定義
C一個(gè)函數(shù)中有且只有一個(gè)return語句
D函數(shù)中沒有return語句,并不是不帶回值
正確答案:C
19.當(dāng)c的值不為0時(shí),在下列選項(xiàng)中能正確將c的值賦給變量a、b的是()
Ac=b=a;
B(a=c)(b=c)
C
D(a=c)&&(b=c)
E
Fa=c=b
正確答案:c
20.已定義以下函數(shù)
intfun(int*p)
{
return*p;
)
該函數(shù)的返回值是()
A不確定的值
B形參p中存放的值
C形參p所指存儲(chǔ)單元中的值
D形參p的地址值
正確答案:c
二、改錯(cuò)(每題5分,共5道小題,總分值25分)
1.以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積So
注:該題目有3個(gè)錯(cuò)誤之處,找出并改正
#include<stdio.h>
#definePI3.1415926;
voidmain()
{
intr;
floats;
scanf("%d",r);
s=p|*r**r;
printf("s=%f\n",s);
)
正確答案:
第一個(gè)錯(cuò)誤:scanf("%d",r)應(yīng)為scanf("%d,&r")。
第二個(gè)錯(cuò)誤:宏定義后邊的分號(hào)去掉。
第三個(gè)錯(cuò)誤:s=PI*r**2應(yīng)為s=PI*r*r。
2.計(jì)算1+1/2+1/3+...+1/10
voidmain()
{
doublet=1.0;
inti;
for(i=2;i<=10;i++)
t+=l/i;
printf("t=%f\n",t);
)
正確答案:
t+=l/i;修改為t+=1.0/i;
3.intstr_space(char*str)/*統(tǒng)計(jì)字符串中空格數(shù)*/
(
intnum=0;
charch;
while((ch=*str++)!=,\O,)
if(ch=")num++;
return(num);
)
正確答案:
if(ch=〃)修改為if(ch==〃)
4.求1+2+3+...+100
voidmain()
|
inti=l;
do
{
sum+=i;
i++;
}while(i<=100);
printf(”%cT,sum);
}
正確答案:
在do之前面加:intsum=0;
5.以下程序用于通過指針對(duì)數(shù)組進(jìn)行輸入和輸出。
注:該題目有2個(gè)錯(cuò)誤之處,找出并改正。
#include<stdio.h>
voidmain()
(
inta[10];
int*p=a;
inti;
for(i=0;i<10;i++)
scanf("%d,,,*p++);
for(i=0;i<10;i++)
printf("%5d〃,*p++);
)
正確答案:
在第2個(gè)for語句前,添加語句:p=a
三、程序運(yùn)行結(jié)果(每題10分,共2道小題,總分值20分)
l.#include<stdio.h>
voidmain()
(
inta=l,b=2,c=3;
if(c==a)
printf("%d\n",c);
else
printf("%d\n",b);
)
(10分)
正確答案:
2
2.定義如下變量和數(shù)組
inti,x[3][3]={l,2,3,4,5,6,7,8,9};
則下列語句
for(i=0;i<3;i++)
printf(H%dw,x[i][2-i]);
的輸出結(jié)果是0
(10分)
正確答案:
357
四、程序題(每題15分,共1道小題,總分值15分)
1.下面invert函數(shù)的功能是將一個(gè)字符串內(nèi)容顛倒過來,請(qǐng)?zhí)羁?序號(hào)①②處)。
#include"string.h〃
voidinvert(charstr[])
(
inti,j,k;
for(i=O,j=strlen(str)-l;i<j;①)
(
k=str[i];
—②;
str[j]=k;
)
)
(15分)
正確答案:
①i++(或++i,或i+=l,或i=i+l),j—(或或j-=l,或j=i-l);(2)str[i]=str[j](或
*(str+i)=*(str+j))
五、綜合題(每題20分,共工道小題,總分值20分)
1.設(shè)整型變量a、b、c分別從鍵盤輸入3個(gè)整數(shù),編寫程序,按照從大到小的順
序排列這3個(gè)數(shù),使a成為最大的,c成為最小的,并且按序輸出這3個(gè)數(shù)。
(20分)
正確答案:
//include<stdio.h>
voidmain()
(
inta,b,c,t;
printf(/zinputa,b,c:");
scanf("%d,%d,%cT,&a,&b,&c);
if(a<b)
{t=a;a=b;b=t;}
if(a<c)
{t=a;a=c;c=t;}
if(b<c)
{t=b;b=c;c=t;}
printf("aftersorted:");
printf("%d,%d,%d\n”,abc);
}
程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題
一、單選題(每題1分,共20道小題,總分值20分)
1.若有定義inta=2,b=9,k;k=a+b++/a++;則k的值是()
A6.5
B7
C6
D8
正確答案:c
2.在C語言中,不正確的int類型的常數(shù)是()
A32768
B0
C037
DOxAF
正確答案:A
3.有以下程序段
intk=0,a=l,b=2,c=3;k=a<b?b:a;k=k>c?c:k;
執(zhí)行該程序段后,k的值是()。
A3
B2
Cl
DO
正確答案:B
4.設(shè)有定義:intk=l,m=2;floatf=7;,則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。
Ak=k>=k
B-k++
Ck%inHf)
Dk>=f>=m
正確答案:C
5.以下能正確定義且賦初值的語句是()。
Aintnl=n2=10
Beharc=32
Cfloatf=f+l.l
□doublex=12.3E2.5
正確答案:B
6.在printf語句中按字符串輸出的格式是()
A"%s"
B"%c"
C"%f"
D"%d"
正確答案:A
7.下面程序執(zhí)行結(jié)果是()
voidmain()
(
charcl,c2;
inti=2;
cl='a';c2='c';
cl=cl+i;c2=c2-i;
printf("%c,%d”,cl,c2);/*R的ASCII碼為97*/
)
A語法錯(cuò)誤
B99,97
Cc,a
De,97
正確答案:D
8.以下不能正確定義二維數(shù)組的選項(xiàng)是()
Ainta[2][2]={{l},{2})
Binta⑵口={{1,2},{3,4}}
Cinta[2][2]={{1},2,3}
Dinta[][2]={l,2,3,4)
正確答案:B
9.為表示關(guān)系X2Y2Z,應(yīng)使用C語言表達(dá)式()
A(X>Y)&&(Y>Z)
BX>=Y>=Z
C(X>=Y)(Y>=Z)
D(X>=Y)&&(Y>=Z)
正確答案:D
10.C語言源程序的基本組成單位是()。
A函數(shù)
B語句
C聲明和語句
D文件
正確答案:A
11.在一個(gè)C語言程序中()
Amain函數(shù)必須出現(xiàn)在所有函數(shù)之前
Bmain函數(shù)可以在任何地方出現(xiàn)
Cmain函數(shù)必須出現(xiàn)在所有函數(shù)之后
Dmain函數(shù)必須出現(xiàn)在固定位置
正確答案:B
12.程序的結(jié)果為()
voidmain()
(
inta=l;
switch(a)
{case1:printf(/zl/,);
case2:printf("2〃);
default:printf(//other",);
}
}
A12other
Bl
C2
DOther
正確答案:A
13.以下敘述中正確的是()
AC程序中注釋部分可以出現(xiàn)在程序中任意合適的地方
B花括號(hào)和"}"只能作為函數(shù)體的定界符
C構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D分號(hào)是C語句之間的分隔符,不是語句的一部分
確答案.A
14.該程序.段的輸出結(jié)果為()
intx=20;
printf("%d,%o,%x”,x,x,x);
A20,20,20
B20,24,14
C20,14,24
D20,024,14
正確答案:B
15.以下選項(xiàng)中,不能作為合法常量的是
A1.234e04
B1.234e0.4
C1.234e+4
D1.234e0
正確答案:B
16.以下關(guān)于函數(shù)的敘述中正確的是()。
A每個(gè)函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù))
B每個(gè)函數(shù)都可以被單獨(dú)編譯
C每個(gè)函數(shù)都可以單獨(dú)運(yùn)行
D在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)
正確答案:B
17.表達(dá)式(int)3.6*3的值為()
A9
B10
C10.8
D18
正確答案:A
18.設(shè)a=3,b=4,表達(dá)式a>b?b:a的值是()
A3
B4
C4:3
DO
正確答案:A
19.C語言中,如果對(duì)函數(shù)類型未加說明,則函數(shù)的隱含類型為()
Aduoble
Bvoid
Cint
Dchar
正確答案:c
20.C語言中,運(yùn)算對(duì)象必須是整型的運(yùn)算符是()
A%
B/
C%和/
D>=
正確答案:A
二、改錯(cuò)(每題5分,共5道小題,總分值25分)
1.下程序是從鍵盤上輸入若干學(xué)生的成績(jī),統(tǒng)計(jì)并輸出最高成績(jī)和最低成績(jī),當(dāng)
輸入負(fù)數(shù)時(shí)結(jié)束輸入。
注:該題目有1個(gè)錯(cuò)誤之處,找出并改正。
^include<stdio.h>
voidmain()
(
floatx,amax,amin;
scanf("%f〃,&x);
amax=x;
amin=x;
while(x<0)
(
if(x>amax)amax=x;
if(x<amin)amin=x;
scanf("%f〃,&x);
};
printf(//amax=%f\namin=%f\n,,,amax,amin);
}
正確答案:
while(x<0)修改為while(x>=0)
2.以下程序的功能是:給r輸入數(shù)據(jù)后計(jì)算半徑為r的圓面積So
注:該題目有3個(gè)錯(cuò)誤之處,找出并改正
^include<stdio.h>
#definePI3.1415926;
voidmain()
(
intr;
floats;
scanf(”%d”,rj;
s=p|*r**r;
printf(,,s=%f\n",s);
}
正確答案:
第一個(gè)錯(cuò)誤:scanf(〃%d〃,r)應(yīng)為scanf(〃%d,&r〃)。
第二個(gè)錯(cuò)誤:宏定義后邊的分號(hào)去掉。
第三個(gè)錯(cuò)誤:s=Pl*r**2應(yīng)為s=Pl*r*r。
3.voidmain()
(
inta,b;
floatx,y,z;
scanf("%f%f%f,&x,&y,&z);
a=b=x+y+z;
c=a+b;
printf(/z%d%d%d,,,a,b,c);
}
正確答案:
inta,b;修改為inta,b,c;
4.以下程序用于通過指針對(duì)數(shù)組進(jìn)行輸入和輸出。
注:該題目有2個(gè)錯(cuò)誤之處,找出并改正。
^include<stdio.h>
voidmain()
(
inta[10];
int*p=a;
inti;
for(i=0;i<10;i++)
scanf("%d〃,*p++);
for(i=0;i<10;i++)
printf("%5d”,*p++);
}
正確答案:
在第2個(gè)for語句前,添加語句:p=a
5.求100以內(nèi)的正整數(shù)中為13的倍數(shù)的最大值。
voidmain()
{
inti;
for(i=100;i>=0;i-)
if(i%13==0)
printf("%d",i);
)
正確答案:
if(ch>='a'&&ch<='z')修改為if(*ch>='a'&&*ch<='z')
三、程序運(yùn)行結(jié)果(每題10分,共2道小題,總分值20分)
l.#include<stdio.h>
voidmain()
(
inta=l,b=2,c=3;
if(c==a)
printf("%d\n",c);
else
printf("%d\n",b);
)
(10分)
正確答案:
2
2.有以下程序
#include<stdio.h>
voidmain()
inti=0,s=0;
do
if(i%2)
(
i++;
continue;
)
i++;
s+=i;
}while(i<9);
printf("%d\n",s);
)
執(zhí)行后輸出的結(jié)果是。
(10分)
正確答案:
25
四、程序題(每題15分,共1道小題,總分值15分)
1.以下程序的功能是輸出如下形式的方陣:
13141516
9101112
5678
1234
請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
voidmain()
{
inti,j,x;
for(j=4;一①;j-)
(
for(i=l;i<=4;i++)
(
x=(j;)*4+一②—;
printf("%4d",x);
)
printf("\n");
)
)
(15分)
正確答案:
①j>0;②i
五、綜合題(每題20分,共1道小題,總分值20分)
1.已知一個(gè)整型數(shù)組X[4],它的各元素值分別為3、11,8、22。使用指針表示法
編寫程序,求各數(shù)組元素之積。
(20分)
正確答案:
#include<stdio.h>
voidmain()
(
intI,X[4]={3,11,8,22},*p=x
longy=l;
for(l=0;l<4;l++)
Y=Y*(*P++);
printf("Y=%ld\n”,Y);
)
程序設(shè)計(jì)基礎(chǔ)期末考試復(fù)習(xí)題
一、單選題(每題1分,共20道小題,總分值20分)
1.以下不能正確定義二維數(shù)組的選項(xiàng)是()
Ainta[2][2]={{l},{2}}
Binta[2][]={{l,2};{3,4}}
Cinta[2][2]={{1},2,3}
Dinta[][2]={l,2,3,4)
正確答案:B
2.將p定義為指向含n個(gè)元素的一維數(shù)組的指針變量,正確的語句為()
Aint(*p)[n]
Bint*p[n]
Cintp[n]
Dint**p[n]
正確答案:A
3.若有以下說明語句(已知int占2個(gè)字節(jié),long占4個(gè)字節(jié)),則下面printf
的輸出結(jié)果是()
unionuarea
(
intx;
longy;
);
structstr
(
chars[20];
unionuareaz;
);
voidmainf)
(
printf("%d\n",sizeof(structstij);
)
A24
B26
C20
D30
正確答案:A
4.以下選項(xiàng)中,不能作為合法常量的是
A1.234e04
B1.234e0.4
C1.234e+4
D1.234e0
正確答案:B
5.以下關(guān)于函數(shù)的敘述中正確的是()。
A每個(gè)函數(shù)都可以被其它函數(shù)調(diào)用(包括main函數(shù))
B每個(gè)函數(shù)都可以被單獨(dú)編譯
C每個(gè)函數(shù)都可以單獨(dú)運(yùn)行
D在一個(gè)函數(shù)內(nèi)部可以定義另一個(gè)函數(shù)
正確答案:B
6.算法的特征不包括:()。
A有窮性
B可行性
C確定性
D有1個(gè)或者多個(gè)輸入。
正確答案:D
7.設(shè)有定義:intk=l,m=2;floatf=7;,則以下選項(xiàng)中錯(cuò)誤的表達(dá)式是()。
Ak=k>=k
B-k++
Ck%inHf)
Dk>=f>=m
正確答案:C
8.程序的結(jié)果為()
voidmain()
(
inta=l;
switch(a)
{case1:printf(/zl/,);
case2:printf("2〃);
default:printf(//other",);
}
}
A12other
Bl
C2
DOther
正確答案:A
9.判斷下面標(biāo)識(shí)符中哪個(gè)是C語言中合法的用戶定義標(biāo)識(shí)符()
Aa-b
B#abd
Ctypedef
D_max
正確答案:D
10.以下程序的功能是:當(dāng)a<b<c時(shí),以八進(jìn)制形式輸出a、b、c的值。
Winclude<stdio.h>
voidmain()
(
inta,b,c;
scanf(zz%d%d%d,,,&a,&b,&c);
if(a<b<c)
printf(z/%o%o%o,,,a,b,c);
}
程序不能得到正確結(jié)果的的原因是()。
A注釋語句書寫位置錯(cuò)誤
Ba、b、c不能以八進(jìn)制進(jìn)行輸出
C沒有按照八進(jìn)制進(jìn)行輸入
Dif語句的條件表達(dá)式錯(cuò)誤
正確答案:D
11.下面的敘述,不正確的是()
A宏名無類型,其參數(shù)也無類型
B宏定義不是C語句,不必在行末加分號(hào)
C宏替換只是字符替換
D宏替換定義命令必須寫在文件開頭
正確答案:D
12.C語言源程序的基本組成單位是()。
A函數(shù)
B語句
C聲明和語句
D文件
正確答案.A
13.下列常.量中,只有()是合法的。
A3e-0.3
B'abc'
C02al
D\377
正確答案:D
14.請(qǐng)問:07W052的結(jié)果是()
A032
B016
C023
D022
正確答案:A
15.設(shè)a=3,b=4,表達(dá)式a>b?b:a的值是()
A3
B4
C4:3
DO
正確答案:A
16.在printf語句中按字符串輸出的格式是()
A"%s"
B"%c"
C"%f"
D"%d"
正確答案:A
17.下列標(biāo)識(shí)符中,只有()是合法的。
Aif
B3ab
Clnt
DA-4
正確答案:C
18.以下敘述中錯(cuò)誤的是()。
AC語句必須以分號(hào)結(jié)束
B復(fù)合語句在語法上被看作一條語句
C空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行
D賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句
正確答案:C
19.以下敘述中正確的是()。
A調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)
B使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h
C在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤上輸入字符所對(duì)應(yīng)的ASCII碼
正確答案:B
20.對(duì)于語句,intx,y,z[10],*px,*py;指出下列哪個(gè)語句是不正確的()
Apx=&x,py=px
Bpx=x
Cpy=&y
Dpx=z
正確答案:B
二、改錯(cuò)(每題5分,共5道小題,總分值25分)
l.voidmain()
(
inta,b;
floatx,y,z;
scanf("%f%f%f",&x,&y,&z);
a=b=x+y+z;
c=a+b;
printf(z/%d%d%d,,,a,b,c);
}
正確答案:
inta,b;修改為inta,b,c;
2.求100以內(nèi)的正整數(shù)中為13的倍數(shù)的最大值。
voidmain()
(
inti;
for(i=100;i>=0;i-)
if(i%13==0)
printf(”%d”,i);
}
正確答案:
if(ch>=H&&ch<=N)修改為if(*ch>=/a,&&*ch<=,z")
3.計(jì)算1+1/2+1/3+...+1/10
voidmain()
(
doublet=1.0;
inti;
for(i=2;i<=10;i++)
t+=l/i;
printf(,,t=%f\n",t);
}
正確答案:
t+=l/i;修改為t+=1.0/i;
4求1+2+3+...+100
voidmain()
(
inti=l;
do
(
sum+=i;
i++;
}while(i<=100);
printf(”%cT,sum);
}
正確答復(fù)
在do之前面加:intsum=0;
5.intstr_space(char*strj/*統(tǒng)計(jì)字符串中空格數(shù)*/
(
intnum=0;
charch;
while((ch=*str++)!=,\0,)
if(ch=〃)num++;
return(num);
)
正確答案:
if(ch=〃)修改為if(ch==〃)
三、程序運(yùn)行結(jié)果(每題10分,共2道小題,總分值20分)
l.voidmain()
{
inta[10]={l,2,3,4,5,6,7,8,9,0},*p;
P=a;
printf("%d",*p);
printf("%d\n",*(p+8));
)
輸出結(jié)果是o
(10分)
正確答案:
19
2.#include"stdio.h"
voidmain()
(
intx=l;
voidfl(),f2();
fl();
f2(x);
printf("x=%d\n",x);
)
voidfl()
(
intx=3;
printf("x=%d\n”,x);
)
voidf2(intx)
(
printf("x=%d\t”,x);
)
運(yùn)行結(jié)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 淺談?dòng)變簣@過渡環(huán)節(jié)組織策略
- 2025年數(shù)達(dá)光電套行業(yè)深度研究分析報(bào)告
- 2021-2026年中國(guó)電氣機(jī)械市場(chǎng)供需現(xiàn)狀及投資戰(zhàn)略研究報(bào)告
- 磁性材料項(xiàng)目可行性報(bào)告模板
- 2024年平面媒體廣告行業(yè)市場(chǎng)深度分析及發(fā)展前景預(yù)測(cè)報(bào)告
- 納米二氧化硅微粉項(xiàng)目可行性研究報(bào)告?zhèn)浒干暾?qǐng)
- 中國(guó)潛水?dāng)嚢铏C(jī)行業(yè)發(fā)展運(yùn)行現(xiàn)狀及投資潛力預(yù)測(cè)報(bào)告
- 2025年電子蜂鳴器項(xiàng)目投資可行性研究分析報(bào)告
- 丙類項(xiàng)目安全預(yù)評(píng)價(jià)報(bào)告
- 2025年中國(guó)2-甲基肉桂醛行業(yè)市場(chǎng)發(fā)展前景及發(fā)展趨勢(shì)與投資戰(zhàn)略研究報(bào)告
- XX森林康養(yǎng)度假建設(shè)項(xiàng)目可行性研究報(bào)告
- 防災(zāi)減災(zāi)地質(zhì)災(zāi)害防御應(yīng)對(duì)講座培訓(xùn)課件ppt
- 小學(xué)奧數(shù)七大模塊思維導(dǎo)圖課件
- 火力發(fā)電廠OVATION 與西門子控制系統(tǒng)之間通訊實(shí)現(xiàn)
- 2022公務(wù)員錄用體檢操作手冊(cè)(試行)
- 我長(zhǎng)大以后【經(jīng)典繪本】
- 2023學(xué)年完整公開課版閘閥
- 中國(guó)濕疹診療指南
- 國(guó)家電網(wǎng)有限公司電網(wǎng)數(shù)字化項(xiàng)目工作量度量規(guī)范應(yīng)用指南(2020版)
- 電子商務(wù)文案寫作教學(xué)ppt課件(完整版)
- JJF 1445-2014落錘式?jīng)_擊試驗(yàn)機(jī)校準(zhǔn)規(guī)范
評(píng)論
0/150
提交評(píng)論