C程序设计期末考试习题库(删节版)_(1)_免费下载 联系客服

发布时间 : 星期一 文章C程序设计期末考试习题库(删节版)_(1)_免费下载更新完毕开始阅读e495d74cc5da50e2534d7f13

选择练习题

1、C语言中最简单的数据类型包括( B )。 A、整型,实型,逻辑型

B、整型,实型,字符型

D、整型,实型,逻辑型,字符型

C、整型,字符型,逻辑型

2、C语言中,运算对象必须是整型数的运算符是(A )。 A、%

B、/

C、%和/

D、*

3、为表示关系x<y<z,应使用C语言表达式( A )。 A、(x<y)&&(y<z) B、(x<y)AND(y<z) C、(x<y<z) D、(x<y) &(y<z) 4、C语言程序的基本单位是( C )。

A、程序行 B、语句 C、函数 D、字符 5、C语言的程序一行写不下时,可以( D )。 A、用逗号换行 B、用分号换行 C、用回车符换行 D、在任意一空格处换行 6、下述标识符中,( C )是合法的用户标识符。

标识符由字母,数字和下划线组成 A、A&B B、void C、_student D、ab* 且第一个字符必须为字母或下划线 7、在C语言中,字符型数据在内存中以( B )形式存放。 A、补码 B、ASCII码 C、反码 D、原码

8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B )。 A、auto B、extern C、static D、Register

auto自动变量 9、以下关于switch语句和break语句的描述中,只有(B )是正确的。 register寄存器变量 extern 外部变量 A、在switch语句中必须使用break语句

static静态变量 B、在switch语句中,可以根据需要使用或不使用break语句

C、break语句只能用于switch语句中 D、break语句是switch语句的一部分

10、C语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。 A、地址传递 B、值传递

C、由实参传给形参,并由形参传回给实参 D、由用户指定传递方式 11、下述C语言转义符中( D )是非法的。 A、'\\b' B、'\\037' C、'\\0xf ' D、'\\''

12、为了要计算s=10!(10的阶乘),则以下对s的定义正确的是( D )。

1

A、int s B、unsigned s C、short s D、long s

13、判断变量ch中的字符是否为大写字母,最简单的正确表达式是( A )。 A、ch>='A'&&ch<='z' B、A<=ch<=Z C、'A'<=ch<='z' D、ch>=A&&ch<=z 14、在C语言中,能表示无符号长整型常数的是(D )。 A、OL B、4962710U C、912374u D、2UL 15、能正确表示C语言的字符常量的是( C )。 A、'\\0x41' B、''A'' C、'\\0' D、''\\0'' 16、C语言中逻辑表达式的值为( A )。

A、0或1 B、非零值或零值 C、true或false D、'true'或'false' 17、C语言提供的基本数据类型关键字是( C )。

A、integer B、FLOAT C、unsigned D、Double 18、若定义语句:int b[ ]={1,2,3,4,5},*P=b;则表达式*p++的值是( A )。 A、1 B、2 C、b[0]的地址 D、b[1]的地址 19、在下列选项中,不正确的表达式是( C )。

A、a>b B、c--, ++b, a+=1 C、a=c+b>n-m=k D、p++ 20、若有以下定义: int a[ ]={1,2,3,4,5,6,7}; char cl='b',c2='2';

则数值不为2的表达式是( D )。

A、a[1] B、'd'-cl C、a['3'-c2] D、c2-0 25、下述对C语言字符数组的描述中错误的是( C )。 A、字符数组可以存放字符串

B、字符数组中的字符串可以整体输入、输出

C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值 D、不可以用关系运算符对字符组中的字符串进行比较 27、以下程序的输出结果是( A )。 main( )

{ int i=010, j=10, k=ox10; printf(''%d,%d,%d\\n'',i,j,k); }

2

A、8,10,16 B、8,10,10 C、10,10,10 D、10,10,16 28、以下程序的输出结果是( B )。 #include<stdio.h> main( )

{printf(''%d\\n'',NULL);}

A、不确定的值(因变量无定义) B、0 C、-1 D、1 29、以下程序的输出结果是( B )。 main( )

{ char c1='6',c2='0';

printf(''%d,%d,%d\\n'',c1,c2,c1-c2); }

A、因输出格式不合法,输出出错信息 B、54,48,6 C、6.0,7 D、6,0,6 32、下述对C语言字符数组的描述中错误的是( C )。 A、字符数组可以存放字符串

B、字符数组中的字符串可以整体输入、输出

C、可以在赋值语句中通过赋值运算符''=''对字符数组整体赋值 D、不可以用关系运算符对字符组中的字符串进行比较 33、Turbo C中,对于以下程序( A )。 main( ) { int x,y; y=creat(&x); printf(''%d \\n'', y); } creat(int a) {return a++;} A、编译时会给出错信息

B、顺利进行编译、连接、执行;不报任何错误 C、顺利通过编译、连接、但不能执行 D、顺利通过编译,但连接出错 34、设有如下定义: int x=10, y=4,z;

3

则语句:

printf(''%d\\n'', z=(x%y, x/y)); 的输出结果是( C )。

A、1 B、0 C、2 D、3 35、下述程序段的输出结果是( D )。 main( )

{ int x=10, y=10;

printf(''%d, %d\\n'', x++, ++y); }

A、10,10 B、11,11 C、11,10 D、10,11 36、定义如下变量和数组: int j;

int x[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是( C )。 for(i=0;i<3;i++﹚ printf(''%d'', x[i][2-i]);

A、159 B、147 C、357 D、369

37、若要求在if后一对圆括号中表示a不等于0的关系,则不能正确表示这一关系的表达式为( C )。

A、a<>0 B、!a C、a=0 D、a 38、若m,y,z均为int型变量,则执行下面语句后m值是(A )。 m=1;x=2;y=3;z=4; m=(m<x)?m:x; m=(m<y)?m:y; m=(m<z) ?m:z;

A、1 B、2 C、3 D、4

39、若有定义:int a=7;float x=2.5,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值是( A )。

A、2.500000 B、2.750000 C、3.500000 D、0.000000 40、如下说法不正确的是( C )。 A、c>a+b等效于c>(a+b)

4