大學(xué)C語言期末考試練習(xí)題(帶詳解答案)_第1頁
大學(xué)C語言期末考試練習(xí)題(帶詳解答案)_第2頁
大學(xué)C語言期末考試練習(xí)題(帶詳解答案)_第3頁
大學(xué)C語言期末考試練習(xí)題(帶詳解答案)_第4頁
大學(xué)C語言期末考試練習(xí)題(帶詳解答案)_第5頁
已閱讀5頁,還剩114頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

●單項選擇題

一個完整可運行C源程序中

____.

A)能夠有一個或多個主函數(shù)

B)必須有且僅有一個主函數(shù)

C)能夠沒有主函數(shù)

D)必須有主函數(shù)和其它函數(shù)組成C語言源程序基本單位是____.

A)子程序B)過程

C)文本D)函數(shù)BD

返回目錄C語言程序設(shè)計概述第1頁●單項選擇題

某C程序由一個主函數(shù)main()和一個自定義函數(shù)max()組成,則該程序

____.

A)總是從max()函數(shù)開始執(zhí)行

B)寫在前面函數(shù)先開始執(zhí)行

C)寫在后面函數(shù)先開始執(zhí)行

D)總是從main()函數(shù)開始執(zhí)行C語言要求,一個C源程序主函數(shù)名必須為____.

A)program

B)include

C)main

D)functionDCC語言程序設(shè)計概述

返回目錄第2頁●單項選擇題

以下說法正確是____.

A)在書寫C語言源程序時,每個語句以逗號結(jié)束

B)注釋時,'/'和'*'號間能夠有空格

C)不論注釋內(nèi)容多少,在對程序編譯時都被忽略

D)C程序每行只能寫一個語句C語言源程序文件后綴是____,經(jīng)過Compile后,生成文件后綴是____,經(jīng)過Link后,生成文件后綴是____.

A).obj

B).exeC).c

D).docCCABC語言程序設(shè)計概述

返回目錄第3頁●單項選擇題

VisualC++6.0IDE編輯窗口主要功效是____.輸出窗口主要功效是____.調(diào)試器(Debug)主要功效是____.

A)建立并修改程序

B)將C源程序編譯成目標(biāo)程序

C)跟蹤分析程序執(zhí)行

D)顯示編譯結(jié)果信息(如語法錯誤等)ADCC語言程序設(shè)計概述

返回目錄第4頁●單項選擇題

在VisualC++6.0開發(fā)環(huán)境下,C程序按工程(project)進(jìn)行組織,每個工程可包含____C/CPP源文件,但只能有____main函數(shù)。

A)1個 B)2個

C)3個 D)1個以上(含1個)DAC語言程序設(shè)計概述

返回目錄第5頁●單項選擇題

調(diào)試程序時,假如某個語句后少了一個分號,調(diào)試時會提醒錯誤,這種情況普通稱之為____.而某個“計算2平方”程序在調(diào)試時沒有提醒犯錯,而且成功執(zhí)行并計算出了結(jié)果,只是結(jié)果等于5,這種情況普通稱之為____. A)語法錯誤 B)正常情況

C)編譯器犯錯 D)邏輯設(shè)計錯誤ADC語言程序設(shè)計概述

返回目錄第6頁C語言程序設(shè)計基本數(shù)據(jù)類型與運算符●單項選擇題

C語言中最基本非空數(shù)據(jù)類型包含

____.A)整型、浮點型、無值型

B)整型、字符型、無值型

C)整型、浮點型、字符型

D)整型、浮點型、雙精度型、字符型C語言中運算對象必須是整型運算符是____.

A)%

B)/

C)=

D)<=DA

返回目錄第7頁C語言程序設(shè)計基本數(shù)據(jù)類型與運算符●單項選擇題

若已定義x和y為int類型,則執(zhí)行了語句x=1;y=x+3/2;后y值是

____.

A)1

B)2

C)2.0

D)2.5若有以下程序段,inta=1,b=2,c;c=1.0/b*a;則執(zhí)行后,c中值是

____.

A)0

B)0.5

C)1

D)25)能正確表示邏輯關(guān)系:“a≥10或a≤0”C語言表示式是____.

A)a>=10ora<=0

B)a>=0|a<=10C)a>=10&&a<=0

D)a>=10‖a<=0BAD

返回目錄第8頁C語言程序設(shè)計基本數(shù)據(jù)類型與運算符●單項選擇題

以下字符序列中,不可用作C語言標(biāo)識符是

____.

A)xyd233

B)No.1

C)_sd

D)xyz在printf()函數(shù)中,反斜杠字符'\'表示為

____.

A)\’

B)\0

C)\n

D)\\8)設(shè)先有定義:inta=10;則表示式a+=a*=a值為____.

A)10

B)100C)1000

D)2009)設(shè)先有定義:inta=10;則表示式(++a)+(a--)值為____.A)20

B)21C)22

D)19BDDC

返回目錄第9頁C語言程序設(shè)計基本數(shù)據(jù)類型與運算符●單項選擇題

10)設(shè)先有定義:inty=3,x=3,z=1;則語句:

printf(“%d%d\n”,(++x,y++),z+2);

輸出結(jié)果為____.

