當前位置:首頁 » 編程語言 » 明解c語言習題312答案
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

明解c語言習題312答案

發布時間: 2022-11-26 01:05:53

c語言練習題----求答案解

我回答了
二、單項選擇題(每小題2分,共40分)
1、表達式2,4,6,8的值為(D )
A.2 B.4 C.6 D.8
2、設有int i;則表達式(i=1,i=10)?i++||++i:++i的值為 (A ) A.1 B.2 C.3 D.10
3、設有int a[ ]={10,11,12},*p=&a[0];則執行完*p++;*p+=1;後a[0],a[1],a[2]的值依次是 ( B) A.10,11,12 B.11,12,12 C.10,12,12 D.11,11,12
4、在C語言程序中,下面哪一個是正確的? (B )
A 函數的定義可以嵌套,但函數的調用不可以嵌套。
B 函數的定義不可以嵌套,但函數的調用可以嵌套。
C 函數的定義可以嵌套,函數的調用也可以嵌套。
D 函數的定義和函數的調用都不可以嵌套。
5、設有說明int s[2]={0,1},*p=s; 則下列錯誤的C語句是 (A ) A.s+=1; B.p+=1; C.*p++; D.(*P)++;
6、若有以下說明和語句,則輸出結果是 (C)
char str[]=」\」d:\\file.dat\」」;
printf(「%s」,str);
A 字元串中有非法字元 B \」d:\\file.dat\」
C 「d:\file.dat」 D 「d:\\file.dat」
7、程序要正確的運行,必須要有 (C )
A printf 函數 B 自定義函數 C main函數 D 不需要函數
8、已知整型變數a=6,字元型變數ch=』A』,(大寫字母A的ASCII碼為65),則表達式 ch+a的值是 (B)
A 69 B 71 C 4 D 出錯
9、下面程序運行後,屏幕上顯示 (D )
void main()
{
int a=4;float b=9.5;
printf(「a=%d,b=%6.4f」,a,b);
}
A a=%d,b=%f\n B a=%d,b=%f C a=4,b= 9.50 D a=4,b=9.5000
10、若i=2,則語句printf(「%d,%d」,i, ++i);的輸出結果是 (C)
A 2,2 B 3,3 C 2,3 D 3,2
11、int a=2,b=8;則在表達式a<b&&b=20後a,b的值分別為:(C )
A 2,8 B 2,10 C 2,20 D 2,6
12、若x=3,則語句:while(x){x--;continue;}的循環次數為 (D )
A 0 B 1 C 2 D 3
13、如果要把常量300存入變數a中,a不可以定義成哪個類型?( B)
A int B char C long D float
14、有輸入語句scanf(「a:%d,b:%d」,&a,&b);輸入數據時應怎樣輸入。(D )
A 4 5 B 4,5 C a=4,b=5 D a:4,b:5
15、設a為整形變數,不能正確表達數學關系:10<a<15 的C語言表達式是(A )
A) 10<a<15 B) a==11||a==12||a==13||a==14
C) a>10&&a<15 D) !(a<=10)&&!(a>=15)
16、下列變數中,哪個屬於構造類型的變數。(D )
A 整型變數 B 實型變數 C 字元型變數 D 結構體類型變數
17、下面的命令中哪一個不屬於預處理命令。(B )
A #define max 20 B #include <stdio.h>
C #ifdef MM D typedef a int;
18、C程序的結構有哪些類。(多選)( ABD)
A 選擇結構 B 循環結構 C 程序結構 D 順序結構
19、循環結構有哪些類。(多選) ( ACD)
A for結構 B if結構 C while結構 D do…while結構
20、若x=4,y=2,a=3,則表達式x=(y==a)執行完後,x的值是 (A )
A 0 B 1 C 3 D 4

❷ 求C語言練習題答案

