當前位置:首頁 » 編程語言 » c語言筆試常見編譯題目
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言筆試常見編譯題目

發布時間: 2022-10-09 20:45:08

⑴ 計算機二級c語言考試的題型有哪些以及相應的分值是多少

考試形式及分值:
筆試:選擇(70分)填空(30分)
機試:改錯(30分)填空(30分)程序(40分)

⑵ 關於C語言筆試的幾道題

printf(..... B*2)
而B是什麼?是(A<A+2)-2
那麼也就是(A<A+2)-2*2 而你的2*((A<A+2)-2) 人家又沒有破號,你自己給他加一個上去,這能沒問題嗎?這沒什麼原理,是規定,是邏輯,想不通沒關系,這種樣的宏初級編程用不上,等你到達高級程度了也就自己會理解的了。

展開後是(A<A+2)-2*2 並不是2*((A<A+2)-2)

乘法當然比減法優先了,先乘後減。。。。。。。

第一題
首先定義了宏 A 他的值是10 實際上可以當成int a=10;
然後#define B (A<A+2)-2
實際上也就是#define B (10<10+2)-2
首先算術運算符比關系運演算法優先高就變成了 (10<12)-2,然後10<12條件是真,為1,變成了 1-2 由於printf("%d",B*2); 又變成了 1-2*2 結果1-4=-3;

第二題
這個二維數組分解開來就是 a[0][0]=1,a[0][1]=2,a[1][0]=3,a[1][1]=4,a[2][0]=5,a[2][1]=6, 這個二維數組是三行,二列,行的下標有0,1,2,列的下標有0,1 你的a[1][2]越界了。

第三題並不是單純的用box 的長度去和boss比較,而是acsii表裡的值去減,首先 b和b比,相等,會自動看下一個,o和o比,任然相等,然後x和s比,在acsii里x是120而s是115,所以box大,至於boss最後多出的s就不管了。

⑶ c語言考試題

1、一個C語言程序的語句至少應包含一個___main函數___。
2、C語言源程序文件的擴展名是__ .C ____,經過編譯、連接後,生成文件的擴展名是__ .h ____。
3、結構化程序由順序結構、___選擇___和___循環___三種基本結構組成。
4、C語言的執行是從____main函數__開始執行的。
5、C源程序的語句分隔符是___分號___。
6、在C語言中,用關鍵字_____float_定義單精度實型變數。
7、表達式S=12應當讀做「___把12賦值給S___」。
8、C語言源程序的基本單位是___函數___。
9、設int x=9,y=8;表達式x-=y+1的結果是___0___。
10、若a為整型變數,a=12,則表達式:a * =2+3的值___60__。
11、調用C語言對輸入輸出處理的庫函數時,在# include命令行中應包含的頭文件是___stdio.h___。
12、表達式9%5的結果是__4____。
13、若a為整型變數,a=12,則表達式:a+=4的值_16_____。
14、 在C語言中,要求運算數必須是整型的運算符是__%____。
15、在C語言中,用____非零整數__表示邏輯「真」值。
16、表達式10/3的結果是__3____。
17、通常一個位元組包含__8____個二進制位。
18、 假設所有變數均為整型,a=2,b=5,b++則表達式a+b的值是_8_____。
19、在C語言中,最基本的數據類型只有四種,它們分別是:_int_____、___float___、__char____和double。
20、一個C程序有且僅有一個____main__函數。
21、若a為整型變數,a=12,則表達式:a-=2的值_10____。
22、在C語言中,有三種邏輯運算符,它們分別是:__與____、___或___、__非____。
23、在C語言中,字元輸入函數和字元輸出函數分別是:__getchar____和___putchar___。
24、C程序開發的四個步驟是___輸入與編輯源程序___、__編譯____、__連接____和執行。
25、C程序的結構分別是:順序結構、__選擇結構____、__循環結構____。
26、if語句中的表達式可以是關系表達式、__算術表達式____、__賦值表達式____。
27、__x>y_?x:y___是C語言中惟一一個三元運算符。
28、C語言提供的預處理命令主要包括如下三種:宏定義、__文件包含____、___條件編譯___。