A)34

B)42C)43

D)3311)假定x、y、z、m均為int型變量,有以下程序段:

x=2;y=3;z=1; m=(y<x)?y:x; m=(z<y)?m:y;則該程序運行后,m值是

____.A)4

B)3C)2

D)1DC

返回目錄第10頁C語言程序設(shè)計基本數(shù)據(jù)類型與運算符●單項選擇題

以下選項中正當(dāng)字符常量是____.

A)"B"

B)'\010'

C)68

D)D設(shè)x=3,y=4,z=5,則表示式((x+y)>z)&&(y==z)&&x||y+z&&y+z值為____.

A)0

B)1

C)2

D)314)假如a=1,b=2,c=3,d=4,則條件表示式a<b?a:c<d?c:d值為____.

A)1

B)2C)3

D)415)設(shè)intm=1,n=2;則m++==n;結(jié)果是____.A)0

B)1C)2

D)3BBAA

返回目錄第11頁C語言程序設(shè)計基本數(shù)據(jù)類型與運算符●填空題

1.表示式10/3結(jié)果是___________;10%3結(jié)果是______。2.執(zhí)行語句:inta=12;a+=a-=a*a;后值是___________。3.以下語句輸出結(jié)果是___________。

shortb=65535;printf("%d",b);31-264-1

返回目錄第12頁C語言程序設(shè)計基本數(shù)據(jù)類型與運算符●填空題

4.以下程序執(zhí)行結(jié)果是_____________________。#include<stdio.h>main(){ inta,b,x; x=(a=3,b=a--); printf("x=%d,a=%d,b=%d\n",x,a,b);}x=3,a=2,b=3

返回目錄第13頁C語言程序設(shè)計基本數(shù)據(jù)類型與運算符●填空題

5.以下程序執(zhí)行結(jié)果是___________。#include<stdio.h>main(){ floatf1,f2,f3,f4; intm1,m2; f1=f2=f3=f4=2; m1=m2=1; printf("%d\n",(m1=f1>=f2)&&(m2=f3<f4));}0

返回目錄第14頁C語言程序設(shè)計基本數(shù)據(jù)類型與運算符6.以下程序執(zhí)行結(jié)果是___________。#include<stdio.h>main(){ floatf=13.8; intn; n=(int)f%3; printf("n=%d\n",n);}●填空題

n=1

返回目錄第15頁C語言程序設(shè)計控制結(jié)構(gòu)●單項選擇題

結(jié)構(gòu)化程序模塊不含有特征是____.

A)只有一個入口和一個出口

B)要盡可能多使用goto語句

C)普通有次序、選擇和循環(huán)三種基本結(jié)構(gòu)

D)程序中不能有死循環(huán)C語言中,邏輯“真”等價于____.

A)整數(shù)1 B)整數(shù)0

C)非0數(shù) D)TRUE3)以下4條語句中,有語法錯誤是____.

A)if(a>b)m=a;

B)if(a<b)m=b;

C)if((a=b)>=0)m=a;

D)if((a=b;)>=0)m=a;BCD

返回目錄第16頁C語言程序設(shè)計控制結(jié)構(gòu)●單項選擇題

4)若i,j均為整型變量,則以下循環(huán)____. for(i=0,j=2;j=1;i++,j--) printf("%5d,%d\n",i,j);

A)循環(huán)體只執(zhí)行一次 B)循環(huán)體執(zhí)行二次

C)是無限循環(huán) D)循環(huán)條件不正當(dāng)5)以下程序段,執(zhí)行結(jié)果為____. a=1; do {a=a*a; }while(!a);A)循環(huán)體只執(zhí)行一次 B)循環(huán)體執(zhí)行二次

C)是無限循環(huán) D)循環(huán)條件不正當(dāng)CA

返回目錄第17頁C語言程序設(shè)計控制結(jié)構(gòu)●單項選擇題

6)C語言中while與do-while語句主要區(qū)分是____.

A)do-while循環(huán)體最少無條件執(zhí)行一次

B)do-while允許從外部跳到循環(huán)體內(nèi)

C)while循環(huán)體最少無條件執(zhí)行一次

D)while循環(huán)控制條件比do-while嚴(yán)格7)語句while(!a);中條件等價于____.

A)a!=0

B)~a

C)a==1

D)a==0AD

返回目錄第18頁C語言程序設(shè)計控制結(jié)構(gòu)●單項選擇題

8)以下程序運行結(jié)果為____.#include<stdio.h>main(){ inti=1,sum=0; while(i<=100) sum+=i; i++; printf("1+2+3+...+99+100=%d",sum);}A)5050 B)1

C)0

D)程序陷入死循環(huán)D

返回目錄第19頁C語言程序設(shè)計控制結(jié)構(gòu)●單項選擇題

9)以下程序運行結(jié)果為____.#include<stdio.h>main(){ intsum,pad;

sum=pad=5; pad=sum++; pad++; ++pad; printf("%d\n",pad);}A)7 B)6

C)5

D)4A

返回目錄第20頁C語言程序設(shè)●單項選擇題

10)以下程序運行結(jié)果為____.#include<stdio.h>main(){ inta=2,b=10;

