c语言期末复习试题,上机练习

发布时间 : 星期五 文章c语言期末复习试题,上机练习更新完毕开始阅读

if(!(i%a)) (1) ;

if( (2) ) printf(\ } }

2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出。 #define N 10 char str[N]; main() {

int i,flag;

for(i=0;i<10;i++)

scanf(\ sort(_(1)__); for(i=0;i

sort(str) char str[N]; { int i,j; char t;

for(j=1;j (2) ) { t=str[i];

______(3)______; ______(4)______;

}

3.将一个磁盘文件中的信息复制到另一个磁盘文件中。 #include \ main()

{ (1) *in,*out;

char ch,infile[10],outfile[10]; printf(\ scanf(\

printf(\ scanf(\

if((in=fopen(infile,\

{ printf(\ exit(0); }

if((out=fopen(outfile,\

{ printf(\ exit(0);

}

while(!feof(in))

fputc( (2) ,out); (3) ;

(4) ; }

4.用指针作函数参数,编程序求一维数组中的最大和最小的元素值。 #define N 10 main() {

void maxmin(int arr[],int *pt1,int *pt2,int n);

int array[N]={10,7,19,29,4,0,7,35,-16,21},*p1,*p2,a,b; p1=&a; p2=&b;

maxmin(array,p1,p2,N);

printf(\

void maxmin(int arr[],int *pt1,int *pt2,int n) {

int i;

*pt1=*pt2=arr[0]; for(i=1;i

if(arr[i]>*pt1) (1) ; if(arr[i]<*pt2) (2) ; } }

2003C语言试题1

一 选择题(7分,每小题0.5分)

1.设a为整型变量,初值为12,执行完语句a+=a-=a*a后,a的值是( )。 A 552 B 144 C 264 D -264

2.下列标识符中,不能作为合法的C用户定义标识符的是( )。 A a3_b3 B void C _123 D IF

3.下列整数值中,不正确的八进制或十六进制数值常量是( )。 A 0xcd B -017 C -ox123 D 0xfdc

4.若给定条件表达式(M)?(a++):(a--),则其中表达式M和( )等价。

A M==0 B M=1 C M!=1 D M!=0

5.在C语言中,if语句后的一对圆括号中,用以决定分支流程的表达式为(A 只能是逻辑表达式 B只能是关系表达式 C 只能是逻辑表达式或关系表达式 D可以是任意表达式 6.以下程序的输出结果为( )。 main( ) { char c; int i;

for(i=65;i<68;i++) { c=i+32;

。 ) switch(c)

{ case ?a?:printf(\%c,\ case ?b?:case ?e?:printf(\ default: printf(\ } } }

A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 7.数组名作为实参数传递给函数时,数组名被处理为( )。 A 该数组的长度 B 该数组的元素个数 C 该数组的首地址 D 该数组中各元素的值 8.关于return语句,下列正确的说法是( )。

A 可以在同一函数中出现多次 B 在主函数中不能出现

C 必须在每个函数中出现 D 只能在除主函数之外的函数中出现一次 9.以下程序的输出结果为( )。 #define A 3

#define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf(\

}

A x=93 B x=37 C x=60 D x=90

10.设有以下定义,则以下对变量w的赋值( )是错误的。 enum week{sun,mon=4,tue,wed,thu,fri,sat}w;

A w=sun; B w=(enum week)4; C w=san; D w=(enum week)9; 11.以下定义结构体类型st1,其中正确的是( )。 A typedef struct student

{ int num; int age; }STD; STD st1;

B struct st1{int num,age;}s;

C struct { int num; float age;}st1;

D struct st1 {int num; int age; }

12.若有下面的变量定义,以下语句中合法的是( )。 int i,a[10],*p;

A p=a+2; B p=a[5]; C p=a[2]+2; D p=&(i+2); 13.若有以下定义和语句,则值为12的表达式是( )。 struct wc{ int a;int *b;}*p;

int x0[]={11,12},x1[]={31,32}; static struct wc x[2]={100,x0,300,x1}; p=x;

A *++p->b B ++p->a C p->b D *(p++)->b

14.要打开一个已存在的非空文件“file”用于修改,选择正确的语句( )。 A fp=fopen(\ B fp=fopen(\

C fp=fopen(\ D fp=fopen(\

二 判断对错,对的划“√”,错的划“×”(5分,每小题0.5分) 1.在Turbo C中,实型数据在内存中占4个字节。( ) 2.若有形参定义:int a[10];则a++是合法的表达式。( ) 3.若有宏定义:#define PI 3.14i5926,则系统预编译时会报错。( ) 4.函数的递归调用不过是一个函数直接地调用它自身。( ) 5.定义在main函数后的任何函数都需在main中进行函数声明。( ) 6.若有定义:int a;则scanf(“%d\可以给变量a赋值。( ) 7.任何数组在使用前必须先定义。( ) 8.在int *p;和语句printf(“%d”, *p);中的*p含义相同。( ) 9.共用体变量的各个成员所占内存单元的地址相同。( )

10.在使用缓冲文件系统时,与文件输入和输出相关的数据都先送到缓冲区中。(三 写出下列程序的运行结果(10分,每小题2分) 1.main( )

{ char c1=?A?,c2=?\\144?,c3=?\\x44?,c=0xf5,x=13,a; int i=0122,j=0xa4;

printf(“c1=%c,c4=%c\\tc5=%c\\n”,c1,c2,c3); printf(“%d,%d\\n”,i,j); i=-34; j=20;

printf(“%d,%d,%d\\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\\n”,c|x); a=c^x<<2;

printf(“a=%d\\n”,a); } 2.main() {

int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7;

printf(“x=%d\\t”,x); printf(“z=%d\\n”,z); }

3.main( )

{ char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0;

联系合同范文客服:xxxxx#qq.com(#替换为@)