二、閱讀程序,寫出下列程序運行結果。
1、2

2、K
3、a 97
4、無結果
三、編寫程序
1、編寫一個C程序,輸入a、b、c 3個數,輸出其中最大的數。
#include
Void main()
{
Int a,b,c;
Printf("請輸入三個數");
Scanf(%d%d%d,&a,&b,&c);
If(a<b)
A=b;
If(a<c)
A=c;
Printf("最大的數:%d",a);
}

求1—50的之和。
#include
Void mian()
{
Int sum=0,i;
For(i=1;i<=50;i++)
Sum+=i;
Printf("1-50之和為:%d",sum);
}
從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。
#include
Void mian()
{
Char c;
Printf("請輸入一個字母");
Scanf("%c".&c);
Printf("它的小寫字母為%c",c+32);
}

利用while語句,計算1+1/2+1/4+…+1/100的值,並顯示出來。
#include
Void mian()
{
Float sum=0,temp;
Int i =1;
While(i<=100)
{
Temp=1/i;
Sum+=temp;
I++
}
Printf("結果為%d",sum);
}

輸入兩個整數,輸出其中的大數。
#include
Void mian()
{
Int a,b;
Printf("請輸入兩個數");
Scanf("%d%d".&a,&b);
Printf("大數是:%d"a>b?a:b);
}

6、利用while語句,計算1+1/3+1/5+…+1/99的值,並顯示出來。
#include
Void mian()
{
Int i =1;
Float sum=0,temp=0;
While(i<=99)
{
Temp =1/i;
Sum+=temp;
I=i+2;
}
Printf("結果為: %f",sum),
}

⑷ 大一c語言考試題(急)

1、C源程序文件的擴展名是(.C);編譯後生成的文件名後綴是(.OBJ);經過連接後生成文件
名後綴是(.exe);在VC++6.0中用Run命令運行當前程序時,運行的程序擴展名是(.exe)。
2、結構化程序的三種基本結構是(順序、選擇、循環)。
3、整型常量有三種表示方法,它們是(十進制整數)、(八制整數)、(十六整數)。
4、表達式3.5+1/2+56%10的值是(9.5);10/10和10%10的值各是(1和0)。
5、表達式3%3*3的值是(0);5/3*3的值是(3);3*6%4的值是(2)。
6、設intx=12;執行x+=x-=x*x後,x的值是(-264)。
7、表達式k=7,k+=k-=k+1的值是(-2)。
8、語句"printf("%x,%o",16,12);"的輸出結果是(10,14)。
9、設shortx,y;y=(x=3,x+2,++x,x++*2);則x,y的值各是(5,8)。
10、設intx,y,z,t;x=y=z=1;t=++x||++y&&++z;則y的值是(1)。
11、條件10<=x<20或x<=0的C語言表達式是(x>=10&&x<20||x<=0)
12、設a=1,b=2,c=3,d=4;表達式a>b?a:c<d?a:d的值是(1)。
13、在C程序中,用(1)表示邏輯值「真」。
14、表示「x≥y≥z」的C表達式是(x>=y&&y>=z)。
15、設x為int型變數,請寫出一個關系表達式((x%21==0)),用以判斷x同時為3和7的倍數時
,關系表達式的值為真。
16、設ch是字元型變數,判斷ch為英文字母的表達式是:(
ch<='z'&&ch>='a'||ch>='A'&&ch<='Z')。
17、在C語言中參數的傳遞總是採用(單向)傳遞。
18、如果return表達式;中」表達式」的類型與函數類型不一致,則以(函數類型)的類型為准
自動轉換;如果實際參數的類型與形式參數的類型不一致,則以(形式參數)的類型為准自動轉
換。
19、函數形式參數在(調用)時分配內存,(調用結束)時釋放內存。
20、系統總是為數組分配(連續)的一塊內存。
21、字元串的結束標志是(ASCII碼的0)。
22、TC系統為任何指針變數分配的內存是(4)位元組。
23、若有定義:doublex[3][5];則x數組中行下標的下限為(2),列下標的上限為(4)。
24、若有定義intx=3,*p;則使p指向變數x的賦值語句為(p=&x)。
25、在C語言程序中,在函數內部定義的變數稱為(局部變數)。
26、chara[2][10]={「123」,」123456789」},*p[2]={「123」,」123456789」};則(前者)
佔用內存多。
27、structst{charnum[5];inta[4];floatave;}a,*p;則變數a和p在內存各
占(25和4)位元組。
28、unionun{inti;charc;};
structst{intv[4];doublet;unionunk;}w,*pw;pw=&w;
變數w佔用(28)位元組;通過w訪問v[0]的形式是(w.v[0]);通過w訪問成員c的形式是(w.k.c
);通過pw訪問v[0]的全部形式有(pw->v[0],*(pw->v));通過pw訪問成員c的全部形式有(
(pw->k.c))。(實驗驗證,pw->k->c這種書寫有錯誤直接用.也是錯誤)
29、設fp是文件指針,要把字元變數ch的內容寫入文件,可用的語句有(
fputc(ch,fp);fwrite(&ch,1,1,fp);)。
30、fputs(str,fp)函數的功能是(將數據str寫入fp文件流中)。
{29題不能用fputs(&ch,fp);由於ch只有一個字元,如果用這句的話,會因為沒有字元串結束標
志而寫入很長的數據。從實驗中得出。}
涉及到窮舉的題目,像28、29可能沒有列舉完全其他題目都是經過vc++6.0驗證過的。

