成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

C語言程序設(shè)計題庫(精心準(zhǔn)備,內(nèi)容豐富)-創(chuàng)新互聯(lián)

我為初學(xué)C語言的小伙伴們精心準(zhǔn)備了題庫,希望可以幫到你們!

站在用戶的角度思考問題,與客戶深入溝通,找到鳳城網(wǎng)站設(shè)計與鳳城網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗,讓設(shè)計與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個性化、用戶體驗好的作品,建站類型包括:成都網(wǎng)站建設(shè)、成都做網(wǎng)站、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣、域名與空間、網(wǎng)頁空間、企業(yè)郵箱。業(yè)務(wù)覆蓋鳳城地區(qū)。
  • 單項選擇題

1. 基礎(chǔ)知識

1、以下說法中正確的是( ??)

A、C語言程序總是從第一個的函數(shù)開始執(zhí)行

B、在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義

C、C語言程序總是從main()函數(shù)開始執(zhí)行

D、C語言程序中的main()函數(shù)必須放在程序的開始部分

2、下列字符序列中,可用作C標(biāo)識符的一組字符序列是( ??)。
A) ??S.b,sum,average,_above ??????B) ??class,day,lotus_1,2day

C) ??#md,&12x,month,student_n! ??D) ??D56,r_1_2,name,_st_1

3、以下標(biāo)識符中,不能作為合法的C用戶定義標(biāo)識符的是()。
A) ??a3_b3 ???B)??void ???C) ??_123 ???D) ??IF

4、設(shè)a和b均為double型變量,且a=5.5、b=2.5,則表達(dá)式(int)a+b/b的值是()

A、 6.500000 ?????B、 6 ????????C、 5.500000 ?????????D、?6.000000

5、以下的選擇中,正確的賦值語句是()。
A) ??a=1,b=2 ?B) ??j++ ??C) ??b=5; ???D) ??y=int(x)

6、在C語言中,能代表邏輯值“真”的是()。
A) ??True ??B) ??大于0的數(shù) ?C) ??非0整數(shù) ???D)???非0的數(shù)

7、下列程序的輸出結(jié)果是()。
main()
{char c1=97,c2=98;
printf("%d %c",c1,c2);
}
A) ?97 98?B) ?97 b ?C) a 98 ?D) a b

8、執(zhí)行下列語句后變量x和y的值是()。
y=10;x=y++;

A) ??x=10,y=10 ??B) ??x=11,y=11 ??C) ??x=10,y=11 ?D) ??x=11,y=10

9、設(shè)a=12,且a定義為整型變量。執(zhí)行語句a+=a-=a*=a;后a的值為()。
A) ??12 ?B) ??144 ?C) ??0??D) ??132

10、已知year為整型變量,不能使表達(dá)式(year%4==0&&year%100!=0)||year%400==0的值為“真”的數(shù)據(jù)是()。
A) ??1990 ?B) ??1992 ?C) ??1996 ?D) ??2000

11、下列程序的輸出結(jié)果是()。
main()

{int ?a=7,b=5;
printf("%d\n",b=b/a);
}
A) ??0 ?B) ??5 ?C) ??1 ?D) ??不確定值

12.以下關(guān)于運算符優(yōu)先順序的描述中正確的是( )。
A) ??關(guān)系運算符<算術(shù)運算符<賦值運算符<邏輯運算符
B) ??邏輯運算符<關(guān)系運算符<算術(shù)運算符<賦值運算符
C) ??賦值運算符<邏輯運算符<關(guān)系運算符<算術(shù)運算符

D) ??算術(shù)運算符<關(guān)系運算符<賦值運算符<邏輯運算符
13、已知i、j、k為int型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1、j的值為2、k的值為3,以下選項中正確的輸入語句是( )

A、scanf("%2d%2d%2d",&i,&j,&k);

B、scanf("%d %d %d",&i,&j,&k);?C、scanf("%d,%d,%d",&i,&j,&k);

D、scanf("i=%d,j=%d,k=%d",&i,&j,&k);

14 有以下程序

#include

main()

{ char c1,c2;

c1=’A’+’8’-‘4’;

c2=’A’+’8’-‘5’;

printf(“%c,%d\n”,c1,c2);

}

