當前位置:首頁 » 編程語言 » c語言程序設計題

c語言程序設計題

發布時間: 2023-01-01 02:10:25

A. 求解c語言程序設計題

完整的fun函數代碼如下:

int fun(STU a[], int n, STU h[]) {

int i, k = 0;

double avg = 0;

for (i = 0; i < n; i++) {

a[i].sum = a[i].s1 * 0.7 + a[i].s2 * 0.3;

avg += a[i].sum; // 先計算總分

}

avg = avg / n; // 再計算平均分

for (i = 0; i < n; i++) {

if (a[i].sum > avg) { // 統計平均分以上的學生

strcpy(a[i].level, "均分以上");

h[k++] = a[i];

}

}

return k;

}

運行結果如下:

可見成功輸出了平均分以上的學生信息,望採納~

B. 《C語言程序設計》練習題

一、選擇題
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(a>b) x=1;else if (c>d) x=2;else x=3;
A) 1 B) 2 C) 3 D) 4

如果a>b,1>2為假,不執行x=1,執行else if(c>d),判斷:3>4為假,不執行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)經過編譯解釋才能執行

死記

C. C語言程序設計試題

1.代碼文件 :包含指令不僅僅限於.h頭文件,可以包含任何編譯器能識別的C/C++代碼文件,包括.c,.hpp,.cpp,.hxx,.cxx等,甚至.txt,.abc等等都可以.
2. 賦值
3. x++
4. p[4] 因為sizeof(int) 的值為4,實際上是定義了一個整形數組
5. if
6. DataType
7. 實參變數
8. weirong18
9. float
10. 33 因為++運算符優先順序高於* ,故先計算++y,然後將y的值與3相乘得到33
11. (1) ch>='a' && ch<='z'
(2) (x==0 || x==1) && (y>=1.0 && y<=6.0)
12. (1) int array[10] = {9,4,7,49,32,-5};
(2)0 到 9
(3)scanf("%d",&array[1]);
(4)array[0] = 39;
(5)array[0] = array[5]+array[3];

D. c語言程序設計編程

第一個:
#include<stdio.h>
int main()
{
double a;
scanf("%lf",&a);
if(a<600-1e-7)
printf("600\n");
else
printf("%lg\n",a+a*0.1);
return 0;
}
第二個:
#include<stdio.h>
int main()
{
int a,b,t;
scanf("%d%d",&a,&b);
if(a>b)
{
t=a;
a=b;
b=t;
}
printf("%d %d\n",a,b);
return 0;
}

E. C語言程序設計試題

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,則x<<2和y>>2的值分別為____128____和___44_____。
12. 假定x是一個邏輯量,則x&&true的值與_____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||b>2*y+10的相反式為:___~(a<=x&&2*y+10)_____。
18. 在嵌套的if語句中,每個else關鍵字與它前面最接近的____if____關鍵字相配套。
19. 在for語句中,假定循環體被執行次數為n,則<表達式1>共被計算____n___次,<表達式2>共被計算____n____次,<表達式3>共被計算____n____次。
20. 執行for和while循環時,每次是先進行____條件____的判斷,然後再執行____循環___,執行do循環時則相反。
另外,站長團上有產品團購,便宜有保證

F. c語言程序設計習題!!10道

1. 在C程序中,只能用於整型變數的運算符是___ 求余(%)___。
2. 在C語言中,char類型變數占 2 個位元組。
3. 若a已定義為double類型,請寫出從鍵盤給a輸入數據的語句 scanf("%lf",&a); 。
4. 為使以下程序能正確運行,請填空。
#include<stdio.h>
#include<math.h>
main()
{ double x, y;
scanf("%lf%lf",&x,&y);
printf("y=%f\n", pow(x,y));}
5. 以下程序執行後的輸出結果是 -2 。
main()
{ int m=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x); }
6. 以下程序的輸出結果是 10 20 0 。
main()
{ int a,b,c;
a=10; b=20; c=(a%b<1)||(a/b>1);
printf("%d %d %d\n",a,b,c); }
7. 以下程序中調用fun函數,對主函數x和y中的值進行對調。請填空。
void fun( double *a, double *b)
{ double x;
x=*a; *a=*b ; *b=x ; }
main()
{ double x,y;
printf(「Enter x, y : 「); scanf(「%lf%lf」,&x,&y);
fun( x,y);
printf(「x=%f y=%f\n」,x,y );}
8. C語言規定:字元串以 '\0' 作為結束標志。
9. 以下程序的輸出結果是 3 。
long fun( int n)
{ long t;
if ( n==1 || n==2 ) t=1;
else t=fun(n-1) + fun(n-2);
return ( t );
}
main( )
{ printf(「%d\n」,fun(4) );}
10. 設有定義:
struct date
{ int year, month, day ; } d1;
請寫出利用輸入語句,為變數d1中的year成員從鍵盤輸入數值的語句 scanf ("%d",&(d1.year)); 。