⑸ 誰有大一C語言考試題快考試了,跪求題庫··

單項選擇題(每小題2分,共50分)

1、一個C程序的執行是從___A__。

A、本程序的main函數開始,到main函數結束

B、本程序的main函數開始,到本程序文件的最後一個函數結束

C、本程序文件的第一個函數開始,到本程序文件的最後一個函數結束

D、本程序文件的第一個函數開始,到本程序main函數結束

2、C語言程序的基本單位是___C___。

A、程序行 B、語句

C、函數 D、字元

3、請選出可用作C語言用戶標識符的一組標識符___B___。

A、void B、a3_b3 C、For D、2a

define _123 -abc DO

WORD IF ase sizeof

主要特點

C語言是一種結構化語言,它有著清晰的層次,可按照模塊的方式對程序進行編寫,十分有利於程序的調試,且c語言的處理和表現能力都非常的強大,依靠非常全面的運算符和多樣的數據類型,可以輕易完成各種數據結構的構建,通過指針類型更可對內存直接定址以及對硬體進行直接操作,因此既能夠用於開發系統程序,也可用於開發應用軟體。

以上內容參考:網路-c語言

⑹ 求C語言的筆試題和編程題!!~~~謝謝~~!!

一份曾經的考卷+答案~~//後面的編程題是以前做過的實驗~~

