c语言试卷

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

C语言试卷

一、选择题(40分,每题1分)

1、C语言规定:在一个源程序中,main函数的位置(C)。

A、必须在最开始

B、必须在系统调用的库函数的后面

C、可以任意

D、必须在最后

2、组成C语言程序的是(A)。

A、函数

B、子程序

C、过程

D、主程序和子程序

3、C语言中,用户能使用的合法标识符是(C)。

A、a_b!

B、–xyz

C、fa2

D、5i

4、若定义int i; 则以下循环语句的循环执行次数是(B)。

for(i=2; i==0;)

printf("%d", i--);

A、无限次

B、0次

C、1次

D、2次

5、以下关于宏替换的叙述不正确的是(D)。

A、宏替换只是字符替换

B、宏名无类型

C、宏替换不占用运行时间

D、宏替换不占用编译时间

6、在循环语句的循环体中,continue语句的作用是(C)。

A、立即终止整个循环

B、继续执行continue语句之后的循环体

C、结束本次循环

D、结束本次循环并跳出循环

7、以下对C语言中字符数组的错误描述是(C)。

A、字符数组可以存放字符串

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

C、可以在赋值语句中通过赋值运算符=对字符数组整体赋值

D、字符数组中字符串的结束标志是‘\0’

8、C语言规定,函数返回值的类型由(D)所决定。

A、return语句中的表达式类型

B、调用该函数时的主调函数类型

C、调用该函数时的形参类型

D、在定义该函数时所指定的函数类型

9、以下关于do-while循环的不正确描述是(B)。

A、do-while的循环体至少执行一次

B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C、在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作

D、do-while的循环体可以是复合语句

10、若a=-14,b=3,则条件表达式 a

A、-14

B、-13

C、3

D、4

11、已知:int n,i=1,j=2;执行语句n=i

A、1,2

B、1,3

C、2,2

D、2,3

12、为了判断两个字符串s1和s2相等,应当使用(D)。

A、if (s1==s2)

B、if(s1=s2)

C、if (strcmp(s1,s2))

D、if (strcmp(s1,s2)==0)

13、若有说明:int a[10]; 则对a数组元素的正确引用是(C)。

A、a[10]

B、a[3.5]

C、a[5-3]

D、a[-1]

14、以下正确的函数形式是(D)。

A、double fun(int x,int y) { z=x+y;return z;}

B、fun(int x,y) { int z; return z;}

C、fun(x,y) { int x,y; double z; z=x+y; return z;}

D、double fun( int x,int y) {double z; z=x+y; return z; }

15、对于条件表达式:(M)?(a++):(a--),其中的表达式等价于(C)。

A、M == 0

B、M == 1

C、M != 0

D、M != 1

16、若有以下定义和语句:

char *s1 = “12345”, *s2 = “1234”;

printf(“%d\n”, strlen(strcpy(s1, s2)));

则输出结果是:(A)。

A、4

B、5

C、9

D、10

17、以下哪一项是不正确的字符串赋值或赋初值的方式:(C)。

A、char *str; str = “string”;

B、char str[7] = {‘s’, 't', 'r', 'i', 'n', 'g'};

C、char str1[10]; str1 = “string”;

D、char str1[] = “string”, str2[] = “12345678”;

18、在以下一组运算符中,优先级最高的运算符是(C)。

A、<=

B、=

C、%

D、&&

19、设有定义:struct sk{int a; float b;}data, *p; 若有p = &data; 则对data中的a域的正确引用是(B)。

A、(*p).data.a

B、(*p).a

C、p->data.a

D、p.data.a

20、执行下列语句后,sum变量的值是(B)。

int sum = 0, i; for(i = 0; i < 10; i++, sum += i);

A、45

B、55

C、0

D、编译错误

21、以下关于typedef的叙述中错误的是(A)。

A、用typedef可以增加新的类型

B、用typedef可以定义各种类型名,但不能用来定义变量

C、用typedef只是将已有的类型用新的标识符来代替

D、使用typedef有利于程序的通用和移植

22、表达式1&3&5&7的值为(A)。

A、1

B、3

C、5

D、7

23、语句printf(“s\\t”);的输出结果为(B)。

A、s\\t

B、s\t

C、s\

D、s

24、语句:strcat(strcpy(str1, str2), str3)的功能是(C)。

A、将字符串str1复制到字符串str2中,再连接到字符串str3之后

B、将字符串str1连接到字符串str2之后,再复制到字符串str3中

C、将字符串str2复制到字符串str1中,再将字符串str3连接到字符串str1之后

D、将字符串str2连接到字符串str1之后,再将字符串str1复制到字符串str3中

25、执行下列语句后,a的值为(B)。

int a;

#define M(x, y) (x*y)

a = M(1+2, 3);

A、9

B、7

C、5

D、以上均不是

26、能正确表示“当x取值在[1,10]和[200,210]范围内为真,否则为假”的表达式是(B)。

A、(x >= 1) && (x <= 10) && (x >= 200) && (x <= 210)

B、(x >= 1) && (x <= 10) || (x >= 200) && (x <= 210)

C、(x >= 1) || (x <= 10) || (x >= 200) || (x <= 210)

相关文档
最新文档