C語言程序設(shè)計(jì)課堂練習(xí)_第1頁(yè)
C語言程序設(shè)計(jì)課堂練習(xí)_第2頁(yè)
C語言程序設(shè)計(jì)課堂練習(xí)_第3頁(yè)
C語言程序設(shè)計(jì)課堂練習(xí)_第4頁(yè)
C語言程序設(shè)計(jì)課堂練習(xí)_第5頁(yè)
已閱讀5頁(yè),還剩132頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

會(huì)計(jì)學(xué)1C語言程序設(shè)計(jì)課堂練習(xí)●單項(xiàng)選擇題

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

____.

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

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

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

D)總是從main()函數(shù)開始執(zhí)行C語言規(guī)定,一個(gè)C源程序的主函數(shù)名必須為____.

A)program

B)include

C)main

D)functionDC安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第一章概述

返回目錄第1頁(yè)/共137頁(yè)●單項(xiàng)選擇題

下列說法正確的是____.

A)在書寫C語言源程序時(shí),每個(gè)語句以逗號(hào)結(jié)束

B)注釋時(shí),'/'和'*'號(hào)間可以有空格

C)無論注釋內(nèi)容的多少,在對(duì)程序編譯時(shí)都被忽略

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

A).obj

B).exeC).c

D).docCCAB安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第一章概述

返回目錄第2頁(yè)/共137頁(yè)●單項(xiàng)選擇題

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

A)建立并修改程序

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

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

D)顯示編譯結(jié)果信息(如語法錯(cuò)誤等)ADC安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第一章概述

返回目錄第3頁(yè)/共137頁(yè)●單項(xiàng)選擇題

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

A)1個(gè) B)2個(gè)

C)3個(gè) D)1個(gè)以上(含1個(gè))DA安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第一章概述

返回目錄第4頁(yè)/共137頁(yè)●單項(xiàng)選擇題

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

C)編譯器出錯(cuò) D)邏輯設(shè)計(jì)錯(cuò)誤AD安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第一章概述

返回目錄第5頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第三章基本數(shù)據(jù)類型與運(yùn)算符●單項(xiàng)選擇題

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

____.A)整型、浮點(diǎn)型、無值型

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

C)整型、浮點(diǎn)型、字符型

D)整型、浮點(diǎn)型、雙精度型、字符型C語言中運(yùn)算對(duì)象必須是整型的運(yùn)算符是____.

A)%

B)/

C)=

D)<=DA

返回目錄第6頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第三章基本數(shù)據(jù)類型與運(yùn)算符●單項(xiàng)選擇題

若已定義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語言表達(dá)式是____.

A)a>=10ora<=0

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

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

返回目錄第7頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第三章基本數(shù)據(jù)類型與運(yùn)算符●單項(xiàng)選擇題

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

____.

A)xyd233

B)No.1

C)_sd

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

____.

A)\’

B)\0

C)\n

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

A)10

B)100C)1000

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

B)21C)22

D)19BDDC

返回目錄第8頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第三章基本數(shù)據(jù)類型與運(yùn)算符●單項(xiàng)選擇題

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;則該程序運(yùn)行后,m的值是

____.A)4

B)3C)2

D)1DC

返回目錄第9頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第三章基本數(shù)據(jù)類型與運(yùn)算符●單項(xiàng)選擇題

以下選項(xiàng)中合法的字符常量是____.

A)"B"

B)'\010'

C)68

D)D設(shè)x=3,y=4,z=5,則表達(dá)式((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,則條件表達(dá)式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

返回目錄第10頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第三章基本數(shù)據(jù)類型與運(yùn)算符●填空題

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

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

返回目錄第11頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第三章基本數(shù)據(jù)類型與運(yùn)算符●填空題

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

返回目錄第12頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第三章基本數(shù)據(jù)類型與運(yùn)算符●填空題

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

返回目錄第13頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第三章基本數(shù)據(jù)類型與運(yùn)算符6.以下程序的執(zhí)行結(jié)果是___________。#include<stdio.h>main(){ floatf=13.8; intn; n=(int)f%3; printf("n=%d\n",n);}●填空題

n=1

返回目錄第14頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●單項(xiàng)選擇題

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

A)只有一個(gè)入口和一個(gè)出口

B)要盡量多使用goto語句

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

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

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

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

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

返回目錄第15頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●單項(xiàng)選擇題

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)條件不合法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)條件不合法CA

返回目錄第16頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●單項(xiàng)選擇題

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);中條件等價(jià)于____.

A)a!=0

B)~a

C)a==1

D)a==0AD

返回目錄第17頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●單項(xiàng)選擇題

8)以下程序的運(yùn)行結(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

返回目錄第18頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●單項(xiàng)選擇題

9)以下程序的運(yùn)行結(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

返回目錄第19頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●單項(xiàng)選擇題

10)以下程序的運(yùn)行結(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

返回目錄第20頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●單項(xiàng)選擇題

11)為了避免嵌套的if-else語句的二義性,C語言規(guī)定else總是____.

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