已知字母A的ASCII碼為65,程序運行后的輸出結(jié)果是( )

(A) E,68????(B) D,69???(C) E,D???(D)輸出無定值

15、若有以下類型說明語句:char w; int x; float y; double z;則表達(dá)式?w*x+z-y 的結(jié)果類型是( )

A、float ???????B、char ????????C、int ???????D、double

16、關(guān)于局部變量,下列說法正確的是?( ??)。

A、 定義該變量的程序文件中的函數(shù)都可以訪問。

B、 定義該變量的函數(shù)中的定義處以下的任何語句都可以訪問。

C、 定義該變量的復(fù)合語句的定義處以下的任何語句都可以訪問。

D、 局部變量可用于函數(shù)之間傳遞數(shù)據(jù)。

17.若變量已正確說明為float類型,要通過語句scanf("%f %f %f ",&a,&b,&c);給a賦于10.0,b賦予22.0,c賦予33.0,不正確的輸入形式是:(?????)
A) 10<回車>B) 10.0,22.0,33.0<回車>
22<回車>
33<回車>
C) 10.0<回車>D) 10 22<回車>
22.0 33.0<回車>33<回車>

2.三大結(jié)構(gòu)

(1) 下列程序的運行結(jié)果是( ??)

#include

void main()

{

char c1 = '6', c2 = '0';

printf("%c,%c,%d\n",c1,c2,c1-c2);

}

A.因程序格式不合法,提示出錯信息 B.6,0,6

C.6,0,7 D.6,0,5

(2) 下列程序的運行結(jié)果是( ??)

#include

void main()

{

double x = 2.0, y;

if(x<0.0) y = 0.0;

else if(x<10.0) y = 1.0/x;

else y = 1.0;

printf("%f\n",y);

}

A.0.000000 B.0.250000 C.0.500000 D.1.000000

(3) 下列程序的運行結(jié)果是( )

#include

void main()

{

int a = 2, b = -1, c = 2;

if( b< 0) c = 0;

else c = c + 1;

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

}

A.0 B.1 C.2 D.有語法錯誤

(4) 下列程序的運行結(jié)果是( )

#include

void main()

{

int a = 100;

if( a >0) printf("%d\n", a >100);

else printf("%d\n", a<= 100);

}

A.0 B.1 C.100 D.-1

(5) 下列程序的運行結(jié)果是( )

#include

void main()

{

int x = 1, a = 0, b = 0;

switch(x)

{

case 0: b = b + 1;

case 1: a = a + 1;

case 2: a = a + 1; b = b + 1;

}

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

}

A.a=2,b=1 B.a=1,b=1 C.a=1,b=0 D.a=2,b=2

3.函數(shù)

1.以下正確的函數(shù)定義形式是(?????)。

A. double fun(int x,int y)

B. double fun(int x; int y)

C. double fun(int x, int y);

D. double fun(int x,y)

2. C語言中,簡單變量作為實參時,它和對應(yīng)形參之間的數(shù)據(jù)傳遞方式是(?????)。

A. 地址傳遞 B. 單向值傳遞

C. 由實參傳遞給形參,再由形參傳遞給實參 ????D. 由用戶指定傳遞方式

3. 在C語言程序中以下正確的描述是(??????)。

A. 函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套

B. 函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套

C. 函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套

D. 函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套

4. 若數(shù)組名作為函數(shù)調(diào)用的參數(shù),則傳遞給形參的是(??????)。

A. 數(shù)組的首地址 B.?數(shù)組第一個元素的值

C. 數(shù)組中全部元素的值 D. 數(shù)組元素的個數(shù)

5. 若調(diào)用一個函數(shù),且此函數(shù)中沒有return語句,則正確的說法是(????)。

A. 沒有返回值? ?? B.返回若干個系統(tǒng)默認(rèn)值

C. 能返回一個用戶所希望的函數(shù)值 D. 返回一個不確定的值

6. 在C語言中,以下說法正確的是(????)。

A.?實參和與其對應(yīng)的形參各占用獨立的存儲單元

B. 實參和與其對應(yīng)的形參共占用一個存儲單元