printf("a=%%d,b=%%d\n",a,b);}A)a=%2,b=%10 B)a=2,b=10C)a=%%d,b=%%d D)a=%d,b=%dD

返回目錄第21頁C語言程序設(shè)計●單項選擇題

11)為了防止嵌套if-else語句二義性,C語言要求else總是____.

A)與縮排位置相同if組成配對關(guān)系

B)與在其之前未配正確if組成配對關(guān)系

C)與在其之前未配正確最近if組成配對關(guān)系

D)與同一行上if組成配對關(guān)系12)對于for(表示式1;;表示式3)可了解為____.

A)for(表示式1;0;表示式3)

B)for(表示式1;1;表示式3)

C)for(表示式1;表示式1;表示式3)

D)for(表示式1;表示式3;表示式3)CB

返回目錄第22頁C語言程序設(shè)計●程序填空題

1.下面程序功效是計算n!。#include<stdio.h>main(){ inti,n; longp; printf("Pleaseinputanumber:\n"); scanf("%d",&n); p=_____________; for(i=2;i<=n;i++) ________________; printf("n!=%ld",p);}1p=p*i;或p*=i;

返回目錄第23頁C語言程序設(shè)計●程序填空題

2.下面程序功效是:從鍵盤上輸入若干學(xué)生成績,統(tǒng)計并輸出最高和最低成績,當(dāng)輸入負(fù)數(shù)時結(jié)束輸入。#include<stdio.h>main(){floatscore,max,min;printf("Pleaseinputonescore:\n");scanf("%d",&score);max=min=score;while(_____________){if(score>max)max=score;if(______________)min=score;printf("Pleaseinputanotherscore:\n");scanf("%d",&score);}printf("\nThemaxscoreis%f\nTheminscoreis%f",max,min);}score>=0score<min

返回目錄第24頁C語言程序設(shè)計●程序填空題

3.下面程序功效是:計算y=值。要求從鍵盤上輸入x值,精度控制在0.00001內(nèi)。#include<stdio.h>#include<math.h>main(){floatx,y=0,fz=-1,fm=1,temp=1;printf("Pleaseinputthevalueofx:\n");scanf("%f",&x);while(_____________){fz=___________;fm=fm+2;temp=fz/fm;y+=temp;}printf("\ny=%f",y);}fabs(temp)>0.00001-fz*x

返回目錄第25頁C語言程序設(shè)計●程序填空題

4.下面程序完成兩個數(shù)四則運算。用戶輸入一個實現(xiàn)兩個數(shù)四則運算表示式,程序采取switch語句對其運算進(jìn)行判定后執(zhí)行對應(yīng)運算并給出結(jié)果。#include<stdio.h>main(){ floatx,y; charop; printf("PleaseinputExpression:"); scanf("%f%c%f",&x,&op,&y); ___________ { case'+': printf("%g%c%g=%g\n",___________); ___________;switch(op)x,op,y,x+ybreak

返回目錄第26頁C語言程序設(shè)計●程序填空題

case'-': printf("%g%c%g=%g\n",x,op,y,x-y); break; case'*': printf("%g%c%g=%g\n",x,op,y,x*y); break; case'/': if(___________________________) printf("DivisionError!\n"); else printf("%g%c%g=%g\n",x,op,y,x/y); break; default:printf("ExpressionError!\n"); }}(y>=-1e-6)&&(y<=1e-6)

返回目錄第27頁C語言程序設(shè)計●程序填空題

3.6習(xí)題三●程序填空題

case'-': printf("%g%c%g=%g\n",x,op,y,x-y); break; case'*': printf("%g%c%g=%g\n",x,op,y,x*y); break; case'/': if(___________________________) printf("DivisionError!\n"); else printf("%g%c%g=%g\n",x,op,y,x/y); break; default:printf("ExpressionError!\n"); }}(y>=-1e-6)&&(y<=1e-6)此處填y==0.0不妥原因:不論是float還是double類型變量,都有精度限制。所以一定要防止將浮點變量用“==”或“!=”與數(shù)字比較,應(yīng)該設(shè)法轉(zhuǎn)化成“>=”或“<=”形式。假設(shè)浮點變量名字為y,應(yīng)該將

if(y==0.0) //隱含錯誤比較轉(zhuǎn)化為:if((y>=-EPSINON)&&(y<=EPSINON))其中EPSINON是允許誤差(即精度)。

返回目錄第28頁C語言程序設(shè)計●編程題

1.給出三角形三邊a、b、c,求三角形面積。(應(yīng)先判斷a、b、c三邊是否能組成一個三角形)。#include<stdio.h>#include<math.h>main(){

floata,b,c,area,p;

scanf("%f,%f,%f",&a,&b,&c);

p=(a+b+c)/2;

if(a+b>c&&a+c>b&&b+c>a)

{

area=sqrt(p*(p-a)*(p-b)*(p-c));

printf("Area=%6.2f\n",area);

}

elseprintf("Error\n");}

返回目錄第29頁C語言程序設(shè)計●編程題

2.輸入四個整數(shù),要求將它們按由小到大次序輸出。#include<stdio.h>main(){

inta,b,c,d,t;

