C语言期末试卷A

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、单项选择题(每空2 分,共50 分)

(请将各小题正确答案的字母序号填到相应小题的下划线上)

1.C语言的运算符按运算对象的数目可以分为。

A)单目运算一种B)单目和双目运算符

C)单目、双目和三目运算符D)单目、双目、三目运算和四目运算符

2.C语言表达式2/5*10的值是。

A) 0.04 B)4 C)4.0 D)0

3.已知变量f和i的类型说明如下:

float f=12.34; int i;

则以下符合C语言语法的表达式是。

A) i=(int)f%5 B) i=int(f)%5

C) i=f%5 D) i=(int f)%5

4.能正确表示数学式1≤x≤5的C语言表达式是。

A)1 <=x<=5 B)(x> =1)&(x<=5 )

C)(x>=1 )&&(x<=5) D)(1 < =x)||(5> =x)

5.设变量c的数据类型是char,i的数据类型是int,f的数据类型是float,

则C语言表达式c*i+c*f-i+100值的数据类型为。

A)int B) float C) char D)不确定

6.在下列选项中,合法的C语言用户标识符的是。

A)int B)sin C)if D)i+j

7.C程序的执行从开始。

A)程序中的第1个语句B)程序中的第1个函数

C)名为main 的函数D)包含文件的第1个函数

8.凡在C语言函数中未指定存储类别的变量,其隐含的存储类别为。

A)自动(auto) B)静态(static) C)字符串D)字符或字符型变量值

9.以下程序运行时要求输入10和20分别存放在变量x和y中,能正确输入数

据的是。

main()

{int x,y;

scanf("x=%d,y=%d",&x,&y);

printf("x+y=%d",x+y);

}

(说明:用表示换行符,用_表示空格符)

A)10_20 B)x=10,y=20

C)10 D)x=10

20 y=20

10.下面程序的运行结果是。

main()

{

int a,b;

a=32767;

b=a+1;

printf("a=%d,b=%d\n",a,b);

}

A)a=32767,b=-32768 B)a=32767,b=32768

C)a=32767,b=1 D)运行出错

11.在C语言中,以下错误的描述是。

A)break语句不能用于循环语句和switch语句外的任何其它语句

B)在switch语句中使用break语句或continue语句的作用相同

C)在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循

D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环

12.在C语言中,数组作为函数的形参,函数调用时,若用数组名作为函数的实

参,则实际上传递给形参的是。

A)数组首地址B)数组的第一个元素值

C)数组中全部元素的值D)数组元素的个数

13.C语言编译系统对宏命令是。

A)在程序运行时进行替换处理

B)在程序连接时进行处理

C)和源程序中其它C语句同时进行编译

D)在对源程序中其它成份正式编译之前进行处理

14.设 x、y为整型变量且已赋值,将其中较大的值输出的、正确的 if 语句

是。

A) if ( x >y ) printf ( “ %d ” , x );

B) if ( x >y ) printf ( “ %d ” , x );printf ( “ %d ” , y );

C) if ( x >y ) ; printf ( “ %d ” , x ); else printf ( “ %d ” , y );

D) if ( x >y ) printf ( “ %d ” , x ); else printf ( “ %d ” , y );

15.对以下程序段描述正确的是。

x=10;

while(x) x=x/4;

A) 不执行循环体B) 循环体执行一次C) 循环体执行二次D) 死循环

16.在C语言中,引用数组元素时,对数组下标的数据类型以下说法错误的

是。

A) 数组下标可以用整型常量B) 数组下标可以用整型变量

C) 数组下标可以用任意类型的表达式D) 数组下标可以用整型表达式

17.以下C函数的功能是。

int fun(int x,int y)

{ int z=0;

z=x>y?x:y;

return z; }

A) 求x 和y二者中的最大值B) 求x 和y二者中的最小值

C) 返回一个不确定的值D) 返回函数值为“0”

18.定义数组:int s[10];则数组元素下标的取值。

A) 最小值为1,最大值为10 B) 最小值为0,最大值为10

C) 最小值为0,最大值为9 D) 最小值为1,最大值为9

19.已知 int i,s[4][5];不能表示数组第3行第3列元素值的是。

A) * ( * ( x) )+ 3 B) x [ 3 ] [ 3 ]

C) * ( * ( x + 3 ) + 3 ) D) * ( x [ 3 ] + 3 )

20.以下C函数的类型是。

fun (float f )

{ printf ( “ %f \n ” , f ) ; }

A) int B) float C) void D) 无法确定

21.设char *s1,s2[255]=“programing” ;以下操作正确的是。

A) *s1 = “function”;B) s2=“function”;s1=s2;

C) s1 = “function”;s2=s1;D) *s2='P';s1 =s2 ;

22.设有说明语句:

struct student

{ int num,age; };

struct student stu[3]={{6001,20},{6003,21},{6005,19}};

struct student *p=stu;

则下面的C语言表达式中,值为6003的是。

A) ++(p->num) B) (p++)->num

C) (*p++).num D) (*++p).num

23.已有定义 int ( * p ) ( ) ; 则指针 p 可以。

A) 代表函数的返回值B) 指向函数的入口地址

C) 代表函数的类型D) 代表函数返回值的类型

24.若用下列语句输出26个大写英文字母:

(1)for(a='A';a<='Z';a++) printf("%c",a);

(2)for(a='Z';a>='A';a--) printf("%c",a);

(3)for(a='A';a<='Z';) printf("%c",a++);

(4)for(a='A';a++<='Z';) printf("%c",a);

以下说法正确的是。

A)全都能输出B)只有前三个语句可以输出

C)只有前两个语句可以输出D)只有第一个语句可以输出

25.设以下程序用来求三个元素的数组中,第1个元素与第3个元素之和(程序

每行前面的数字表示行号)。

1 main()

2 { int a[3]={3*0},i;

相关文档
最新文档