《程序設計基礎-C》試卷
一、單項選擇題
1. C 語言程序中可以對程序進行注釋,注釋部分必須用符號_____括起來。
A、『{『 和』}』 B、『[『和』]』 C、「/*」和」*/」 D、「*/」和」/*」
2. 下列運算符中,優先順序最低的是_____。
A、* B、!= C、+ D、=
3. 若變數已正確定義,表達式 (j=3, j++) 的值是_____ 。
A、3 B、 4 C、5 D、0
4. 已知字元 『a』 的ASCII碼為 97 ,執行下列語句的輸出是_____。
printf ("%d, %c", 』b』, 』b』+1 ) ;
A、98, b B、語句不合法 C、98, 99 D、 98, c
5. 表達式strcmp(「box」, 「boss」) 的值是一個_______。
A、 正數 B、 負數 C、 0 D、 不確定的數
6. 數組定義為 int a[3][2]={1, 2, 3, 4, 5, 6},數組元素_____的值為6。
A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3]
7. 要調用數學函數時,在#include命令行中應包含_____。
A、 」stdio.h」 B、 」string.h」 C、 」math.h」 D、 」ctype.h」
8. 判斷i和j至少有一個值為非0的表達式是_____。
A、 i!=0 && j!=0 B、i*j!=0 C、!(i==0 || j==0) D、i&&j
9. 若a是基本整型變數,c是單精度實型變數,輸入語句______是錯誤的。
A、scanf(」%d,%f」, &a, &c); B、scanf(」d=%d, c=%f」, &a, &c);
C、scanf(」%d%f」, &a, &c); D、scanf(」%d%f」, a, c);
10. 若變數已正確定義並且指針p已經指向某個變數x,則(*p)++相當於_____。
A、p++ B、x++ C、*(p++) D、&x++
11. 若p1、p2都是整型指針,p1已經指向變數x,要使p2也指向x, _____是正確的。
A、p2=p1; B、p2=**p1; C、p2=&p1; D、p2=*p1;
12. 下列程序段的輸出是_____。
int c[]={1, 3, 5};
int *k=c+1;
printf("%d", *++k);
A、 3 B、 5 C、 4 D、6
13. 不正確的賦值或賦初值的方式是______。
A、char str[]="string";
B、char str[7]={'s', 't', 'r', 'i', 'n', 'g'};
C、char str[10];str="string";
D、char str[7]={'s', 't', 'r', 'i', 'n', 'g', 』\0』};
14. 對於以下結構定義,++p->str中的++加在_____。
struct {
int len;
char *str;
} *p;
A、指針str上 B、指針p上 C、str指的內容上 D、以上均不是
15. 對於如下說明,語法和語義都正確的賦值是_____。
int c, *s, a[]={1, 3, 5};
A、c=*s; B、 s[0]=a[0]; C、s=&a[1]; D、 c=a;

二、填空題
1. 寫出下列程序段的輸出結果。
float x1, x2;
x1=3/2;
x2=x1/2;
printf("%d, %.1f", (int)x1, x2) ;
2. 表達式 (7<<1>>2^2 ) 的值是_______。
3. 寫出下列程序段的輸出結果。
#define A 10
#define B (A<A+2)-2
printf("%d", B*2);
4. 寫出判斷字元變數c是英文字母的表達式 。
5. 寫出下列程序段的輸出結果。
int k, x;
for (k=0, x=0; k<=9&&x!=10; k++)
x+=2;
printf ("%d, %d", k, x) ;
6. 寫出下列程序段的輸出結果。
printf(「%d, %d」, NULL, EOF);
7. 對於以下遞歸函數f,調用 f (3) 的返回值是_____。
f (int n)
{ return ((n>0) ? 2*f(n-1)+f(n-2) : -1); }
8. 寫出下列程序段的輸出結果。
char str[]="hello\tworld\n";
printf("%d, %c\n", sizeof(str), *(str+10));
9. 輸入12345#後,寫出下列程序的輸出結果。
void main()
{ char c;
for(c=getchar(); getchar()!=』#』; c=getchar())
putchar(c);
}
10. 執行程序find –nx ould text.txt時,*++argv[1]的值是_______。
三、程序閱讀題
1. 若輸入 3 1 2 3 <回車> , 則以下程序的輸出結果是_______。
#include "stdio.h"
void main()
{ int i, j, n, a[10];
scanf("%d", &n);
for (i=0; i<n; i++)
scanf("%d",&a[i]);
for (i=0; i<n; i++)
for (j=0; j<n; j++)
printf("%d, ", a[(i+j)%n]);
}
2. 若輸入89 76 24 25 9 8 11 16 35 4 <回車> , 則以下程序的輸出結果是_______。
#include "stdio.h"
#define N 10
main()
{
int x[N], y1[N], y2[N];
int i, j, n1, n2, t, p;
n1=n2=0;
for(i=0;i<N;i++){
scanf(「%d」, &x[i]);
if(x[i] % 2==0) y1[n1++]=x[i];
else y2[n2++]=x[i];
}
for(i=1; i<n1; i++)
for(j=0; j<n1-1; j++)
if(y1[j]>y1[j+1]){
t=y1[j]; y1[j]=y1[j+1]; y1[j+1]=t;
}
for(i=0; i<n2-1; i++){
p=i;
for(j=i+1; j<n2; j++)
if(y2[p]<y2[j]) p=j;
if(p!=i){
t=y2[i]; y2[i]=y2[p]; y2[p]=t;
}
}
for(i=0; i<n1; i++) printf("%d, ", y1[i]);
for(i=0; i<n2; i++) printf("%d, ", y2[i]);
}
3. 以下程序的輸出結果是_______。
#include <stdio.h>
int z;
void p(int *x, int y)
{ ++*x;
y--;
z=*x+y+z;
printf("%d, %d, %d#", *x, y, z);
}
void main()
{ int x=1, y=5, z=9;
p(&x, y);
printf("%d, %d, %d#", x, y, z);
}
4. 若輸入 -6+15*3/5=<回車> , 則以下程序的輸出結果是_______。
#include <stdio.h>
void main()
{
int m=0, sum=0;
char c, oldc='+';
do {
c=getchar();
if(c<='9'&&c>='0') m=10*m+c - '0';
else {
if(oldc=='+') sum += m;
else sum -= m;
m=0;
oldc=c;
printf("%d, ", sum);
}
} while(c!='=');
}

四、程序填空題
下列程序的功能是創建單向鏈表。
#include <stdio.h>
#include <alloc.h>
struct link {
char name[10];
int mark;
struct link * next;
};
void insert(char *, int);
struct link * head = NULL;
main()
{
char name[10];
int mark;
struct link * t;
while ( 1 ) {
scanf("%s %d", name, &mark);
if ( strcmp(name, "#") == 0 ) break;
______(1)_______;
}
for (t=head; ______(2)_______)
printf("<%s>: %d\n", t->name, t->mark);
}
void insert(char * name, int mark)
{
struct link * p;
p = ______(3)_______ ;
strcpy(p->name, name);
p->mark = mark;
______(4)_______;
if ( head != NULL ) ______(5)_______;
head = p;
}

答案
2000~2001學年《程序設計基礎C》參考答案

一、單項選擇題
C D A D A B C B D B A B C A C
二、填空題
1 1, 0.5
2 1
3 -3
4 c>=』a』&&c<=』z』|| c>=』A』&&c<=』Z』
5 5, 10
6 0, -1
7 -17
8 13, d
9 13
10 『n』
三、程序閱讀題
1 1, 2, 3, 2, 3, 1, 3, 1, 2,
2 4, 8, 16, 24, 76, 89, 35, 25, 11, 9,
3 2, 4, 6#2, 5, 9#
4 0, -6, 9, 6, 1,
四、程序填空題
(1) insert(name, mark)
(2) t!=NULL; t=t->next
(3) (struct link *)malloc(sizeof(struct link))
(4) p->next = NULL
(5) p->next = head

編程
程序填空,不要改變與輸入輸出有關的語句。
輸入一個正整數repeat (0<repeat<10),做repeat次下列運算:
給定平面任意兩點坐標 (x1, y1) 和 (x2, y2),求這兩點之間的距離(保留2位小數)。
要求定義和調用函數 dist(x1, y1, x2, y2)計算兩點間的距離,函數形參x1、y1、x2和y2的類型都是double,函數類型是double。
輸入輸出示例:括弧內是說明
輸入
1 (repeat=1)
10 10 (x1=10, y1=10)
200 100 (x2=200, y2=100)
輸出
Distance = 210.24

#include <stdio.h>
#include <math.h>
double dist(double x1, double y1, double x2, double y2);
int main(void)
{
int repeat, ri;
double distance, x1, y1, x2, y2;

scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%lf%lf%lf%lf", &x1, &y1, &x2, &y2);
/*---------*/
printf("Distance = %.2f\n", distance);
}
}