scanf("%d,%d,%d,%d",&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("%d,%d,%d,%d\n",a,b,c,d);}

返回目錄第30頁C語言程序設(shè)計●編程題

3.某幼稚園只收2至6歲小孩,2~3歲編入小班,4歲編入中班,5~6歲編入大班,編制程序?qū)崿F(xiàn)每輸入一個年紀(jì),輸出該編入什么班。#include<stdio.h>main(){

intage;

scanf("%d",&age);

switch(age)

{

case2:

case3:printf("Smallclass\n");break;

case4:printf("Middleclass\n");break;

case5:

case6:printf("Largeclass\n");break;

default:printf("Error\n");

}}

返回目錄第31頁C語言程序設(shè)計●編程題

4.輸入一元二次方程三個系數(shù)a、b、c,求出該方程全部可能根。#include<stdio.h>#include<math.h>main(){floata,b,c,d,x1,x2;

scanf("%f,%f,%f",&a,&b,&c);

d=b*b-4*a*c;

if(fabs(a)<=1e-6)

if(fabs(b)<=1e-6)

if(fabs(c)<=1e-6)

printf("Theequation’srootisinnumerable\n.");

else

printf("None\n");

else

printf("Theequation’srootis%f\n",-c/b);

else if(fabs(d)<=1e-6)printf("x1=x2=%f\n",-b/(2*a));

返回目錄第32頁C語言程序設(shè)計●編程題

else

if(d>1e-6)

{x1=(-b+sqrt(d))/(2*a);

x2=(-b-sqrt(d))/(2*a);

printf("Theequation’srootis");

printf("x1=%f,x2=%f\n",x1,x2);

}

else

{

x1=-b/(2*a);

x2=sqrt(-d)/(2*a);

printf("Theequation’srootis%f+I%f\n",x1,x2);

printf("Theequation’srootis%f-I%f\n",x1,x2);

}}4.輸入一元二次方程三個系數(shù)a、b、c,求出該方程全部可能根。

返回目錄第33頁C語言程序設(shè)計●編程題

5.編程求s=1-1/2+1/3-1/4+…-1/100。#include<stdio.h>main(){ intn,flag=1; floats=0; for(n=1;n<=100;n++) { s=s+1.0*flag/n; flag=-flag; } printf("%f\n",s);}

返回目錄第34頁C語言程序設(shè)計●編程題

6.編程求1!+2!+3!+…+10!之和。#include<stdio.h>main(){

longints=0,p=1;

intn;

for(n=1;n<=10;n++)

{

p=p*n;

s=s+p;

}

printf("%ld\n",s);}

返回目錄第35頁C語言程序設(shè)計●編程題

7.一張10元票面紙鈔兌換成1元、2元或5元票面,問共有多少種不一樣兌換方法?#include<stdio.h>main(){inta,b,c,sum=0;

for(a=0;a<=10;a++)

for(b=0;b<=5;b++)

for(c=0;c<=2;c++)

if(a+2*b+5*c==10)

{

printf("%d,%d,%d\n",a,b,c);

sum++;

}

printf("%d\n",sum);}

返回目錄第36頁C語言程序設(shè)計●編程題

8.編程打印出全部“水仙花數(shù)”。所謂水仙花數(shù):是指一個三位數(shù),其各位數(shù)字立方之和等于該數(shù)。#include<stdio.h>main(){

intn,a,b,c;

for(n=100;n<1000;n++)

{

a=n/100;

b=n/10%10;

c=n%10;

if(a*a*a+b*b*b+c*c*c==n)

printf("水仙花數(shù)有:%5d\n",n);

}}

返回目錄第37頁C語言程序設(shè)●編程題

9.假如一個數(shù)等于其全部真因子(不包含其本身)之和,則該數(shù)為完數(shù),比如6因子有1、2、3,且6=1+2+3,故6為完數(shù),求2~1000中完數(shù)。#include<stdio.h>main(){

ints,n,k;

for(n=2;n<=1000;n++)

{

s=0;

for(k=1;k<n;k++)

if(n%k==0)

s=s+k;

if(s==n)

printf("%5d",n);

}

printf("\n");}

返回目錄第38頁C語言程序設(shè)計●編程題

10.輸出7~1000中個數(shù)位為7全部素數(shù),統(tǒng)計其個數(shù)并求出它們和。#include<stdio.h>main(){intn,count=0,total=0,m,temp,y;

for(n=7;n<1000;n++)

{for(m=2;m<n;m++)

if(n%m==0)break;

if(n==m)

{temp=n%10;

if(temp==7)

{printf("%6d",n);

if(count%5==4)printf("\n");

count++;

total=total+n;

}

}

}

printf("\ncount=%d,total=%d\n",count,total);}

返回目錄第39頁C語言程序設(shè)計控制結(jié)構(gòu)●編程題

11.一個自然數(shù)平方末幾位與該數(shù)相同時,稱該數(shù)為同構(gòu)數(shù)。比如252=625,則25為同構(gòu)數(shù)。編程求出1~1000中全部同構(gòu)數(shù)。#include<stdio.h>main(){

intx;

for(x=1;x<=1000;x++)

if(x*x%10==x||x*x%100==x||x*x%1000==x)

