青岛科技大学c语言试题库.docx

上传人:b****2 文档编号:11568504 上传时间:2023-06-01 格式:DOCX 页数:68 大小:35.92KB
下载 相关 举报
青岛科技大学c语言试题库.docx_第1页
第1页 / 共68页
青岛科技大学c语言试题库.docx_第2页
第2页 / 共68页
青岛科技大学c语言试题库.docx_第3页
第3页 / 共68页
青岛科技大学c语言试题库.docx_第4页
第4页 / 共68页
青岛科技大学c语言试题库.docx_第5页
第5页 / 共68页
青岛科技大学c语言试题库.docx_第6页
第6页 / 共68页
青岛科技大学c语言试题库.docx_第7页
第7页 / 共68页
青岛科技大学c语言试题库.docx_第8页
第8页 / 共68页
青岛科技大学c语言试题库.docx_第9页
第9页 / 共68页
青岛科技大学c语言试题库.docx_第10页
第10页 / 共68页
青岛科技大学c语言试题库.docx_第11页
第11页 / 共68页
青岛科技大学c语言试题库.docx_第12页
第12页 / 共68页
青岛科技大学c语言试题库.docx_第13页
第13页 / 共68页
青岛科技大学c语言试题库.docx_第14页
第14页 / 共68页
青岛科技大学c语言试题库.docx_第15页
第15页 / 共68页
青岛科技大学c语言试题库.docx_第16页
第16页 / 共68页
青岛科技大学c语言试题库.docx_第17页
第17页 / 共68页
青岛科技大学c语言试题库.docx_第18页
第18页 / 共68页
青岛科技大学c语言试题库.docx_第19页
第19页 / 共68页
青岛科技大学c语言试题库.docx_第20页
第20页 / 共68页
亲,该文档总共68页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

青岛科技大学c语言试题库.docx

《青岛科技大学c语言试题库.docx》由会员分享,可在线阅读,更多相关《青岛科技大学c语言试题库.docx(68页珍藏版)》请在冰点文库上搜索。

青岛科技大学c语言试题库.docx

青岛科技大学c语言试题库

第一套试题

一、单项选择题(15个小题,每题2分,共30分):

二、1.一个C语言程序的执行是从_____。

三、A.main函数开始,直到main函数结束

四、B.第一个函数开始,直到最后一个函数结束

五、C.第一个函数开始,直到最后一个语句结束

六、D.main函数开始,直到最后一个函数结束

七、2.正确的自定义标识符是_____。

八、A.x_2B.a-bC.2sumD.$123

九、3.下面程序的运行结果是_____。

十、#defineF(x)x*x

十一、voidmain()

十二、{inta=2,b=1;

十三、prinft(“%d\n”,F(a+b));

十四、}

十五、A.3B.5C.8D.9

十六、4.读以下程序段,判断a的值为_____。

十七、int*p,a=10,b=1;

十八、p=&a;

十九、a=*p+b;

二十、A.12B.10C.11D.编译出错

二十一、5.根据以下说明语句,则下面的叙述中不正确的是_____。

二十二、structstudent

二十三、{intnum;

二十四、charname[10];

二十五、intscore;

二十六、}stu;

二十七、A.struct是定义结构体类型的关键字

二十八、B.stu是结构体变量名

二十九、C.num,name,score都是结构体成员名

三十、D.stu是结构体类型名

三十一、6.已知字母A的ASCII码为十进制数65,变量ch1为字符型,则执行语句ch1=‘A’+‘5’-‘2’;后,ch1中的值是_____。

三十二、A.DB.67C.一个不确定的值D.C

三十三、7.以下哪种方法不能对一维数组进行正确的初始化_____。

三十四、A.inta[]={1,2,3};B.inta[5]={};

三十五、C.inta[5]=(1,2,3,4,5);D.inta[]={2,3,4*5,6};

三十六、8.已正确定义字符变量ch1,下面能正确赋值的是_____。

三十七、A.ch1=“a”;B.ch1=‘a’;

三十八、C.ch1=“C语言程序设计”;D.ch1=‘C语言程序设计’;

三十九、9.逗号表达式(a=3*4,a*4),a+5的值是_____。

四十、A.53B.17C.20D.48

四十一、10.设n为float型,m为int型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入的表达式是_____。

四十二、A.n=(n*100+0.5)/100.0B.n=n*100+0.5/100.0

四十三、C.m=n*100+0.5,n=m/100.0D.n=(n/100+0.5)*100.0

四十四、11.设i=2,j=3,则表达式(i++)*(++j)的值为_____。

四十五、A.6B.8C.9D.12

四十六、12.关于以下程序段,说法正确的是_____。

四十七、x=-1;

四十八、do

