《安徽大學C語言考試試卷.doc》由會員分享,可在線閱讀,更多相關《安徽大學C語言考試試卷.doc(11頁珍藏版)》請在裝配圖網(wǎng)上搜索。
院/系 年級 專業(yè) 姓名 學號
答 題 勿 超 裝 訂 線
------------------------------裝---------------------------------------------訂----------------------------------------線----------------------------------------
安徽大學20 08 —20 09 學年第 二 學期
《C語言程序設計》考試試卷(B卷)
(閉卷 時間120分鐘)
題 號
一
二
三
四
五
總分
得 分
閱卷人
得分
一、單項選擇題(每小題2分,共20分):
下列各題A)、B)、C)、D)四個選項中只有一個是正確的,請將正確
選項填在答題卡相應題目的橫線上。答在試卷上不得分。
1. 設x為整型變量,和表達式“!(!x)”值完全相同的表達式是【______】
A. x==0 B. x==1 C. x!=0 D. x!=1
2. 下面程序段執(zhí)行后,a的值是【______】。
int a;
printf("%d \n", (a=4*5, a*4, a+5) );
A. 60 B. 20 C. 15 D. 10
3. 判斷字符串s1與字符串s2相等,應當使用【_______】。
A. if (s1 = s2) B. if (strcmp(s1, s2))
C. if (!strcmp(s1, s2)) D. if (strcmp(s1, s2) = 0)
4. 若有定義int (*p)[4],則標識符p是一個【_______】。
A. 指向整型變量的指針變量
B. 指向函數(shù)的指針變量
C. 指向有四個整型元素的一維數(shù)組的指針變量
D. 指針數(shù)組名,有四個元素,每個元素均為一個指向整型變量的指針
5. 下列程序的執(zhí)行結果是【_______】。
#include "stdio.h"
#include "string.h"
void main( void )
{
char s[10]={ H, e, l, l, o};
printf("%d\n",strlen(s));
}
A. 5 B. 6 C. 10 D. 11
6. 下列對字符串的定義中,錯誤的是【______】。
A. char str[7] = "FORTRAN";
B. char str[] = "FORTRAN";
C. char *str = "FORTRAN";
D. char str[] = {F,O,R,T,R,A,N,0};
7. 以下程序的輸出結果是【______】。
char *s="ABCD", *p;
for( p=s; *p ; p++)
printf("%s\n", p);
A)ABCD B)A C)D D)ABCD
BCD B C ABC
CD C B AB
D D A A
8. “strlen("\\141\141abc\t")”的返回值是【______】。
A. 14 B. 12 C. 13 D. 9
9. 若定義struct{ char name[8]; int age;}class[2],*p=class;下面輸入語句中錯誤的是【______】。
A)scanf("%d", &(p->age)); B)scanf("%s", p->name);
C)scanf("%d", &(*p).age)); D)scanf("%s", &(p->name));
10. 已知學生記錄描述為:
struct student
{
int no;
char name[20];
char sex;
struct
{
int year;
char month[15];
int day;
}birth;
};
struct student s;
設變量s中的生日是1984年11月11日,下列對生日的正確賦值方式是_____
A. s.birth.year = 1984;
s.birth.month = "11";
s.birth.day = 11;
B. s.birth.year = 1984;
s.birth.month = 11;
s.birth.day = 11;
C. s.birth.year = 1984;
strcpy(s.birth.month, "11");
答 題 勿 超 裝 訂 線
------------------------------裝---------------------------------------------訂----------------------------------------線----------------------------------------
s.birth.day = 11;
D. s.birth.year = 1984;
strcpy(s.birth.month, 11);
s.birth.day = 11;
得分
二、填空題(每小題2空,每空1分,共20分)
請將正確答案填在答題卡相應題目的橫線上。答在試卷上不得分。
1. C程序標識符只能由英文字母、數(shù)字、_______組成,且第一個字母必須是字母或_______。
2. 表達式“28.0/10”的值為_______;表達式“5>3&&2||!8<4-2”的值為_______。
3. 判斷字符變量MyChar是否為小寫字母的條件表達式為_______ a _______ z。
4. 函數(shù)fputs(x,y)的主要功能是__________________,正確時函數(shù)的返回值是__________。
5. _______語句提前結束本輪循環(huán),開始下一輪循環(huán)。_______終止并跳出本層的循環(huán)結構。
6. 對于數(shù)組x[5][5],*(x+2)+3表示__________, *(x[3]+2)表示__________。
7. 設有char *s="ABCD",則printf("%s",s)的輸出是_______;而printf("%c",*s)的輸出是______.
8. 數(shù)組名代表地址_______,指針代表地址_______。
9. 若定義struct{ int num;float mark; }stu1,*ps=&stu1;則通過指針ps訪問結構變量stu1的成員mark的方法是_______或_______。
10. C語言文件按數(shù)據(jù)的存放形式可分為________文件和_________文件。
得分
三、程序分析題(每小題4分,共20分)
閱讀程序,將其運行結果填在答題卡相應題目的橫線上。答在試卷
上不得分。
1.
#include
#include
void main()
{char str[30];
strcpy(&str[0],"china");
strcpy(&str[1],"define");
strcpy(&str[2],"arm");
printf("%s\n",str);}
2.
#include
void swap( int a, int b)
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
void main( void )
{
int a=23, b=7;
if(a>b) swap(a,b);
printf("%d, %d\n", a, b );
}
3.
#include
void main( void )
{
short a[]={2,4,6,8,10,12}, *p, **k;
p=a;k=&p;
printf("%d,", *(P++));
printf("%d,", * *k);
}
4.
#include
void main( void )
{
int num[]={1,3,5,7}, s=1,i, *p=num;
for(i=0;i<3;i++) s*=*(p+i);
printf("%d\n", s);
}
5.
#include
void main( void )
{
int i,x;
for(i=1,x=1;i<=20;i++)
{
if(x>=10) break;
if(x%2==1)
{
x+=5;
continue;
}
x-=3;
答 題 勿 超 裝 訂 線
------------------------------裝---------------------------------------------訂----------------------------------------線----------------------------------------
}
printf("%d,%d\n",x,i);
得分
}
四、程序填空題(共有10空,每空2分,共20分)
請將正確答案填在答題卡相應題目的橫線上。答在試卷上不得分。
1. 從鍵盤任意輸入一個年號,判斷它是否是閏年。若是閏年,輸出“它是閏年”,否則輸出“它不是閏年”。已知符合下列條件之一者是閏年:
能被4整除,但不能被100整除。
能被400整除。
#include
void main()
{
int year, flag;
printf("Enter year:");
scanf("%d", ① );
if ( ② )
{
flag = 1;
}
else
{
flag = 0;
}
if ( ③ )
{
printf("它是閏年\n");
}
else
{
printf("它不是閏年\n");
}
}
2. 編程判斷m是否為素數(shù),已知0和1不是素數(shù)。
#include
④
void main()
{
int n, flag;
printf("Input n:");
scanf("%d", &n);
flag = IsPrime(n);
if ( ⑤ )
{
printf("它是素數(shù)\n");
}
else
{
printf("它不是素數(shù)\n");
}
}
int IsPrime(int m)
{
int i, k;
if (m <= 1)
{
return 0;
}
for (i= ⑥ ; ⑦ ; i++)
{
k = ⑧ ;
if ( ⑨ )
{
return 0;
}
}
return ⑩ ;
}
得分
五、程序設計題(每小題10分,共20分)
請將正確答案填在答題卡上。答在試卷上不得分。
1.編程計算1!+2!+3!+……+10!的值。
2. 試編寫三個子函數(shù)分別輸入10個整數(shù)、利用冒泡法從小到大排序、輸出排序結果(注:請勿修改給定的main函數(shù))。
void main( void )
{
int a[10], SIZE=10;
Input(a,SIZE);
Sort(a,SIZE);
Print(a,SIZE);
}
答題卡
得分
得分
院/系 年級 專業(yè) 姓名 學號
答 題 勿 超 裝 訂 線
------------------------------裝---------------------------------------------訂----------------------------------------線----------------------------------------
一、單項選擇題(每小題2分,共20分):
1 2 3 4 5
6 7 8 9 10
得分
二. 填空題:(每空1分,每小題2分,共20分)
1_________ _________ 2_________ _________
3_________ _________ 4_________ _________
5_________ _________ 6_________ _________
7_________ _________ 8_________ _________
9_________ _________ 10_________ _________
得分
三. 程序分析題(每小題4分,共20分)
1 2
3 4
5
得分
四. 程序填空題(每空2分,共20分)
1 2
3 4
5 6
7 8
9 10
得分
五. 程序設計題(每小題10分,共20分)
1.
2.
安徽大學20 08 —20 09 學年第 二 學期
《C語言程序設計》(B卷)考試試題參考答案及評分標準
得分
一、單項選擇題(每小題2分,共20分):
1 C 2 B 3 C 4 C 5 A
6 A 7 A 8 D 9 D 10 C
得分
二. 填空題:(每小題2空,每空1分,共20分)
1 下劃線 下劃線
2 2.8 真或1
3 MyChar >= && MyChar <=
4 將參數(shù)x指向的字符串寫到參數(shù)y指向的文件中
寫入文件的字符數(shù)
5 continue break
6 &x[2][3] x[3][2]
7 ABCD A
8 常量 變量
9 (*ps).mark ps->mark (順序可對調 )
10 文本 二進制
得分
三. 程序分析題(每小題4分,共20分)
1 cdarm 2 23,7
3 2,4, 4 15
5 10,6
得分
四. 程序填空題(每空2分,共20分)
1 &year
2 year%4==0&&year%100!=0 || year%400==0
3 flag or flag==1
4 int IsPrime(int m); or # include
5 flag or flag==1
6 2
7 i< m or i<=m/2
8 m % i
9 k == 0 or m%i==0 or ! k
10 1
得分
五. 程序設計題(每小題10分,共20分)
1.
參考答案1:
#include
main()
{
long term = 1,sum = 0;
int i;
for (i = 1; i <= 10; i++)
{
term = term * i;
sum = sum + term;
}
printf("1!+2!+...+10! = %ld \n", sum);
}
參考答案2:
#include
main()
{
long term ,sum = 0;
int i, j;
for (i = 1; i <= 10; i++)
{
term = 1;
for (j = 1; j <= i; j++)
{
term = term * j;
}
sum = sum + term;
}
printf("1!+2!+…+10! = %ld \n", sum);
}
2.
參考答案:
#include
void Input( int a[10], int n)
{
int i;
printf("Input %d int: ", n);
for( i=0; ia[j+1] )
tmp=a[j], a[j]=a[j+1], a[j+1]=tmp;
}
void Print( int *a, int n)
{
int i;
printf("The sorted number is : ");
for( i=0; i
下載提示(請認真閱讀)
- 1.請仔細閱讀文檔,確保文檔完整性,對于不預覽、不比對內容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內容+預覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領!既往收益都歸您。
文檔包含非法信息?點此舉報后獲取現(xiàn)金獎勵!
下載文檔到電腦,查找使用更方便
9.9
積分
- 配套講稿:
如PPT文件的首頁顯示word圖標,表示該PPT已包含配套word講稿。雙擊word圖標可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設計者僅對作品中獨創(chuàng)性部分享有著作權。
- 關 鍵 詞:
-
安徽大學
語言
考試
試卷
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
裝配圖網(wǎng)所有資源均是用戶自行上傳分享,僅供網(wǎng)友學習交流,未經(jīng)上傳用戶書面授權,請勿作他用。
鏈接地址:http://zhongcaozhi.com.cn/p-8408664.html