printf("%5d",x);

printf("\n");}

返回目錄第40頁C語言程序設(shè)計數(shù)組●單項選擇題

1.在以下數(shù)組定義、初始化或賦值語句中,正確是___. A)inta[8];a[8]=100; B)intx[5]={1,2,3,4,5,6}; C)intx[]={1,2,3,4,5,6};D)intn=8;intscore[n];2.若已經(jīng)有定義:inti,a[100];則以下語句中,不正確是____. A)for(i=0;i<100;i++)a[i]=i; B)for(i=0;i<100;i++)scanf("%d",&a[i]); C)scanf("%d",&a); D)for(i=0;i<100;i++)scanf("%d",a+i);CC

返回目錄第41頁C語言程序設(shè)計數(shù)組●單項選擇題

3.與定義charc[]={"GOOD"};不等價是___. A)charc[]={‘G’,’O’,’O’,’D’,’\0’}; B)charc[]="GOOD"; C)charc[4]={"GOOD"}; D)charc[5]={‘G’,’O’,’O’,’D’,’\0’};4.若已經(jīng)有定義:charc[8]={"GOOD"};則以下語句中,不正確是___. A)puts(c); B)for(i=0;c[i]!=’\0’;i++)printf("%c",c[i]); C)printf("%s",c); D)for(i=0;c[i]!=’\0’;i++)putchar(c);CD

返回目錄第42頁C語言程序設(shè)數(shù)組●單項選擇題

5.若定義a[][3]={0,1,2,3,4,5,6,7};則a數(shù)組中行大小是___. A)2 B)3 C)4 D)無確定值6.以下程序運行結(jié)果是___. #include<stdio.h> voidf(intb[]) { inti=0; while(b[i]<=10) {

b[i]+=2;

i++;

} } A)271211139

B)171211137 C)171211139

D)17129137BBmain(){ inti,a[]={1,5,10,9,13,7}; f(a+1); for(i=0;i<6;i++) printf("%4d",a[i]);}

返回目錄第43頁C語言程序設(shè)計數(shù)組●單項選擇題

7.若執(zhí)行以下程序段,其運行結(jié)果是___. charc[]={'a','b','\0','c','\0'}; printf("%s\n",c); A)abc

B)‘a(chǎn)’‘b’

C)abc

D)ab8.?dāng)?shù)組名作為參數(shù)傳遞給函數(shù),作為實際參數(shù)數(shù)組名被處理為___. A)該數(shù)組長度 B)該數(shù)組元素個數(shù)

C)該函數(shù)中各元素值 D)該數(shù)組首地址11.當(dāng)接收用戶輸入含空格字符串時,應(yīng)使用函數(shù)__. A)scanf()B)gets()C)getchar()D)getc()DDB

返回目錄第44頁C語言程序設(shè)計數(shù)組●單項選擇題

9.執(zhí)行下面程序段后,變量k中值為___. intk=3,s[2]={1}; s[0]=k; k=s[1]*10; A)不定值 B)33

C)30

D)010.在定義

inta[5][4];

之后;對a引用正確是___. A)a[2][4]

B)a[5][0]

C)a[0][0]

D)a[0,0]DC

返回目錄第45頁C語言程序設(shè)計數(shù)組●程序填空題

1.以下程序用來檢驗二維數(shù)組是否對稱(即:對全部i,j都有a[i][j]=a[j][i])。#include<stdio.h>main(){ inta[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,8,6,7,4}; inti,j,found=0; for(j=0;j<4;j++) { for(i=0;i<4;i++) if(___________________) { found=___________________; break; } if(found)break; } if(found) printf("不對稱\n"); else printf("對稱\n");}a[i][j]!=a[j][i]1

返回目錄第46頁C語言程序設(shè)計數(shù)組●程序填空題

2.以下程序是用來輸入5個整數(shù),并存放在數(shù)組中,找出最大數(shù)與最小數(shù)所在下標(biāo)位置,并把二者對調(diào),然后輸出調(diào)整后5個數(shù)。#include<stdio.h>main(){ inta[5],t,i,maxi,mini; for(i=0;i<5;i++) scanf("%d",&a[i]); mini=maxi=_____【3】________; for(i=1;i<5;i++) { if(_______【4】______)mini=i; if(a[i]>a[maxi])_____【5】________; } printf("最小數(shù)位置是:%3d\n",mini); printf("最大數(shù)位置是:%3d\n",maxi); t=a[maxi];______【6】_______; a[mini]=t; printf("調(diào)整后數(shù)為:"); for(i=0;i<5;i++) printf("%d",a[i]); printf("\n");}0a[mini]>a[i]maxi=ia[maxi]=a[mini]

返回目錄第47頁C語言程序設(shè)計數(shù)組●程序填空題

3.給定一3x4矩陣,求出其中最大元素值,及其所在行列號:main(){ inti,j,row=0,colum=0,max; staticinta[3][4]={{1,2,3,4},{9,8,7,6},{10,-10,-4,4}}; _______【7】______; for(i=0;i<=2;i++) for(j=0;j<=3;j++) { _____【8】________; _____【9】_______; } printf("%d%d",row,colum);}max=a[0][0]if(a[i][j]>max){ max=a[i][j]; row=i; colum=j;}

