我為初學(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)分配給它的存儲空間是( ?????)
2.?以下對結(jié)構(gòu)體類型變量的定義中不正確的是( ??)
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;
則下面的敘述不正確的是( ?)。
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)
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 2. 寫出一通用函數(shù),該函數(shù)從一個一維整型數(shù)組中尋找一個數(shù),若找到,返回該數(shù)組中的下標(biāo)值,否則返回-1。 函數(shù)規(guī)范:Found(int * pi,int num,int n) #include 你是否還在尋找穩(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)站建設(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)
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);
}
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ǎng)頁地址:http://jinyejixie.com/article12/gppgc.html
猜你還喜歡下面的內(nèi)容