二、填空題
1. ___變數__是指在程序運行過程中,值可以發生變化的量。
2.C語言是一種____區分_(區分/不區分)字母大小寫的語言,Password和password在C語言中是兩個___不同__(相同/不同)的標識符。
3.下面的轉義字元分別表示:
』\b』__退格___,』\n』__換行___,』\t』__水平製表___,』\」』 __雙引號字元「"」___
4.下面常量的類型分別為:
1.5E12__浮點型___,1288L _整型____,』a』__字元___,"a"__字元串___
08 __整形___,』\007』__整型___
5. C語言源程序一定要有而且只有一個__主函數___函數,程序執行時也從它開始。
6. 結構化程序設計主要有___順序__、__選擇___和__循環___三種基本結構。
三、判斷題
1. C語言不是一種結構化程序設計語言。(錯)
2. C語言是弱類型語言,為了類型轉換的方便,對類型的要求很不嚴格,在許多情況下不做類型檢查。(對)
3. C語言既具有高級語言的特點,同時也具有部分低級語言的特點。(對)
4. C源程序可以由多個文件組成,每個文件中都可有一個主函數main()。(錯)
5. C程序從main()函數開始執行,因此主函數main()必須放在程序的開頭。(錯)
6. 命名標識符時字元個數不得超過6個。(錯)
7. 對於同一個數據種類型,變數值越大,它所佔內存的位元組數越多。(錯)
8. 定義一個變數時必須指出變數類型,但是不一定必須給變數初始化。(對)
9. ""表示一個空字元串常量,』』表示一個空字元常量。(對)
10. 一個表達式中出現多種數值型數據類型,運算前先進行類型轉換。(對)
11. 浮點數不能作自增或自減運算,只有整型才可作自增或自減運算。(錯)
12. 已知a、b是整型變數,則表達式a=3,2+4,b=6,7+8是一個逗號表達式。(對)
四、問答題
1. 寫出下面表達式的值
(1)12/3*9=36
(2)int i=3,j;
i*=2+5;
i/=j=4;
i+=(j%2);
i、j的最終結果是多少?i=5,j=4
(3)int a=3,b,c;
b=(a++)+(a++)+(a++);
c=(++a)+(++a)+(++a);a、b、c的最終結果是多少?a=9,b=9,c=25

2. 下列表達式是否正確?若正確,表達式的值是什麼?
21/2=10 21/2.0= 10.5 21.0/2=10.5 21%2=1 21.0%2 21%2.0 18%15=3 15%18=15 3%15=3
五、編程題
編寫程序,在屏幕上輸出如下信息:
===================
= I am a student. =
===================
#include"stdio.h「
void main()
{
printf("= I am a student. =");
}

❸ 求幾題c語言題目答案及詳細解釋,謝謝啦!

你好!!!
1.7 sizeof()是求數組的分配的大小,系統會在字元:"hello!";的後面加一個結束標志『\0』,所以是6+1=7
2.雖然輸入4 3 但是此時只是把4賦值給b,此時的3,還在緩沖區呢??
b=c--‖ scanf("%d",&c)&&a++;先算的是c--此時的c的值還是5,c--後就是4

3.c;
首先我們知道指針變數的值就是地址,要是給指針變數賦值要加&;

A.p1=&m;p2=&p1; p2=&p1這里錯誤,應為p2=p1
B.P1=&m;P2=&N;*P1=*P2;這句有危險:*P1=*P2;關於什麼危險一句也解釋不清楚,要是相知道的話,在聯系我。
D.p1=&m;*p2=*p1 ;和B原因一樣

❹ C語言習題請高手幫忙解答

1.
1:-200 2500
2:i=-200,j=2500
3: i=-200
j=2500

2.

i=12
j=0
k=0

3. 復合語句在語法上被認為是一條語句。空語句形式是只有一個分號的空行

4.C語句最後用分號結束

❺ 求C語言習題解答

