C语言复习题1

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

C程序设计复习题1

一、选择题

1.组成C程序的基本单位是________。

A)表达式与语句B)若干文件C)函数D)main函数2.C程序中能直接让机器执行的文件是____C____。

A)编辑后的.c源文件

B)通过编译的.obj文件

C)通过连接的.exe文件

D)正在编辑的源文件存盘为后缀为.exe的文件

3.有关以下函数的哪些说法是正确的________。

int add( int x;int y)

{ z=x+y;

return z; }

A)此函数能单独运行

B)此函数存在语法错误

C)此函数通过main函数能调用

D)此函数没有语法错误

4.在C语言中,正确的int类型的常数是________。

A)-2U B)059 C)3a D)0xAF 5.下列变量定义正确的是________。

A)int x_1 ; y;

B)int x=y=5 ;

C)int for=4;

D)int printf=2,x_y=2;

6.下列数据中,为字符的是________。

A)'AB' B)"A" C)How D)'A'+2 7.有程序段如下,不能表示为地址的是________。

int x=2,*p;

p=&x;

x=x+1;

A)&x B)p C)&p D)x

8.下列表达式没有错误的是________。

int x,*p;

A)5.0%2 B)x+1=5 C)&x D)&(x+1)9.下列错误的语句是________。

A)int k,*p=&k; scanf(“%d”,&k);

B)int k,*p=&k; scanf(“%d”,p);

C)int k,*p; *p=&k; scanf(“%d”,p);

D)int k,*p ; p=&k; scanf(“%d”,p);

10.任何复杂的程序,都是由________构成的。

A)分支结构、顺序结构、过程结构B)循环结构、分支结构、过程结构

C)顺序结构、循环结构、分支结构D)循环结构、分支结构

11.以下说法中正确的是________。

A)C程序总是从第一个定义的函数开始执行

B)在C程序中,要调用的函数必须在main函数中定义

C)C程序总是从main函数开始执行的

D)C程序中的main函数必须放在程序的开始部分

12.在C语言类型说明中,int、char、short等类型的长度是__B______。

A)由用户自己定义的B)与机器字长有关的

C)固定的D)任意的

13.以下字符中,不正确的C语言转义字符分别是________。

A)‘\\’B)‘011’C)‘\’’D)‘\xaa’

14.以下选项中,合法的C语言关键字是________。

A)integer B)Char C)short D)Long

15.若一个外部变量的定义形式为static int x ; 其中static的作用是___D_____。

A)将变量存放在静态存储区,使x的值可以永久保留

B)使变量x可以由系统自动初始化

C)使x只能在本文件内引用

D)使x的值可以永久保留

16.若a为整型变量,则以下语句________。

a=-2;

printf (“%d\n”,a);

A)赋值不合法B)输出值为-2C)输出为不确定值D)输出值为2 17.若有说明语句:int y[][4]={0,0,0,0,0,0}; 则正确的叙述是________。

A)数组y的每个元素都可得到初值0

B)二维数组y的行数为1

C)该说明等价于int y[0][4]={0};

D)有元素y[0][0]至y[0][5]可得到初值,其余元素均得不到初值0

18.若short int 类型数据占两个字节,则下列语句的输出为___D_____。

int k=-1;

printf(“%d,%u\n”,k,k); (%u 表示以无符号数输出,考察二进制知识) A)-1,-1 B)-1,32767 C)-1,32768 D)-1,65535

19.已知:char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是___D_____。

A)int B)char C)double D)float

20.假设定义变量如下:

int x;

float y;

以下输入语句中________是正确的。

A)scanf(“%f%f”,&y,&x); B)scanf(“%f%d”, y, x);

C)scanf(“%f%d”,&y,&x);D)scanf(“%5.2f%2d”,&y,&x);

21.若有以下变量说明和数据的输入方式,则正确的输入语句为________。

变量说明:float x1,x2;

数据的输入方式:4.52<回车>

3.5<回车>

A)scanf(“%f,%f”,&x1,&x2); B)scanf(“%f%f”,&x1,&x2);

C)scanf(“%3.2f,%2.1f”,&x1,&x2); D)scanf (“%3.2f%2.1f”,&x1,&x2);

22.若变量已正确定义,与语句 if(a>b)k=0;else k=1;等效的是________。

A)k=(a>b)?1:0? B)k=a>b;

C)k=a<=b;D)a<=b?0:1;

23.若有定义:int x,*pb;则正确的赋值表达式是________。

A)pb=&x B)pb=x C)*pb=&x D)*pb=*x

24.已知:int a,*p=&a; 则为了得到变量a的值,下列错误的表达式为________。

A)p[0] B)*p C)&*a D)*&a

25.在C语言中,引用数组元素时,其数组下标的数据类型允许是________。

A)整型常量B)整型表达式

C)整型常量或整型表达式D)任何类型的表达式

26.若有定义:int b[5];则以下对b 数组元素的正确引用是________。

A)*&b[5] B)b+2

C)*(*(b+2))D)*(b+2)

27.设有定义语句“char s[]=”123”;”,则表达式“s[3]”的值是________。

A)’1’B)’3’C)’\0’D)语法出错

相关文档
最新文档