C. 只有當(dāng)實參與其對應(yīng)的形參同名時才共占用存儲單元

D. 形參是虛擬的,不占用存儲單元

7. 以下正確的說法是( ?????)。

A.用戶若需要調(diào)用標(biāo)準(zhǔn)庫函數(shù),調(diào)用前必須重新定義??

B.用戶可以重新定義標(biāo)準(zhǔn)庫函數(shù),如若此,該函數(shù)將失去原有定義

C. 系統(tǒng)不允許用戶重新定義標(biāo)準(zhǔn)庫函數(shù)??

D. 用戶若需要使用標(biāo)準(zhǔn)庫函數(shù),調(diào)用前不必使用預(yù)處理命令將該函數(shù)所在的頭文件包含編譯,系統(tǒng)會自動調(diào)用。

8.?以下不正確的說法是( ?????)。

A. 實參可以是常量,變量或表達(dá)式?

B. 形參可以是常量,變量或表達(dá)式??

C. 實參可以為任意類型?

D. 如果形參和實參的類型不一致,以形參類型為準(zhǔn)

9.C語言規(guī)定,函數(shù)返回值的類型是由( ????)決定的。

A. return語句中的表達(dá)式類型 ??

B. 調(diào)用該函數(shù)時的主調(diào)函數(shù)類型

C. 調(diào)用該函數(shù)時由系統(tǒng)臨時 ??

D. 在定義函數(shù)時所指定的函數(shù)類型

10. 以下正確的函數(shù)定義是( ????)。

A. double fun(int x, int y) ?? B.double fun(int x,y)

{ z=x+y; ?return z; ?} ??{ int z; ?return z }

C. fun (x,y) ?????????????????????D. double fun (int x,?int y) ????????????????

{ int x, y; ?double z; ??????????? { double z; ?????????????

z=x+y ?return z ?}? ?z=x+y; ??return z ?}

4.數(shù)組

1.?在C語言中,引用數(shù)組元素時,其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()

A 整型常量 ?????????????B 整型表達(dá)式

C?整型常量或整型表達(dá)式??D 任何類型的表達(dá)式

2.對以下說明語句的正確理解是()

int a[10]={6,7,8,9,10};

A 將5個初值依次賦給a[1]至a[5]

B 將5個初值依次賦給a[0]至a[4]

C 將5個初值依次賦給a[6]至a[10]

D 因為數(shù)組長度與數(shù)組個數(shù)不相同,所以此語句不正確

3.若有說明:int a[3][4];則對a數(shù)組元素的非法引用是()

A a[0][2*1] ?B a[1][3] ?C a[4-2][0] ?D a[0][4]

4.若:int a[3][4]={0};則下面正確的敘述是()

A 只有元素a[0][0]可得到初值0

B 此說明語句不正確

C 數(shù)組a中各元素都可得到初值,但其值不一定為0

D 數(shù)組a中每個元素均可得到初值0

5.已有定義:char a[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是(??)

A.?dāng)?shù)組a和b的長度相同

B.a(chǎn)數(shù)組長度小于b數(shù)組長度

C.a(chǎn)數(shù)組長度大于b數(shù)組長度

D.上述說法都不對

6.若有定義語句:char s[10]="1234567\0\0";,則strlen(s)的值是()。

A.7????????B. 8 ???????C. 9 ???????D. 10

7.如下代碼: int k,a[3][3]={1,2,3,4,5,6,7,8,9};

???for(k=0;k<3;k++)

??????printf(“%d ”,a[k][2-k]);

輸出結(jié)果為()

A ?3 5 7 ??B ?3 6 9 ?C ?1 5 9 ??D ?1 4 7

8.判斷字符串a(chǎn)和b是否相等,應(yīng)當(dāng)使用()

A if(a==b) ?B if(a=b) ?C if(strcpy(a,b)) ?D if(strcmp(a,b)==0)

9.有兩個字符數(shù)組a、b,則以下正確的輸入語句是()

A gets(a,b) ???????????????B scanf(“%s%s”,a,b);?

C scanf(“%s%s”,&a,&b); D gets(“a”),gets(“b”);

10.下述描述中錯誤的是()