1、
#include <stdio.h>#define STU 30#define COURSE 3void Input(long num[ ],int score[ ][COURSE],int n);void GetSumAver(int score[ ][COURSE],int n,int sum[ ],float aver[ ]);void Sort(long num[ ],int score[ ][COURSE],int n,int sum[ ],float aver[ ]);void Print(long num[ ],int score[ ][COURSE],int n,int sum[ ],float aver[ ]);int Search(long num[ ], int n, long x);main(){int n, score[STU][COURSE], sum[STU], pos;long num[STU], x;float aver[STU];printf("Please enter the total number of the students(n<=30):");scanf("%d", &n); /*輸入參加考試的學生人數*/printf("Enter No. and score as: MT EN PH\n");Input(num, score, n); /*輸入學生成績*/GetSumAver(score, n, sum, aver); /*計算總分和平均分*/printf("Before sort:\n");Print(num, score, n, sum, aver);Sort(num, score, n, sum, aver); /*排名次*/printf("After sort:\n");Print(num, score, n, sum, aver);printf("Please enter searching number:");scanf("%ld", &x); /*以長整型格式輸入待查找學生的學號*/pos = Search(num, n, x); /*名次查詢*/if (pos != -1){printf("position:\t NO \t MT \t EN \t PH \t SUM \t AVER\n");printf("%8d\t%4ld\t%4d\t%4d\t%4d\t%5d\t%5.0f\n", pos+1,num[pos], score[pos][0],score[pos][1], score[pos][2], sum[pos],aver[pos]);}else{printf("Not found!\n");}}/* 函數功能:輸入某班學生學號及期末考試三門課程成績 函數參數:長整型數組num,存放學生學號 整型數組score,存放學生成績 整型變數n,存放學生人數 函數返回值:無*/void Input(long num[ ], int score[ ][COURSE], int n){int i, j;for (i=0; i<n; i++){scanf("%ld", &num[i]);for (j=0; j<COURSE; j++){scanf("%d", &score[i][j]);}}}/* 函數功能:計算每個學生的總分和平均分 函數參數:整型數組score,存放學生成績 整型變數n,存放學生人數 整型數組sum,計算得到的每個學生的總分 實型數組aver,計算得到的每個學生的平均分 函數返回值:無*/void GetSumAver(int score[ ][COURSE], int n, int sum[ ], float aver[ ]){int i, j;for (i=0; i<n; i++){sum[i] = 0;for (j=0; j<COURSE; j++){sum[i] = sum[i] + score[i][j];}aver[i] = (float)sum[i] / COURSE;}}/* 函數功能:按總分成績由高到低排出成績的名次 函數參數:長整型數組num,存放學生學號 整型數組score,存放學生成績 整型變數n,存放學生人數 整型數組sum,存放每個學生的總分實型數組aver,存放每個學生的平均分 函數返回值:無*/void Sort(long num[ ],int score[ ][COURSE], int n, int sum[ ], float aver[ ]){int i, j, k, m;int temp1;long temp2;float temp3;for (i=0; i<n-1; i++){k = i;for (j=i+1; j<n; j++){if (sum[j] > sum[k]) k = j;}if (k != i){temp1 = sum[k]; sum[k] = sum[i]; sum[i] = temp1;temp2 = num[k]; num[k] = num[i]; num[i] = temp2;temp3 = aver[k]; aver[k] = aver[i]; aver[i] = temp3;for (m=0; m<COURSE; m++){temp1 = score[k][m];score[k][m] = score[i][m];score[i][m] = temp1;}}}}/* 函數功能: 列印名次表,表格內包括學生編號、各科分數、總分和平均分 函數參數: 長整型數組num,存放學生學號 整型數組score,存放學生成績 整型變數n,存放學生人數 整型數組sum,存放每個學生的總分 實型數組aver,存放每個學生的平均分 函數返回值:無*/void Print(long num[ ], int score[ ][COURSE], int n,int sum[ ], float aver[ ]){int i, j;printf(" NO \t| MT \t EN \t PH \t SUM \t AVER\n");printf("----------------------------------------------------\n");for (i=0; i<n; i++){printf("%ld\t| ", num[i]);for (j=0; j<COURSE; j++){printf("%4d\t", score[i][j]);}printf("%5d\t%5.0f\n", sum[i], aver[i]);}}/* 函數功能:在學號數組中順序查找學生的學號 函數參數:長整型數組num,存放學生學號 整型變數n,存放學生人數長整型變數x,存放待查找學生的學號 函數返回值:找到時,返回學生學號在學號數組中的下標位置,否則返回值-1*/int Search(long num[ ], int n, long x){int i;for (i=0; i<n; i++){if (num[i] == x) return(i);}return (-1);}
4、答案:#include <stdio.h>
void main()
{ int i , j;
double a[3][4], b[4][3];
printf("請輸入原始矩陣:\n");
for(i=0;i<3; i++)
for( j=0; j<4 ; j++)
scanf ("%lf", &a[i][j]);
printf("計算轉置矩陣:\n");
for(i=0;i<3; i++)
for( j=0; j<4 ; j++) b[j][i]=a[i][j];
printf("輸出原始矩陣:\n");
for(i=0;i<3; i++)
{
for( j=0; j<4 ; j++) printf(" %10.2f ",a[i][j]);
printf("\n");
}
printf("輸出轉置矩陣:\n");
for(i=0;i<4; i++)
{
for( j=0; j<3 ; j++) printf(" %10.2f ",b[i][j]);
printf("\n");
}
}

