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

上传人:田海滨 文档编号:140581 上传时间:2025-07-11 格式:DOC 页数:38 大小:102.50KB
下载 相关 举报
青岛科技大学c语言试题库.doc_第1页
第1页 / 共38页
青岛科技大学c语言试题库.doc_第2页
第2页 / 共38页
青岛科技大学c语言试题库.doc_第3页
第3页 / 共38页
青岛科技大学c语言试题库.doc_第4页
第4页 / 共38页
青岛科技大学c语言试题库.doc_第5页
第5页 / 共38页
点击查看更多>>
资源描述

1、第一套试题一、 单项选择题(15个小题,每题2分,共30分):1一个C语言程序的执行是从_。Amain函数开始,直到main函数结束B第一个函数开始,直到最后一个函数结束C第一个函数开始,直到最后一个语句结束Dmain函数开始,直到最后一个函数结束2. 正确的自定义标识符是_。Ax_2 Ba-b C2sum D$1233下面程序的运行结果是_。#define F(x) x*xvoid main( ) int a=2,b=1;prinft(“%dn”,F(a+b); A3 B5 C8 D94读以下程序段,判断a的值为_。int *p,a=10,b=1;p=&a;a=*p+b;A12 B10 C1

2、1 D编译出错5根据以下说明语句,则下面的叙述中不正确的是_。struct student int num;char name10;int score; stu;Astruct是定义结构体类型的关键字Bstu是结构体变量名Cnum, name, score都是结构体成员名Dstu是结构体类型名6已知字母A的ASCII码为十进制数65,变量ch1为字符型,则执行语句ch1=A+5-2;后,ch1中的值是_。AD B67 C一个不确定的值 DC7以下哪种方法不能对一维数组进行正确的初始化_。Aint a =1,2,3; Bint a5= ;Cint a5=(1,2,3,4,5); Dint a =

3、2,3,4*5,6;8已正确定义字符变量ch1,下面能正确赋值的是_。Ach1=“a”; Bch1=a;Cch1=“C语言程序设计”; Dch1 C语言程序设计;9逗号表达式 (a=3*4,a*4),a+5 的值是_。A53 B17 C20 D4810设n为float型,m为int型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入的表达式是_。An=(n*100+0.5)/100.0 Bn=n*100+0.5/100.0Cm=n*100+0.5,n=m/100.0 Dn=(n/100+0.5)*100.011设i=2,j=3,则表达式(i+)*(+j)的值为_。A6 B8 C9

4、D1212关于以下程序段,说法正确的是_。x=-1;do x=x*x; while(!x);A死循环 B循环体执行二次 C循环体执行一次 D有语法错误13若有下列定义:char c5,*p=c; 则对c数组元素地址的正确引用是_。Ap+2 B&c5 Cc+ D&c14当调用函数时,实参是一个数组名,则向函数传送的是_。A数组的长度 B数组每个元素中的值C数组每一个元素的地址 D数组的首地址15文件中利用fopen函数打开文件,如果以只读方式打开二进制文件,则以下打开方式正确的是_。Ar+ Brb Cwb Dab二、填空题(5个小题,每题2分,共10分):1若有int i=1,j=7,a; 执行

5、语句 a=i+(j%4!=0); 后,a的值是_。2执行以下程序后,运行结果是_。#includevoid main( ) int a,b;for(a=1,b=1;a=10) break;if(b%3=1) b+=3; continue; printf(“%dn”,a);3源程序中用到了strcat函数,需要包含的头文件(即库文件)为_。4执行以下程序后,运行结果是_。#includevoid main( ) int a=2;float n=5.888,b;b=a+(int)n;printf(“%fn”,b);5语句 scanf(a=%d,b=%d,&a,&b); 若将3和4分别输入给a和b,

6、则正确的输入方式为_ 。三、程序分析题,写出程序的运行结果(5个小题,每题4分,共20分):1#includevoid 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=%dn”,a,b);2在运行以下程序时,输入“Turbo C+ 3.0”,写出程序的运行结果。#includevoid main( ) char str40;printf(Input a string:);scanf(%s