B)與在其之前未配對(duì)的if組成配對(duì)關(guān)系

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

D)與同一行上的if組成配對(duì)關(guān)系12)對(duì)于for(表達(dá)式1;;表達(dá)式3)可理解為____.

A)for(表達(dá)式1;0;表達(dá)式3)

B)for(表達(dá)式1;1;表達(dá)式3)

C)for(表達(dá)式1;表達(dá)式1;表達(dá)式3)

D)for(表達(dá)式1;表達(dá)式3;表達(dá)式3)CB

返回目錄第21頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●程序填空題

1.下面程序的功能是計(jì)算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;

返回目錄第22頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●程序填空題

2.下面程序的功能是:從鍵盤上輸入若干學(xué)生的成績(jī),統(tǒng)計(jì)并輸出最高和最低成績(jī),當(dāng)輸入負(fù)數(shù)時(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

返回目錄第23頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●程序填空題

3.下面程序的功能是:計(jì)算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

返回目錄第24頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●程序填空題

4.下面的程序完成兩個(gè)數(shù)的四則運(yùn)算。用戶輸入一個(gè)實(shí)現(xiàn)兩個(gè)數(shù)的四則運(yùn)算的表達(dá)式,程序采用switch語句對(duì)其運(yùn)算進(jìn)行判定后執(zhí)行相應(yīng)的運(yùn)算并給出結(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

返回目錄第25頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●程序填空題

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)

返回目錄第26頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●程序填空題

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類型的變量,都有精度限制。所以一定要避免將浮點(diǎn)變量用“==”或“!=”與數(shù)字比較,應(yīng)該設(shè)法轉(zhuǎn)化成“>=”或“<=”形式。假設(shè)浮點(diǎn)變量的名字為y,應(yīng)當(dāng)將

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

返回目錄第27頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

1.給出三角形的三邊a、b、c,求三角形的面積。(應(yīng)先判斷a、b、c三邊是否能構(gòu)成一個(gè)三角形)。#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");}

返回目錄第28頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

2.輸入四個(gè)整數(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);}

返回目錄第29頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

3.某幼兒園只收2至6歲的小孩,2~3歲編入小班,4歲編入中班,5~6歲編入大班,編制程序?qū)崿F(xiàn)每輸入一個(gè)年齡,輸出該編入什么班。#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");

}}

返回目錄第30頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

4.輸入一元二次方程的三個(gè)系數(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));

返回目錄第31頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

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.輸入一元二次方程的三個(gè)系數(shù)a、b、c,求出該方程所有可能的根。

返回目錄第32頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

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);}

返回目錄第33頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

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);}

返回目錄第34頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

7.一個(gè)燈塔有8層,共有765盞燈,其中每一層的燈數(shù)都是其相鄰上層的兩倍,求最底層的燈數(shù)。解法一#include<stdio.h>main(){

ints=1,n,p=1;

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

{

p=p*2;

s=s+p;

}

printf("%d\n",765/s*p);}解法二#include<stdio.h>main(){ints=0,n,p=1,f=1,k;while(f){for(k=1;k<10&&f>0;k++)

{s=k;p=k;

for(n=1;n<8;n++){p=2*p;s=s+p;}

if(s==765)

{printf("p=%d\n",p);f=0;break;}

}

}

}

返回目錄第35頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

8.一張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頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

9.編程打印出所有的“水仙花數(shù)”。所謂水仙花數(shù):是指一個(gè)三位數(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頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

10.如果一個(gè)數(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頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

11.輸出7~1000中個(gè)數(shù)位為7的所有素?cái)?shù),統(tǒng)計(jì)其個(gè)數(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頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

12.將4~100中的偶數(shù)分解成兩個(gè)素?cái)?shù)之和,每個(gè)數(shù)只取一種分解結(jié)果。如100可分解為3和97、或?yàn)?1和89、或?yàn)?7和83等,但我們只取第一種分解即可。#include<stdio.h>main(){intx,n,k,a,b,count=0;

for(x=4;x<=100;x=x+2)

{for(a=2;a<=(x/2);a++)

{for(k=2;k<a;k++)

if(a%k==0)break;

if(a==k)

{b=x-a;

for(k=2;k<b;k++)

if(b%k==0)break;

if(b==k)

{printf("%3d=%3d+%3d\t",x,a,b);

count++;

break;

if(count%3==0)

printf("\n");

}

}

}

}}

返回目錄第40頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第四章控制結(jié)構(gòu)●編程題

13.一個(gè)自然數(shù)平方的末幾位與該數(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");}

返回目錄第41頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●單項(xiàng)選擇題

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.若已有定義: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

返回目錄第42頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●單項(xiàng)選擇題

3.與定義charc[]={"GOOD"};不等價(jià)的是___. A)charc[]={‘G’,’O’,’O’,’D’,’\0’}; B)charc[]="GOOD"; C)charc[4]={"GOOD"}; D)charc[5]={‘G’,’O’,’O’,’D’,’\0’};4.若已有定義: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

