曙海教育集团论坛开发语言培训专区C语言开发 → C语言自测题目A与答案


  共有5872人关注过本帖树形打印

主题:C语言自测题目A与答案

美女呀,离线,留言给我吧!
wangxinxin
  1楼 个性首页 | 博客 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:青蜂侠 帖子:1393 积分:14038 威望:0 精华:0 注册:2010-11-12 11:08:23
C语言自测题目A与答案  发帖心情 Post By:2010-12-10 9:51:28

一.选择题(共20题,每题1。5分,共30分)
1.可在C程序中用作用户标识符的一组的是
A.void B.as_b3 C.for D.2c
2. 若变量已正确定义并赋值,符合C语言语法的表达式是
A.a=a+7; B.a=7+b+c,a++ C.int(12.3%4) D.a=a+7=c+b
3. 不合法的八进制数是
A.0 B.028 C.077 D.01
4.下列运算符中优先级最高的运算是
A.! B.% C.-= D.&&
5.设a,b和c都是int型变量,且a=3,b=4,c=5;则表达式中,值为0的是
A.a&&b B.a<=b C.a||b+c&&b-c D.!((a<b)&&!c||1)
6.以下程序的输出结果是
A.0 B.1 C.2 D.3
main()
{int a=2,b=-1,c=2;
If (a<b)
If (b<0) c=0;
else c+=1;
printf(“%d\n”,c);
}
7.以下程序的输出结果是
A.1 B.2 C.3 D.4
main()
{int w=4,x=3,y=2,z=1
Printf(“%d\n”,(w<x?w:z<y?z:x))
}
8.以下程序的输出结果是
A.9 B.1 C.11 D.10
Int k,j,s;
For(k=2;k<6;k++,k++)
{s=1;
for(j=k;j<6;j++) s+=j;
}
Printf(“%d\n”,s);
9.以下程序的输出结果是
A.741 B.852 C.963 D.875421
main()
{ int y=10;
for(;y>0;y--)
if (y%3==0)
{printf(“%d”,--y); continue;}
}
10.设有定义语句char a=’\72’;则变量a包含 个字符。
A.1 B.2 C.3 D.说明不合法
11.以下程序的输出结果是
A.因输出格式不合法,无正确输出 B.65,90
C.A,Y D.65,89
main()
{ char c1=’A’,c2=’Y’;
Printf(“%d,%d\n”,c1,c2);
}
12.以下叙述中正确的是
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main函数中定义
C.C语言程序总是从main函数开始执行
D.C语言程序中的main函数必须放在程序的开始部分
13.以下函数的类型是
A.与参数x的类型相同 B.void 类型 C.int类型 D.无法确定
Fff(float x)
{printf(“%d\n”,x*x);}
14.以下函数调用语句中,含有的实参个数是
A.1 B.2 C.4 D.5
Func((exp1,exp2),(exp3,exp4,exp5));
15.以下程序的输入结果是 。
A.1,5,9, B.1,4,7, C.3,5,7, D.3,6,9,
Main()
{int I,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++) printf(“%d,”,x[2-i]);
}
16.执行语句”char a[10]={“abcd”};*p=a;”后,*(p+4)的值是
A.“abcd” B.’d’ C.’\0’ D.不能确定
17. 执行语句“int (*ptr)[10];”其中的ptr是
A.10个指向整型变量的指针 B.指向10个整型变量的函数指针
C.一个指向具有10个元素的一维数组指针 D.具有10个指针元素的一维数组
18.设有如下定义,则对data中的a成员的正确引用是
Struct sk{int a;float b;}date,*p=&date;
A.(*p).date.a B.(*p).a C.p->data.a D.p.data.a
19、以下对枚举类型名的定义正确的是
A. enum a={one ,two ,three}; B. enum a{a1,a2,a3};
C. enum a={‘1’,’2’,’3’}; D. enum a{“one ”,”two”,”three”};
20、若有如下定义,则printf(“%d\n”,sizeof(them));的输出是
Typedef union{long x[2];short y[4];char z[8];}MYTYPE;
MYTYPE them
A.32 B.16 C. 8 D.24
二.填空题(共30分,每空2分)
1.若k为int 整形变量且赋值11,请写出运算k++后表达式的值为 和变量k 的值为 。
2.在内存中存储“ABCD”要占用 字节。
3.表示存储类型的关键字有auto, ,register和 。
4.描述命题“A小于B或者小于C”的表达式为 。
5.请写出以下程序的输出结果 。
main()
{int a=100;
If (a>100) printf(“%d\n”,a>100);
else printf(“%d\n”,a<=100);
}
6.当a=1,b=2,c=3时,以下if 语句执行后,a,b,c中的值分别为 , , 。
If(a>c)
b=a;a=c;c=b;
7.若变量已正确定义,以下语句段的输出结果是 。
x=0;y=2;z=3;
Switch(x)
{ case 0: switch(y==2)
{case 1:printf(“*”);break;
case 2:printf(“%”);break;
}
Case 1: switch(z)
{case 1:printf(“$”);
case 2:printf(“*”);break;
default :printf(“#”);
}
}
8.以下程序的输出结果是 。
unsigned fun6(unsigned num)
{unsigned k=1;
do {k*=num%10;num/=10;}
while(num);
return k;
}
main()
{unsigned n=26;
Printf(“%d\n”,fun6(n));
}
9.用递归法计算整数的阶乘函数
float fac(int n)
{ if (n<0)
{Printf(“error\n”);return(0.0)}
else if (n<1) f=1;
else f= ;
return(f);
}
10、设有以下语句
Int a[3][4]{{1,3,5,7},{2,4,6,8},{9,10,11,12}},*p=a;
则printf(“%d”,*(p+2*4+1))的输出结果为 .
11. C语言源程序的基本单位是_________。
三. 判断对错,对的划“√”,错的划“×”(10分,每小题2分)
1.参加位运算的数据可以是任何类型的数据。( )
2.若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c=‘A’,f=12.5。( )
3.C语言把文件看作是一个字符(字节)的序列。( )
4.若有定义和语句:int a[3][3]={{3,5},{8,9},{12,35}},i,sum=0;for(i=0;i<3;i++) sum+=a[2-i];则sum=21。( )
5.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量。( )
四.程序填空(20分,每题5分)
1.以下程序的功能是:从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请填空。
main()
{float x,amax,amin;
scanf(“%f”,&x);
amax=x;
while( )
{ if(x>amax) amax=x;
If ( ) amin=x;
Scanf(“%f”,&x);
}
Printf(“\namax=%f\namin=%f\n”,amax,amin);
}

2.有以下程序段:
s=1.0;n=10;
for(k=1;k<n;k++) s=s+1.0/(k*(k+1));
printf(“%f\n”,s);
请填空,使下面的程序段的功能完全与之等同。
S=0.0;

k=0;
do {
s=s+d;
;
d=1.0/(k*(k+1));
}while( );
Printf(“%f\n”,s);

3.下列函数从字符数组s[]中删除存放在c中的字符,请填空。
Void delete(s,c)
Char s[],c;
{int i,j;
For (i=j=0; ;i++ )
If (s c)
S[ ]=s;
=’\0’;
}
4、下面的函数strcat(str1,str2)实现将字符串str2拼接到字符串str1后面的功能。请程序中的空白处填入一条语句或一个表达式。
strcat(str1,str2 )
Char *str1,*str2;
{char *t=str1;
While( )str1++;
While( );
Return(t);
}
五、写一函数对数组前n个数按从小到大排序 (10 分)
C程序设计题参考(A卷)答案
一. 选择题(每小题2分,共同40分)
1、B 2、B 3、B 4、A 5、D
6、C 7、A 8、D 9、B 10、A
11、D 12 、C 13、C 14、B 15、C
16、C 17、C 18、B 19、B 20、C
二.填空题(共30分,每空2分)
1、11 12
2、5
3、static extern
4、A<B||A<C
5、1
6、3 2 2
7、*#
8、12
9、fac(n-1)*n
10、4
11. 函数
三. 判断对错,对的划“√”,错的划“×”(10分,每小题2分)
1.( × ) 2.( √ ) 3.( √ )4.( √ ) 5.( √ )
四.程序填空(20分,每题5分)
1.x>=0 x<min
2.d=1.0,n=10; k++; k<=n;
3.s != j++ s[j]
4.*str1 *str++=*str2++
五、写一函数对数组前n个数按从小到大排序 (10 分)
void sort(int array[],int n)
{int i,j,t;
For (i=0;i<n-1;i++)
For (j=i+1;j<n;j++)
If (array>array)
{t=array;
Array=array[j];
Array[j]=t;
}
}

支持(0中立(0反对(0单帖管理 | 引用 | 回复 回到顶部

返回版面帖子列表

C语言自测题目A与答案








签名