7、str);puts(str);3#includevoid f(int y) static int i=5;int j=3;j+;printf(“%d+%d+%d=%dn”,i,j,y,i+j+y);i*=2;void main( ) int x;for(x=1;x=2;+x) f(x);4#includevoid swap(int *pa,int *pb) int *p;p=pa;pa=pb;pb=p; void main( ) int a=10,b=20;int *p1=&a,*p2=&b;if(ab) swap(p1,p2);printf(%d,%dn,a,b); 5#includein

8、t a=5; int 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);printf(“a+b=%dn”,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); ;2利用函数形式,求x数组所有元素的平均值并输出。#include “stdio.

9、h” ;void main( ) float avg,x10=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.2fn”,avg);float average(float a10) int i;float sum=0;for(i=0;i10;i+) sum=sum+ai; ;3编写一个计算字符串长度的函数length。#include “stdio.h”void main( ) char str20;int m;int length(char *p);printf(Input a strin

10、g: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个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。#include “stdio.h”void main( ) int i,n=10,a10;float avg=0;for(i=0;in;i+)scanf(“%d”,&ai);for(i=0;in;i+) if( ) printf(“n”);printf(“%d ”,ai);for(i=0;i=A&*cp=a&*

11、cp=z)*cp=*cp-32; ;puts(str);五、程序设计题(3个小题,共20分):1设三个整型变量a,b,c,编写程序为a,b,c输入数据,并要求a,b,c按由小到大排序后输出。(5分)2学生成绩可分为五分制与百分制,编程将百分制转换为五分制输出。(5分)3编写排序函数sort(int a ),实现对数组a中的元素进行排序,并利用该函数,从键盘输入若干个数(如10个)将其按升序排列。(10分)第一套试题一、单项选择题(15个小题,每题2分,共30分):1-5:AABCD 6-10:ACBBC 11-15:BCADB二、填空题(5个小题,每题2分,共10分):12 24 3strin

12、g.h47.000000 5a=3,b=4三、程序分析题,写出程序的运行结果(5个小题,每题4分,共20分):1a=2,b=1 2Turbo 35+4+1=10410,20 5a+b=9 10+4+2=16四、程序填空题,将下面程序补充完整(10个填空,每空2分,共20分):1jb) t=a; a=b; b=t; 3分if(ac) t=a; a=c; c=t; if(bc) 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:”);sca

13、nf(“%f”,&score);while(score100|score=90) printf(“An”); 3分else if(score=80) printf(“Bn”);else if(score=70) printf(“Cn”);else if(score=60) printf(“Dn”);else printf(“En”);3#include stdio.h#define N 10void sort(int a ); 1分void main( ) int aN,i,j;printf(input %d numbers:n,N);for(i=0;iN;i+) 2分scanf(%d,&ai

14、);sort(a); 2分for(i=0;iN;i+)printf(%d ,ai);void sort(int a ) int i,j,temp;for(i=0;iN-1;i+) 5分for(j=0;jaj+1) temp=aj; aj=aj+1; aj+1=temp; 第二套试题一、 单项选择题(15个小题,每小题2分,共30分):1在一个源程序中,main函数的位置_。A必须在最前面 B必须在系统调用的库函数的后面C没有具体要求 D必须在最后2正确的用户自定义标识符是_。Aa=2 Ba+b Cname Ddefault3以下叙述中正确的是_。Abreak语句只能用于switch语句体中Bc

15、ontinue语句的作用是:使程序的执行流程跳出包含它的所有循环Cbreak语句只能用在循环体内和switch语句体内D在循环体内使用break语句和continue语句的作用相同4C语言中最简单的数据类型包括_。A整型、实型、逻辑型 B整型、实型、字符型C整型、字符型、逻辑型 D字符型、实型、逻辑型5. 设ch是char型变量,其值为A,且有表达式ch=(ch=A&ch20);后,i的值是_。6 若a、b、c和d都是int型变量,则执行表达式d=(a=2,b=4,c=a*b);后,d的值为_。7 在使用数组元素的过程中,C语言编译系统_(是/否)检查下标“越界”。8 设m=4,n=7,表达式

