c语言上机试题8,7-8-C语言上机考试试题2.doc
7-8-C語言上機考試試題2.doc
下載提示(請認真閱讀)1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內容而直接下載帶來的問題本站不予受理。
2.下載的文檔,不會出現我們的網址水印。
3、該文檔所得收入(下載+內容+預覽)歸上傳者、原創作者;如果您是本文檔原作者,請點此認領!既往收益都歸您。
文檔包含非法信息?點此舉報后獲取現金獎勵!
下載文檔到電腦,查找使用更方便
12
積分
還剩頁未讀,繼續閱讀
關?鍵?詞:語言
上機
考試
試題
資源描述:
C語言上機考試試卷-2
2008.1.7
一、選擇題 ( 評分標準 20 分,每小題2分)
1. 執行語句“a=b=3; printf(“%d,%d\n”, a<<2, b>>2);”后的輸出結果為___A_____。
(A)12,0 (B)12,3 (C)false,true (D)true,false 2^3+2^2=12
★2. 若a是32位int整型變量,判斷其最低2個二進位均為1的表達式為____A____。
位與運算,11得1,a的32位與3的32位,不足則補零。補它十幾個零
(A)a&3==3 (B)a&3==11 (C)a&11==3 (D)a&11==11
3. 以“只讀”方式打開文本文件c:\xy.text,下列語句中哪一個是正確的___B_____。
(A)fp=fopen(“c:\\xy.txt”, “a”); (B)fp=fopen(“c:\\xy.txt”, “r”);
(C)fp=fopen(“c:\\xy.txt”, “wb”); (D)fp=fopen(“c:\xy.txt”, “r”);
4. 為表示“a和b都不等于0”,應使用的C語言表達式是____D___。
(A)(a!=0) ‖(b!=0) (B)a‖b (C)!(a=0)&&(b!=0) (D)a&&b
5. 若x是單精度實型變量,k是基本整型變量,以下正確的輸入語句是___A_____。
(A) scanf(“%f%d”, &x,&k); (B)scanf(“%f%d”, x,k);
(C)scanf(“%d%f”, &x,&k) (D)scanf(“%d%f”, x,k);
6. 下列運算中優先級最低的是___C_____。
(A)* (B)<< (C)= (D)->
7. 已知字符‘c’的ASC II為99,語句printf(“%d,%c”, ‘c’, ‘c’+1);輸出為_____C___。
(A)99,c (B)99, 100 (C)99,d (D)語句不合法
8. 不正確的賦值或賦初值的方式是____D____。
(A)char str[6]={‘s’,’t’,’r’, ’i’,’n’,’g’}; (B)char str[10]=”string” 定義階段可以
(C)char *str=”string”; (D)char str[10]; str=”string”;" 字符串不能直接賦值
9. C 語言程序中可以對程序進行注釋,注釋部分必須用符號____C_____括起來。
(A)‘{‘ 和’}’ (B)‘[‘和’]’ (C)“/*”和”*/” (D)“*/”和”/*”
10. ____D____是合法的用戶自定義標識符。
(A)b-b (B)float (C)(D)_isw 必須是字符開頭 如果是數字就不可以了
套數號
答案
2
1.A 2.A 3.B 4.D 5.A 6.C 7.C 8.D 9.C 10.D
二、判斷題 ( 評分標準 20 分,每小題2分)
1. 表達式(3.6%2)符合C語言語法。 F
2. 在C程序中,用整數0表示邏輯值“假”。 T
3. 08是正確的整型常量。F
4. 設變量定義為char s[]=“hello”,則數組s中有6個元素。 T
5. 若x是單精度實型變量,表達式(x=10/4)的值是2.5。 10.0/4.0
6. 若變量已正確定義,表達式x=y=1符合C語言語法。 T
7. 表達式!(x>0‖y>0)等價于!(x>0)&&!(y>0)。
8. 表達式( 0x19<<1)&0x7的值是3。 F
9. 在C源程序中將語句“if(x==5) y++;”誤寫成“if(x=5) y++;”,將導致編譯錯誤。 F
10. C的double類型數據可以精確表示任何實數。 F
套數號
答案
4
1. F 2. T 3. F 4. T 5. F 6. T 7. T 8. F 9. F 10. F
三、填空題 ( 評分標準 10 分,每小題2分)
1. 存儲‘A’要占用____1____個字節(用數字表示)。
2. 設a=3.b=2.c=1.則a>b>c的值為___0_____。(用‘0’或‘1’表示)
3. 在C語言中,頭文件的后綴名是___h_____。
4. 表達式 !!5的值是____1____。
5. 若有定義:int a=8,b=5,c; ,執行語句c=a/b+0.4;后,c的值為___1_____。
參考答案:
第4套
(1)
1
(2)
0
(3)
h
(4)
1
(5)
1
四、程序改錯題 ( 評分標準 20 分,每小題 5分 )
1. 該程序功能:輸入m、n(要求輸入數均大于0),輸出它們的最小公倍數。
#include void main()
{ int m,n,k;
while(scanf("%d%d",&m,&n),m<0&&n<0);
for(k=m;k%n==0;) /*$1*/ for(k=m; k%n!=0;)
k=k+m;
printf("%d\n",k);
}
操作說明:
在考生目錄的**子目錄下,有*.c文件,該文件中“/*$1*/”行中的語句k%n==0; 有錯誤,請改正(注意:不得加行、減行、加句、減句,否則后果自負)。該程序功能:輸入m、n(要求輸入數均大于0),輸出它們的最小公倍數。
參考答案:k%n!=0
運行樣例2行
運行樣例:8 6 結果:24
運行樣例:6 8 結果:24
2. 該程序功能:輸入x、eps,計算多項式1-x+x*x/2!-x*x*x/3!+...的和直到末項的絕對值小于eps為止。
/*一重循環*/
#include #include void main()
{ float x,eps,s=1,t=1,i=1;
scanf("%f%f",&x,&eps);
do{
t=-t*x/i; /*$1*/ t=-t*x/i++;
s+=t;
}while(fabs(t)>=eps);
printf("%f\n",s);
}
操作說明:
在考生目錄的**子目錄下,有*.c文件,該文件中“/*$1*/”行中的語句t=-t*x/i; 有錯誤,請改正(注意:不得加行、減行、加句、減句,否則后果自負)。該程序功能:輸入x、eps,計算多項式1-x+x*x/2!-x*x*x/3!+...的和直到末項的絕對值小于eps為止。
參考答案:t=-t*x/i++;
運行樣例1行
運行樣例:1 0.0001 結果:0.367882
3. 該程序功能:輸入1個字符串,輸出其中所出現過的大寫英文字母。
/*循環,分支,庫函數*/
#include void main()
{ char x[80],y[26]; int i,j,ny=0;
gets(x);
for(i=0;x[i]!=\0;i++)
if(x[i]>=A&&x[i]<=Z) {
for(j=0;j#include #include void main()
{
int n;
unsigned int i;
char *str;
scanf("%d\n",&n);
str=(char*)malloc(n);
gets(str);
for(i=0; i=z) /*$1*/ if(str[i]>=a&& str[i]<=z)
str[i]=str[i]-32 ;
puts(str);
}
操作說明:
在考生目錄的**子目錄下,有*.c文件,該文件中“/*$1*/”行中的語句if(str[i]<=a&& str[i]>=z) 有錯誤,請改正(注意:不得加行、減行、加句、減句,否則后果自負)。該程序功能:輸入n以及小于n個字符的字符串,將字符串中所有小寫字母改為相應的大寫字母后,輸出該字符串。
參考答案:if(str[i]>=a&& str[i]<=z)
運行樣例1行
運行樣例:5 Apple 結果:APPLE
五、程序填空( 評分標準 10 分,每小題5分)
1. 以下程序對test.txt進行讀操作,并將讀出的文本輸出到屏幕上。
#include #include main()
{FILE *fp;
char ch;
/*$*/ fp = fopen("test.txt", "r");
if (fp == NULL)
{ printf("can not open test\n");
exit(0);
}
ch = fgetc(fp);
while(ch != EOF)
{putchar(ch);
ch = fgetc(fp);
}
fclose(fp);
}
操作說明:
在考生目錄的**子目錄下,有*.c文件,該文件中“/*$1*/”行是根據程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負)。該程序功能對test.txt進行讀操作,并將讀出的文本輸出到屏幕上。
把這一句刪除:將test.txt文件放在考生目錄下,并在其中存入“hello,welcome to the world of C!”字樣。
參考答案: fp = fopen("test.txt", "r");
運行樣例1行
運行結果1:hello,welcome to the world of C!
2. 輸入6個整數 12 33 43 6 3 22 ,輸出為:3 6 12 22 33 43 。
/* 形參和實參的傳遞 */
#include void sort(int *a,int n )
{ int i, k, m, t;
for(i=0; ia[m]
k=m;
t=a[k]; a[k]=a[i]; a[i]=t ;
}
}
void main( )
{ int k, a[6];
for(k=0; k<6; k++)
scanf("%d", &a[k]);
sort(a, 6) ;
for(k=0; k<6;k++)
printf("%d ", a[k]);
}
操作說明:
在考生目錄的**子目錄下,有*.c文件,該文件中“/*$1*/”行是根據程序功能需要填充部分,請完成程序填充(注意:不得加行、減行、加句、減句,否則后果自負)。該程序功能:輸入6個整數12 33 43 6 3 22 ,輸出結果:3 6 12 22 33 43。
參考答案:a[k]>a[m]
運行樣例1行
運行樣例1:12 33 43 6 3 22 結果:3 6 12 22 33 43
六、程序設計 ( 評分標準 20 分,每小題10分)
1. 操作說明:
設計程序:輸入一個正整數n,求1+1/2!+1/3!+...+1/n!的值,要求定義并調出函數fact(n)計算與n的階乘有關的計算式,函數返回值的類型是單精度浮點型,保留小數2位。
/*二重循環,求自然對數e的和函數*/
參考答案:
#include #include float fact(int n);
void main()
{
int n;
float sum;
while(scanf("%d",&n),n<0); /*排除n為負數的可能性*/
if(n==0)
sum=1; /*因為0!=1,但是函數調用進不去循環體,所以預先賦值*/
else
sum=fact(n);
printf("%2.2f",sum);
}
float fact(int n)
{
int i,j;
float sum=0,temp;
for(i=1;i<=n;i++)
{ temp=1;
for(j=1;j<=i;j++)
temp*=1/(float)(j);
sum+=temp;
}
return sum;
}
運行樣例1行
運行樣例1:3 結果:1.67
2. 操作說明:
設計程序:編寫函數strcmpA(char * s1, char * s2),返回較長的字符串的長度減去較短的字符串的長度,相等返回0。
參考答案:
/*字符串操作*/
#include #include #include #include/*支撐strlen(*str)的函數,一定要加上*/
int strcmpA(char * s1, char * s2);
void main()
{ char str1[100],str2[100];
int result;
scanf("%s %s",str1,str2);
result = strcmpA(str1,str2);
printf("%d",result);
}
int strcmpA(char * s1, char * s2)
{
if(strlen(s1)>=strlen(s2))
return strlen(s1)-strlen(s2);
else
return strlen(s2)-strlen(s1);
}
運行樣例2行
運行樣例1:apple tree 結果:1
運行樣例2:tree apple 結果:1
展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
?
人人文庫網所有資源均是用戶自行上傳分享,僅供網友學習交流,未經上傳用戶書面授權,請勿作他用。
關于本文
本文標題:7-8-C語言上機考試試題2.doc
鏈接地址:https://www.renrendoc.com/p-55013798.html
總結
以上是生活随笔為你收集整理的c语言上机试题8,7-8-C语言上机考试试题2.doc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: hibernate中 one to ma
- 下一篇: 数组循环向左移动k位的算法