c题库选择题

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

一、选择题

1、关于C语言数据类型的叙述,正确的是(C)。

A)枚举类型不是基本类型B)数组不是构造类型

C)变量必须先定义后使用D)不允许使用空类型

2、下面关于C语言用户标识符的描述,正确的是(D)。

A)不区分大小写B)用户标识符不能描述常量

C)类型名也是用户标识符D)用户标识符可以作为变量名

3、下面叙述正确的是(B)。

A)2/3与2.0/3.0等价B)(int)2.0/3与2/3等价

C)++5与6等价D)‟A‟与”A”等价

4、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)。

A)scanf(“%d”,&a); B)scanf(“%lf”,&a);

C)scanf(“%c”,&a);D)scanf(“%u”,&a);

5、下面叙述中,(A)不是结构化程序设计三种基本结构的共同特点。

A)先判断后执行B)单入口,单出口

C)程序中没有执行不到的语句D)无死循环

6、已知int a=3, b=5; 则表达式a && ! b 的值为(C)。

A)3 B)2 C)0 D)1

7、已知char a=‟R‟;则正确的赋值表达式是(A)。

A)a=(a++)%4 B)a+2=3 C)a+=256-- D)a=‟\078‟8、以下的语句中,无内嵌的if语句是(B)。

A)if(x= =y) x+=y;

B)if(x>y && x!=y);

x+=y;

C)if(x!=y)

scanf(“%d”,&x);

else

scanf(“%d”,&y);

D)if(x

{x++;y++;}

9、设有整型变量x,下述语句(B)不会出现死循环。

A)for( ; ; x+=1) B)for( ; (x=getchar())!=‟\n‟; ) ;

C)while(1) {x++ ;} D)for(x=10; ;x--) ;

10、下列数组声明中,正确的是(A)。

A)int a[5]={0}; B)int a[]={0 1 2}; C)int a[5]=0; D)int a[] ;

11、以下数组定义中,正确的是(D)。

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

C)int a[2][]={1,2,3,4,5,6}; D)int a[][4]={6};

12、设有如下数组定义:

char str[8]={“FuJian”};

则分配给数组str的存储空间是(C)字节。

A)6 B)7 C)8 D)9

13、以下程序的运行结果是(A)。

int fun(int array[4][4])

{int j;

for(j=0;j<4;j++) printf(“%2d”,array[2][j]);

printf(“\n”);

}

main()

{int a[4][4]={0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0};

fun(a);

}

A)2 0 0 5 B)1 0 0 4 C)0 1 2 0 D)0 4 5 0

14、若有以下宏定义,

#define MOD(x,y) x%y

则执行以下程序段后,z的值是(D)。

int z,a=15,b=100;

z=MOD(b,a);

A)100 B)15 C)11 D)10

15、对于基类型相同的两个指针变量之间,不能进行的运算是(C)。

A)< B)= C)+ D)-

16、若函数fun的函数头为:

int fun(int i,int j)

且函数指针变量p定义如下:

int (*p)(int i,int j);

则要使指针p指向函数fun的赋值语句是(B)。

A)p=*fun(); B)p=fun; C)p=fun(i,j); D)p=&fun;

17、设有以下定义语句:

struct student

{int num;

char name[10];

float score;

}wang,zhang;

则不正确的叙述是(C)。

A)struct是结构体类型的关键字B)zhang是结构体变量名

C)wang是结构体类型名D)num,name,score都是结构体类型student 的成员名

18、若有以下定义:

struct link

{int data;

struct link *next;

}*head,*p;

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

head

指针p指向如下结点:

则能够把p所指结点插入到链表中成为链表第2个结点的程序段是(A)。

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

B)head->next=p;p->next=head->next;

C)p.next=head.next;head.next=p;

D)(*head).next=p;(*p).next=(*head).next;

19、设有如下定义:

typedef int *INTEGER;

INTEGER p,*q;

则(C)是正确的叙述。

A)p是int型变量B)q是基类型为int的指针变量

C)p是基类型为int的指针变量D)程序中可用INTEGER代替int类型名20、以下程序的可执行文件名是file.exe。

main()

int argc;

char *argv[];

{int i;

for(i=2;i

printf(“%s%c”,argv[i],(i

}

在DOS命令行输入:file My C Language and Programming<回车>,其输出结果是(A)。A)C Language and Programming B)My C Language and Programming

C)MyCLanguageandProgramming D)file My C Language and Programming

21、在C语言源程序中,以下叙述正确的是(C)。

A)main函数必须位于文件的开头B)每行只能写一条语句

C)程序中的一个语句可以写成多行D)每个语句的最后必须有点号

22、下面关于算术运算符的叙述,错误的是(A)。

A)其运算对象不包含函数

B)%(模运算符)的运算对象只能为整型量

C)算术运算符的结合方向是“自左至右”

D)自加和自减运算符的结合方向是“自右至左”

23、下面叙述中,(A)不是结构化程序设计中的三种基本结构之一。

A)数据结构B)选择结构C)循环结构D)顺序结构

24、已知double a=5.2; 则正确的赋值表达式是(A)。

A)a+=a-=(a=4)*(a=3) B)a=a*3=2

C)a%3 D)a=double(-3)

25、逻辑运算符的优先级依次为(C)。

A)|| && ! B)&& || ! C)! && || D)! || && 26、对于整型变量x,与while(!x) 等价的是(B)。

A)while(x!=0) B)while(x= =0) C)while(x!=1) D)while(~ x)

27、下列数组声明中,正确的是(A)。

A)int a[10]; B)int n=10,a[n];

C)int N=10;int a[N]; D)int n;scanf(“%d”,&n);int a[n];

相关文档
最新文档