四十九、{x=x*x;}while(!

x);

五十、A.死循环B.循环体执行二次C.循环体执行一次D.有语法错误

五十一、13.若有下列定义:

charc[5],*p=c;则对c数组元素地址的正确引用是_____。

五十二、A.p+2B.&c[5]C.c++D.&c

五十三、14.当调用函数时,实参是一个数组名,则向函数传送的是_____。

五十四、A.数组的长度B.数组每个元素中的值

五十五、C.数组每一个元素的地址D.数组的首地址

五十六、15.文件中利用fopen函数打开文件,如果以只读方式打开二进制文件,则以下打开方式正确的是_____。

五十七、A.r+B.rbC.wbD.ab

五十八、二、填空题(5个小题,每题2分,共10分):

五十九、1.若有inti=1,j=7,a;执行语句a=i+(j%4!

=0);后,a的值是_______。

六十、2.执行以下程序后,运行结果是_______。

六十一、#include

六十二、voidmain()

六十三、{inta,b;

六十四、for(a=1,b=1;a<=100;a++)

六十五、{if(b>=10)break;

六十六、if(b%3==1){b+=3;continue;}

六十七、}

六十八、printf(“%d\n”,a);}

六十九、3.源程序中用到了strcat函数,需要包含的头文件(即库文件)为_______。

七十、4.执行以下程序后,运行结果是_______。

七十一、#include

七十二、voidmain()

七十三、{inta=2;

七十四、floatn=5.888,b;

七十五、b=a+(int)n;

七十六、printf(“%f\n”,b);}

七十七、5.语句scanf("a=%d,b=%d",&a,&b);若将3和4分别输入给a和b,则正确的输入方式为____

七十八、三、程序分析题,写出程序的运行结果(5个小题,每题4分,共20分):

七十九、1.#include

八十、voidmain()

八十一、{intx=1,y=0,a=0,b=0;

八十二、switch(x)

八十三、{case1:

switch(y)

八十四、{case0:

a++;break;

八十五、case1:

b++;break;

八十六、}

八十七、case2:

a++;b++;break;}

八十八、printf(“a=%d,b=%d\n”,a,b);}

八十九、2.在运行以下程序时,输入“TurboC++3.0”,写出程序的运行结果。

九十、#include

九十一、voidmain()