A 字符數(shù)組可以存放字符串

B 字符數(shù)組的字符串可以整體輸入、輸出

C 可以在賦值語句中通過賦值運算符“=”對字符數(shù)組整體賦值

D 不可以用關(guān)系運算符對字符數(shù)組中的字符串進(jìn)行比較

5.結(jié)構(gòu)體

1.在說明一個結(jié)構(gòu)體變量時系統(tǒng)分配給它的存儲空間是( ?????)

      1. 該結(jié)構(gòu)體中第一個成員所需存儲空間
      2. 該結(jié)構(gòu)體中最后一個成員所需存儲空間
      3. 該結(jié)構(gòu)體中占用大存儲空間的成員所需存儲空間
      4. 該結(jié)構(gòu)體中所有成員所需存儲空間的總和

2.?以下對結(jié)構(gòu)體類型變量的定義中不正確的是( ??)

  1. #define STU struct student ?????????B) struct student

STU ?????????????????????????{ int ??num;

{ int ??num;????????????????????????????float ?age; ?

float ?age; ?}std1; ???????????????????}; ?std1;

C)??struct ????????????????????????????D)?struct ?

{ int ??num; ?????????????????????????{ int ??num;

float ?age; ???????????????????????????float ?age; ?} student;

}std1; ???????????????????????????????struct student std1;

3. 設(shè)有以下說明語句

struct stu

{ int ?a; ?float ?b; }stutype;

則下面的敘述不正確的是( ?)。

  1. struct是結(jié)構(gòu)體類型的關(guān)鍵字 ???????B)struct stu是用戶定義的結(jié)構(gòu)體類型

C) stutype是用戶定義的結(jié)構(gòu)體類型名????D) a和b都是結(jié)構(gòu)體成員名

4. 定義以下結(jié)構(gòu)體數(shù)組

struct c

{ int x;

int y;

}s[2]={1,3,2,7};

語句printf("%d",s[0].x*s[1].x)的輸出結(jié)果為( ??)

A) 14 B) 6 C)?2 D) 21

5. 根據(jù)下面的定義,能輸出Mary的語句是( ?????)

struct person

{

char name[9];

int age;

};

struct?person class[5]={"John",17,"Paul",19,"Mary",18,"Adam",16};

A) printf("%s\n",class[1].name); ??

B)?printf("%s\n",class[2].name);

C) printf("%s\n",class[3].name); ?

D) printf("%s\n",class[0].name);

6. 定義以下結(jié)構(gòu)體數(shù)組

struct

{

int num;

char name[10];

}x[3]={1,"china",2,"USA",3,"England"};

語句printf("\n%d,%s",x[1].num,x[2].name)的輸出結(jié)果為()

A)2,USA

B)3,England ?

C)1,china

D)2,England

7.執(zhí)行下面的程序后,輸出的結(jié)果是( ?)

struct ?abc ?{int ?a,b,c;};

void main()

{struct ?abc ?s[2]={{1,2,3},{4,5,6}};

int ?t;

t=s[0].a+s[1].b;

printf("%d\n",t);

}

A) 5 ??????????????????B) 6???????????C) 7 ????????????D) 8 C ?????

6. 指針

1. 有以下程序

#include

main()

{ int m=1,n=2,*p=&m,*q=&n,*r;

r=p;p=q;q=r;

printf(“%d,%d,%d,%d\n”,m,n,*p,*q);

}

程序運行后的輸出結(jié)果是(B)

A)1,2,1,2??????????B)1,2,2,1 ????C)2,1,2,1??????????D)2,1,1,2

2.以下選項中正確的語句組是(d)
A)char s[];s=”BOOK!”; ????B) char *s;s={”BOOK!”};
C)char s[10];s=”BOOK!”; ???D) char *s;s=”BOOK!”;
3. 以下選項中正確的語句組是
若有以下定義
int x[10],*pt=x;
則對x數(shù)組元素的正確應(yīng)用是(C)
A)*&x[10] ????B)*(x+10) ???C)*(pt+3) ???D)pt+3
4.若有定義語句:double x,y,*px,*py,執(zhí)行了px=&x, py=&y;之后,正確的輸入語句是(C)
A)scanf(“%f%f”,x,y); ?????????B) scanf(“%f%f”,&x,&y);
C) scanf(“%lf%le”,px,py); ?????D) scanf(“%lf%lf”,x,y);