返回目錄第43頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●單項(xiàng)選擇題

5.若定義a[][3]={0,1,2,3,4,5,6,7};則a數(shù)組中行的大小是___. A)2 B)3 C)4 D)無確定值6.以下程序的運(yùn)行結(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]);}

返回目錄第44頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●單項(xiàng)選擇題

7.若執(zhí)行以下程序段,其運(yùn)行結(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ù)的數(shù)組名被處理為___. A)該數(shù)組長(zhǎng)度 B)該數(shù)組元素個(gè)數(shù)

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

返回目錄第45頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●單項(xiàng)選擇題

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];

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

B)a[5][0]

C)a[0][0]

D)a[0,0]DC

返回目錄第46頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●程序填空題

1.以下程序用來檢查二維數(shù)組是否對(duì)稱(即:對(duì)所有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("不對(duì)稱\n"); else printf("對(duì)稱\n");}a[i][j]!=a[j][i]1

返回目錄第47頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●程序填空題

2.以下程序是用來輸入5個(gè)整數(shù),并存放在數(shù)組中,找出最大數(shù)與最小數(shù)所在的下標(biāo)位置,并把兩者對(duì)調(diào),然后輸出調(diào)整后的5個(gè)數(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]

返回目錄第48頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●程序填空題

3.給定一3x4的矩陣,求出其中的最大元素值,及其所在的行列號(hào):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;}

返回目錄第49頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●程序填空題

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

返回目錄第50頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●程序填空題

5.以下程序的功能是從鍵盤上輸入若干個(gè)字符(以回車鍵作為結(jié)束)組成一個(gè)字符數(shù)組,然后輸出該字符數(shù)組中的字符串,請(qǐng)?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++]

返回目錄第51頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●閱讀程序并寫出運(yùn)行結(jié)果

1.寫出下列程序的運(yùn)行結(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");}

返回目錄第52頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●閱讀程序并寫出運(yùn)行結(jié)果

2.寫出下列程序的運(yùn)行結(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"); }}

返回目錄第53頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●閱讀程序并寫出運(yùn)行結(jié)果

3.寫出下列程序的運(yùn)行結(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);}

返回目錄第54頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●閱讀程序并寫出運(yùn)行結(jié)果

4.寫出下列程序的運(yùn)行結(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);}

返回目錄第55頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●閱讀程序并寫出運(yùn)行結(jié)果

5.寫出下列程序的運(yùn)行結(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);}

返回目錄第56頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●閱讀程序并寫出運(yùn)行結(jié)果

6.寫出下列程序的運(yùn)行結(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");}

返回目錄第57頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●編程題

1.編一程序用簡(jiǎn)單選擇排序方法對(duì)10個(gè)整數(shù)排序(從大到?。E判蛩悸窞椋菏紫葟膎個(gè)整數(shù)中選出值最大的整數(shù),將它交換到第一個(gè)元素位置,再?gòu)氖S嗟膎-1個(gè)整數(shù)中選出值次大的整數(shù),將它交換到第二個(gè)元素位置,重復(fù)上述操作n次后,排序結(jié)束。2.編寫一程序,實(shí)現(xiàn)兩個(gè)字符串的連接(不用strcat()函數(shù))。3.編寫一個(gè)把字符串轉(zhuǎn)換成浮點(diǎn)數(shù)的函數(shù)。4.若有說明:inta[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};現(xiàn)要將a的行和列的元素互換后存到另一個(gè)二維數(shù)組b中。試編程。5.n皇后問題:在n*n的方陣棋盤上,試放n個(gè)皇后,每放一個(gè)皇后,必須滿足該皇后與其它皇后互不攻擊(即不在同一行、同一列、同一對(duì)角線上),求出所有可能解。6.背包問題:有一個(gè)背包,能裝入的物品總重量為S,設(shè)有N件物品,其重量分別為W1,W2,……,WN。希望從N件物品中選擇若干件物品,所選物品的重量之和恰能放入該背包,即所選物品的重量之和等于S。試編程求解。

返回目錄第58頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第五章數(shù)組●編程題

返回目錄第59頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第六章函數(shù)●單項(xiàng)選擇題

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

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

B)自動(dòng)(auto)

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

A)0 B)1

C)2 D)3BC

返回目錄第60頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第六章函數(shù)●單項(xiàng)選擇題

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

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

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

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

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

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

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

返回目錄第61頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第六章函數(shù)●單項(xiàng)選擇題

一個(gè)函數(shù)返回值的類型取決于____.A)return語句中表達(dá)式的類型

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

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

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

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

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

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

返回目錄第62頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程序設(shè)計(jì)課堂練習(xí)第六章函數(shù)●單項(xiàng)選擇題

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

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

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

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

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

返回目錄第63頁(yè)/共137頁(yè)安徽工業(yè)大學(xué)

計(jì)算機(jī)學(xué)院

胡宏智C語言程

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論