c語言程序設計試題及答案
A. 《c語言程序設計》試題2 求解 請勿亂填 非常感謝
二、填行侍空題(20分)
21.若w=1,x=2,y=3,z=4;則條件表達式w>x?w:y<z?y:z的結果為_3_。
22.共用體類型的標志是 union 關鍵字。
23.定義整型一維數組a含有10個元素且初始化為0的語句是_int a[10]=0;__。
24.在C語言中,打開文件的函數名是_fopen()_ 。
25.在C語言中「邏輯運算符」有三種,它們分別是與&& 或|| 非!__ 。
26.若在C程序中使用到庫函數〃sqrt(36) 〃,應在程序開頭寫上文件包含命令: math.h
27.在C語言中,編譯預處理功能主要包括:文件包含段帶遲、條件編譯和 __宏定義;___。
28.語句printf(〃%d,%c〃, ˊAˊ, ˊAˊ+1)的輸出結果是_65,B___。
29.在C語言中,二維數組元素在內存中的存放形式是 按行存放 。
30.十六進制0x2f表示的十進制數是__639_ 。
三、寫出程序執行結果(20分)
31. main ( )
{ int a, b, m, n ;
a=8;
b=10;
m=++a;
n=b++;
printf(〃%d,%d,%d,%d〃, a, b, m. n) ;
}
執行的結果是:
9,11,9,10
32. int fac( int n)
{ static int f=1; 執行的結果是:
f=f*n;
return(f);
}
main()
{ int i;
for(i=1;i<=5;i++)
printf("%d!=%d\n",i,fac(i));
}
1!=1
2!=2
3!=6
4!=24
5!=120
33. main()
{ char s[]="ABCD",*p;
for(p=s;p<s+4;p++) printf("%s\n",p);
}
執行的結果是:
ABCD
BCD
CD
D
34. void uu(int m){
printf("%3d" ,m%10);
if(m/握李10 != 0)
uu(m/10);
}
main(){
uu(678);
}
執行的結果是:
8 7 6
B. 跪求《C語言程序設計》課本習題答案!!!
習題1參考答案
一、選擇題 1. A 2. D
二、填空題
1. BASIC、FORTRAN、AL_GOL60和COBOL 2. 8
3. 關鍵字
4. 編輯、編譯、鏈接和運行
三、簡答題 1.答:
(1)C語言具有結構化的控制語句。C語言提供了結構化程序所必需的基本控制語句,實現了對邏輯流的有效控制。
(2)C語言具有豐富的數據結構類型。C語言除提供整型、實型、字元型等基本數據類型外,還提供了用基本數據類型構造出的各種復雜的數據結構,如數組、結構、聯合等。C語言還提供了與地址密切相關的指針類型。此外,用戶還可以根據需要自定義數據類型。 (3)C語言具有豐富的運算符。C語言提供了多達34種運算符,豐富的數據類型與豐富的運算符相結合,使C語言的表達力更具靈活性,同時也提高了執行效率。
(4)C語言簡潔、緊湊,使用方便、靈活,程序書寫自由,有9種控制語句。
(5)C語言既具有高級語言的功能,又具有低級語言的許多功能,通常被稱為中級計算機語言。它既是成功的系統描述語言,又是通用的程序設計語言。 (6)C語言與匯編語言相比,可移植性好。
(7)功能強大。C語言具有低級語言的一些功能,所以,生成目標代碼質量高,程序執行效率高。現在許多系統軟體都用C語言來描述,可以大大提高了編程效率。
2.答:運行一個C語言程序,一般需要經過如下幾個步驟:①上機輸入並編輯源程序;②編譯源程序;③與庫函數連接;④生成可執行目標程序;⑤運行目標程序。 3.答:
(1)操作系統的設計與實現。C語言是一種應用非常廣泛的結構化高級程序設計語言,既適合編寫應用軟體,又適合編寫系統軟體。
C. c語言程序設計試題
c語言程序設計試題
闡述編程語言的概念,學習進制轉換以及程序的基本運行原理,讓大家先有一個整體上的認識。下面是我整理的關於c語言程序設計基礎知識,希望大家認真閱讀!
【程序1】
題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少?
1.程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列後再去
掉不滿足條件的排列。
2.程序源代碼:
代碼如下:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,k;
printf(" ");
for(i=1;i<5;i++) /*以下為三重循環*/
for(j=1;j<5;j++)
for (k=1;k<5;k++)
{
if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/
printf("%d,%d,%d ",i,j,k);
}
getch();
}
【程序2】
題目:企業發放的獎金根據利潤提成。利潤(I)低於或等於10萬元時,獎金可提10%;利潤高
於10萬元,低於20萬元時,低於10萬元的部分按10%提成,高於10萬元的部分,可可提
成7.5%;20萬到40萬之間時,高於20萬元的部分,可提成5%;40萬到60萬之間時高於
40萬元的部分,可提成3%;60萬到100萬之間時,高於60萬元的部分,可提成1.5%,高於
100萬元時,超過100萬元的部分按1%提成,從鍵盤輸入當月利潤I,求應發放獎金總數?
1.程序分析:請利用數軸來分界,定位。注意定義時需把獎金定義成長整型。
2.程序源代碼:
代碼如下:
#include "stdio.h"
#include "conio.h"
main()
{
long int i;
int bonus1,bonus2,bonus4,bonus6,bonus10,bonus;
scanf("%ld",&i);
bonus1=100000*0. 1;
bonus2=bonus1+100000*0.75;
bonus4=bonus2+200000*0.5;
bonus6=bonus4+200000*0.3;
bonus10=bonus6+400000*0.15;
if(i<=100000)
bonus=i*0.1;
else if(i<=200000)
bonus=bonus1+(i-100000)*0.075;
else if(i<=400000)
bonus=bonus2+(i-200000)*0.05;
else if(i<=600000)
bonus=bonus4+(i-400000)*0.03;
else if(i<=1000000)
bonus=bonus6+(i-600000)*0.015;
else
bonus=bonus10+(i-1000000)*0.01;
printf("bonus=%d",bonus);
getch();
}
【程序3】
題目:一個整數,它加上100後是一個完全平方數,再加上168又是一個完全平方數,請問該數是多少?
1.程序分析:在10萬以內判斷,先將該數加上100後再開方,再將該數加上268後再開方,如果開方後
的結果滿足如下條件,即是結果。請看具體分析:
2.程序源代碼:
代碼如下:
#include "math.h"
#include "stdio.h"
#include "conio.h"
main()
{
long int i,x,y,z;
for (i=1;i<100000;i++)
{
x=sqrt(i+100); /*x為加上100後開方後的結果*/
y=sqrt(i+268); /*y為再加上168後開方後的結果*/
if(x*x==i+100&&y*y==i+268) /*如果一個數的平方根的平方等於該數,這說明此數是完全平方數*/
printf(" %ld ",i);
}
getch();
}
【程序4】
題目:輸入某年某月某日,判斷這一天是這一年的第幾天?
1.程序分析:以3月5日為例,應該先把前兩個月的加起來,然後再加上5天即本年的.第幾天,特殊
情況,閏年且輸入月份大於3時需考慮多加一天。
2.程序源代碼:
代碼如下:
#include "stdio.h"
#include "conio.h"
main()
{
int day,month,year,sum,leap;
printf(" please input year,month,day ");
scanf("%d,%d,%d",&year,&month,&day);
switch(month) /*先計算某月以前月份的總天數*/
{
case 1:sum=0;break;
case 2:sum=31;break;
case 3:sum=59;break;
case 4:sum=90;break;
case 5:sum=120;break;
case 6:sum=151;break;
case 7:sum=181;break;
case 8:sum=212;break;
case 9:sum=243;break;
case 10:sum=273;break;
case 11:sum=304;break;
case 12:sum=334;break;
default:printf("data error");break;
}
sum=sum+day; /*再加上某天的天數*/
if(year%400==0||(year%4==0&&year%100!=0)) /*判斷是不是閏年*/
leap=1;
else
leap=0;
if(leap==1&&month>2) /*如果是閏年且月份大於2,總天數應該加一天*/
sum++;
printf("It is the %dth day.",sum);
getch();
}
【程序5】
題目:輸入三個整數x,y,z,請把這三個數由小到大輸出。
1.程序分析:我們想辦法把最小的數放到x上,先將x與y進行比較,如果x>y則將x與y的值進行交換,
然後再用x與z進行比較,如果x>z則將x與z的值進行交換,這樣能使x最小。
2.程序源代碼:
代碼如下:
#include "stdio.h"
#include "conio.h"
main()
{
int x,y,z,t;
scanf("%d%d%d",&x,&y,&z);
if (x>y)
{t=x;x=y;y=t;} /*交換x,y的值*/
if(x>z)
{t=z;z=x;x=t;} /*交換x,z的值*/
if(y>z)
{t=y;y=z;z=t;} /*交換z,y的值*/
printf("small to big: %d %d %d ",x,y,z);
getch();
}
【程序6】
題目:用*號輸出字母C的圖案。
1.程序分析:可先用'*'號在紙上寫出字母C,再分行輸出。
2.程序源代碼:
代碼如下:
#include "stdio.h"
#include "conio.h"
main()
{
printf("Hello C-world! ");
printf(" **** ");
printf(" * ");
printf(" * ");
printf(" **** ");
getch();
}
【程序7】
題目:輸出特殊圖案,請在c環境中運行,看一看,Very Beautiful!
1.程序分析:字元共有256個。不同字元,圖形不一樣。
2.程序源代碼:
代碼如下:
#include "stdio.h"
#include "conio.h"
main()
{
char a=176,b=219;
printf("%c%c%c%c%c ",b,a,a,a,b);
printf("%c%c%c%c%c ",a,b,a,b,a);
printf("%c%c%c%c%c ",a,a,b,a,a);
printf("%c%c%c%c%c ",a,b,a,b,a);
printf("%c%c%c%c%c ",b,a,a,a,b);
getch();
}
【程序8】
題目:輸出9*9口訣。
1.程序分析:分行與列考慮,共9行9列,i控制行,j控制列。
2.程序源代碼:
代碼如下:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j,result;
printf(" ");
for (i=1;i<10;i++)
{
for(j=1;j<10;j++)
{
result=i*j;
printf("%d*%d=%-3d",i,j,result); /*-3d表示左對齊,佔3位*/
}
printf(" "); /*每一行後換行*/
}
getch();
}
【程序9】
題目:要求輸出國際象棋棋盤。
1.程序分析:用i控制行,j來控制列,根據i+j的和的變化來控制輸出黑方格,還是白方格。
2.程序源代碼:
代碼如下:
#include "stdio.h"
#include "conio.h"
main()
{
int i,j;
for(i=0;i<8;i++)
{
for(j=0;j<8;j++)
if((i+j)%2==0)
printf("%c%c",219,219);
else
printf(" ");
printf(" ");
}
getch();
}
;D. C語言程序設計試題 求標准答案 都是多選
1、答案:A
(單引號括起來的都是字元,而且一對單引號最多對應一個字元,\反斜杠是轉義字元的開始,\72是ASCII碼對應的字母H。也就是把H這個字母存到了變數char a中。就一個字元H。)
2、ACDE
解析:
int a=3,b=4,c=5;,
A、a>b
B、a<=b
C、(a||b)>c
D、a<=(b||c)
E、!((a<b)&&!c||b)
優先順序由大到小:() ! && ||
A選項,3>4錯誤,邏輯值0。
B選項,3<=4正確,邏輯值1。
C選項,(3||4)>5,(3||4)"或"邏輯運算符兩邊只要有一個非0的整個值就是1,1>5錯,邏輯值0。
D選項,3<=(4||5)錯誤,邏輯值0。
E選項,!((3<4)&&!5||4),先(3<4)邏輯值1,!5邏輯值0,1&&0是0,0||4是1,!1是0,所以邏輯值0。
3、AC。
解析:A可以,B答案b不能被賦值(自左向右,計算||左側就已經是1了右邊就不用再計算了整個表達式無論右邊如何整個邏輯值必定是1,計算機也就不會計算右邊了)C可以(因為&&兩邊都必須計算才能得出最後的邏輯值答案),D不可以a不能被賦值(&&左邊就一個a,構不成賦值,可能存放一個隨機值,右邊可以被賦值)。
4、ABCD。
外部函數幾乎可以被所有函數調用。只要開頭#include」 "引入。
E. 智慧樹知到《C語言程序設計(青島職業技術學院)》2022章節測試答案
智慧樹知到《C語言程序設計(青島職業技術學院)》2022章節測試答案
第一章測試
1、C語言是一種()
A、機器語言
B、匯編語言
C、高級語言
D、低級語言
正確答案:C
2、下列各項中,不是C語言的特點是()。
A、語言簡潔、緊湊,使用方便
B、數據類型豐富,可移植性好
C、能實現匯編語言的大部分功能
D、有較強的網路操作功能
正確答案:D
3、下列敘述錯誤的是()。
A、C程序中的每條語句都用一個分號作為結束符
B、C程序中的每條命令都用一個分號作為結束符
C、C程序中的變數必須先定義,後使用
D、C語言以小寫字母作為基本書寫形式,並且C語言要區分字母的大小寫
正確答案:B
4、一個C程序的執行是從()。
A、本程序的main函數開始,到main函數結束
B、本程序文件的第一個函數開始,到本程序文件的最後一個函數結束
C、本程序文件的第一個函數開始,到本程序main函數結束
D、本程序的main函數開始,到本程序文件的最後一個函數結束
正確答案:A
5、以下敘述不正確的是()。
A、一個C源程序必須包含一個main函數
B、一個C源程序可由一個或多個函數組成
C、C程序的基本組成單位是函數
D、在C程序中,注釋說明只能位於一條語句的後面
正確答案:D
第二章測試
1、已知定義整形變數a,b,c的值分別是2、3、4,運算表達式a*=16+(b++) - (++c)以後,a值為()
A、31
B、30
C、29
D、28
正確答案:D
2、在C語言中,要求參加運算的數必須是整數的運算符是()。
A、++
B、
C、!
D、%
正確答案:D
3、合法的c標識符是()。
A、5dm
B、a>b
C、h1
D、$s
正確答案:C
4、執行下列程序後,顯示的結果是() main () { int a; printf (“%d ”,(a=3*5,a*4, a+5));}
A、65
B、20
C、15
D、10
正確答案:B
5、執行下列程序中的輸出語句後,x的值是()。 main() {int x ; printf(“%d ”,(x=4*5,x*2,x+20));}
A、20
B、40
C、60
D、80
正確答案:A
6、判斷:表達式1/4+2.75的值是3。
正確答案:X
7、下列轉義字元不正確的是()。
A、'/'
B、’’
C、’+’
D、’-’
正確答案:B
8、對於int n=3;執行n+=n-=n*n;後n的值是9。
正確答案:X
9、在C語言中8.9e1.2是不正確的實型常量。
正確答案:√
10、對任一變數一旦被指定為某一確定類型後,該變數在程序運行時所佔存儲空間的多少和所能參加的運算類型便已確定了。