7. 文件

(1)下列關(guān)于C語言數(shù)據(jù)文件的敘述中正確的是(D)

A) 文件由ASCII碼字符序列組成,C語言只能讀寫文本文件

B) 文件由二進(jìn)制數(shù)據(jù)序列組成,C語言只能讀寫二進(jìn)制文件

C) 文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

D) 文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進(jìn)制文件和文本文件

(2)有如下程序

#include

main()

{FILE? *fp1;

fp1=fopen("f1.txt","w");

fprintf(fp1,"abc");

fclose(fp1);

}

若文本文件f1.txt中原有內(nèi)容為:good,則運行以上程序后文件f1.txt中的內(nèi)容為(C) A) goodabc? ? B) abcd? ?? C) abc? ?? D) abcgood
(3)以下敘述中錯誤的是(D)

A) 二進(jìn)制文件打開后可以先讀文件的末尾,而順序文件不可以
B) 在程序結(jié)束時,應(yīng)當(dāng)用fclose函數(shù)關(guān)閉已打開的文件
C) 在利用fread函數(shù)從二進(jìn)制文件中讀數(shù)據(jù)時,可以用數(shù)組名給數(shù)組中所有元素讀入數(shù)據(jù)
D) 不可以用FILE定義指向二進(jìn)制文件的文件指針

(4)若要打開A盤上user子目錄下名為abc.txt的文本文件進(jìn)行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是(B)

A) fopen("A:\user\abc.txt","r")??? B) fopen("A:\\user\\abc.txt","r+")

C) fopen("A:\user\abc.txt","rb")?? C) fopen("A:\\user\\abc.txt","w")

(5)

  • 讀程序?qū)懡Y(jié)果

2.三大結(jié)構(gòu)

3.函數(shù)

1.下列程序的執(zhí)行結(jié)果為 ( ??????????????)。

float f1(float x) ??

{

int k=2; ??

k=k*x; ??

return k; ???

} ???

void main() ??

{

float b=4.3; ???

printf("%.1f",f1(b)); ??

} ???

答案:8.6

2.下面程序的輸出是 ( ?????????????)。

#include

void main()

{ ??

char ss[10]="12345"; ?

strcat(ss,"6789"); ?

printf("%s\n",ss);

} ???

答案:123456789

3. 程序執(zhí)行時,若輸入10,程序的輸出結(jié)果是( ??????????????)。

int fun(int n)

{ ?????

if(n==1) ?

return 1; ??

else

return(n+fun(n-1));

}

int main()

{ ????

int x,y; ???

scanf("%d",&x); ???

y=fun(x); ??

printf("%d\n",y);

} ???

答案:55

4.?下面程序的輸出是 ( ?????????????)。

#include

void fun(int ?*s, int m, int n)

