1、 函數調用:strcat(strcpy(str1,str2),str3)的功能是________。
作為一家“創意+整合+營銷”的成都網站建設機構,我們在業內良好的客戶口碑。創新互聯公司提供從前期的網站品牌分析策劃、網站設計、成都做網站、網站建設、創意表現、網頁制作、系統開發以及后續網站營銷運營等一系列服務,幫助企業打造創新的互聯網品牌經營模式與有效的網絡營銷方法,創造更大的價值。
C) 將串str2復制到串str1中后再將串str3連接到串str1之后
2、 若有以下調用語句,則正確的fun函數首部是
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); }
該程序的輸出結果是__________。
D) 15
4、 函數pi的功能是根據以下近似公式求π值:
(π*π)/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、 在調用函數時,如果實參是簡單變量,它與對應形參之間的數據傳遞
方式是________。
B) 單向值傳遞
6、 對于C語言的函數,下列敘述中正確的是________。
A) 函數的定義不能嵌套,但函數調用可以嵌套 (這答案有待斟酌)
7、 函數f的功能是:測定字符串的長度,空白處應填入________。
int f(char s[ ])
{ int i=0;
while(s[i]!='\0') i++;
return (________); }
main( )
{ printf("%d\n",f("goodbye!")); }
B) i
8、 若主調用函數類型為double,被調用函數定義中沒有進行函數類型
說明,而return語句中的表達式類型為float型,則被調函數返回
值的類型是________。
C) double 型
9、 以下敘述中,錯誤的是________。
D) 形參可以是常量、變量或表達式
10、 以下敘述中,不正確的是________。
B) 在main函數體內定義的變量是全局變量
問題分為兩步,
1界面設計,就如上面所說的
用getchar()獲得一個輸入,再編一個switch語句,然后寫四個case語句加一個default。根據輸入的字符調用不同函數。退出就是exit(0)。
2函數設計
(1)這里牽扯到n階數組,可用一維數組的指針,動態申請內存長度,
比如int *p;p=(int)malloc(sizeof(int)*n*n);//申請n×n個int
然后一一賦值,在做加減乘的時候,加減比如好算,但乘的運算應該是p[i*n+j]=p1和第i行和p2的第j列分別相乘再相加的結果。比較復雜
還要考慮的問題是左邊和右邊兩個數組的階數是否一致
(2)程序的主要難度在于p1與p2兩個數組相乘的算法,結果放在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. 一條簡單語句是以_____;___字符作為結束符的,一條復合語句是分別以___{_____字符和_____}___字符作為開始符和結束符的。
2. 任何一個C++程序至少且只能包含一個_____主___函數,且程序總是從這個函數開始執行,不論這個函數的位置如何。一個函數定義由 函數頭 和 函數體 兩部分組成。
3. C++頭文件和源程序文件的擴展名分別為 .h 和 .cpp。
4. cout與操作符___配合使用才能顯示輸出,cin與操作符__配合使用才能實現輸入。
5. 數據類型int,char,bool,float,double, int * 等的類型長度分別為___4_、1_、_1_、_4、_8___和_____4___。
6. 數值常量46、0173和0x62對應的十進制值分別為_____46___、____123____和______98__。
7. 字符串”It\’s\40a\40C++programe!”中包含有______19____個字符。
8. 若x=5,y=10,則計算y*=++x表達式后,x和y的值分別為____6____和____60____。
9. 若x=25,則計算y=x--表達式后,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是一個邏輯量,則xtrue的值與_____x___的值相同,x||false的值也與_____x___的值相同。
13. 假定x是一個邏輯量,則x!x和x||!x的值分別為____0____和____1____。
14. 假定x=10,則表達式x=10?20:30的值為____20____。
15. 表達式sqrt(81)和pow(6,3)的值分別為________9______和_________216_____。
16. 數學算式(1+x)sin48°和axbex+1對應的算術表達式分別為___(1+x)*sin(48*3.14159/180)_____和_____a*pow(x,b)*exp(x+1)___。
17. 邏輯表達式:a=x||b2*y+10的相反式為:___~(a=x2*y+10)_____。
18. 在嵌套的if語句中,每個else關鍵字與它前面最接近的____if____關鍵字相配套。
19. 在for語句中,假定循環體被執行次數為n,則表達式1共被計算____n___次,表達式2共被計算____n____次,表達式3共被計算____n____次。
20. 執行for和while循環時,每次是先進行____條件____的判斷,然后再執行____循環___,執行do循環時則相反。
另外,站長團上有產品團購,便宜有保證
修改后的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("請輸入行數(大于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語言規定,在一個源程序中,main()函數的位置(C )。
A) 必須在最開始 B)必須在最后
C) 可以任意 D) 必須在系統調用的庫函數后面
這題你死記就行,你看看這個
任何一個C++程序都必須定義一個main函數,它的返回類型總是int類型。這個函數由操作系統來調用,在main函
數執行完以后,程序也就終止了。 main也可以使用return向操作系統返回一個值,使用操作系統的命令可以檢測
main的返回值。一般約定在main返回0時,表示程序運行過程中沒有出現錯誤,其它非零值表示程序出現異常情況。
若沒有為main指定返回值,這樣返回值是任意的。
2、若x和y都是int 型變量,x=100,y=200,且有以下程序段,printf(“%d”,(x,y));則其輸出結果是( A)。
A) 200 B) 100 C) 100 200 D) 輸出不確定值
(x,y)這是個逗號表達式,表達式的值為最后一個逗號后面表達式的值,因為前面有一個%d,所以輸出 的是y的
值
3、合法的C語法字符常量是(C )。
A) “A” B) 65 C) ‘\t’ D) A
字符都是由兩個單引號括起來的,死記, a)為字符串
4、表達式“3!=4”的值是(A )。
A) 1 B) 0 C) T D) F
!=是c語言的邏輯運算符,3!=4為真,多以得1, 3=4為假,值為0
5、 int a=1,b=2,c=3,d=4,執行下列程序后x的值為( C)。
if(ab) x=1;else if (cd) x=2;else x=3;
A) 1 B) 2 C) 3 D) 4
如果ab,12為假,不執行x=1,執行else if(cd),判斷:34為假,不執行x=2,執行=3,完
6、以下程序的輸出結果是(D)。
Int x=10,y=3,z;printf(“%d\n”,z=(x%y,x/y));
A)1 B) 0 C) 4 D) 3
逗號表達式,x%y,10%3,商3余1,模取余數1,x/y,10/3,商3余1,除法取商3,逗號表達式,表達式的值為最后一
個逗號后面表達式的值
7、為表示x≥y≥z,應使用C語言表達式(A )。
A) (x=y)(y=z) B) (x=y) AND (y=z)
C) (x=y=z) D) (x=y) (y=z)
關系運算符,x=y與y=z必須是同時成立的,因此要用邏輯運算符,與的意思
8、合法的數組定義是( a )。
A) int a[ ]=”string”; B) int a[5]={0,1,2,3,4,5};
C) char a=”string”; D) char a[ ]={“01234”};
a不指定數組長度定義,正確
b數組長度為5,就是里面有5個數組元素,多了一個數組元素
c定義a不是數組而是一個變量,素組應該是a[]
d是錯的,字符串是這樣定義的:char a[ ]={'0','1','2','3','4','\0'};
[4]中數字是數組長度,說明里面有幾個元素
9、設x和y均為int型變量,則語句“x+=y;y=x-y;x-=y;”的功能是(D)。
A) 把x和y按從小到大排列 B)把x和y按從大到小排列
C)無確定結果 D)交換x和y中的值
x+=y等同于x=x+y,把x加y的值賦給x,x現在存的是x與y的和
y=x-y把x減y的值賦給y,x現在存的是x與y的和 (x+y)-y=x,把x的值給y,y存x的值
x-=y等同于x=x-y,把x減y的值賦給x,(x+y)-y=x,現在的后面的y存的是x的值,做完后x里存的值是y,完成交換
10、若已定義x和y為double類型,則表達式“x=1,y=x+3/2”的值是(C)。
A) 1 B)2 C) 2.0 D) 1.0
逗號表達式,先讓x=1在算y=x+3/2,得2,因為是double類型,所以有小數點
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、以下能正確定義二維數組的是 (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 沒有給數組賦初值
b {}里不能有*
c 正確,記住第一個[]中可以為空,第二個[]不能為空,死記
d a[2][3] 的意思是有兩個一維數組,每個一維數組里有3個元素,{{1},{2},{3,4}}; 她的意思是三個數組,{}中的每一個{}代表一個數組,里邊的數為數組元素
13、用C語言編寫的代碼程序 (B)
A)可立即執行 B)是一個源程序
C)經過編譯即可執行 D)經過編譯解釋才能執行
死記
main函數
scanf函數,printf函數
-60
6 ,4, 2
, || , !
B?? 66
2? ?1
6
main
5
網站名稱:c語言程序設計題函數題庫 c語言程序設計操作題題庫
網頁網址:http://m.newbst.com/article26/hjppcg.html
成都網站建設公司_創新互聯,為您提供電子商務、靜態網站、外貿網站建設、網站營銷、全網營銷推廣、品牌網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