G. 誰給一些 簡單的C語言程序設計題 ,

1.
已知
a,b
均是整型變數,寫出將
a,b
兩個變數中的值互換的程序來。

2.

a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1='a',c2='b'
。想得到以下的輸出格式和結果,請寫出程序(包括定義變數類型和設計輸出)。
a=
3
b=
4
c=
5
x=1.200000,y=2.400000,z=-3.600000
x+y=
3.60
y+z=-1.20
z+x=-2.40
u=
51274
n=
128765
c1='a'
or
97(ASCII)
c2='b'
or
98(ASCII)

3.
設圓半徑
r=1.5
,圓柱高
h=3
,求圓周長,圓面積,圓球表面積,圓球體積,圓柱體積。

4.
編程序:用
getchar
函數讀入兩個字元給
c1,c2
,然後分別用
putchar

printf
函數輸出這兩個字元。並思考以下問題:
(1)
變數
c1,c2
應定義為字元型或整型?或兩者皆可?
(2)
要求輸出
C1

C2
值的
ASCII
碼,應如何處理?用
putchar
函數還是
printf
函數?
(3)
整型變數與字元型變數是否在任何情況下都可以互相替代?如:

char
c1,c2

int
c1,c2

是否無條件地等價?

H. 程序設計基礎C語言題

  1. 能將高級語言編寫的源程序轉換成目標程序的是(B、編譯程序)。

  2. 以下類型選項中,不屬於C語言的類型是(A、signed short)

  3. 下列敘述中,合法的C語言賦值語句是(B、i++;)。

  4. 若變數c為char類型,能正確判斷出c為小寫字母的表達式為(D、(c>='a')&& (c<='z'))。

  5. 若有int a[4][5];則數組a包含的元素個數是(D、20)。

  6. 在主函數中定義的變數(A、只有主函數中有效。)。

  7. 若有func((v1,v2),(v3,v4,v5),v6)調用,說明函數func有(A、3)個參數。

  8. 若有int a[10];*p=a;,則(C、p++可以使p指向下一元素,即a[1]的首地址。)。

  9. 設有數組定義:char array[]="Chian";,則數組所佔有的存儲空間為(B、6)個位元組。

  10. 下列函數中,不能用於對文件進行輸入輸出操作的是(B、printf() )。

I. C語言程序設計題

第一題已經有人給出答案了
2比較麻煩。給你試試。我沒調試
#include <stdio.h >
void main()
{
int x;
double i,j,pi,s;
printf("enter the x\n");
scanf(" x=%d ",&x );
if(x>1)
{
printf("x is wrong, puts x again\n"); //*根據你題目的意思我理解的是第一項1就是最大的項,如果X比一都要大的話就是無限循環了。*//
scanf("x=%f",&x);
}
// getchar();
s=0;
i=1;
j=1;
while((1/j)>x)
{
s=i*(1/j)+s;
i=-i;
j=j+2;
}
pi=4*s;
printf("x=%f ,f(x)=%f\n",x,pi);
}
---------3---------------------
#include <stdio.h>
#include <string.h>
/*合並兩個字元串s和t(串長不超過10個字元),
s和t中都出現的剔除,組成新的字元串u按原字
符串順序排列。如:當s="112345",t="26467"
時,u="1135667"。*/

void string(char *s,char *t,char *c)
{
char *s1=s,*t1=t;
int lengthA,lengthB;
int i,j,k,m,n;

i=j=k=0;
lengthA=strlen(s);
lengthB=strlen(t);

for(i=0;i<lengthA;i++)
{
m=0;
for(j=0;j<lengthB;j++)
{
if(*(s+i)!=*(t+j))
m++;
if(m==lengthB)
{
*(c+k)=*(s+i);
k++;
}
}
}
for(j=0;j<lengthB;j++)
{
n=0;
for(i=0;i<lengthA;i++)
{
if((*(t1+j)!=*(s1+i)))
n++;
if(n==lengthA)
{
*(c+k)=*(t1+j);
k++;
}
}
}
*(c+k)='\0';
printf("字元串u是:%s\n",c);
}

int main()
{
char a[10],b[10],c[20];
printf("輸入字元串s:");
scanf("%s",&a);
getchar();
printf("輸入字元串t:");
scanf("%s",&b);

printf("字元串s是:%s\n",a);
printf("字元串t是:%s\n",b);

string(a,b,c);

return 0;
}
}

------4--------------------------
#include <stdio.h>
#include <string.h>

#define NUMBER 10
main()
{
char a[NUMBER][10],t[10];
int i,j;
for(i=0;i<NUMBER;i++)
{
printf("請輸入第%d個單詞:",i+1);
gets(a[i]);
}
for(i=1;i<NUMBER;i++)
for(j=0;j<NUMBER-i;j++)
if(strcmp(a[j],a[j+1])>0)
{
strcpy(t,a[j]);
strcpy(a[j],a[j+1]);
strcpy(a[j+1],t);
}
for(i=0;i<NUMBER;i++)
puts(a[i]);
}
---------------5------------------------------
#include <stdio.h>
#include <stdlib.h>

