『壹』 C語言程序編程題,求大神幫幫忙
#include<stdio.h>
int main()
{ struct stu
{ int id;
char name[11];
int a,b,c;
} t,st[5];
int i,j;
FILE *fp1,*fp2;
if((fp1=fopen("d:\stud.dat","r"))==NULL)
{ printf("f1 open error! ");
return 1;
}
if((fp2=fopen("d:\studsort.dat","w"))==NULL)
{ printf("f2 open error! ");
return 2;
}
for(i=0; i<5; i++)
fscanf(fp1,"%d%s%d%d%d",&st[i].id,st[i].name,&st[i].a,&st[i].b,&st[i].c);
for(i=0; i<4; i++)
for(j=0; j<4-i; j++)
if(st[j].a+st[j].b+st[j].c<st[j+1].a+st[j+1].b+st[j+1].c)
{ t=st[j];
st[j]=st[j+1];
st[j+1]=t;
}
for(i=0; i<5; i++)
{ printf("%d %10s %4d %4d %4d %7.2f ",st[i].id,st[i].name,st[i].a,st[i].b,
st[i].c,(st[i].a+st[i].b+st[i].c)/3.0);
fprintf(fp2,"%d %10s %4d %4d %4d %7.2f ",st[i].id,st[i].name,st[i].a,st[i].b,
st[i].c,(st[i].a+st[i].b+st[i].c)/3.0);
}
fclose(fp1);
fclose(fp2);
return 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語言
『叄』 7道C語言編程題,急求答案
#include <stdio.h>
void main()
{
int i,j;
int sum=0; //定義對角線的和
int a[100][100],n;
printf("輸入是n*n矩陣的n值:");
scanf("%d",&n);
printf("輸入一個%d*%d矩陣:",n,n);
printf("\n");
for(i=0;i<n;i++)
for(j=0;j<n;j++)
{
scanf("%d",&a[i][j]); //按矩陣格式輸入
}
for(i=0;i<n;i++)
{
sum=sum+a[i][i]; //求出對角線數之和
}
printf("矩陣對角線之和為: %d\n",sum);
}
『肆』 C語言編程題
分析關鍵點:
1、根據字元的輸入,檢測sizeof執行的類型,這個要分類,所以需要用到分支結構,多個分類的還是switch會比較清楚一些
2、根據輸入的數量進行計算,考慮基礎單位是位元組,所以數值可能比較大,計算記過應該使用long等大一些的類型。
3、根據總的位元組數進行換算。這里最多就到兆位元組,所以就圖個省事,算窮舉一下了。其實也可以利用遞歸的思路,一直到更高的單位的。
代碼和測試結果如圖,我這里是C++環境就沒有貼出來引用的庫,所以還請根據自己的環境引用庫,比如stdio等:
目前測試與用例一致。注意我這里每一個輸出有個' ',如果是網路教室之類的需要注意下系統要求有沒有要求換行。
『伍』 《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語言程序設計》復習題庫的具體編程! 其中第一題是: 計算下面公式的值。T=1/1!+1/2!+1/3!+……+1/m!
#include<stdio.h>
int main()
{
int i,j=1,m;
double sum=0.0;
double k;
printf("請輸入m的值:");
scanf("%d",&m);
for(i=1;i<=m;i++)
}
j*=i;
k=1.0/j;
sum+=k;
}
return 0;
}
『柒』 C語言編程題:從鍵盤輸入一個小寫字母,在屏幕上顯示其對應的大寫字母
#include<stdio.h>
int main()
{
char ch;
printf("請輸入一個小寫字母:");
scanf("%c",&ch);
ch=ch-32;
printf("大寫字母是:%c ",ch);
return 0;
}
可以加一個判斷
#include<stdio.h>
int main()
{
char ch;
printf("請輸入一個小寫字母:");
scanf("%c",&ch);
while(!(ch>='a'&&ch<='z'))
{printf("輸入錯誤,請重新輸入一個小寫字母!");
scanf("%c",&ch);
}
ch=ch-32;
printf("大寫字母是:%c ",ch);
return 0;
}
文件輸入/輸出
在C語言中,輸入和輸出是經由標准庫中的一組函數來實現的。在ANSI C中,這些函數被定義在頭文件;中。
標准輸入/輸出
有三個標准輸入/輸出是標准I/O庫預先定義的:
stdin標准輸入
stdout標准輸出
stderr輸入輸出錯誤
以上內容參考:網路-c語言