/*---------*/

程序填空。
求1~100中能被6整除的所有整數的和

#include <stdio.h>
int main(void)
{
int i, sum = 0;
/*---------*/
printf("%d", sum);
}

程序填空,不要改變與輸入輸出有關的語句。
輸入一個正整數repeat (0<repeat<10),做repeat次下列運算:
讀入1 個實數x和正整數 n(n<=50),計算並輸出 x 的 n 次冪(保留2位小數),不允許調用pow函數求冪。
輸入輸出示例:括弧內是說明
輸入
2 (repeat=2)
1.5 2 (x=1.5,n=2)
2 7 (x=2,n=7)
輸出
2.25
128.00

#include <stdio.h>
int main(void)
{
int i, n;
int repeat, ri;
double mypow, x;

scanf("%d", &repeat);
for(ri = 1; ri <= repeat; ri++){
scanf("%lf%d", &x, &n);
/*---------*/
printf("%.2f\n", mypow);
}
}

……編程題還有好多~~需要的話可以發給你~

⑺ 幾道C語言題目


1. char *p="girl";的含義是定義字元型指針變數p,p的值是字元串"girl"。 (2分) 1. True
2. 兩個字元串中的字元個數相同時才能進行字元串大小的比較 (2分) 2. False
3. 如果想使一個數組中全部元素的值為0,可以寫成 int a[10]=; (2分) 3. True
4. char c[]="Very Good"; 是一個合法的為字元串數組賦值的語句。 (2分) 4. True
5. 取地址運算符&與指針運算符*的優先順序相同,結合方向為自右向左。 (2分) 5. True
6. 在二維數組中,行指針是指向一維數組的指針變數. (2分) 6. True
7. 程序進行編譯時,不為形式參數分配存儲空間. (2分) 7. True
8. 在語句int *p;和語句printf("%d",*p);中的*p含義相同。 (2分) 8. False
9. 對二維數組a來說,由於a+1與*(a+1)的值相等,因此二者的含義是一樣的。 (2分) 9. False
10. 用gets函數可以接收一個含有空格的字元串。 (2分) TRUE
若有說明:int i,j=7,*p=&i;則與i=j;等價的語句是___B___。 (2分)
A. i=*p; B. *p=*&j; C. i=&j; D. i=**p; A B C D 2.
有以下程序段
int n=0,p;
do while(p!=12345&&n<3);
此處do-while循環的結束條件是____A__。 (2分)
A. p的值不等於12345並且n的值小於3
B. p的值等於12345並且n的值大於等於3
C. p的值不等於12345或者n的值小於3
D. p的值等於12345或者n的值大於等於3
A B C D 3.
若有說明:int n=2,*p=&n,*q=p;,則以下非法的賦值語句是___D___。 (2分)
A. p=q; B. *p=*q; C. n=*q; D. p=n; A B C D 4.
有以下程序
void fun(char *a, char *b)

