桂林电子科技大学C语言精选样卷及答案
- 格式:pdf
- 大小:108.38 KB
- 文档页数:11
桂林电子科技大学
C语言精选样卷
总 分:【100分】考试时间:【90分钟】
一、单项选择题 (共20题,每题2分,共计40分)
( )1、在下列选项中,不正确的表达式是________。
A、a>b
B、c--, ++b, a+=1
C、a=c+b>n-m=k
D、p++
( )2、若变量x、y已正确定义并赋值,以下符合c语言语法的表达式是________。
A、++x,y=x--
B、x+l=y
C、x=x+10=x+y
D、double(x)/10
( )3、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);}
该程序的输出结果是( )
A、2,1
B、1,1
C、1,0
D、2,2
( )4、下列选项中均属于c语言合法的标识符是________。
A、Int
#sub
break
B、_3ab
FOR
第1/11页
Long
C、3a
printf
a_b
D、WORD
auto
include
( )5、下列程序的运行结果是________。
void fun(int*a,int*b)
{
int *k;
k=a;
a=b;
b=k;
}
main()
{
int a=3,b=6,*x=&a,*y=&b;
fun(x,y);
printf("%d%d",a,b);
}
A、63
B、36
C、编译出错
D、0 0
( )6、下列程序段的输出是____。int c[]={1, 3, 5};
int *k=c+1;
printf("%d", *++k);
A、3
B、4
C、5
D、6
( )7、定义如下变量和数组: int k; int a[3][3]= {9,8,7,6,5,4,3,2,1}; 则下面语句的输出结
果是________。
for(k=0;k<3;k++) printf("%d",a[k][k]);
A、7 5 3
B、9 5 1
C、9 6 3
第2/11页
D、7 4 1
( )8、在c 语言中,退格符是________。
A、\n
B、\t
C、\v
D、\b
( )9、设有定义: char *c; 以下选项中能够使字符型指针c正确指向一个字符串的是________。
A、char str[]="string";c=str;
B、scanf("%s",c);
C、c=getchar();
D、*c="string";
( )10、下面对二维数组array的定义,正确的是________。
A、int array[][4];
B、char array[3,4];
C、float array(3)(4);
D、float array[3][4];
( )11、在函数说明时,下列不必要的是________项。
A、函数参数的类型
B、函数参数名字
C、函数的名字
D、返回值表达式
( )12、若已定义:int a[9],*p=a; 并在以后的语句中未改变p的值,不能表示a[1]地址的表达式是
________。
A、p+1
B、a+1
C、&a[1]
D、*p[1]
( )13、排序的重要目的是为了以后对已排序的数据元素进行________。
A、打印输出
B、分类
C、查找
D、合并
( )14、static struct 第3/11页
( )14、static struct
{
int a1;
float a2;
char a3;
}
a[10]={1,3.5,'a'};
说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存 储方式,其中被初始化的下标
变量是________。
A、a[1]
B、a[-1]
C、a[0]
D、a[10]
( )15、下列程序的输出结果是________。
void fun(int*x,int y)
{
printf("%d%d",*x,*y);
*x=3;
*y=1;
}
main()
{
int x=1,y=2;
fun(&y,&x);
printf("%d%d",x,y);
}
A、2 1 4 3
B、1 2 1 2
C、1 2 3 4
D、2 1 1 2
( )16、程序的基本控制结构是______。
A、顺序结构,多分支结构和单分支结构
B、顺序结构,支结构和循环结构
C、顺序结构,选择结构和循环结构。
D、单行结构和多行结构。
( )17、设有以下语句:
typedef struct tt { char c; int a[4]; } cin; 则下面叙述中正确的是________。
A、可以用TT定义结构体变量
第4/11页
B、TT是struct类型的变量
C、可以用CIN定义结构体变量
D、CIN是struct TT类型的变量
( )18、下列程序执行后的输出结果是________。
main()
{
int a[3][3],*p,i,j;
p=&a;
for(i=p;i<9;i++)p[i]=i-i+1;
printf("%d\n",a[1][2]);
}
A、3
B、6
C、9
D、随机数
( )19、已定义两个字符数组a,b,则以下正确的输入格式 是________。
A、scanf("%s%s", a, b);
B、get(a, b);
C、scanf("%s%s", &a, &b);
D、gets("a"),gets("b");
( )20、设有如下定义:
struct sk
{
int a;
float b;
}
data,*p;
若要使p指向data中的a域,正确的赋值语句是________。
A、p=(struct sk*)&data.a;
B、p=(struct sk*) data.a;
C、p=&data.a;
D、*p=data.a;
二、填空题 (共10题,每题2分,共计20分)
1、赋值语句是由______加上一个分号构成。
第5/11页
2、若a=1,b=2,c=3,d=4, 则表达式a>b?a:c>d?c:d 的值是________。
3、字母'a'的ascii码值为多少()
4、若x、y、z均为int型变量,则描述“x或y中有一个小于z”的表达式是______
5、for (a=1,b=1;a<=100;a++)
{
if(b>=20) break;
if(b%3==1)
{
b+=3;
continue;
}
b-=5;
}
程序的输出结果a的值为________ 。
6、执行下列程序段后,输出的a的值是_____________。
main()
{
int a = 1;
switch(a)
{
case 0: a--;
break;
case 1: a++;
break;
case 2: a=a+5;
break
}
printf("%d",a);
}
7、一般地,调用标准字符或格式输入输出库函数时,文件开头应有以下预编译命令:________ 。
8、#include <stdio.h>
void main()
{
int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for (i=1;i<3;i++) for (j=0;j<i;j++) s+=a[i][j];
printf("%d\n",s);
}
9、有以下程序 int sub(int n)
{
return (n/10+n%10);
}
第6/11页
main()
{
int x,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d\n",y);
}
若运行时输入:1234<回车>,程序的输出结果是 ________ 。
10、以下程序的运行结果是_____________。
main( )
{
int k, a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
for( k=0;k<4;k ++)printf("%d,",a[k][k]);
}
三、编程题 (共3题,每题分值不等,共计40分)
1、求1+2+3+……….+100。 (本题10分)
2、编写程序:利用递归函数调用方式,将所输入的5个字符,以相反顺序打印出来。 (本题14
分)
3、有以下学生信息,使用结构体数组存储这些信息
struct student{
int num;//学号
int computer; //计算机成绩
}s[5]={{101,75},{103,80},{104,85},{106,90}};
再输入一条新记录,插入到结构体数组中,让5条记录按计算机成绩升序有序。
【输入形式】2个数据都使用空格分隔
【输出形式】分五行输出数据,每行数据均使用空格分隔
【输入样例】102 88
【输出样例】每行数据均使用一个空格分隔,分五行输出
101 75
103 80
104 85
102 88
106 90 (本题16分)
第7/11页