16、x=(m+)*(-n)的值是_。9. 执行如下语句:int k;k值不确定for(k=0;k=1;k+); 则该循环执行的次数是_。10. 有如下定义:int x5=1,3,5,7,9,*p=&x2;则执行语句printf(%d,*p);的输出结果是_。11. 有如下结构体定义:struct date int year;int month;int day;struct worklist char name20;char sex;struct date birthday;person;若对结构体变量person的出生年份赋值为1990,则正确的赋值语句是_。12. C语言提供的预处理命令有_、文

17、件包含和条件编译三种。13设有数组定义:char string = Student,则数组所占的存储空间为_个 字节。14指针变量只能存放内存储单元的_。15在C语言中,当函数返回值的类型缺省时,表示该函数返回值的类型是_。三、写出程序的运行结果(5个小题,每小题4分,共20分):1#include stdio.hvoid 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=%dn”,a,b);2#

18、include stdio.hvoid f(int b ) int i;for(i=2;i6;i+)bi*=2;void main( ) int a10=1,2,3,4,5,6,7,8,9,10;f(a);for(i=0;i10;i+)printf(“%d”,ai);3#include stdio.hint 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);printf(a+b=%dn,c);4. #include stdio.hint d=1;fun(int

19、p) static int d=5;d+=p;return (d);void main( ) int a=3;printf(%dn,fun(a+fun(d);5#include stdio.hvoid main( ) char ch15=“abcdefg”;char c,*cp1,*cp2;int i,n=0;cp1=ch;cp2=ch;while(*cp2!=0) n+;cp2+;cp2-;n=n/2;for(i=0;in;i+) c=*cp1;*cp1=*cp2;*cp2=c;cp1+; cp2-;puts(ch);四、完善程序,在空白处填上相应的语句内容(5个小题,每小题4分,共20分)

20、1. 输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。#include stdio.hvoid main( ) int i,n=10,a10;float avg=0;for(i=0;in;i+)scanf(“%d”,&ai);for(i=0;in;i+) if(i%3=0) (1) printf(“%d”,ai);for(i=0;in;i+) avg+=ai;(2) printf(“average=%fn”,avg);2. 利用选择排序法使数组中的数按照从大到小的次序(升序)排列。#include stdio.h#define N 10void main( ) int a

21、N=3,8,5,2,10,9,4,1,7,6,i,j,r,temp;for(i=0;iN-1;i+) (1) for(j=i+1;jN;j+)if( (2) ) r=j;if(r!=i) temp=ar; ar=ai; ai=temp; printf(the array after sort:n);for(i=0;iN;i+)printf(%5d,ai);3. 输出九九乘法表。#include stdio.hvoid main( ) int i,j;for(i=1;i=9;i+) for( (1) )printf(%3d*%d=%-3d, (2) );printf(n);4通过调用子函数ave

22、rage,分别求出主函数main中x和y数组的平均值并输出。#include stdio.hfloat average( (1) ) int i;float sum=0;for(i=0;i=A&*cp=a&*cp=30)&(x=80)&(x!=50)3 .c4 15 206 87 否8 249 无限次10 511 person.birthday.year=199012 宏定义13 814 地址15 int/整型三、写出程序的运行结果(5个小题,每小题4分,共20分):1. a=2,b=1 2. 1 2 6 8 10 12 7 8 9 103. a+b=9 4. 15 5. gfedcba四、完

23、善程序,在空白处填上相应的语句内容(5个小题,每小题4分,共20分):1.(1)printf(“n”); (2)avg=avg/n;2.(1)r=i; (2)ajar3.(1)j=1;ji;j+ (2)i,j,i*j4.(1)float a ,int n (2)return (sum/n);5.(1)cp=str; (2)cp+;五、程序设计题(2个小题,共15分):1. #include “stdio.h”void main( ) float s=0,t=1; 1分int n,p=1; 1分for(n=1;n=y)&(y=z) B(x=y)AND(y=z) Cx=y=z D(x=y)&(y=

24、z)7、以下对二维数组a进行不正确初始化的是_。Aint a 3=3,2,1,1,2,3; Bint a 3=3,2,1,1,2,3;Cint a23=3,2,1,1,2,3; Dint a =3,2,1,1,2,3;8、若有定义:int x,*pb;则以下正确的赋值表达式是_。Apb=&x Bpb=x C*pb=&x D*pb=*9、C语言中函数返回值的类型是由_决定。Areturn语句中的表达式类型 B调用函数的主调函数类型C调用函数时临时决定 D定义函数时所指定的函数类型10、设有如下函数:fff(float x) printf(“%dn” , x*x); 请问fff函数的返回值类型是_

25、A与参数x的类型相同 B是void C是int D无法确定11、在C语言程序中,下列说法正确的是_。A函数的定义不可以嵌套,但函数的调用可以嵌套B函数的定义可以嵌套,但函数的调用不可以嵌套C函数的定义和调用都不可以嵌套D函数的定义和调用都可以嵌套12、下述对C语言字符数组的描述中错误的是_。A字符数组可以存放字符串B字符数组中的字符串可以整体输入、输出C可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值D不可以用算术运算符对字符数组中的字符串进行运算13、以下叙述正确的是_。Ado_while语句构成的循环不能用其它语句构成的循环来代替Bdo_while语句构成的循环只能用break语句

26、退出C用do_while语句构成循环时,只有在while后的表达式为非零时结束循环D用do_while语句构成循环时,只有在while后的表达式为零时结束循环14、( )是不正确的C语言赋值语句。Ax=1, y=2 ; Bx+ ; Cx=y=5 ; Dy=int(x) ;15、若有如下说明,则_的叙述是正确的。struct st int a;int b2;a;A结构体变量a与结构体成员a同名,定义是非法的B程序只有在执行到该定义时才为结构体st分配存储单元C程序运行时为结构体变量a分配6个字节存储单元D不能将结构体类型说明与变量定义紧凑写在一起二、 判断题(10个小题,每小题1分,共10分):

27、1、C语言是计算机高级语言。( )2、C语言中用非零表示逻辑值“真”。( )3、表达式3.5+3/5的计算结果是4.1。( )4、能够实现局部翻转(0变1,1变0)的位运算是求反。( )5、若有以下定义:double w10;则w数组元素下标的上界是9。( )6、C语言中的简单数据类型只有整型、实型两种。( )7、C语言源程序的基本单位是函数。( )8、设有语句char a=72; 则变量a声明不合法。( )9、printf(%dn,strlen(n123);的输出结果是7。( )10、用在循环结构中,可以结束本次循环的语句是continue。( )三、 填空题(9个小题,每空2分,共20分)

28、1、C语言源程序文件的扩展名是_。2、程序设计的三种基本结构是顺序结构、_、_。3、设ch是char型变量,其值为A,且有表达式:ch=(ch=A&ch=Z)?(ch+32):ch,该表达式的值为_。4、调用C语言对字符串处理的库函数时,在#include命令行中应包含的头文件是_。5、终止switch语句执行的语句是_。6、用数组名作为函数参数是地址传递方式。地址传递是_(单向/双向)传递。7、在C语言中,所谓“指针”就是_。8、C程序的main函数是否允许有参数。_(是/否)。9、文件打开时使用的函数是_。四、 读下面程序,从选择项选出相应执行结果(每小题4分,共20分):1、main(

29、)char a=I am a boy.,b20,*p1,*p2;int i;p1=a;p2=b;for(;*p1!=0;p1+,p2+)*p2=*p1;*p2=0;printf(string b is:);for(i=0;bi!=0;i+)printf(%c,bi); 执行结果是( )2、main( ) int a=0,i;for(i=1;i5;i+) switch(i) case 0:case 3: a+=2;case 1:case 2: a+=3;default: a+=5;printf(%dn,a);执行结果是( ) 3、#define N 2#define M N+1main( ) int i;for(i=1;i=M;i+);printf(%dn,i);执行结果是( ) 4、main( ) int a =2,4,6,8,10;int y=1,*p,x;p=&a1;for(x=0;x3;x+)y+=*(p+x);printf(%dn,y);执行结果是

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

当前位置:首页 > 高等教育 > 习题/试题

宁ICP备18001539号-1