桂林电子科技大学
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
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
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
{
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;
c 字符串数组怎么定义
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定义结构体变量
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、赋值语句是由______加上一个分号构成。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。