武汉轻工大学计算机C语言期末
本试卷为武汉轻工大学计算机C语言期末,题目包括:单项选择题,填空题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,结构体,程序题。
计算机C语言期末
一、单项选择题 (共20题,每题2分,共计40分)
( A )
1、以下程序段给数组所有元素输入数据:
main()
{
int a[10],i=0;
while(i<10)scanf("%d",);
}
应在下划线处填入的是________。
( C )
2、avg功能是求整形数组中的前若干个元素的平均值,设数组元素个数最多不超过则下列函数说明语句错误的是________。
( D )
3、以下c语言用户标识符中,不合法的是________。
( D )
4、以下选项中能表示合法常量的是________。
( B )
5、以下条件表达式中能完全等价于条件表达式 x 的是 _________.
( D )
6、下面程序段的运行结果是 _____________.
for(i=1;i<=5;)
printf("%d",i);
i++;
( B )
7、请读程序 :
#include <stdio.h>
f(int b[ ], int n)
{
int i, r=1;
for(i=0; i<=n; i++) r=r*b[i];
return r;
}
void main()
{
int x, a[]={2,3,4,5,6,7,8,9} ;
x=f(a, 3);
printf("%d\n",x);
}
上面程序的输出结果是 __________.
( D )
8、在下面的函数声明中,存在着语法错误的是________。
( B )
9、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu {
int i;
int name;
} st,*p; p=&st;
( C )
10、设
struct data
{
int a;
float b;
} c,*p=&c;
,引用正确的是________。
( B )
11、条件语句________。
( B )
12、下面函数的功能是________。 a(s1,s2) char s1[],s2[]; while(s2++=s1++);
( C )
13、设有以下语句:
typedef struct tt { char c; int a[4]; } cin; 则下面叙述中正确的是________。
( D )
14、以下程序的输出结果是______。
main() {
int a=3;
printf("%d\n",(a+=a-+a*a) )
}
( B )
15、下列关于字符串的说法中错误的是________。
( C )
16、已知英文字母m的ascii码值为6dh,那么ascii码值为70h的英文字母是________。
( B )
17、以下对局部变量描述错误的是________。
( C )
18、执行下列程序后,i的值是________。 int i,x; for(i=1,x=1;i<20; i++) { if (x>=10) break; if(x%2==1) { x+=5; continue; } x-=3; }
( A )
19、main()
{int x=1,a=0,b=0;
switch (x)
{ case 0: b++;
case 1: a++;
case 2: a++;b++;}
printf("a=%d,b=%d",a,b);}
该程序的输出结果是( )
( B )
20、下列四个选项中,均是 C语言关键字的选项是()。
二、填空题 (共10题,每题2分,共计20分)
1、有一输入函数scanf("%d",k);
则不能使用float变量k得到正确数值的原因是__________和____________。scanf语句的正确形式应该是:_____________。
2、在c语言中,用转义字符 \\ 表示______________。答题提示:双引号/单引号/反斜线/横向跳格/回车换行
3、下列程序段的运行结果是_____。intb=20,*q;
q=&b; printf("%d",*q);
4、已知a=5,则表达式"a+=a*=3"的值是________。
5、有以下程序
#include <string.h>
main()
{
char a[]={'d','e','f','g','h','\0'};
int j;
j=strlen(a);
printf("%d\n",j);
}
程序运行后的输出结果是________。
6、下列程序段的运行结果是________。
main()
{
int a=5,b=6,c;
int min(int,int);
c=min(a,b);
printf("%d\n",c);
}
int min( int x , int y )
{
int z;
if(x<y) z=x;
else z=y;
return z ;
}
7、在c语言中,若确实不要求返回函数值,则应将函数定义为( )类型。
8、执行下列的程序段后,正确的结果是_____________。
int i=5;
while( i = 1)i -- ;
printf("%d", i );
9、若要定义一个单精度实型变量f,则应该使用的定义语句为________。
10、在c语言中,'\n'表示________。
三、编程题 (共3题,每题0分,共计40分)
1、编写程序求解约瑟夫问题,有n个小孩围成一圈,给他们从1开始编号。现指定从第w个小孩开始报数,报到s时出列然后从下个小孩开始重新报数,报到s时出列如此重复下去直到所有的小孩都出列。求小孩出列的顺序,使用结构体实现。
2、古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
3、从键盘上输入一个字符串, 计算字符串里有多少个空格、小写字母、大写字母、数字。
相关标签:
- C语言
- 武汉轻工大学
- 期末