main()
{ char c1='A',c2='a',*p1,*p2;
p1=&c1; p2=&c2; fun(p1,p2);
printf("%c%c\n",c1,c2);
}
程序運行後的輸出結果是____A____ (2分)
A. Ab B. aa C. Aa D. Bb A B C D 5.
有以下程序
void ss(char *s,char t)
{while(*s)
{if(*s==t) *s=t-'a'+'A';
s++;
}
}
main()
{char str1[100]="abcddfefdbd",c='d';
ss(str1,c); printf("%s\n",str1);
}
程序運行後的輸出結果是___B___。 (2分)
A. ABCDDEFEDBD B. abcDDfefDbD C. abcAAfefAbA D. Abcddfefdbd A B C D 6.
為了判斷兩個字元串s1和s2是否相等,應當使用 (2分) D
A. if (s1= =s2) B. if (s1=s2) C. if ( strcpy (s1,s2)) D. if ( strcmp( s1,s2)= =0 ) A B C D 7.
有如下程序段
int *p,a=10,b=1;
p=&a; a=*p+b;
執行該程序段後,a的值為___B___。 (2分)
A. 12 B. 11 C. 10 D. 編譯出錯 A B C D 8.
若有定義:int *p[3];,則以下敘述中正確的是____B____ (2分)
A. 定義了一個基類型為int的指針變數p,該變數具有三個指針
B. 定義了一個指針數組p,該數組含有三個元素,每個元素都是基類型為int的指針
C. 定義了一個名為*p的整型數組,該數組含有三個int類型元素
D. 定義了一個可指向一維數組的指針變數p,所指一維數組應具有三個int類型元素
A B C D 9.
說明語句"int ( * p ) [] ;"的含義是 (2分) D
A. p是一個指向一維數組的指針變數
B. p是指針變數,指向一個整型數據
C. p是一個指向函數的指針,該函數的返回值是一個整型
D. 以上都不對
A B C D 10.
已知:char b[ 5 ] , *p=b; 則正確的賦值語句是 (2分) C
A. b="abcd"; B. *b="abcd"; C. p="abcd" ; D. *p="abcd";