static unsigned long count;

int fib(int x)
{
int r;

++count;
if(x==1||x==2)
return 1;
return fib(x-2)+fib(x-1);
}

int main()
{
int i,f;

for(i=1;i<20;i++)
{
count = 0;
f = fib(i);
printf("fib(%02d) gives %d after %lu iteration%s.\n",i,f,count,count==1 ? " ":"s");
}

return 0;
-----------------6----------------------------------------
#include<stdio.h>
void main()
{
float fac(int n);
int n;
float y;
printf("輸入一個數:\n");
scanf("%d",&n);
y=fac(n);
printf("%d!=%f\n",n,y);
}
float fac(int n)
{
float f;
if(n<0) printf("error\n");
else
if(n==0||n==1) f=1;
else
f=fac(n-1)*n;
return(f);
}
-------------------7,8給你思路吧。
7:char *p = str;
if(*p == ' ')
strcpy(strtmp,str);
以後繼續呢。完了反向輸出吧。
8:同理。先暫存出現兩次以上的字元。完了刪去。整體挪數組元素。時間不夠了。快斷網了。就沒辦法給你寫了

J. C語言程序設計題

15. 以下程序的輸出結果是(D)。 main( ) { int a, b; for(a=1,b=1;a<=100;a++) { if(b>=10) break; if(b%3==1) { b+=3; continue;} } printf(「%dn」,a); }
A. 101
B. 6
C. 5
D. 4
16. 若整型變數a,b,c,d的值依次為:1,4,3,2,則條件表達式aq.Type = "1"; q.ObjectID[q.ObjectID.length] = "rdo_899f1843-0f05-47d1-a3fd-45c325b7d297_Response" q.Response[q.Response.length] = "Response"; q.Answer[q.Answer.length] = "";
A. 1
B. 2//沒有看懂呵呵
C. 3
D. 4
17. 已知int x=23;則printf(x++*1/3)的輸出結果是( D)。
A. 8
B. 7.66
C. 7.33
D. 7
//後置++是先做*1在/3後++,兩個整形相除還是整形,並且是相當於求商

18. 有變數說明語句int a,b,c;,順序執行下面語句: a=b=c=1; ++a||++b&&++c; 那麼,變數b的值應是( B)。
A. 2
B. 1 //++a已經滿足條件下面就被短路了
C. 0
D. 3

19. 下述語句執行後,變數k的值是(B )。 int k=1; while(k++〈10〉;
////////////////後置++是先比較和自加1.
A. 10
B. 11
C. 9
D. 為無限循環,值不定

20. 以下敘述錯誤的是( A)。
A. 用戶定義的標識符允許使用關鍵字
B. 用戶定義的標識符應盡量做到「見名知意」
C. 用戶定義的標識符必須以字母或下劃線開頭
D. 在用戶定義的標識符中,大、小寫字母代表不同標識

21. 當把以下四個表達式用做if語句的控製表達式時,有一個選項與其他三個選項含義不同,這個選項是( D)。
A. k%2
B. k%2= =1
C. (k%2)!=0
D. !k%2= =1 //其他三個判斷都是被二除餘1

22. C語言提供的合法關鍵字是( C)。
A. default
B. Char
C. while
D. Switch

23. 設有說明:char a; int b; float c; 則表達式a+b-c值的數據類型為(C )。
A. char
B. int
C. float//整形與浮點型運算後變成浮點型
D. double

24. putchar函數可以向終端輸出一個( C)。
A. 整數
B. 實數
C. 字元
D. 字元串

25. 若x的初值為10,則表達式(x>10?x+100 : x-10)的值是( b)。
A. 10
B. 0//x>10的話執行x+100,否則x-10;
C. 100
D. 1

註:全部經過程序驗證的
//最佳答案呀呵呵

熱點內容
安卓開發選哪個版本的SDK 發布:2025-07-02 22:19:07 瀏覽:485
未上傳圖片 發布:2025-07-02 22:14:01 瀏覽:598
安卓qq直播怎麼分享聲音 發布:2025-07-02 22:13:21 瀏覽:249
安卓系統怎麼刷機清除內存 發布:2025-07-02 22:08:19 瀏覽:696
安卓手機6位數密碼有多少組 發布:2025-07-02 21:50:31 瀏覽:797
存儲卡視頻多了 發布:2025-07-02 21:49:40 瀏覽:850
ajax無刷新上傳圖片 發布:2025-07-02 21:32:56 瀏覽:117
編譯器不認pow函數 發布:2025-07-02 21:27:04 瀏覽:339
w10隱藏文件夾 發布:2025-07-02 21:27:03 瀏覽:534
電腦d盤拒絕訪問 發布:2025-07-02 21:27:02 瀏覽:779