C语言试题六套

5.根据以下说明语句,则下面的叙述中不正确的是__D___。 struct student { int num;

char name[10]; int score; }stu;

A.struct是定义结构体类型的关键字 B.stu是结构体变量名

C.num, name, score都是结构体成员名 D.stu是结构体类型名

7.以下哪种方法不能对一维数组进行正确的初始化_C、B__。 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};

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

A.r+ B.rb C.wb D.ab

10.设n为float型,m为int型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入的表达式是m=n*100+0.5,n=m/100.0 【强制转换—向零取整】

6.字母A的ASCII码为十进制数65,1为字符型,a的ASCII码为97,0的ASCII码为48.

12.关于以下程序段,说法正确的是__C__。 x=-1; do

{ x=x*x; }while(!x);

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

14.当调用函数时,实参是一个数组名,则向函数传送的是_数组的首地址 9.在定义数组时,数组名前的类型是指明数组各元素的类型;数组各元素的类型是相同的,而且是有序的;在引用数组元素时,数组元素的下标可以是常量整型表达式也可以是变量;对整型数组来说,未初始化时,各数组元素的值是不确定的。

14.指针变量只能存放内存储单元的__地址______。 15.在C语言中,当函数返回值的类型缺少时,表示该函数返回值的类型是___int/整型____。

9、C语言中函数返回值的类型是由定义函数时所指定的函数类型决定的。

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

4.执行以下程序后,运行结果是__7.000000_____。 #include void main( ) { int a=2;

float n=5.888,b; b=a+(int)n;

printf(“%f\\n”,b);}

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

2.在运行以下程序时,输入“Turbo C++ 3.0”,写出程序的运行结果。#include void main( ) { char str[40]; printf(\scanf(\puts(str);}

Turbo

3.#include void f(int y) { static int i=5; int j=3; j++;

printf(“%d+%d+%d=%d\\n”,i,j,y,i+j+y); i*=2;}

void main( ) { int x;

for(x=1;x<=2;++x) f(x);}

5+4+1=10

4.#include void 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(a

10,20 ?

四、程序填空题,将下面程序补充完整(10个填空,每空2分,共20分): //利用函数形式,求x数组所有元素的平均值并输出。 #include \void main( )

{ float avg,x[10]={1.2,3.6,4.5,5.1,6.9,7,8,9,10.5,11.3}; ①float average(float a[10]); avg=average(x);

printf(\}

float average(float a[10]) { int i;

float sum=0;

for(i=0;i<10;i++) sum=sum+a[i]; ② return(sum/10) ; }

//编写一个计算字符串长度的函数length。 #include \void main( ) { char str[20]; int m;

int length(char *p);

printf(\gets(str);

m=length(str) ;

printf(\}

int length(char *p) { int n=0;

while(*p!='\\0' ) { n++; p++; }

return n; } }

//输入10个整数,按每行3个数输出这些整数,最后输出10个整数的平均值。 #include \void main( )

{ int i,n=10,a[10]; float avg=0;

for(i=0;i<10;i++) scanf(\for(i=0;i<10;i++) { if( i%3==0 ) printf(\

printf(\}

for(i=0;i<10;i++) avg=avg+a[i] ; avg=avg/10;

printf(\}

5.将字符数组中大写字符改为小写字符,将小写字符改为大写字符,利用指针完成。 #include “stdio.h” void main( )

{ char str[30]=“Welcome to C Language”,*cp=str; while(*cp)

{ if(*cp>=?A?&&*cp<=?Z?) ①*cp=*cp+32 ;

else if(*cp>=?a?&&*cp<=?z?) *cp=*cp-32; ②cp++ ; }

puts(str); }

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

//设三个整型变量a,b,c,编写程序为a,b,c输入数据,并要求a,b,c按由小到大排序后输出。(5分)

#include \void main() {

int a,b,c,t;

scanf(\if(a>b)

{t=a;a=b;b=t;} if(a>c)

{t=a;a=c;c=t;} if(b>c)

{t=b;b=c;c=t;}

printf(\}

联系客服:779662525#qq.com(#替换为@)