⑻ C語言 編程考試題,求解答。

這些都是一些很簡單的題目。我現在沒有事做,就幫你寫寫吧。等著,我在編。

這是第二題的程序:

#include<stdio.h>
voidmain()
{
intyear;

printf("請輸入年份:");
scanf("%d",&year);
if((year%400==0)||(year%4==0&&year%100!=0))
printf("%d年是閏年。",year);
else
printf("%d年不是閏年。",year);
}

這是第三題的程序:

#include<stdio.h>
intmax(inta,intb)
{
intt;
t=a<b?a:b;
returnt;
}
floatarea(intr)
{
returnr*r*3.1415926;
}
voidmain()
{
inta,b;
intr;
printf("請輸入2個數值:");
scanf("%d%d",&a,&b);
r=max(a,b);
printf("半徑為%d的園的面積為%f。",r,area(r));
return;
}

以下是第四題的程序:

#include<stdio.h>
intreverse(inta)
{
intsum=0;
while(a>0)
{
sum=sum*10+a%10;
a/=10;
}
returnsum;
}
voidmain()
{
inta;

printf("請輸入數值:");
scanf("%d",&a);
printf("數值%d逆序輸出為%d。",a,reverse(a));
return;
}

以下是第五題的程序:

#include<stdio.h>

voidmain()
{
inta[10]={0,1,2,3,4,5,6,7,8,9};
intsum=0;
inti;

for(i=0;i<10;i++)
sum+=a[i];
printf("用數組計算的結果為%d ",sum);

sum=0;
for(i=0;i<10;i++)
sum+=*(a+i);
printf("用指針計算的結果為%d ",sum);
return;
}

以下是第六題的程序:

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

voidmain()
{
chara[20];
inti,j;
printf("Pleaseinput:");
scanf("%s",a);
j=strlen(a);
for(i=0;i<j;i++)
if(a[i]>='a'&&a[i]<='z')
a[i]-=32;
printf("變成大寫輸出為:%s",a);
return;
}

以下是第七題的程序:

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

structComputer
{
charname[10];
intsum;
};
voidmain()
{
inti;
structComputerpc[3]={{"lenovo",0},{"fondon",0},{"dell",0}};
charbuff[10];

for(i=0;i<10;i++)
{
printf("請輸入電腦的名字:");
scanf("%s",buff);
if(strcmp(pc[0].name,buff)==0)
pc[0].sum++;
elseif(strcmp(pc[1].name,buff)==0)
pc[1].sum++;
elseif(strcmp(pc[2].name,buff)==0)
pc[2].sum++;
else
printf("輸入錯誤,此票作廢! ");
}
for(i=0;i<3;i++)
printf("電腦%s的得票為%d. ",pc[i].name,pc[i].sum);
return;
}

全部寫玩了,全部測試過,完全可以編譯,沒有問題。

滿意請採納,謝謝。

⑼ 急求c語言題目1道

按下述格式,從鍵盤輸入一個整數加法表達式:操作數1+操作數2,然後計算並輸出表達式的計算結果,形式如下:操作數1+操作數2=計算結果。

⑽ C語言考試題

