C语言考试试题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
试题
课程名称C语言程序设计适用时间
试卷类别 A 适用专业、年级、班
一、选择题(每小题2分, 2×25=50分)
1.下列叙述错误的是( )。
A) C程序中的每条语句都用一个分号作为结束符B) C程序中的每条命令都用一个分号作为结束符
C) C程序中的变量必须先定义,后使用
D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写
2.以下叙述不正确的是( )。
A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成
C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面
3.C语言中最简单的数据类型包括( )。
A)整型、实型、逻辑型B)整型、实型、字符型
C)整型、字符型、逻辑型D)字符型、实型、逻辑型
4.C语言中运算对象必须是整型的运算符是( )。
A)%= B)/ C)= D)<=
5.若变量a,i已正确定义,且i已正确赋值,合法的语句是( )。
A)a= =1 B)++i;C)a=a++=5;D)a=int(i);
6.下列运算符中优先级最高的是( )。
A) < B) + C) && D) ! =
7.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型是( )。
A) int B) float C) double D) char
8.设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是( )。
A)把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值
9.设整型变量a,b的值均为8, printf("%d,%d",(a++,++b),b--);的输出是( )。
A)8,8 B)8,7 C)9,9 D)8,9
10.若有语句scanf("%d%d",&a,&b);要使变量a,b分别得到10和20,正确的输入形式为( )。
A)10 20 B)10,20 C)1020 D)10:20
11.判断char型变量ch是否为大写字母的正确表达式是( )。
A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z') C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch)
12.有如下程序
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\n",a,b);} 该程序的输出结果是( )。
A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2
13.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:
main( )
{ int n,k; float score,sum,ave;
sum=0.0;
for(n=1;n<=10;n++)
{ for(k=1;k<=4;k++)
{ scanf("%f",&score);
sum+=score; }
ave=sum/4.0;
printf("NO%d:%f\n",n,ave); }
} 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。
A) sum=0.0; B) sum+=score; C) ave=sun/4.0; D) printf("NO%d:%f\n",n,ave);
14.要使下面程序段输出10个整数,则在下划线处填入正确的数是( )。
for(i=0;i<=____ ;)
printf("%d\n",i+=2);
A) 9 B) 10 C) 18 D) 20
15.对以下说明语句的正确理解是( )。
int a[10]={6,7,8,9,10};
A)将5个初值依次赋给a[1]至a[5] B)将5个初值依次赋给a[0]至a[4]
C)将5个初值依次赋给a[6]至a[10] D)因为数组长度与初值的个数不相同,所以此语句不正确
16.对两个数组a和b进行如下初始化
char a[]="ABCDEF";
char b[]={'A','B','C','D','E','F'};
则以下叙述正确的是( )。
A) a与b数组完全相同B)a与b长度相同C) a和b中都存放字符串D)a数组比b数组长度长
17.运行下面程序段的输出结果是( )。
char s[12]="string";
printf("%d",strlen(s));
A) 12 B) 7 C) 6 D) 5
18.已定义以下函数
fun(char *p2, char *p1)
{ while((*p2=*p1)!='\0'){p1++;p2++;}
}
函数的功能是( )。
A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2
C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'
19.下列程序的运行结果是( )。
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)6 3 B)3 6 C)编译出错D)0 0
20.有如下说明
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则数值为9的表达式是( )。
A)*p+9B)*(p+8)C)*p+=9D)p+8
21.在说明语句:int *f( ); 中,标识符f代表的是( )。
A) 一个用于指向整型数据的指针变量。B) 一个用于指向一维数组的行指针。
C) 一个用于指向函数的指针变量。D) 一个返回值为指针型的函数名。
22.若有说明:int i,j=2,*p=&i;,则能完成i=j赋值功能的语句是( )。
A) i=*p; B) *p=*&j; C) i=&j; D) i=**p;
23.若有以下程序段,执行后的输出结果是( )。
char s1[20]="BEIJING",*s2="SHANGHAI";
printf("%d",strlen(strcpy(s1,s2)));
A)8 B)7 C)15 D)9
24.在下列定义中的共用体所占内存字节数是( )。
union
{ char k[6];
struct
{int m;
float f; }a;
double d; }b;
A)8 B)14 C)18 D)10