版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
C語言程序設(shè)計基礎(chǔ)臨沂大學(xué)智慧樹知到答案2024年緒論單元測試
計算機能夠直接識別的語言是()。
A:機器語言B:匯編語言
C:高級語言
答案:A
第一章測試
下列表達(dá)式,值為0的是()。
A:3%5B:3/5.0C:3<5D:3/5
答案:D下列變量定義中合法的是()。
A:doubleStu-score=98;B:shortint2_num=79;C:doubleAve=0.0;D:intf(x)=1;
答案:C若變量a是int類型,并執(zhí)行了語句:a='A'+1.6;,則正確的敘述是()。
A:a的值是浮點型
B:a的值還是整型C:a的值是字符型D:不允許字符型和浮點型相加
答案:B若a是基本整型變量,c是單精度實型變量,輸入語句()是錯誤的。
A:scanf("%d%f”,a,c);B:scanf("d=%d,c=%f”,&a,&c);C:scanf("%d%f”,&a,&c);D:scanf("%d,%f”,&a,&c);
答案:A下列說法正確的是()
A:C程序中使用變量時,可以先使用,再定義
B:const常量只能在定義時賦值C:一條變量定義語句不可以同時定義多個變量D:在C語言中,所有變量都必須在定義的同時初始化
答案:B
第二章測試
若x和y代表整型數(shù),以下表達(dá)式中不能正確表示數(shù)學(xué)關(guān)系|x-y|<10的是():
A:x-y>-10&&x-y<10B:(x-y)<-10||!(y-x)>10C:(x-y)*(x-y)<100D:fabs(x-y)<10
答案:B以下程序運行后的輸出結(jié)果是()#include<stdio.h>intmain(){
inta=5,b=4,c=3,d;
d=(a>b>c);
printf("%d",d);
return0;}
A:3B:0
C:1D:5
答案:B執(zhí)行以下程序后的輸出結(jié)果為()#include<stdio.h>intmain(){
inta=1,b=0;
switch(a)
{
case
1:
switch(b)
{
case
0:printf("**0**");break;
case
1:printf("**1**");break;
}break;
case
2:printf("**2**");break;
}
return0;}
A:**0**B:**0****2**C:**0****1****2**D:有語法錯誤
答案:A下面程序代碼的功能是判斷輸入的整數(shù)能否被5或7整除,如果能夠整除,則輸出該整數(shù)。請將劃線處代碼填寫完整。#include<stdio.h>intmain(){
intm;
printf("Inputm:");
scanf("%d",&m);
if(_______________)
//能夠被5或7整除
{
printf("%d",m);
}
return0;}
A:m%5==0||m%7==0B:m/5==0||m/7==0
C:m%5==1&&m%7==1D:m/5==0&&m/7==0
答案:A計算1-1/2+1/3-1/4+.....+1/99-1/100+......直到最后一項的絕對值小于1e-4為止。代碼如下,按要求在劃線處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整并符合題目要求。#include<stdio.h>#include<math.h>intmain(){
intn=1;
floatterm=1,sum=0;
_____(1)_________;
while(fabs(term)>=1e-4)
//判末項大小
{
term=sign/n;
//求出累加項
sum=sum+term;
//累加
______(2)__________;
//改變項的符號
n++;
//分母加1
}
printf("sum=%f",sum);
return0;}
A:(1):floatsign=1(2):term=-termB:(1):floatsign=1(2):sign=-signC:(1):floatsign=-1(2):term=-termD:(1):floatsign=-1(2):sign=-sign
答案:B以下程序運行后的輸出結(jié)果是()。#include<stdio.h>intmain(){inta,b,c;
a=10;
b=20;
c=(a%b<1)||(a/b>1);
printf("%d,%d,%d",a%b,a/b,c);
return0;}
A:10,1,1B:10,0,1C:10,1,0D:10,0,0
答案:D
從鍵盤輸入三角形的三邊長為a,b,c,按下面公式計算并輸出三角形的面積。程序代碼如下,但程序運行后輸出結(jié)果不正確,請找出有問題的語句。#include
<stdio.h>
#include
<math.h>int
main(){
float
a,
b,
c;
float
s,
area;
printf("Input
a,b,c:");
scanf("%f,%f,%f",&a,&b,&c);
//第1處
if
(a+b>c
&&
b+c>a
&&
a+c>b)
//第2處
{
s
=
1/2
*
(a
+
b
+
c);
//第3處
area
=
sqrt(s
*
(s
-
a)
*
(s
-
b)
*
(s
-
c));
//第4處
printf("area=%.2f",
area);
}
else
{
printf("It
is
not
a
triangle");
}
return
0;
}
A:第3處B:第1處C:第2處D:第4處
答案:A執(zhí)行下列代碼的結(jié)果是()#include<stdio.h>intmain(){
inta=1234;
printf("%2d",a);
return0;}
A:12B:1234C:34D:程序出錯,無結(jié)果
答案:B以下程序的輸出結(jié)果是()。#include<stdio.h>
intmain(){
inta,b;
for(a=1,b=1;a<=100;a++)
{
if(b>=10)break;
if(b%3==1)
{
b+=3;
continue;
}
}
printf("%d",a);
return0;}
A:1B:3C:4D:2
答案:C#include<stdio.h>intmain(){
ints=0,a=1,n;
scanf("%d",&n);
do
{
s+=1;
a=a-2;
}while(a!=n);
printf("%d",s);
return0;}以上代碼,如果從鍵盤給n輸入的值是-5,則程序的輸出結(jié)果是()。
A:1B:3C:2D:4
答案:B
第三章測試
C語言中函數(shù)返回值的類型是由()決定的。
A:調(diào)用該函數(shù)的主調(diào)函數(shù)的類型B:定義函數(shù)時所指定的函數(shù)類型C:return語句中的表達(dá)式類型D:調(diào)用函數(shù)時臨時決定
答案:B對于C語言的函數(shù),下列敘述中正確的是()。
A:函數(shù)的定義可以嵌套,但函數(shù)調(diào)用不能嵌套B:函數(shù)的定義和調(diào)用都不能嵌套C:函數(shù)的定義和調(diào)用都可以嵌套D:函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套
答案:D下列函數(shù)中,能夠從鍵盤上獲得一個字符數(shù)據(jù)的函數(shù)是()。
A:getchar()B:putchar()C:puts()D:gets()
答案:A以下敘述中不正確的是()。
A:在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效B:在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效C:函數(shù)中的形式參數(shù)是局部變量D:在不同的函數(shù)中可以使用相同名字的變量
答案:BC語言中,函數(shù)值類型的定義可以缺省,此時函數(shù)值的隱含類型是()。
A:doubleB:voidC:intD:float
答案:C下列程序的輸出結(jié)果是()。#include<stdio.h>
intMyFuntion(intn);
intmain(){
intentry=12345;
printf("%5d",MyFuntion(entry));
return0;}intMyFuntion(intPar){
intresult;
result=0;
do{
result=result*10+Par%10;
Par/=10;
}while(Par);
returnresult;}
A:12345B:543C:54321D:5432
答案:C下列程序的輸出結(jié)果是()。#include<stdio.h>
intx1=30,x2=40;sub(intx,inty){
x1=x;x=y;y=x1;}
intmain(){
intx3=10,x4=20;
sub(x3,x4);
sub(x2,x1);
printf("%d,%d,%d,%d",x3,x4,x1,x2);
return0;}
A:10,20,30,40B:20,10,30,40C:10,20,40,40D:10,20,40,30
答案:C有以下程序#include<stdio.h>intfun(intx){printf("x=%d",++x);}
intmain(){
fun(12+5);
return0;}
A:x=18B:x=17C:x=13D:x=12
答案:A以下程序運行后的輸出結(jié)果是()intf(intn){
if(n==1)return1;
elsereturnf(n-1)+1;}intmain(){
inti,j=0;
for(i=1;i<3;i++)
j+=f(i);
printf("%d",j);
return0;}
A:4B:有語法錯C:3D:5
答案:C以下()不是正確的函數(shù)原型?
A:intf(int);B:intf(inti);C:intf(){}D:intf();
答案:C
第四章測試
在inta[][3]={{1,4},{3,2},{4,5,6},{0}};中,a[2][1]的值是()。
A:5B:2C:0D:6
答案:A以下數(shù)組定義中錯誤的是()。
A:intx[2][3]={0};B:intx[2][3]={{1,2},{3,4},{5,6)};C:intx[][3]={{1,2,3},{4,5,6}};D:intx[2][3]={1,2,3,4,5,6};
答案:B以下能正確定義二維數(shù)組的是()。
A:inta[2][3]={{1},{2},{3,4}}B:inta[][3]={2*3};C:inta[][3];D:inta[3][]={};
答案:B有如下程序#include<stdio.h>intmain(){
intn[5]={0,0,0},i,k=2;
for(i=0;i<k;i++)
n[i]=n[i]+1;
printf("%d",n[k]);
return0;
}該程序的輸出結(jié)果是()。
A:1B:2C:0D:不確定的值
答案:C對一個含有100個元素的有序數(shù)組,用二分法查找某指定元素,最多需要比較()次?
A:8B:7C:6D:5
答案:B以下程序中函數(shù)Fun的功能是對b所指數(shù)組中的第m至第n個數(shù)據(jù)取累加和,按要求在空白處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整并符合題目要求。#include<stdio.h>intFun(______,intm,intn){
int
i,s=0;
for(______;i<n;i++)
s=s+b[i];
return_______;}intmain(){
int
x,a[]={1,2,3,4,5,6,7,8,9};
x=Fun(a,3,7);
printf("%d",x);
return0;}
A:第2行:
intb[]第5行:
i=m-1第7行:
s
B:第2行:
intb第5行:
i=0第7行:
s
C:第2行:
intb[]第5行:
i=n-1第7行:
b[i]
D:第2行:
intb[]第5行:
i=1第7行:
i
答案:A以下程序中函數(shù)Sort的功能是對a所指數(shù)組中的數(shù)據(jù)進(jìn)行由大到小的排序,按要求在空白處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整并符合題目要求。#include<stdio.h>voidSort(inta[],intn){
inti,j,t;
for(i=0;_________;i++)
for(________;j<n;j++)
if(a[i]<a[j])
{
t=a[i];
__________;
a[j]=t;
}}
intmain(){
intaa[10]={1,2,30,4,5,6,7,8,9,10},i;
__________;
for(i=0;i<10;i++)
printf("%d,",aa[i]);
printf("");
return0;}
A:第5行:
i<n第6行:
j=i+1第10行:
a[j]=a[i]第18行:
Sort(aa,10)
B:第5行:
i<=nj第6行:
=i第10行:
a[i]=a[j]第18行:
Sort(10,aa)
C:第5行:
i<n-1第6行:
j=i第10行:
a[i]=a[j]第18行:
Sort(aa[],10)
D:第5行:
i<n-1第6行:
j=i+1第10行:
a[i]=a[j]第18行:
Sort(aa,10)
答案:D以下程序中函數(shù)Reverse的功能是對數(shù)組a中的前一半元素逆序、后一半元素逆序,再將逆序后的前、后兩部分?jǐn)?shù)據(jù)位置交換。按要求在空白處填寫適當(dāng)?shù)谋磉_(dá)式或語句,使程序完整并符合題目要求。例如:主程序中數(shù)組b中的元素為{16,22,13,41,50,62,27,18,9,10},調(diào)用函數(shù)Reverse后,數(shù)組b中元素變?yōu)閧10,9,18,27,62,50,41,13,22,16}。#include<stdio.h>voidReverse(inta[],intn){
inti,t;
for(i=0;________;i++)
{
t=a[i];
__________;
a[n-i]=t;
}}
intmain(){
intb[10]={16,22,13,41,50,62,27,18,9,10};
inti,s=0;
__________;
for(i=0;i<10;i++)
{
printf("%4d",b[i]);
}
return0;}
A:第5行:
i<=n第8行:
a[n-i]=a[i]第17行:
Reverse(b,9)
B:第5行:
i<=n/2第8行:
a[i]=a[n-i]第17行:
Reverse(b,9)
C:第5行:
i<=n/2第8行:
a[i]=a[n]第17行:
Reverse(b,9)
D:第5行:
i<=n/2第8行:
a[n]=a[i]第17行:
Reverse(9,b)
答案:B假定double類型變量占用8個字節(jié),且數(shù)組定義如下,則數(shù)組length在內(nèi)存中所占字節(jié)數(shù)是()。double
length[10];
A:10
B:0C:80D:160
答案:C以下程序的輸出結(jié)果是()。#include<stdio.h>voidswap1(intc[]){
intt;
t=c[0];
c[0]=c[1];
c[1]=t;}
voidswap2(intc0,intc1){
intt;
t=c0;
c0=c1;
c1=t;}
intmain(){
inta[2]={3,5},b[2]={3,5};
swap1(a);
swap2(b[0],b[1]);
printf("%d%d%d%d",a[0],a[1],b[0],b[1]);
return0;}
A:3553B:5353C:3535D:5335
答案:D
第五章測試
假設(shè)有下面定義語句:floata[10];float*p=a;則p++相當(dāng)于是加上()個字節(jié)
A:sizeof(float)B:sizeof(a)C:1D:sizeof(float*)
答案:A以下哪個定義中的p不是指針,請選擇恰當(dāng)?shù)倪x項():
A:char**p;B:給出的三項中,p都是指針C:char(*p)[10];D:char*p[6];
答案:D以下程序的執(zhí)行結(jié)果是()。intmain(){
inta,b,k=4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(-*p1)/(*p2)+7;
printf("%d,%d",a,b);
return0;}
A:0,7B:-1,7C:1,5D:0,5
答案:A下面程序的運行結(jié)果是()。
#include<stdio.h>
intmain(void)
{
intx[5]={2,4,6,8,10},*p,**pp;
p=x;
pp=&p;
printf(“%d”,*(p++));
printf(”%d”,**pp);
return0;
}
A:44B:22C:24D:46
答案:C已有如下代碼:
chara[5],*p=a;則下面選項中正確的賦值語句是()
A:a=“abcd”B:*a=“abcd”C:*p=“abcd”D:p=“abcd”
答案:D以下程序的運行結(jié)果是()
#include
<stdio.h>
sub
(int
x,int
y,int*z)
{
*z=y-x;
}
int
main
(
)
{
inta,b;
sub(10,5,&a);
sub(7,a,&b);
printf("%d,%d",a,b);
return
0;
}
A:-5,-12B:5,-2C:5,2D:-5,-2
答案:A如果有定義:intm,n=5,*p=&m;與m=n等價的語句是()。
A:m=*p;B:m=&n;C:m=**p;D:*p=*&n;
答案:D若有定義:int*p[3];則以下敘述中正確的是()。
A:定義了一個名為*p的整型數(shù)組,該數(shù)組含有三個int類型元素B:定義了一個指針數(shù)組p,該數(shù)組含有三個元素,每個元素都是基類型為int的指針C:定義了一個可指向一維數(shù)組的指針變量p,所指一維數(shù)組應(yīng)具有三個int類型元素D:定義了一個基類型為int的指針變量p,該變量具有三個指針
答案:B若已定義intnum[10];,則下面表達(dá)式中不表示num[1]的地址的是()。
A:num+1B:&num[0]+1C:num++D:&num[1]
答案:C對于如下說明,語法和語義都正確的賦值是_____。intc,*s,a[]={1,3,5};
A:c=*s;B:s=&a[1];C:s[0]=a[0];D:c=a;
答案:B
第六章測試
有以下說明和定義語句,下面各輸入語句中錯誤的是()
#include
<stdio.h>int
main(){
struct
student
{
int
age;
char
sex;
char
name[8];
};
struct
student
std;
struct
student
*p=&std;
.......
return0;}
A:scanf("%c",&std[0].sex);
B:scanf("%s",&);C:scanf("%d",&(*p).age);
D:scanf("%c",&(p->sex));
答案:C定義以下結(jié)構(gòu)體數(shù)組structc{
intx;
inty;}s[2]={1,3,2,7};語句printf("%d",s[0].x*s[1].x);的輸出結(jié)果是()
A:21B:6C:14D:2
答案:D以下程序執(zhí)行后的輸出結(jié)果是#include
<stdio.h>structSTU{
charname[10];
intnum;};
voidFun1(structSTUc){
structSTUb={"LiGuo",2042};
c=b;};
voidFun2(structSTU*c){
structSTUb={"SunDan",2044};
*c=b;};
intmain(){
structSTUa={"YangHan",2041},b={"WangYi",2043};
Fun1(a);
Fun2(&b);
printf("%d%d",a.num,b.num);
return0;}
A:20422044
B:20422043C:20412043D:20412044
答案:D若能使程序運行后的輸出結(jié)果如下:201501則空白處填寫的表達(dá)式或語句應(yīng)該是#include<stdio.h>structstudent
{
intage;
charnum[8];
};
intmain(){
structstudentstu[3]={{20,"201501"},{21,"201502"},{19,"201503"}};
structstudent*p=stu;
____________________
return0;}
A:printf("%s",(++p)->num);B:printf("%s",stu[1]->num);C:printf("%s",(*p).num);D:printf("%d",p.age);
答案:C當(dāng)定義一個結(jié)構(gòu)體類型的變量時,系統(tǒng)為它分配的內(nèi)存空間是()。
A:結(jié)構(gòu)中第一個成員所需的內(nèi)存容量B:結(jié)構(gòu)體中占內(nèi)存容量最大的成員所需的容量C:結(jié)構(gòu)中一個成員所需的內(nèi)存容量D:結(jié)構(gòu)中各成員所需的內(nèi)存容量綜合
答案:D
第七章測試
如果二進(jìn)制文件a.dat已經(jīng)存在,現(xiàn)在要求寫入全新數(shù)據(jù),應(yīng)以()方式打開。
A:"wb+"B:"w"C:"wb"D:"w+"
答案:C若fopen()函數(shù)打開文件失敗,其返回值是()。
A:1B:-1C:ERRORD:NULL
答案:D若讀文件還未讀到文件末尾,feof()函數(shù)的返回值是()。
A:1B:非0C:0D:-1
答案:Cfputc(ch,fp)把一個字符ch寫到fp所指示的磁盤文件中,若寫文件失敗則函數(shù)的返回值為()。
A:非0B:0C:1D:EOF
答案:D閱讀以下程序,對程序功能的描述中正確的是()#icnlude<stdio.h>intmain(){
FILE*in,*out;
charch,infile[10],outfile[10];
printf("Entertheinfilename:");
scanf("%s",infile);
printf("Entertheoutfilename:");
scanf("%s",outfile);
if((in=fopen(infile,"r"))==NULL)
{
printf("cannotopeninfile.");
exit(0);
}
if((out=fopen(outfile,"w"))==NULL)
{
printf("cannotopenoutfile.");
exit(0);
}
while(!feof(in))
{
fputc(fgetc(in),out);
}
fclose(in);
fclose(out);
return0;}
A:程序完成將一個磁盤文件中的信息復(fù)制到
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025新版七下單詞默寫表
- 2021高考英語單項選擇(2)及答案(武漢市)
- 【全程復(fù)習(xí)方略】2020年高考政治一輪單元評估檢測15-必修4-第三單元(廣東專供)
- 四年級數(shù)學(xué)(小數(shù)加減運算)計算題專項練習(xí)與答案匯編
- 三年級數(shù)學(xué)計算題專項練習(xí)匯編及答案
- 【名師課堂-備課包】2013-2020學(xué)年高一下學(xué)期化學(xué)人教版必修2學(xué)案-第一章第3節(jié)
- 【名師一號】2020-2021學(xué)年高中地理必修一(中圖版)同步練習(xí):第三單元綜合檢測
- 《汽車底盤機械系統(tǒng)檢測與修復(fù)》-考試題庫及答案 項目三 轉(zhuǎn)向系統(tǒng)檢修試題及答案
- 缺乏適合中國國情的洪水風(fēng)險管理規(guī)范-教學(xué)教案
- 《《黨委會的工作方法》導(dǎo)讀》課件
- 管道護理小組工作總結(jié)
- 北京市西城區(qū)2023-2024學(xué)年六年級上學(xué)期數(shù)學(xué)期末試卷(含答案)
- 幼兒園繪本故事《三只小豬蓋房子》教學(xué)課件全文
- 人臉識別項目施工方案方案
- 北京市房山區(qū)2023-2024學(xué)年九年級上學(xué)期期末語文試題(解析版)
- 15《八角樓上》說課稿-2024-2025學(xué)年語文二年級上冊(統(tǒng)編版)
- 施工工地汛期防洪防汛應(yīng)急預(yù)案(9篇)
- 商業(yè)伙伴與合作伙伴管理制度
- 03S702鋼筋混凝土化糞池-標(biāo)準(zhǔn)圖集
- 耳鼻咽喉-頭頸外科:緒論
- 2024年高中語文課內(nèi)文言文復(fù)習(xí)《項脊軒志》課后練習(xí)、探究性閱讀含答案解析翻譯
評論
0/150
提交評論