//word編輯,大小寫可能有問題
一、填空題
1、一個C語言程序的語句至少應包含一個__函數____。
2、C語言源程序文件的擴展名是__ .C ____,經過編譯、連接後,生成文件的擴展名是__編譯後為.obj 連接後為.exe ____。
3、結構化程序由 順序 、___選擇___和___循環___三種基本結構組成。
4、C語言的執行是從__main()函數____開始執行的。
5、C源程序的語句分隔符是___;___。
6、在C語言中,用關鍵字__float____定義單精度實型變數。
7、表達式S=12應當讀做「__把12賦值給變數S____」。
8、C語言源程序的基本單位是___函數___。
9、設int x=9,y=8;表達式x-=y+1的結果是___0___。
10、若a為整型變數,a=12,則表達式:a * =2+3的值___60___。
11、調用C語言對輸入輸出處理的庫函數時,在# include命令行中應包含的頭文件是__stdio.h___。
12、表達式9%5的結果是_4____。
13、若a為整型變數,a=12,則表達式:a+=4的值___16___。
14、在C語言中,要求運算數必須是整型的運算符是___%___。
15、在C語言中,用___非0___表示邏輯「真」值。
16、表達式10/3的結果是__3____。
17、通常一個位元組包含___8___個二進制位。
18、 假設所有變數均為整型,a=2,b=5,b++則表達式a+b的值是___8___。
19、在C語言中,最基本的數據類型只有四種,它們分別是:___int___、___char___、___float___和double。
20、一個C程序有且僅有一個__main()____函數。
21、若a為整型變數,a=12,則表達式:a-=2的值__10____。
22、在C語言中,有三種邏輯運算符,它們分別是:___!___、___&&___、___||___。
23、在C語言中,字元輸入函數和字元輸出函數分別是:__getchar()____和___putchar()___。
24、C程序開發的四個步驟是___編輯___、___編譯___、___鏈接___和執行。
25、C程序的結構分別是:順序結構、__選擇結構____、__循環結構____。
26、if語句中的表達式可以是關系表達式、__邏輯表達式____、___條件表達式___。
27、__?:____是C語言中惟一一個三元運算符。
28、C語言提供的預處理命令主要包括如下三種:宏定義、__文件包含____、___條件編譯___。

二、閱讀程序,寫出下列程序運行結果。
1、2

2、K
3、a 97
4、無結果
三、編寫程序
1、編寫一個C程序,輸入a、b、c 3個數,輸出其中最大的數。
#include<stdio.h>
Void main()
{
Int a,b,c;
Printf("請輸入三個數");
Scanf(%d%d%d,&a,&b,&c);
If(a<b)
A=b;
If(a<c)
A=c;
Printf("最大的數:%d",a);
}

求1—50的之和。
#include<stdio.h>
Void mian()
{
Int sum=0,i;
For(i=1;i<=50;i++)
Sum+=i;
Printf("1-50之和為:%d",sum);
}
從鍵盤輸入一個大寫字母,要求改用小寫字母輸出。
#include<stdio.h>
Void mian()
{
Char c;
Printf("請輸入一個字母");
Scanf("%c".&c);
Printf("它的小寫字母為%c",c+32);
}

利用while語句,計算1+1/2+1/4+…+1/100的值,並顯示出來。
#include<stdio.h>
Void mian()
{
Float sum=0,temp;
Int i =1;
While(i<=100)
{
Temp=1/i;
Sum+=temp;
I++
}
Printf("結果為%d",sum);
}

輸入兩個整數,輸出其中的大數。
#include<stdio.h>
Void mian()
{
Int a,b;
Printf("請輸入兩個數");
Scanf("%d%d".&a,&b);
Printf("大數是:%d"a>b?a:b);
}

6、利用while語句,計算1+1/3+1/5+…+1/99的值,並顯示出來。
#include<stdio.h>
Void mian()
{
Int i =1;
Float sum=0,temp=0;
While(i<=99)
{
Temp =1/i;
Sum+=temp;
I=i+2;
}
Printf("結果為: %f",sum),
}