青島科技大學c語言試題庫.doc
《青島科技大學c語言試題庫.doc》由會員分享,可在線閱讀,更多相關(guān)《青島科技大學c語言試題庫.doc(38頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、第一套試題 一、 單項選擇題(15個小題,每題2分,共30分): 1.一個C語言程序的執(zhí)行是從_____。 A.main函數(shù)開始,直到main函數(shù)結(jié)束 B.第一個函數(shù)開始,直到最后一個函數(shù)結(jié)束 C.第一個函數(shù)開始,直到最后一個語句結(jié)束 D.main函數(shù)開始,直到最后一個函數(shù)結(jié)束 2. 正確的自定義標識符是_____。 A.x_2 B.a(chǎn)-b C.2sum D.$123 3.下面程序的運行結(jié)果是_____。 #define F(x) x*x void main( ) { int a=2,b=1; prinft(“%d\n”,F(a+b)); } A.3 B.5 C
2、.8 D.9 4.讀以下程序段,判斷a的值為_____。 int *p,a=10,b=1; p=&a; a=*p+b; A.12 B.10 C.11 D.編譯出錯 5.根據(jù)以下說明語句,則下面的敘述中不正確的是_____。 struct student { int num; char name[10]; int score; }stu; A.struct是定義結(jié)構(gòu)體類型的關(guān)鍵字 B.stu是結(jié)構(gòu)體變量名 C.num, name, score都是結(jié)構(gòu)體成員名 D.stu是結(jié)構(gòu)體類型名 6.已知字母A的ASCII碼為十進制數(shù)65,變量ch1為字符型,則執(zhí)行語句c
3、h1=‘A’+‘5’-‘2’;后,ch1中的值是_____。 A.D B.67 C.一個不確定的值 D.C 7.以下哪種方法不能對一維數(shù)組進行正確的初始化_____。 A.int a[ ]={1,2,3}; B.int a[5]={ }; C.int a[5]=(1,2,3,4,5); D.int a[ ]={2,3,4*5,6}; 8.已正確定義字符變量ch1,下面能正確賦值的是_____。 A.ch1=“a”; B.ch1=‘a(chǎn)’; C.ch1=“C語言程序設(shè)計”; D.ch1=‘ C語言程序設(shè)計’; 9.逗號表達式 (a=3*4,a*4),a+5 的值是_____。 A
4、.53 B.17 C.20 D.48 10.設(shè)n為float型,m為int型,則以下能實現(xiàn)將n中的數(shù)值保留小數(shù)點后兩位,第三位進行四舍五入的表達式是_____。 A.n=(n*100+0.5)/100.0 B.n=n*100+0.5/100.0 C.m=n*100+0.5,n=m/100.0 D.n=(n/100+0.5)*100.0 11.設(shè)i=2,j=3,則表達式(i++)*(++j)的值為_____。 A.6 B.8 C.9 D.12 12.關(guān)于以下程序段,說法正確的是_____。 x=-1; do { x=x*x; }while(!x); A.死循環(huán) B.循環(huán)體執(zhí)行
5、二次 C.循環(huán)體執(zhí)行一次 D.有語法錯誤 13.若有下列定義:char c[5],*p=c; 則對c數(shù)組元素地址的正確引用是_____。 A.p+2 B.&c[5] C.c++ D.&c 14.當調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳送的是_____。 A.數(shù)組的長度 B.數(shù)組每個元素中的值 C.數(shù)組每一個元素的地址 D.數(shù)組的首地址 15.文件中利用fopen函數(shù)打開文件,如果以只讀方式打開二進制文件,則以下打開方式正確的是_____。 A.r+ B.rb C.wb D.a(chǎn)b 二、填空題(5個小題,每題2分,共10分): 1.若有int i=1,j=7,a; 執(zhí)行語句 a
6、=i+(j%4!=0); 后,a的值是_______。
2.執(zhí)行以下程序后,運行結(jié)果是_______。
#include
7、{ int a=2;
float n=5.888,b;
b=a+(int)n;
printf(“%f\n”,b);}
5.語句 scanf("a=%d,b=%d",&a,&b); 若將3和4分別輸入給a和b,則正確的輸入方式為____
8、}
case 2: a++; b++; break;}
printf(“a=%d,b=%d\n”,a,b);}
2.在運行以下程序時,輸入“Turbo C++ 3.0”,寫出程序的運行結(jié)果。
#include
9、n”,i,j,y,i+j+y);
i*=2;}
void main( )
{ int x;
for(x=1;x<=2;++x) f(x);}
4.#include
10、 int plus(int x,int y) { int z; z=x+y; return (z);} void main( ) { int a=4,b=5,c; c=plus(a,b); printf(“a+b=%d\n”,c); } 四、程序填空題,將下面程序補充完整(10個填空,每空2分,共20分): 1.輸出九九表。 #include “stdio.h” void main( ) { int i,j; for(i=1;i<=9;i++) {for(j=1; ① ;j++) printf(“%3d*%d=%2d”,i,j,i*j); ② ; } }
11、2.利用函數(shù)形式,求x數(shù)組所有元素的平均值并輸出。 #include “stdio.h” ① ; void main( ) { float avg,x[10]={1.2,3.6,4.5,5.1,6.9,7,8,9,10.5,11.3}; avg=average(x); printf(“The average is %5.2f\n”,avg); } float average(float a[10]) { int i; float sum=0; for(i=0;i<10;i++) sum=sum+a[i]; ② ; } 3.編寫一個計算字符串長度的函數(shù)length。
12、 #include “stdio.h” void main( ) { char str[20]; int m; int length(char *p); printf("Input a string:\n"); gets(str); ① ; printf("\n the length of str is%d ",m); } int length(char *p) { int n=0; while( ② ) { n++; p++; } return n;} 4.輸入10個整數(shù),按每行3個數(shù)輸出這些整數(shù),最后輸出10個整數(shù)的平均值。 #include “stdio.h
13、”
void main( )
{ int i,n=10,a[10];
float avg=0;
for(i=0;i 14、char str[30]=“Welcome to C Language”,*cp=str;
while(*cp)
{ if(*cp>=‘A’&&*cp<=‘Z’)
① ;
else if(*cp>=‘a(chǎn)’&&*cp<=‘z’)
*cp=*cp-32;
② ;
}
puts(str);
}
五、程序設(shè)計題(3個小題,共20分):
1.設(shè)三個整型變量a,b,c,編寫程序為a,b,c輸入數(shù)據(jù),并要求a,b,c按由小到大排序后輸出。(5分)
2.學生成績可分為五分制與百分制,編程將百分制轉(zhuǎn)換為五分制輸出。(5分)
3.編寫排序函數(shù)sort(int a[ ]),實現(xiàn)對數(shù)組a中的 15、元素進行排序,并利用該函數(shù),從鍵盤輸入若干個數(shù)(如10個)將其按升序排列。(10分)
第一套試題
一、單項選擇題(15個小題,每題2分,共30分):
1-5:AABCD 6-10:ACBBC 11-15:BCADB
二、填空題(5個小題,每題2分,共10分):
1.2 2.4 3.string.h
4.7.000000 5.a(chǎn)=3,b=4
三、程序分析題,寫出程序的運行結(jié)果(5個小題,每題4分,共20分):
1.a(chǎn)=2,b=1 2.Turbo 3.5+4+1=10
4.10,20 5.a(chǎn)+b=9 10+4+2=16
四、程序填空題,將下面程序補充完整(10個填空,每空2分, 16、共20分):
1.①j<=i ②printf(“\n”)
2.①float average(float a[10]) 或 float average(float a[ ])
②return (sum/10)
3.①m=length(str) ②*p!=‘\0’ 或 *p
4.①i%3==0 ②avg+=a[i] 或 avg=avg+a[i]
5.①*cp=*cp+32或*cp=*cp+‘a(chǎn)’-‘A’ ②cp++
五、程序設(shè)計題(3個小題,共20分):
1.#include “stdio.h”
void main( )
{ int a,b,c,t;
printf("inpu 17、t a,b and c:");
scanf("%d%d%d",&a,&b,&c); ……1分
if(a>b) { t=a; a=b; b=t; } ……3分
if(a>c) { t=a; a=c; c=t; }
if(b>c) { t=b; b=c; c=t; }
printf("%d%d%d",a,b,c); ……1分
}
2.#include “stdio.h”
void main( )
{ float score;
printf(“Input a score:”);
scanf(“%f”,&score);
while(score>100||score<0) ……2 18、分
{ printf(“Error! Please input again:\n”);
scanf(“%f”,&score);
}
if(score>=90) printf(“A\n”); ……3分
else if(score>=80) printf(“B\n”);
else if(score>=70) printf(“C\n”);
else if(score>=60) printf(“D\n”);
else printf(“E\n”);
}
3.#include "stdio.h"
#define N 10
void sort(int a[ ]); ……1分
voi 19、d main( )
{ int a[N],i,j;
printf("input %d numbers:\n",N);
for(i=0;i 20、p; }
}
第二套試題
一、 單項選擇題(15個小題,每小題2分,共30分):
1.在一個源程序中,main函數(shù)的位置_____。
A.必須在最前面 B.必須在系統(tǒng)調(diào)用的庫函數(shù)的后面
C.沒有具體要求 D.必須在最后
2.正確的用戶自定義標識符是_____。
A.a(chǎn)=2 B.a(chǎn)+b C.name D.default
3.以下敘述中正確的是_____。
A.break語句只能用于switch語句體中
B.continue語句的作用是:使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)
D.在循環(huán)體內(nèi)使用break語句和c 21、ontinue語句的作用相同
4.C語言中最簡單的數(shù)據(jù)類型包括_____。
A.整型、實型、邏輯型 B.整型、實型、字符型
C.整型、字符型、邏輯型 D.字符型、實型、邏輯型
5. 設(shè)ch是char型變量,其值為‘A’,且有表達式ch=(ch>=‘A’&&ch<=‘Z’)?(ch+32):ch,該表達式的值為_____。
A.A B.a(chǎn) C.Z D.z
6. 以下敘述正確的是_____。
A.用do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替
B.用do-while語句構(gòu)成的循環(huán)只能用break語句退出
C.用do-while語句構(gòu)成循環(huán)時,當while后的表達式 22、成立時結(jié)束循環(huán)
D.用do-while語句構(gòu)成循環(huán)時,當while后的表達式不成立時結(jié)束循環(huán)
7.為了判斷兩個字符串s1和s2是否相等,應(yīng)當使用_____。
A.if(s1==s2) B.if(s1=s2)
C.if(strcmp(s1,s2))真 D.if(strcmp(s1,s2)==0) 假
8.當把以下四個表達式用作if語句的控制表達式時,有一個選項與其它三個選項含義不同,這個選項是_____。
A.k%2 (k/2) B.k%2==1 C.(k%2)!=0 D.!k%2==1
9.下列是關(guān)于數(shù)組的敘述,不正確的是_____。
A.在定義數(shù)組時,數(shù)組名前的類型是指明數(shù)組 23、各元素的類型
B.數(shù)組各元素的類型是相同的,而且是有序的
C.在引用數(shù)組元素時,數(shù)組元素的下標表達式必須是常量整型表達式
D.對整型數(shù)組來說,未初始化時,各數(shù)組元素的值是不確定的
10.有字符數(shù)組x[50],y[50],則正確的輸出語句是_____。
A.printf(″%s″,″%s″,x,y); B.puts(x);puts(y);
C.putchar(x,y); D.puts(x,y);
11.以下對一維數(shù)組a進行不正確初始化的是_____。
A.int x[5]={}; B.int x[5]=(0,0,0);
C.int x[ ]={0}; D.int x[5]={2 24、*3};
12.下列敘述中錯誤的是_____。
A.主函數(shù)中定義的變量在整個程序中都是有效的
B.在其他函數(shù)中定義的變量,沒有特殊聲明在主函數(shù)中不能使用
C.形式參數(shù)也是局部變量
D.復合語句中定義的變量只在該復合語句中有效
13.設(shè)有函數(shù)原型、一維數(shù)組和變量定義如下:
函數(shù)原型 void fun(int x[ ],int n);
數(shù)組定義 int a[4]={1,2,3,4}; float b[4]={1.0,2.0,3.0,4.0};
變量定義 int m=4,value;
下列函數(shù)調(diào)用中,正確的是_____。(函數(shù)返回值?)
A.fun(a,m); B.value= 25、fun(a[1],m);
C.value=fun(a,4); D.fun(b,m);
14.以下對指針定義合法的語句是_____。
A.int *p=&x=3; B.int y[5]={1,2,3,4,5},*p=&y;
C.char ch[12]=″Hello World″,*c=ch; D.char *c,c=‘x’,c=&c;
15.以“只讀”方式打開文本文件aa.dat,下列語句中哪一個是正確的_____。
A.fp=fopen(″aa.dat″,″r+″); B.fp=fopen(″aa.dat″,″a″);
C.fp=fopen(″aa.dat″,″wb″); D.f 26、p=fopen(″aa.dat″,″r″);
二、填空題(15個小題,每空1分,共15分):
1. 結(jié)構(gòu)化程序設(shè)計的三種基本程序結(jié)構(gòu)為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和________。
2. 條件“30≤x≤80且x≠50”的C語言表達式是________。
3. C語言源程序文件的后綴是________。
4. 有如下定義:int m=1,n=1,x=3;則執(zhí)行語句:if(!n) x+=1;if(m) x-=2;后,x的值是________。
5. 執(zhí)行如下語句:
int i=10;
do
{ i=i+10;}while(i>20);后,i的值是________。
6. 若a、b、c 27、和d都是int型變量,則執(zhí)行表達式d=(a=2,b=4,c=a*b);后,d的值為________。
7. 在使用數(shù)組元素的過程中,C語言編譯系統(tǒng)________(是/否)檢查下標“越界”。
8. 設(shè)m=4,n=7,表達式x=(m++)*(--n)的值是________。
9. 執(zhí)行如下語句:int k;k值不確定
for(k=0;k=1;k++); 則該循環(huán)執(zhí)行的次數(shù)是________。
10. 有如下定義:int x[5]={1,3,5,7,9},*p=&x[2];則執(zhí)行語句printf("%d",*p);的輸出結(jié)果是________。
11. 有如下結(jié)構(gòu)體定義:
str 28、uct date
{ int year;
int month;
int day;
};
struct worklist
{ char name[20];
char sex;
struct date birthday;
}person;
若對結(jié)構(gòu)體變量person的出生年份賦值為1990,則正確的賦值語句是________。
12. C語言提供的預(yù)處理命令有________、文件包含和條件編譯三種。
13.設(shè)有數(shù)組定義:char string[ ]= "Student",則數(shù)組所占的存儲空間為________個 字節(jié)。
14.指針變量只能存放內(nèi)存儲單元的______ 29、__。
15.在C語言中,當函數(shù)返回值的類型缺省時,表示該函數(shù)返回值的類型是________。
三、寫出程序的運行結(jié)果(5個小題,每小題4分,共20分):
1.#include "stdio.h"
void main( )
{ int x=1,y=0,a=0,b=0;
switch(x)
{ case 1: switch(y)
{ case 0: a++;break;
case 1: b++;break;
}
case 2: a++;b++;break;
}
printf(“a=%d,b=%d\n”,a,b);
}
2.#include "stdio.h"
30、void f(int b[ ])
{ int i;
for(i=2;i<6;i++)
b[i]*=2;
}
void main( )
{ int a[10]={1,2,3,4,5,6,7,8,9,10};
f(a);
for(i=0;i<10;i++)
printf(“%d”,a[i]);
}
3.#include "stdio.h"
int a=5,b=7;
int plus(int x,int y)
{ int z;
z=x+y;
return (z);
}
void main( )
{ int a=4,b=5,c;
c=plus(a+b);
31、printf("a+b=%d\n",c);
}
4. #include "stdio.h"
int d=1;
fun(int p)
{ static int d=5;
d+=p;
return (d);
}
void main( )
{ int a=3;
printf("%d\n",fun(a+fun(d)));
}
5.#include "stdio.h"
void main( )
{ char ch[15]={“abcdefg”};
char c,*cp1,*cp2;
int i,n=0;
cp1=ch;
cp2=ch;
while(*cp2 32、!=‘\0’)
{ n++;cp2++;}
cp2--;
n=n/2;
for(i=0;i 33、);
for(i=0;i 34、N;j++)
if( (2) ) r=j;
if(r!=i)
{ temp=a[r]; a[r]=a[i]; a[i]=temp; }
}
printf("the array after sort:\n");
for(i=0;i 35、調(diào)用子函數(shù)average,分別求出主函數(shù)main中x和y數(shù)組的平均值并輸出。
#include "stdio.h"
float average( (1) )
{ int i;
float sum=0;
for(i=0;i 36、.2f\n",avg);
avg=average(y,5);
printf("The array y average is %5.2f\n",avg);
}
5.將字符數(shù)組中大寫字符改為小寫字符,將小寫字符改為大寫字符。
#include "stdio.h"
void main( )
{ char str[30]=“I am a string”,*cp;
(1)
while(*cp)
{ if(*cp>=‘A’&&*cp<=‘Z’)
*cp=*cp+32;
else if(*cp1 >=‘a(chǎn)’&&*cp<=‘z’)
*cp=*cp-32;
else
*cp=*c 37、p;
(2)
}
puts(str);
}
五、 程序設(shè)計題(2個小題,共15分):
1. 求1!-2!+3! -4!+ … -10!。(7分)
2. 編寫一個計算字符串長度的函數(shù),模擬C的“string.h”函數(shù)庫內(nèi)的計算字符串長度的函數(shù)strlen( )。(8分)
第二套試題答案
一、 單項選擇題(15個小題,每小題2分,共30分):
1-5 C C C B B 6-10 D D D C B 11-15 B A A C D
二、 填空題(15個小題,每空1分,共15分):
1. 循環(huán)結(jié)構(gòu)
2. (x>=30)&&(x<=80)&&(x!=50)
3. 38、.c
4. 1
5. 20
6. 8
7. 否
8. 24
9. 無限次
10. 5
11. person.birthday.year=1990
12. 宏定義
13. 8
14. 地址
15. int/整型
三、寫出程序的運行結(jié)果(5個小題,每小題4分,共20分):
1. a=2,b=1 2. 1 2 6 8 10 12 7 8 9 10
3. a+b=9 4. 15 5. gfedcba
四、完善程序,在空白處填上相應(yīng)的語句內(nèi)容(5個小題,每小題4分,共20分):
1.(1)printf(“\n”); (2)avg=avg/n;
2.(1)r=i;
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 川渝旅游日記成都重慶城市介紹推薦景點美食推薦
- XX國有企業(yè)黨委書記個人述責述廉報告及2025年重點工作計劃
- 世界濕地日濕地的含義及價值
- 20XX年春節(jié)節(jié)后復工安全生產(chǎn)培訓人到場心到崗
- 大唐女子圖鑒唐朝服飾之美器物之美繪畫之美生活之美
- 節(jié)后開工第一課輕松掌握各要點節(jié)后常見的八大危險
- 廈門城市旅游介紹廈門景點介紹廈門美食展示
- 節(jié)后開工第一課復工復產(chǎn)十注意節(jié)后復工十檢查
- 傳統(tǒng)文化百善孝為先孝道培訓
- 深圳城市旅游介紹景點推薦美食探索
- 節(jié)后復工安全生產(chǎn)培訓勿忘安全本心人人講安全個個會應(yīng)急
- 預(yù)防性維修管理
- 常見閥門類型及特點
- 設(shè)備預(yù)防性維修
- 2.乳化液泵工理論考試試題含答案