返回目錄第48頁C語言程序設(shè)計數(shù)組●程序填空題

4.下述函數(shù)用于確定給定字符串長度,請完成程序。strlen(chars[]){ inti=0; while(______【10】_______)++i; return(______【11】_______);}s[i]!=‘\0’i

返回目錄第49頁C語言程序設(shè)計數(shù)組●程序填空題

5.以下程序功效是從鍵盤上輸入若干個字符(以回車鍵作為結(jié)束)組成一個字符數(shù)組,然后輸出該字符數(shù)組中字符串,請?zhí)羁眨?include<stdio.h>main(){ charstr[81]; inti; for(i=0;i<80;i++) { str[i]=getchar(); if(str[i]==’\n’)break; } str[i]=’\0’; _____【12】________; while(str[i]!=’\0’)putchar(_____【13】________);}i=0str[i++]

返回目錄第50頁C語言程序設(shè)計數(shù)組●閱讀程序并寫出運行結(jié)果

1.寫出以下程序運行結(jié)果并分析之:#include<stdio.h>main(){ staticinta[4][5]={{1,2,3,4,0},{2,2,0,0,0},{3,4,5,0,0},{6,0,0,0,0}}; intj,k; for(j=0;j<4;j++) { for(k=0;k<5;k++) { if(a[j][k]==0)break; printf("%d",a[j][k]); } } printf("\n");}

返回目錄第51頁C語言程序設(shè)計數(shù)組●閱讀程序并寫出運行結(jié)果

2.寫出以下程序運行結(jié)果并分析之:#include<stdio.h>main(){ inta[6][6],i,j; for(i=1;i<6;i++) for(j=1;j<6;j++) a[i][j]=i*j; for(i=1;i<6;i++) { for(j=1;j<6;j++) printf("%-4d",a[i][j]); printf("\n"); }}

返回目錄第52頁C語言程序設(shè)計數(shù)組●閱讀程序并寫出運行結(jié)果

3.寫出以下程序運行結(jié)果并分析之:#include<stdio.h>main(){ inta[]={1,2,3,4},i,j,s=0; j=1; for(i=3;i<=0;i--) { s=s+a[i]*j; j=j*10; } printf("s=%d\n",s);}

返回目錄第53頁C語言程序設(shè)計數(shù)組●閱讀程序并寫出運行結(jié)果

4.寫出以下程序運行結(jié)果并分析之:#include<stdio.h>main(){ inta[]={0,2,5,8,12,15,23,35,60,65};

intx=15,i,n=10,m; i=n/2+1; m=n/2;

while(m!=0) { if(x<a[i]){i=i-m/2-1;m=m/2;} else if(x>a[i]){i=i+m/2+1;m=m/2;} else break; } printf("place=%d",i+1);}

返回目錄第54頁C語言程序設(shè)計數(shù)組●閱讀程序并寫出運行結(jié)果

5.寫出以下程序運行結(jié)果并分析之:#include<stdio.h>main(){ inta[]={1,2,3,4},i,j,s=0; j=1; for(i=3;i>=0;i--) { s=s+a[i]*j; j=j*10; } printf("s=%d\n",s);}

返回目錄第55頁C語言程序設(shè)計數(shù)組●閱讀程序并寫出運行結(jié)果

6.寫出以下程序運行結(jié)果并分析之:#include<stdio.h>main(){ charstr[]={"1a2b3c"}; inti; for(i=0;str[i]!='\0';i++) if(str[i]>='0'&&str[i]<='9') printf("%c",str[i]); printf("\n");}

返回目錄第56頁C語言程序設(shè)計數(shù)組●編程題

1.編一程序用簡單項選擇擇排序方法對10個整數(shù)排序(從大到?。E判蛩季w為:首先從n個整數(shù)中選出值最大整數(shù),將它交換到第一個元素位置,再從剩下n-1個整數(shù)中選出值次大整數(shù),將它交換到第二個元素位置,重復(fù)上述操作n次后,排序結(jié)束。2.編寫一程序,實現(xiàn)兩個字符串連接(不用strcat()函數(shù))。3.編寫一個把字符串轉(zhuǎn)換成浮點數(shù)函數(shù)。4.若有說明:inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};現(xiàn)要將a行和列元素交換后存到另一個二維數(shù)組b中。試編程。

返回目錄第57頁●編程題

返回目錄第58頁C語言程序設(shè)計函數(shù)●單項選擇題

C語言中函數(shù)形參缺省存放類型是____.

A)靜態(tài)(static)

B)自動(auto)

C)存放器(register)D)外部(extern)函數(shù)調(diào)用語句function((exp1,exp2),18)中含有實參個數(shù)為____.

A)0 B)1

C)2 D)3BC

返回目錄第59頁C語言程序設(shè)計函數(shù)●單項選擇題

下面函數(shù)返回值類型是____. square(floatx) { returnx*x; }

A)與參數(shù)x類型相同B)是void型

C)無法確定D)是int型C語言要求,程序中各函數(shù)之間____.

A)不允許直接遞歸調(diào)用,也不允許間接遞歸調(diào)用