{ ????

int t; ???

while(m

{

t=s[m];

s[m]=s[n];

s[n]=t;

m++;

n--;

}

} ?

void?main()

{ ???

int a[5]={1,2,3,4,5},k; ?

fun(a,0,4); ??

for(k=0;k<5;k++) ???

printf("%d ?",a[k]);

} ?

答案:5 4 3 2 1

5. 運行程序時,若從鍵盤輸入asd af aa z67(回車),分析以下程序的輸出結(jié)果( ???)。??

#include

int fun(char *str)

{ ????

int i,j=0; ??

for(i=0;str[i]!=’\0’;i++) ??

if(str[i]!=’?’) ???????

str[j++]=str[i]; ???

str[j]=’\0’;

} ?

void?main()

{ ???????

char str[81]; ??

int n; ???

printf("Input a string : "); ??

gets(str); ????

fun(str); ???

printf("%s\n",str);

} ?

答案:asdafaaz67

6 . 程序運行后的輸出結(jié)果是( 64 ???)。

#include

int fun()

{

static int x=1;

x*=2;

return x;

}

void main()

{

int i,s=1;

for(i=1;i<=3;i++) s*=fun();

printf("%d\n",s);

}

7.?以下程序的輸出結(jié)果是(4)

#include

int m=13;

int fun(int x,int y)

{

int m=2;

return(x*y-m);

}

main()

{

int a=7,b=6;

printf("%d",fun(a,b)/m);

}

8.以下程序輸出結(jié)果為(6)

#include

fun(int x)

{

static int a=3;

a+=x;

return(a);

}

main()

{

int k=2,m=1,n;

n=fun(k);

n=fun(m);

printf("%d",n);

}

4.數(shù)組

1.下面程序的運行結(jié)果是_____________

void main()

{

int a[6][6],i,j;

for(i=1;i<6;i++)

for(j=1;j<6;j++)

a[i][j]=(i/j)*(j/i);

for(i=1;i<6;i++)

{

for(j=1;j<6;j++)

printf("%2d",a[i][j]);

printf("\n");

}

}

2. 下面程序的運行結(jié)果是_____________

void main()

{

int f[10]={1,1},i;

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

f[i]=f[i-2]+f[i-1];

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

{

if(i%4==0)

?printf("\n");

printf("%3d",f[i]);

}

}

5.結(jié)構(gòu)體

6. 指針

7. 文件

  • 程序填空

1. 基礎(chǔ)知識

1.?表達(dá)式(int)((double)(5/2)+2.5)的值是【4】

2.三大結(jié)構(gòu)

3.函數(shù)

1.以下程序?qū)崿F(xiàn)了求兩個數(shù)的大公約數(shù),請將程序填寫完整。

int divisor(int a,int b)

{ int r;

r=a%b;

while(【1】)

{ a=b;b=r;r=a%b;}

return b;

}

void main()

