C语言考试试题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档