❻ C語言習題請高手幫忙解答,急。

if(i%2)就是i除以2的余數是否為0
為0則列印*否則返回for();語句
程序輸出為#*#*#$加上回車符

❼ 求C語言練習題答案,這幾個題我不確定,拜託明白的幫忙看下!急用的,最好能解釋一下

9. 設int a[10];則對a數組元素的錯誤引用是( )
A.a[5] B.*(a+1) C.a[10-10] D.a(5)

D是錯誤的,因為a是數組,不是函數。

11.設double * p[6];則( C 這個沒法解釋 )
A.p是指向double型變數的指針
B.p是double型數組
C.p是指針數組,其元素是指向double型變數的指針
D.p是數組指針,指向double型數組

16.設有定義
struct rol{
long x;
float y;
} time;
*timep=&time;

問題呢?

18.C語言中,系統自動打開的文件是( D 輸入輸出設備文件,就是 stdin/stdout/stderr三個文件 )
A.二進制文件 B.隨機文件
C.非緩沖文件 D.設備文件

20.執行下列程序
#include "stdio. h"
min ()
{printf("%d\n",NULL);}
後輸出的結果是( B 一般是0,但是你寫程序的時候不要直接寫零 )
A.-1 B.0 C.1 D.2

21.C語言程序編譯時,程序中的注釋部分( D 這個沒法解釋,注釋在編譯預處理階段就被刪除了 )。
A.參加編譯,並會出現在目標程序中
B.參加編譯,但不會出現在目標程序中
C.不參加編譯,但會出現在目標程序中
D.不參加編譯,也不會出現在目標程序中

26.下列語句定義p為指向float類型變數d的指針,其中哪一個是正確的( B 沒法解釋,根據C語法得出 )。
A. float d,*p=d; B. float d,*p=&d;
C. float d,p=d; D. float *p=&d,d;

27.執行語句「for(i=0;i<10;++i,++a)scanf(〃%d〃,a);」試圖為int類型數組a〔10〕輸入數據,是錯誤的,錯誤的原因是( B )。
A.指針變數不能做自增運算 B.數組首地址不可改變
C.++i應寫作i++ D.++a應寫作a++

28.函數調用語句fun((((1,2),3),4));中參數的個數是( A 只有一個,(((1,2),3),4) 也就是4作為參數被傳遞給函數fun )。
A.1 B.2 C.3 D.4

10.設 int a [2][4], (*p)[4]=a;用指針變數p表示數組元素a[1][2]為___p[1][2]________。

12.計算機演算法通常採用以下三種方法表示:____這個,我不知道_____、___________、__________。

17.在執行輸入語句scanf(「a=%d?b=%d?c=%d」,a,b,c);時,用戶應相應的在屏幕上輸入_______a=8?b=7?c=5_______________________,才能使變數a,b,c的值分別為8,7,5。
能回答的盡量幫忙啊

❽ C語言編程題這題咋做啊

分析,假如有N封信和N個信封,
第一步:第一封信,錯誤信封情況:N-1個
第二步:假設與第一封信裝錯的信封為第A個信封,則此步就找第A個信封,與之匹配會出錯的信封有N-1個
第三步(如果N大於2):與第M封信匹配錯誤的信封情況為N-2(M≠1,M≠A)
第四步:假設與第M封信裝錯的信封為第B個信封,則此步就找第B個信封,與之匹配會出錯的信封有N-2個
……一次類推
演算法就是(N-1)*(N-1)*(N-2)*(N-2)*…*1*1
自己想出來的,應該是對的,樓主自己測試看看,應該沒錯,代碼就不寫了,很簡單的循環

❾ 求C語言程序設計習題集與上機指導-第三版 (及答案)......

大學學習資料免費下載網 有

在 其他公共課程 版塊

標題:
譚浩強《C程序設計題解與上機指導》(電子書+紙質書)
譚浩強編《C語言程序設計》(電子書word(txt)、pdf+紙質書)
譚浩強C語言程序設計習題參考解答
和配套 C程序設計題解與上機指導 答案

都有的 還有其他課程答案 (下載不用積分)