{ int a,b,d,t;

scanf("%d %d",&a,&b);

if (a

?{ t=a; a=b; b=t; }

d=【2】;

printf("\n gcd=%d",d);

}

答案:【1】r!=0 ?【2】divisor(a,b)

2.以下函數(shù)fun的功能是:將輸入的大寫字母,先轉(zhuǎn)換為與其對應(yīng)的小寫字母,然后再轉(zhuǎn)換成該小寫字母后的第3個字母,返回后輸出。例如,若輸入的字母為E,輸出的字母則為h;若輸入的字母為Y,輸出的字母則為b。

#include

#include

char func(char c)

{

c=【1】;

if(c>='a' && c<'w')

c=c+3;

else if(c>='x' && c<='z')

【2】;

return c;

}

void main()

{

char c;

c=getchar();

c=【3】;

putchar(c);

}

答案:【1】c+32 ?【2】‘a(chǎn)’+(c-‘a(chǎn)’)%26 ?【3】func(c)

3. 編寫函數(shù),求數(shù)組的大值,請將程序補充完整。

#include

void main()

{

int i,d,a[10];

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

scanf("%d",&a[i]);

d=zmax(【1】);

printf("max=%d\n",d);

}

int zmax(int x[ ],int n)

{

int i,d;

d=x[0];

for(i=1; i

if(x[i]>d)

【2】;

return d;

}

答案:【1】a,10 ???【2】d=x[i]

4. 以下函數(shù)my_cmp( )的功能是比較字符串s和t的大小,當(dāng)s等于t時返回0,否則返回s和t的第一個不同字符的ASCII碼差值,即s>t時返回正值,s

my_cmp(char *s,char *t)

{

while(*s == *t)

{

if (【1】) ?return 0;

++s; ++t;

}

return 【2】;

}

答案:【1】*s>*t ??【2】*s-*t

4.數(shù)組

5.結(jié)構(gòu)體

6. 指針

7. 文件

  • 編程

2.三大結(jié)構(gòu)

1.【順序】

(1) 從鍵盤輸入一個3位整數(shù),輸出它的個位數(shù)字、十位數(shù)字和百位數(shù)字。

例如,輸入是: 365,輸出是: 個位數(shù)字是5,十位數(shù)字是6,百位數(shù)字是3。

(2) 從鍵盤輸入一個英文大寫字母,輸出其對應(yīng)的小寫字母以及小寫字母對應(yīng)的ASCII碼值。

(3) 編寫程序,求梯形面積,梯形的上底、下底以及高均從鍵盤輸入。

(4) 編寫程序,從鍵盤輸入圓柱體的高,底面圓的半徑,求圓柱體的體積。

2.【分支】

(1) 根據(jù)輸入的月份(1到12之間的數(shù)),輸出對應(yīng)的季節(jié)(1-3月為春天,4-6月為夏天,7-9月為秋天,10-12月為冬天)。

(2) 將百分制成績轉(zhuǎn)化成等級制輸出(60分以下為不及格,60-70為及格,70-80為中等,80-90為良好,90-100為優(yōu)秀)。

(3) 根據(jù)輸入的數(shù)字如1-7,輸出星期幾。

(4) 用戶輸入運算數(shù)和四則運算符,輸出計算結(jié)果。

(5) x的值由鍵盤輸入,求函數(shù)y的值如下:

??{ x - 1 ?????-5

y = { x ?????????x = 0

??{ 2x + 1 ????0

(6) x的值由鍵盤輸入,求函數(shù)y的值如下:

{ x ??????????x<1

y = { 2x - 1 ?????1<= x< 10

??{ 3x - 11 ????x>= 10

3.【循環(huán)】(本題不允許使用數(shù)組)。

(1) 使用循環(huán)語句,編程求1 + 2/3 + 3/4 + ... + (n-1)/n的值(n是從鍵盤輸入的正整數(shù))(本題不允許使用數(shù)組)。

(2) 使用循環(huán)語句, 編程求1 + 1/2 + 1/3 + ... + 1/n的值(n是從鍵盤輸入的正整數(shù))(本題不允許使用數(shù)組)。

(3) 使用循環(huán)語句,編程輸出下面圖案(本題不允許使用數(shù)組)。

*

***

*****

*******

*********

(4) 使用循環(huán)語句,編程輸出下面圖案(本題不允許使用數(shù)組)。

*********

*******

*****

***

*

(5) 輸入一個100到999之間的3位數(shù),判斷是否為一個“水仙花數(shù)”.

水仙花數(shù)是指這個3位數(shù)的各位數(shù)字的立方和等于這個數(shù)本身。

例如, 153 = 1*1*1 + 5*5*5 + 3*3*3 (本題不允許使用數(shù)組)

(6) 輸出100到999之間所有的完數(shù).

一個整數(shù)若等于其所有因子之和,則稱該數(shù)為完數(shù)。

例如, 28 = 1 + 2 + 4 + 7 + 14 (本題不允許使用數(shù)組)

(7) 編寫程序,輸出100-999之間的所有素數(shù)。(本題不允許使用數(shù)組)

3.函數(shù)

1. ?請用自定義函數(shù)的形式編程實現(xiàn),求s=m!+n!+k!,m、n、k從鍵盤輸入(值均小于7)。

2. ?請編寫兩個自定義函數(shù),分別實現(xiàn)求兩個整數(shù)的大公約數(shù)和最小公倍數(shù),并用主函數(shù)調(diào)用這兩個函數(shù),輸出結(jié)果(兩個整數(shù)由鍵盤輸入得到)。

3. ?編寫函數(shù)判斷用戶輸入的3個整型值是否組成三角形,并計算三角形面積。

4.??寫一個判斷素數(shù)的函數(shù),在主函數(shù)輸入一個整數(shù),輸出示范素數(shù)的信息。

5. 有5個人坐在一起,問第五個人多少歲?他說比第4個人大2歲。問第4個人歲數(shù),他說比第3個人大2歲。問第三個人,又說比第2人大兩歲。問第2個人,說比第一個人大兩歲。最后問第一個人,他說是10歲。請問第五個人多大?

6.?通過函數(shù)調(diào)用,求一組數(shù)中的大值。

7.?寫一個函數(shù),使輸入的一個字符串按反序存放,在主函數(shù)中輸入和輸出字符串

8.??寫一個函數(shù),將兩個字符串連接。

9.?寫幾個函數(shù):

(1) 輸入10個職工的姓名和職工號(整數(shù));

(2) 按職工號由小到大排序,姓名順序也隨之調(diào)整;

(3) 要求輸入一個職工號,用折半查找法找出該職工的姓名,從主函數(shù)輸入要查找的職工號,輸出該職工姓名。

4.數(shù)組

1.?從鍵盤輸入10個數(shù)到數(shù)組,實現(xiàn)數(shù)組的逆序存放。

2.從鍵盤輸入10個數(shù)到數(shù)組,實現(xiàn)求數(shù)組的大值、最小值和平均值。

3. 從鍵盤輸入10個數(shù)到數(shù)組,實現(xiàn)數(shù)組排序。

4. 已知數(shù)組中保存著9個從小到大排列的數(shù),向其中插入一個新數(shù),使得插入后的數(shù)組元素依然保持有序。

5. 把十進(jìn)制數(shù)轉(zhuǎn)換為二進(jìn)制數(shù)。

6.編程實現(xiàn)二維數(shù)組的轉(zhuǎn)置。

7. 編程實現(xiàn)求二維數(shù)組的對角線的和。

8. 編程求二維數(shù)組的大最小值。

9. 不用庫函數(shù)strcat,實現(xiàn)把字符串a(chǎn)連接到字符串b的后面。

10.從鍵盤輸入若干整數(shù)(整數(shù)個數(shù)少于50),其值在0至4的范圍內(nèi),用-1作為結(jié)束標(biāo)志,統(tǒng)計每個整數(shù)的個數(shù)。

11.從鍵盤輸入一行字符,統(tǒng)計其中單詞的個數(shù)。

5.結(jié)構(gòu)體

1. 設(shè)有n個學(xué)生(包括學(xué)號、姓名和數(shù)學(xué)、英語、計算機三門課程的成績),編程計算并輸出總分最高的學(xué)生的姓名和總分。

6. 指針

1.寫一通用函數(shù)slength,求出一個字符串的長度,并用main()函數(shù)調(diào)用slength

函數(shù)規(guī)范:int slength(char *ps)

#include
void main()
{ int slength(char *ps);
char string[80],*p;
int l;
printf("input your string please\n");
gets(string);
p=string;
l=slength(p);
printf("the string is:\n");
puts(p);
printf("\nthe length of this string is :%d",l);
getchar();
}
int slength(char *ps)
{ int n=0;
while(*ps!='\0')
{
n++;ps++;
}
return (n);
}

2. 寫出一通用函數(shù),該函數(shù)從一個一維整型數(shù)組中尋找一個數(shù),若找到,返回該數(shù)組中的下標(biāo)值,否則返回-1。

函數(shù)規(guī)范:Found(int * pi,int num,int n)

#include
main()
{
int Found(int * pi,int num,int n);
int Int_arr[10]={2,12,3,4,14,6,8,10,17,1},num,*p,flag=0;
printf("請輸入一個要查找的數(shù):\n");
scanf("%d",&num);
flag=Found(Int_arr,num,10);
if ( flag!=-1)
printf("找到!下標(biāo)是:%d\n",flag);
else
printf("沒找到\n");
}
Found(int * pi,int num,int n)
{
int i;
for(i=0;i{
if(*(pi+i)==num)
return (i);
}
return (-1);
}

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

本文標(biāo)題:C語言程序設(shè)計題庫(精心準(zhǔn)備,內(nèi)容豐富)-創(chuàng)新互聯(lián)
網(wǎng)頁地址:http://jinyejixie.com/article12/gppgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站Google、網(wǎng)站內(nèi)鏈手機網(wǎng)站建設(shè)、網(wǎng)站制作電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)
常德市| 象州县| 阿拉善右旗| 邵武市| 遂平县| 松潘县| 陆良县| 巴楚县| 浦北县| 进贤县| 海城市| 博野县| 普洱| 新蔡县| 韶山市| 张家口市| 东乌珠穆沁旗| 宽甸| 博兴县| 塔城市| 嘉荫县| 新化县| 弥勒县| 乌兰县| 长子县| 巴林右旗| 安塞县| 改则县| 庄浪县| 张掖市| 青海省| 内江市| 和平县| 海安县| 龙岩市| 凉城县| 正定县| 晴隆县| 灵川县| 涿鹿县| 阿合奇县|