B)允許直接遞歸調(diào)用,但不允許間接遞歸調(diào)用

C)不允許直接遞歸調(diào)用,但允許間接遞歸調(diào)用

D)既允許直接遞歸調(diào)用,也允許間接遞歸調(diào)用DD

返回目錄第60頁C語言程序設(shè)函數(shù)●單項選擇題

一個函數(shù)返回值類型取決于____.A)return語句中表示式類型

B)調(diào)用函數(shù)時暫時指定

C)定義函數(shù)時指定或缺省函數(shù)類型

D)調(diào)用該函數(shù)主調(diào)函數(shù)類型下面敘述中,錯誤是____.A)函數(shù)定義不能嵌套,但函數(shù)調(diào)用能夠嵌套

B)為了提升可讀性,編寫程序時應(yīng)該適當(dāng)使用注釋

C)變量定義時若省去了存放類型,系統(tǒng)將默認(rèn)其為靜態(tài)變量

D)函數(shù)中定義局部變量作用域在函數(shù)內(nèi)部CC

返回目錄第61頁C語言程序設(shè)計函數(shù)●單項選擇題

7)在一個源程序文件中定義全局變量有效范圍為___.A)一個C程序全部源程序文件

B)該源程序文件全部范圍

C)從定義處開始到該源程序文件結(jié)束

D)函數(shù)內(nèi)全部范圍 某函數(shù)在定義時未指明函數(shù)返回值類型,且函數(shù)中沒有return語句,現(xiàn)若調(diào)用該函數(shù),則正確說法是___.A)沒有返回值B)返回一個用戶所希望值

C)返回一個系統(tǒng)默認(rèn)值D)返回一個不確定值CD

返回目錄第62頁C語言程序設(shè)計函數(shù)●單項選擇題

9)函數(shù)swap(intx,inty)可實現(xiàn)對x和y值交換。在執(zhí)行以下定義及調(diào)用語句后,a和b值分別為___.inta=10,b=20;swap(a,b);A)10和10

B)10和20

C)20和10

D)20和20下面錯誤敘述是___.A)在某源程序不一樣函數(shù)中能夠使用相同名字變量

B)函數(shù)中形式參數(shù)是局部變量

C)在函數(shù)內(nèi)定義變量只在本函數(shù)范圍內(nèi)有效

D)在函數(shù)內(nèi)復(fù)合語句中定義變量在本函數(shù)范圍內(nèi)有效BD

返回目錄第63頁C語言程序設(shè)計函數(shù)●程序填空題

1.求s=1!+2!+3!+…+10!之和。程序以下:#include<stdio.h>longintfactorial(intn){

intk=1;

longintp=1;

for(k=1;k<=n;k++)

__________________;

returnp;}main(){

intn;

floatsum=0;

for(n=1;n<=10;n++)

______________________;

printf("%6.3f\n",sum);}p=p*ksum+=factorial(n)或sum=sum+factorial(n)

返回目錄第64頁C語言程序設(shè)計函數(shù)●程序填空題

2.以下函數(shù)用以求xy次方。doublefun(doublex,inty){

inti;

doublem=1;

for(i=1;i______________;i++) m=_______________;

returnm;}<=y或<y+1m*x

返回目錄第65頁C語言程序設(shè)函數(shù)●程序填空題

3.下面定義了一個函數(shù)pi,其功效是依據(jù)以下近似值公式來求π值:#include<stdio.h>#include<math.h>doublepi(longn){

doubles=_________________;

longk;

for(k=1;k<=n;k++)

s=s+________________;

return(_____________________);}01/(k*k)sqrt(6*s)答案不唯一,因為若初值不一樣,則有不一樣答案組合。

返回目錄第66頁C語言程序設(shè)計函數(shù)●閱讀程序并寫出運行結(jié)果

1.下面程序運行結(jié)果是_________________:#include<stdio.h>#defineMAX_COUNT4voidfun();main(){

intn;

for(n=1;n<=MAX_COUNT;n++)

fun();}voidfun(){

staticintk;

k=k+2;

printf("%d,",k);}2,4,6,8,

返回目錄第67頁C語言程序設(shè)計函數(shù)●閱讀程序并寫出運行結(jié)果

2.下面程序運行結(jié)果是_________________:#include<stdio.h>intfun(intx){

ints;

if(x==0||x==1)

return3;

s=x-fun(x-3);

returns;}main(){

printf("%d\n",fun(3));}0

返回目錄第68頁C語言程序設(shè)計函數(shù)●閱讀程序并寫出運行結(jié)果

3.下面程序運行結(jié)果是_________________:#include<stdio.h>unsignedintfun(unsignednum){

unsignedintk=1;

do

{

k=k*num%10;

num=num/10;

}while(num);

returnk;}main(){

unsignedn=25;

printf(“%u\n”,fun(n));}0

返回目錄第69頁C語言程序設(shè)函數(shù)●閱讀程序并寫出運行結(jié)果

4.下面程序運行結(jié)果是_________________:#include<stdio.h>intfun(intx,inty){

staticintm=0,n=2;

n+=m+1;

m=n+x+y;

returnm;}main(){

intj=4,m=1,k;

k=fun(j,m);

printf("%d,",k);

k=fun(j,m);

printf("%d\n",k);}8,17

