c语言选择题

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

(1) 错误的叙述是(A )。

A) 构成c语言源程序的基本单元是算术表达式

B) 若一条语句较长,也可分写在下一行上

C) 一个c语言源程序可由一个或多个函数组成

D) c程序必须包含一个main( )函数

(2)(A )为正确的字符常量。

A) ‘M’

B) "\24m"

C) "\\"

D) "c"

(3) 若变量m,n,t已定义且赋予初值,则正确的表达式是(C )。

A) m=m\2

B) m=int(5.6%4)

C) m=6+n++,m++

D) m=m+1=t-n

(4) 下面的叙述,错误的是(A )。

A) C语言算术运算符不包含模运算符“%”

B) 语言中的表达式求值,是按其运算符的优先级先高后低的次序进行

C) 自增和自减运算符的结合方向为“自右至左”

D) 关系运算符的优先级低于算术运算符

(5) 已有定义char s;使用scanf( )函数输入一个字符给变量s,不正确的函数调用是(C )。

A) scanf("%c",&s);

B) scanf("%u",&s);

C) scanf("%lf",&s);

D) scanf("%d",&s);

(6) 判定逻辑值位“真”的最准确叙述是(B )。

A) 1

B) 非0的数

C) 非0的整数

D) 大于0的数

(7) 设已定义float a=2.0,b=3.0;使a值为5.0的表达式是(B )。

A) a-=b+2.0

B) a+=b

C) a*=b+2.0

D) a/=b+2.0

(8) 以下程序的运行结果是(C )。

Void main()

{

int x,y,z,a;

x=y=z=1;a=15;

if (!x)

a--;

else if (y)

;

if (z)

a=3;

else

a+=4;

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

}

A) 15

B) 14

C) 3

D) 19

(9) 若已定义int a; 不会产生死循环的是(B )。

A) for ( ; ;a+=2);

B) for( ;(a=getchar())!=’\n’; );

C) for(a=10; ;a--);

D) while (-1) {a++;}

(10) 若已定义int x[4]={2,1,3};则元素x[1]的值为(B )。

A) 2

B) 1

C) 0

D) 3

(11) 以下程序段运行后s的值是(A )。

int a[3][3]={3,2,1,3,2,1,3,2,1};

int j,k,p=1;

for (j=0;j<2;j++)

for (k=j;k<3;k++) p*=a[j][k];

A) 12

B) 108

C) 2

D) 18

(12) 设已定义:char s1[8],s2[8]= "Science"; 能将字符串"Science"赋给数组s1的语句是(D )。

A) strcpy(s2,s1);

B) s1="Science";

C) s1=s2;

D) strcpy(s1,s2);

(13) 用数组名作为函数的实参时,错误的说法是(B )。

A) 可以使用指针变量作为形参

B) 定义形参数组时,元素的个数必须与实参相同

C) 可以使用数组名作为形参

D) 实参传递给形参的值是数组的首地址

(14) 以下叙述正确的是(B )。

A) 一个源程序只能由一个编译预处理命令行

B) 编译预处理命令都必须以"#"开头

C) "#define PRICE=30"定义了与30等价的符号常量PRICE

D) 使用带参数的宏定义时,应该说明每个参数的数据类型

(15) 以下程序段运行后,表达式*(p++)的值为(C )。

char a[5]= "work";

char *p=a;

A) ’o’

B) 存放’o’的地址

C) ’w’

D) 存放’w’的地址

(16) 若有以下程序段,则不能正确访问数组元素a[1][2]的是(B )。

int (*p)[3];

int a[][3]={1,2,3,4,5,6,7,8,9};

p=a;

A) p[1][2]

B) p[1]+2

C) (*(p+1))[2]

D) *(*(a+1)+2)

(17) 若有定义:

struct student

{

int num;

char sex;

int age;

} stu1;

下列叙述不正确的是(A )。

A) student是结构体类型名

B) struct student是结构体类型名

C) num,sex,age都是结构体变量stu1的成员

D) stu1是用户定义的结构体类型变量名

(18) 若有以下定义:

Struct node

{

Int data;

Struct node *next;

};

Struct node m,n,k,*head,*p;

已建立如下图所示的链表:

指针head指向变量m,n.next指向变量n,p指向变量k,不能把结点k插到m和n之间形成新链表的程序段是(A )。

A) m.next=p; p->next=head->next;

B) (*head).next=p; (*p).next=&n;

相关文档
最新文档