1、 函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是________。
作為一家“創(chuàng)意+整合+營銷”的成都網(wǎng)站建設(shè)機(jī)構(gòu),我們在業(yè)內(nèi)良好的客戶口碑。創(chuàng)新互聯(lián)公司提供從前期的網(wǎng)站品牌分析策劃、網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、網(wǎng)站建設(shè)、創(chuàng)意表現(xiàn)、網(wǎng)頁制作、系統(tǒng)開發(fā)以及后續(xù)網(wǎng)站營銷運(yùn)營等一系列服務(wù),幫助企業(yè)打造創(chuàng)新的互聯(lián)網(wǎng)品牌經(jīng)營模式與有效的網(wǎng)絡(luò)營銷方法,創(chuàng)造更大的價(jià)值。
C) 將串str2復(fù)制到串str1中后再將串str3連接到串str1之后
2、 若有以下調(diào)用語句,則正確的fun函數(shù)首部是
main()
{ ∶
∶
int a;float x;
∶
∶
fun(x,a);
∶
∶
}
B) void fun(float a,int x)
3、 有如下程序
int func(int a,int b)
{ return(a+b); }
main()
{ int x=2,y=5,z=8,r;
r=func(func(x,y),z);
printf("%d\n",r); }
該程序的輸出結(jié)果是__________。
D) 15
4、 函數(shù)pi的功能是根據(jù)以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+……+1/(n*n)
請你在下面程序中的劃線部分填入________,完成求π的功能。
#include "math.h"
double pi(long n)
{ double s=0.0; long i;
for(i=1;i=n;i++) s=s+________;
return (sqrt(6*s)); }
A) 1.0/i/i
5、 在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞
方式是________。
B) 單向值傳遞
6、 對于C語言的函數(shù),下列敘述中正確的是________。
A) 函數(shù)的定義不能嵌套,但函數(shù)調(diào)用可以嵌套 (這答案有待斟酌)
7、 函數(shù)f的功能是:測定字符串的長度,空白處應(yīng)填入________。
int f(char s[ ])
{ int i=0;
while(s[i]!='\0') i++;
return (________); }
main( )
{ printf("%d\n",f("goodbye!")); }
B) i
8、 若主調(diào)用函數(shù)類型為double,被調(diào)用函數(shù)定義中沒有進(jìn)行函數(shù)類型
說明,而return語句中的表達(dá)式類型為float型,則被調(diào)函數(shù)返回
值的類型是________。
C) double 型
9、 以下敘述中,錯(cuò)誤的是________。
D) 形參可以是常量、變量或表達(dá)式
10、 以下敘述中,不正確的是________。
B) 在main函數(shù)體內(nèi)定義的變量是全局變量
問題分為兩步,
1界面設(shè)計(jì),就如上面所說的
用getchar()獲得一個(gè)輸入,再編一個(gè)switch語句,然后寫四個(gè)case語句加一個(gè)default。根據(jù)輸入的字符調(diào)用不同函數(shù)。退出就是exit(0)。
2函數(shù)設(shè)計(jì)
(1)這里牽扯到n階數(shù)組,可用一維數(shù)組的指針,動(dòng)態(tài)申請內(nèi)存長度,
比如int *p;p=(int)malloc(sizeof(int)*n*n);//申請n×n個(gè)int
然后一一賦值,在做加減乘的時(shí)候,加減比如好算,但乘的運(yùn)算應(yīng)該是p[i*n+j]=p1和第i行和p2的第j列分別相乘再相加的結(jié)果。比較復(fù)雜
還要考慮的問題是左邊和右邊兩個(gè)數(shù)組的階數(shù)是否一致
(2)程序的主要難度在于p1與p2兩個(gè)數(shù)組相乘的算法,結(jié)果放在p中,則提供思路如下
for(int i=0;in;i++)
for(int j=0;jn;j++)
{
int sum=0;
for(int k=0;kn;k++)
for(int l=0;ln;l++)
sum+=p1(i*n+k)*p2(l*n+j);//把p1的第i行和p2的第j列相加
p[i*n+j]= sum ;
}
1. 一條簡單語句是以_____;___字符作為結(jié)束符的,一條復(fù)合語句是分別以___{_____字符和_____}___字符作為開始符和結(jié)束符的。
2. 任何一個(gè)C++程序至少且只能包含一個(gè)_____主___函數(shù),且程序總是從這個(gè)函數(shù)開始執(zhí)行,不論這個(gè)函數(shù)的位置如何。一個(gè)函數(shù)定義由 函數(shù)頭 和 函數(shù)體 兩部分組成。
3. C++頭文件和源程序文件的擴(kuò)展名分別為 .h 和 .cpp。
4. cout與操作符___配合使用才能顯示輸出,cin與操作符__配合使用才能實(shí)現(xiàn)輸入。
5. 數(shù)據(jù)類型int,char,bool,float,double, int * 等的類型長度分別為___4_、1_、_1_、_4、_8___和_____4___。
6. 數(shù)值常量46、0173和0x62對應(yīng)的十進(jìn)制值分別為_____46___、____123____和______98__。
7. 字符串”It\’s\40a\40C++programe!”中包含有______19____個(gè)字符。
8. 若x=5,y=10,則計(jì)算y*=++x表達(dá)式后,x和y的值分別為____6____和____60____。
9. 若x=25,則計(jì)算y=x--表達(dá)式后,x和y的值分別為____24____和__25______。
10. 假定x和ch分別為int型和char型,則sizeof(x)和sizeof(ch)的值分別為___4_____和_____1___。
11. 假定x=64,y=88,則x2和y2的值分別為____128____和___44_____。
12. 假定x是一個(gè)邏輯量,則xtrue的值與_____x___的值相同,x||false的值也與_____x___的值相同。
13. 假定x是一個(gè)邏輯量,則x!x和x||!x的值分別為____0____和____1____。
14. 假定x=10,則表達(dá)式x=10?20:30的值為____20____。
15. 表達(dá)式sqrt(81)和pow(6,3)的值分別為________9______和_________216_____。
16. 數(shù)學(xué)算式(1+x)sin48°和axbex+1對應(yīng)的算術(shù)表達(dá)式分別為___(1+x)*sin(48*3.14159/180)_____和_____a*pow(x,b)*exp(x+1)___。
17. 邏輯表達(dá)式:a=x||b2*y+10的相反式為:___~(a=x2*y+10)_____。
18. 在嵌套的if語句中,每個(gè)else關(guān)鍵字與它前面最接近的____if____關(guān)鍵字相配套。
19. 在for語句中,假定循環(huán)體被執(zhí)行次數(shù)為n,則表達(dá)式1共被計(jì)算____n___次,表達(dá)式2共被計(jì)算____n____次,表達(dá)式3共被計(jì)算____n____次。
20. 執(zhí)行for和while循環(huán)時(shí),每次是先進(jìn)行____條件____的判斷,然后再執(zhí)行____循環(huán)___,執(zhí)行do循環(huán)時(shí)則相反。
另外,站長團(tuán)上有產(chǎn)品團(tuán)購,便宜有保證
修改后的C語言程序:
#include?stdio.h?
void?triangle(int?g)
{
int?n=1,?m; /*?修改處1?*/
for(n;n=g;?n++)
{
for(m=1;m=2*n-1;m++) /*?修改處2?*/
putchar('*');
putchar('\n');
}
}
void?rectangle(int?g)
{
int?n=1,?m; /*?修改處3?*/
for(n;n=g;n++)
{
for(m=1;m=3;m++) /*?修改處4?*/
putchar('*');
putchar('\n');
}
}
int?main()
{
int?i,k;
printf("請輸入行數(shù)(大于3):");
scanf("%d",i);
printf("請選擇圖形:1---三角形??\t2---矩形\t3---小旗?:");
scanf("%d",k);
if(k==1)
{?
triangle(i);
}
if(k==2)
{?
rectangle(i);
}
if(k==3)
{?
triangle(i);
rectangle(i);
}
return?0;
}
一、選擇題
1、C語言規(guī)定,在一個(gè)源程序中,main()函數(shù)的位置(C )。
A) 必須在最開始 B)必須在最后
C) 可以任意 D) 必須在系統(tǒng)調(diào)用的庫函數(shù)后面
這題你死記就行,你看看這個(gè)
任何一個(gè)C++程序都必須定義一個(gè)main函數(shù),它的返回類型總是int類型。這個(gè)函數(shù)由操作系統(tǒng)來調(diào)用,在main函
數(shù)執(zhí)行完以后,程序也就終止了。 main也可以使用return向操作系統(tǒng)返回一個(gè)值,使用操作系統(tǒng)的命令可以檢測
main的返回值。一般約定在main返回0時(shí),表示程序運(yùn)行過程中沒有出現(xiàn)錯(cuò)誤,其它非零值表示程序出現(xiàn)異常情況。
若沒有為main指定返回值,這樣返回值是任意的。
2、若x和y都是int 型變量,x=100,y=200,且有以下程序段,printf(“%d”,(x,y));則其輸出結(jié)果是( A)。
A) 200 B) 100 C) 100 200 D) 輸出不確定值
(x,y)這是個(gè)逗號表達(dá)式,表達(dá)式的值為最后一個(gè)逗號后面表達(dá)式的值,因?yàn)榍懊嬗幸粋€(gè)%d,所以輸出 的是y的
值
3、合法的C語法字符常量是(C )。
A) “A” B) 65 C) ‘\t’ D) A
字符都是由兩個(gè)單引號括起來的,死記, a)為字符串
4、表達(dá)式“3?。?”的值是(A )。
A) 1 B) 0 C) T D) F
!=是c語言的邏輯運(yùn)算符,3?。?為真,多以得1, 3=4為假,值為0
5、 int a=1,b=2,c=3,d=4,執(zhí)行下列程序后x的值為( C)。
if(ab) x=1;else if (cd) x=2;else x=3;
A) 1 B) 2 C) 3 D) 4
如果ab,12為假,不執(zhí)行x=1,執(zhí)行else if(cd),判斷:34為假,不執(zhí)行x=2,執(zhí)行=3,完
6、以下程序的輸出結(jié)果是(D)。
Int x=10,y=3,z;printf(“%d\n”,z=(x%y,x/y));
A)1 B) 0 C) 4 D) 3
逗號表達(dá)式,x%y,10%3,商3余1,模取余數(shù)1,x/y,10/3,商3余1,除法取商3,逗號表達(dá)式,表達(dá)式的值為最后一
個(gè)逗號后面表達(dá)式的值
7、為表示x≥y≥z,應(yīng)使用C語言表達(dá)式(A )。
A) (x=y)(y=z) B) (x=y) AND (y=z)
C) (x=y=z) D) (x=y) (y=z)
關(guān)系運(yùn)算符,x=y與y=z必須是同時(shí)成立的,因此要用邏輯運(yùn)算符,與的意思
8、合法的數(shù)組定義是( a )。
A) int a[ ]=”string”; B) int a[5]={0,1,2,3,4,5};
C) char a=”string”; D) char a[ ]={“01234”};
a不指定數(shù)組長度定義,正確
b數(shù)組長度為5,就是里面有5個(gè)數(shù)組元素,多了一個(gè)數(shù)組元素
c定義a不是數(shù)組而是一個(gè)變量,素組應(yīng)該是a[]
d是錯(cuò)的,字符串是這樣定義的:char a[ ]={'0','1','2','3','4','\0'};
[4]中數(shù)字是數(shù)組長度,說明里面有幾個(gè)元素
9、設(shè)x和y均為int型變量,則語句“x+=y;y=x-y;x-=y;”的功能是(D)。
A) 把x和y按從小到大排列 B)把x和y按從大到小排列
C)無確定結(jié)果 D)交換x和y中的值
x+=y等同于x=x+y,把x加y的值賦給x,x現(xiàn)在存的是x與y的和
y=x-y把x減y的值賦給y,x現(xiàn)在存的是x與y的和 (x+y)-y=x,把x的值給y,y存x的值
x-=y等同于x=x-y,把x減y的值賦給x,(x+y)-y=x,現(xiàn)在的后面的y存的是x的值,做完后x里存的值是y,完成交換
10、若已定義x和y為double類型,則表達(dá)式“x=1,y=x+3/2”的值是(C)。
A) 1 B)2 C) 2.0 D) 1.0
逗號表達(dá)式,先讓x=1在算y=x+3/2,得2,因?yàn)槭莇ouble類型,所以有小數(shù)點(diǎn)
11、下列條件語句中,功能與其他語句不同的是 (D)
A) if(a) printf("%d\n",x); else printf("%d\n",y);
B) if(a==0) printf("%d\n",y); else printf("%d\n",x);
C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);
D) if(a==0) printf("%d\n",x); else printf("%d\n",y);
a 如果a為真輸出x,如果a為假輸出y
b 如果a==0,也就是為假,輸出y,a為真輸出x,同a
c 如果a!=0為真,輸出x,a為假輸出y同上
d 如果a為假輸出x,如果a為真輸出y,與以上的都不同
12、以下能正確定義二維數(shù)組的是 (C)
A) int a[][3]; B) int a[][3]=2{2*3};
C) int a[][3]={0}; D) int a[2][3]={{1},{2},{3,4}};
a 沒有給數(shù)組賦初值
b {}里不能有*
c 正確,記住第一個(gè)[]中可以為空,第二個(gè)[]不能為空,死記
d a[2][3] 的意思是有兩個(gè)一維數(shù)組,每個(gè)一維數(shù)組里有3個(gè)元素,{{1},{2},{3,4}}; 她的意思是三個(gè)數(shù)組,{}中的每一個(gè){}代表一個(gè)數(shù)組,里邊的數(shù)為數(shù)組元素
13、用C語言編寫的代碼程序 (B)
A)可立即執(zhí)行 B)是一個(gè)源程序
C)經(jīng)過編譯即可執(zhí)行 D)經(jīng)過編譯解釋才能執(zhí)行
死記
main函數(shù)
scanf函數(shù),printf函數(shù)
-60
6 ,4, 2
, || , !
B?? 66
2? ?1
6
main
5