返回目錄第70頁C語言程序設(shè)計函數(shù)●閱讀程序并寫出運行結(jié)果

5.下面程序運行結(jié)果是_________________:#include<stdio.h>voidt(intx,inty,intp,intq){

p=x*x+y*y;

q=x*x-y*y;}main(){

inta=4,b=3,c=5,d=6;

t(a,b,c,d);

printf("%d,%d\n",c,d);}5,6

返回目錄第71頁C語言程序函數(shù)●編程題

1.編程實現(xiàn)從鍵盤輸入一整數(shù),假如該整數(shù)為素數(shù),則返回1,不然返回0。要求單獨編寫一個求素數(shù)自定義函數(shù)。#include<stdio.h>intfun(intx){

intn;

for(n=2;n<x;n++)

if(x%n==0)return0;

return1;}main(){

intx;

scanf("%d",&x);

if(fun(x))

printf(“%disaprimenumber!\n",x);

else

printf("%disnotaprimenumber!\n",x);}

返回目錄第72頁C語言程序設(shè)計函數(shù)●編程題

2.試用遞歸方法編寫一個返回長整型函數(shù),以計算斐波納契數(shù)列前20項。該數(shù)列滿足:F(0)=1,F(xiàn)(1)=1,F(xiàn)(n)=F(n-1)+F(n-2)(n>2)。#include<stdio.h>longintFibonacci(intn){

longintp;

if(n==0||n==1)p=n;

elsep=Fibonacci(n-1)+Fibonacci(n-2);

returnp;}main(){intn;

for(n=1;n<=20;n++)

{printf("%8ld",Fibonacci(n));

if((n+1)%8==0)printf("\n");

}}

返回目錄第73頁C語言程序設(shè)計函數(shù)●編程題

3.假如一個數(shù)等于其全部真因子(不包含其本身)之和,則該數(shù)為完數(shù),比如6因子有1、2、3,且6=1+2+3,故6為完數(shù),求2~1000中完數(shù)。

#include<stdio.h>intIsWanshu(intn){intk,s=0;

for(k=1;k<n;k++)

if(n%k==0)s=s+k;

if(s==n)

return1;

else

return0;}main(){inti,j=0;

for(i=2;i<=1000;i++)

{if(IsWanshu(i))

{printf("%5d",i);

j=j+1;

if(j%5==0)printf("\n");

}

}}

返回目錄第74頁C語言程序設(shè)計指針●單項選擇題

1.若已定義inta=8,*p=&a;則以下說法中不正確是__ A)*p=a=8 B)p=&a

C)*&a=*p

D)*&a=&*a2.若已定義inta[2]={8,10},*p=&a[0];假設(shè)a[0]地址為,則執(zhí)行p++后,指針p值為__ A) B)

C)

D)3.若已定義inta[8]={0,2,3,4,5,6,7,8};*p=a;則數(shù)組第2個元素“2”不可表示為__ A)a[1]

B)p[1]

C)*p+1

D)*(p+1)DCC

返回目錄第75頁C語言程序設(shè)計指針●單項選擇題

4.若已定義inta,*p=&a,**q=&p;則不能表示變量a是__

A)*&a

B)*p C)*q

D)**q5.設(shè)已定義語句“int*p[10],(*q)[10];",其中p和q分別是__ ①10個指向整型變量指針 ②指向含有10個整型變量函數(shù)指針 ③一個指向含有10個元素一維數(shù)組指針 ④含有10個指針元素一維數(shù)組

A)②、① B)①、② C)③、④ D)④、③CD

返回目錄第76頁C語言程序設(shè)計指針●單項選擇題

6.若已定義inta[2][4]={{80,81,82,83},{84,85,86,87}},(*p)[4]=a;則執(zhí)行p++;后,**p代表元素是____

A)80

B)81 C)84

D)857.執(zhí)行語句“chara[10]={"abcd"},*p=a;后,(p+4)值是____

A)"abcd"

B)'\0'

C)'d’ D)不能確定8.設(shè)已定義inta[3][2]={10,20,30,40,50,60};和語句(*p)[2]=a;則*(*(p+2)+1)值為____

A)60

B)30

C)50

D)不能確定CBA

返回目錄第77頁C語言程序設(shè)計指針●單項選擇題

9.以下程序運行結(jié)果是____#include<stdio.h>main(){ inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12}; int*p[4],i; for(i=0;i<4;i++) p[i]=a[i]; printf("%2d,%2d,%2d,%2d\n",*p[1],(*p)[1],p[3][2],*(p[3]+1));}A)4,4,9,8

B)程序犯錯C)4,2,12,11

D)1,1,7,5C

返回目錄第78頁C語言程序設(shè)計指針●單項選擇題

10.以下各語句或語句組中,正確操作是____

A)chars[4]="abcde"; B)char*s;gets(s); C)char*s;s="abcde"; D)chars[5];scanf("%s",&s);C

返回目錄第79頁C語言程序設(shè)計指針●單項選擇題

11.以下程序運行結(jié)果是____#include<stdio.h>main(){ char*s="xcbc3abcd"; inta,b,c,d;

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論