九十二、{charstr[40];

九十三、printf("Inputastring:

");

九十四、scanf("%s",str);

九十五、puts(str);}

九十六、3.#include

九十七、voidf(inty)

九十八、{staticinti=5;

九十九、intj=3;

一百、j++;

一百零一、printf(“%d+%d+%d=%d\n”,i,j,y,i+j+y);

一百零二、i*=2;}

一百零三、voidmain()

一百零四、{intx;

一百零五、for(x=1;x<=2;++x)f(x);}

一百零六、4.#include

一百零七、voidswap(int*pa,int*pb)

一百零八、{int*p;

一百零九、p=pa;

一百一十、pa=pb;

一百一十一、pb=p;}

一百一十二、voidmain()

一百一十三、{inta=10,b=20;

一百一十四、int*p1=&a,*p2=&b;

一百一十五、if(a

一百一十六、printf("%d,%d\n",a,b);}

一百一十七、5.#include

一百一十八、inta=5;intb=7;

一百一十九、intplus(intx,inty)

一百二十、{intz;

一百二十一、z=x+y;

一百二十二、return(z);}

一百二十三、voidmain()

一百二十四、{inta=4,b=5,c;

一百二十五、c=plus(a,b);

一百二十六、printf(“a+b=%d\n”,c);}

一百二十七、四、程序填空题,将下面程序补充完整(10个填空,每空2分,共20分):

一百二十八、1.输出九九表。

一百二十九、#include“stdio.h”

一百三十、voidmain()

一百三十一、{inti,j;

一百三十二、for(i=1;i<=9;i++)

一百三十三、{for(j=1;①;j++)

一百三十四、printf(“%3d*%d=%2d”,i,j,i*j);

一百三十五、②;

一百三十六、}

一百三十七、}

一百三十八、2.利用函数形式,求x数组所有元素的平均值并输出。

一百三十九、#include“stdio.h”

一百四十、①;

一百四十一、voidmain()

一百四十二、{floatavg,x[10]={1.2,3.6,4.5,5.1,6.9,7,8,9,10.5,11.3};

一百四十三、avg=average(x);

一百四十四、printf(“Theaverageis%5.2f\n”,avg);

一百四十五、}

一百四十六、floataverage(floata[10])

一百四十七、{inti;

一百四十八、floatsum=0;

一百四十九、for(i=0;i<10;i++)sum=sum+a[i];

一百五十、②;

一百五十一、}

一百五十二、3.编写一个计算字符串长度的函数length。

一百五十三、#include“stdio.h”

一百五十四、voidmain()

一百五十五、{charstr[20];

一百五十六、intm;

一百五十七、intlength(char*p);

一百五十八、printf("Inputastring:

\n");

一百五十九、gets(str);

一百六十、①;

一百六十一、printf("\nthelengthofstris%d",m);

一百六十二、}

一百六十三、intlength(char*p)

一百六十四、{intn=0;

一百六十五、while(②){n++;p++;}

一百六十六、returnn;}

一百六十七、4.输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。

一百六十八、#include“stdio.h”

一百六十九、voidmain()

一百七十、{inti,n=10,a[10];

一百七十一、floatavg=0;

一百七十二、for(i=0;i

一百七十三、scanf(“%d”,&a[i]);

一百七十四、for(i=0;i

一百七十五、{if(①)printf(“\n”);

一百七十六、printf(“%d”,a[i]);

一百七十七、}

一百七十八、for(i=0;i

一百七十九、②;

一百八十、avg=avg/n;

一百八十一、printf(“average=%f\n”,avg);

一百八十二、}

一百八十三、5.将字符数组中大写字符改为小写字符,将小写字符改为大写字符,利用指针完成。

一百八十四、#include“stdio.h”

一百八十五、voidmain()

一百八十六、{charstr[30]=“WelcometoCLanguage”,*cp=str;

一百八十七、while(*cp)

一百八十八、{if(*cp>=‘A’&&*cp<=‘Z’)

一百八十九、①;

一百九十、elseif(*cp>=‘a’&&*cp<=‘z’)

一百九十一、*cp=*cp-32;

一百九十二、②;

一百九十三、}

一百九十四、puts(str);

一百九十五、}

一百九十六、五、程序设计题(3个小题,共20分):

一百九十七、1.设三个整型变量a,b,c,编写程序为a,b,c输入数据,并要求a,b,c按由小到大排序后输出。

(5分)

一百九十八、2.学生成绩可分为五分制与百分制,编程将百分制转换为五分制输出。

(5分)

一百九十九、3.编写排序函数sort(inta[]),实现对数组a中的元素进行排序,并利用该函数,从键盘输入若干个数(如10个)将其按升序排列。

(10分)

第一套试题

一、单项选择题(15个小题,每题2分,共30分):

1-5:

AABCD6-10:

ACBBC11-15:

BCADB

二、填空题(5个小题,每题2分,共10分):

1.22.43.string.h

4.7.0000005.a=3,b=4

三、程序分析题,写出程序的运行结果(5个小题,每题4分,共20分):

1.a=2,b=12.Turbo3.5+4+1=10

4.10,205.a+b=910+4+2=16

四、程序填空题,将下面程序补充完整(10个填空,每空2分,共20分):

1.①j<=i②printf(“\n”)

2.①floataverage(floata[10])或floataverage(floata[])

②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’-‘A’②cp++

五、程序设计题(3个小题,共20分):

1.#include“stdio.h”

voidmain()

{inta,b,c,t;

printf("inputa,bandc:

");

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”

voidmain()

{floatscore;

printf(“Inputascore:

”);

scanf(“%f”,&score);

while(score>100||score<0)……2分

{printf(“Error!

Pleaseinputagain:

\n”);

scanf(“%f”,&score);

}

if(score>=90)printf(“A\n”);……3分

elseif(score>=80)printf(“B\n”);

elseif(score>=70)printf(“C\n”);

elseif(score>=60)printf(“D\n”);

elseprintf(“E\n”);

}

3.#include"stdio.h"

#defineN10

voidsort(inta[]);……1分

voidmain()

{inta[N],i,j;

printf("input%dnumbers:

\n",N);

for(i=0;i

scanf("%d",&a[i]);

sort(a);……2分

for(i=0;i

printf("%d",a[i]);

}

voidsort(inta[])

{inti,j,temp;

for(i=0;i

for(j=0;j

if(a[j]>a[j+1])

{temp=a[j];a[j]=a[j+1];a[j+1]=temp;}

}

第二套试题

一、单项选择题(15个小题,每小题2分,共30分):

1.在一个源程序中,main函数的位置_____。

A.必须在最前面B.必须在系统调用的库函数的后面

C.没有具体要求D.必须在最后

2.正确的用户自定义标识符是_____。

A.a=2B.a+bC.nameD.default

3.以下叙述中正确的是_____。

A.break语句只能用于switch语句体中

B.continue语句的作用是:

使程序的执行流程跳出包含它的所有循环

C.break语句只能用在循环体内和switch语句体内

D.在循环体内使用break语句和continue语句的作用相同

4.C语言中最简单的数据类型包括_____。

A.整型、实型、逻辑型B.整型、实型、字符型

C.整型、字符型、逻辑型D.字符型、实型、逻辑型

5.设ch是char型变量,其值为‘A’,且有表达式ch=(ch>=‘A’&&ch<=‘Z’)?

(ch+32):

ch,该表达式的值为_____。

A.AB.aC.ZD.z

6.以下叙述正确的是_____。

A.用do-while语句构成的循环不能用其它语句构成的循环来代替

B.用do-while语句构成的循环只能用break语句退出

C.用do-while语句构成循环时,当while后的表达式成立时结束循环

D.用do-while语句构成循环时,当while后的表达式不成立时结束循环

7.为了判断两个字符串s1和s2是否相等,应当使用_____。

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==1C.(k%2)!

=0D.!

k%2==1

9.下列是关于数组的叙述,不正确的是_____。

A.在定义数组时,数组名前的类型是指明数组各元素的类型

B.数组各元素的类型是相同的,而且是有序的

C.在引用数组元素时,数组元素的下标表达式必须是常量整型表达式

D.对整型数组来说,未初始化时,各数组元素的值是不确定的

10.有字符数组x[50],y[50],则正确的输出语句是_____。

A.printf(″%s″,″%s″,x,y);B.puts(x);puts(y);

C.putchar(x,y);D.puts(x,y);

11.以下对一维数组a进行不正确初始化的是_____。

A.intx[5]={};B.intx[5]=(0,0,0);

C.intx[]={0};D.intx[5]={2*3};

12.下列叙述中错误的是_____。

A.主函数中定义的变量在整个程序中都是有效的

B.在其他函数中定义的变量,没有特殊声明在主函数中不能使用

C.形式参数也是局部变量

D.复合语句中定义的变量只在该复合语句中有效

13.设有函数原型、一维数组和变量定义如下:

函数原型voidfun(intx[],intn);

数组定义inta[4]={1,2,3,4};floatb[4]={1.0,2.0,3.0,4.0};

变量定义intm=4,value;

下列函数调用中,正确的是_____。

(函数返回值?

A.fun(a,m);B.value=fun(a[1],m);

C.value=fun(a,4);D.fun(b,m);

14.以下对指针定义合法的语句是_____。

A.int*p=&x=3;B.inty[5]={1,2,3,4,5},*p=&y;

C.charch[12]=″HelloWorld″,*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.fp=fopen(″aa.dat″,″r″);

二、填空题(15个小题,每空1分,共15分):

1.结构化程序设计的三种基本程序结构为顺序结构、选择结构和________。

2.条件“30≤x≤80且x≠50”的C语言表达式是________。

3.C语言源程序文件的后缀是________。

4.有如下定义:

intm=1,n=1,x=3;则执行语句:

if(!

n)x+=1;if(m)x-=2;后,x的值是________。

5.执行如下语句:

inti=10;

do

{i=i+10;}while(i>20);后,i的值是________。

6.若a、b、c和d都是int型变量,则执行表达式d=(a=2,b=4,c=a*b);后,d的值为________。

7.在使用数组元素的过程中,C语言编译系统________(是/否)检查下标“越界”。

8.设m=4,n=7,表达式x=(m++)*(--n)的值是________。

9.执行如下语句:

intk;k值不确定

for(k=0;k=1;k++);则该循环执行的次数是________。

10.有如下定义:

intx[5]={1,3,5,7,9},*p=&x[2];则执行语句printf("%d",*p);的输出结果是________。

11.有如下结构体定义:

structdate

{intyear;

intmonth;

intday;

};

structworklist

{charname[20];

charsex;

structdatebirthday;

}person;

若对结构体变量person的出生年份赋值为1990,则正确的赋值语句是________。

12.C语言提供的预处理命令有________、文件包含和条件编译三种。

13.设有数组定义:

charstring[]="Student",则数组所占的存储空间为________个字节。

14.指针变量只能存放内存储单元的________。

15.在C语言中,当函数返回值的类型缺省时,表示该函数返回值的类型是________。

三、写出程序的运行结果(5个小题,每小题4分,共20分):

1.#include"stdio.h"

voidmain()

{intx=1,y=0,a=0,b=0;

switch(x)

{case1:

switch(y)

{case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

}

printf(“a=%d,b=%d\n”,a,b);

}

2.#include"stdio.h"

voidf(intb[])

{inti;

for(i=2;i<6;i++)

b[i]*=2;

}

voidmain()

{inta[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"

inta=5,b=7;

intplus(intx,inty)

{intz;

z=x+y;

return(z);

}

voidmain()

{inta=4,b=5,c;

c=plus(a+b);

printf("a+b=%d\n",c);

}

4.#include"stdio.h"

intd=1;

fu

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2