C语言程序设计试卷

发布 2021-04-24 17:13:28 阅读 6522

一、单项选择题(每题1分,共20分)

1. 一个c语言程序是由( ①

a. 一个主程序和若干子程序组成。

b. 若干函数组成。

c. 若干过程组成。

d. 若干子程序组成。

2. 已知:char *s="\name\\address";则s所指的字符串的长度为( ①

a. 18 b. 16 c. 13 d. 14

3. 若有条件表达林(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( ①

a. (exp==0) b. (exp!=0) c. exp==1 d. (exp!=1)

4. 已知:a=b=c=1且均为int型变量,则执行以下语句:

++a||+b&&+c;

变量a值为( ①b值为( ②

a. 不正确 b. 0c. 2d. 1

a. 1b. 2c. 不正确 d. 0

5. c语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( ①

a. 地址传递b. 单向值传递。

c. 双向值传递。即由实参传给形参,再由形参传回给实参。

d. 由用户指定传递方式。

6. 以下正确的函数形式是( ①

a. double fun1(int x,int y)

z=x+y;

return z;

b. fun1(int x, y)

int z;

return z;

c. fun1(x,y)

int x,y;

double z;

z=x+y;

return z;

d. double fun1(int x, int y)

double z;

z=x+y;

return z;

7. c语言允许函数值类型缺省定义,此时该函数值隐含的类型是( ①

a. float型 b. int型 c. long型 d. double型。

8. 以下程序有语法性错误,有关错误原因的正确说法是( ①

void main(void)

a. 语句void prt_char();有错,它是函数调用语句,不能用void说明。

b. 变量名不能使用大写字母。

c. 函数原型说明和函数调用语句之间有矛盾。

d. 函数名不能使用下划线。

9. 执行以下程序段后,变量x和y的值是( ①

#define exch(a,b)

void main(void)

a. 10和5 b. 9.6和5.2 c. 出错 d. 9和5

10. 若有如下定义,则下面在scanf函数调用语句中对结构体成员的引用不正确是( ①

struct pupil

pup[5],*p;

a. scanf("%d",p->age);

b. scanf("%s",pup[0].name);

c. scanf("%d",&pup[0].age);

d. scanf("%d",&pup[1].sex));

11. 若已有定义int(*p)()则指针p( ①

a. 代表函数的返回值。

b. 指向函数的入口地址。

c. 表示函数的类型。

d. 表示函数返回值的类型。

12. 若有语句:int a=4, *p=&a;,下面均代表地址的一组选项是( ①

a. a,p,&*a b. *a,&a,*p c. &a,p,&*p d. *p,*p,&a

13. 设x、y均为float型变量,则以下不合法的赋值语句是( ①

a. +x; b. y=(x%2)/10;

c. x*=y+8; d. x=y=0;

14. 已知:unsigned int x=65535;则执行以下语句后的x值为( ①

printf("%d",x);

a. 65535 b. 1c. 无确定值 d. -1

15. 求字符串长度的函数是。

a. strcat b. strcpy c. strcmp d. strlen

16. 下述对c语言字符数组的描述中错误的是( ①

a. 字符数组可以存放字符串。

b. 字符数组的字符可以整体输入、输出。

c. 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值。

d. 可以用关系运算符对字符数组中的字符进行比较。

17. 当运行以下程序时, 从键盘输入:ahama_aha,则下面程序的运行结果是( ①

注:_ 代表空格)。

#include<>

void main(void)

puts(s);

a. ahama b. ahama c. ahama_aba d. ahama_aha

18. 有一堆零件(100到200之间), 如果分成4个零件一组的若干组, 则多2个零件;若分。

成7个零件一组, 则多3个零件;若分成9个零件一组, 则多5个零件。

下面程序是求这堆零件总数, 请选择。

#include<>

void main(void)

a. i%9=5b. i%9!=5

c. (i-5)%9!=0d. i%9==5

19. 以下关于do-while循环的不正确描述是( ①

a. do-while的循环体至少执行一次。

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

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

d. do-while的循环体可以是复合语句。

二、是非判断题(每题1分,共15分)

1. 程序的执行总是从主函数开始,主函数执行完时,则程序执行结束。

2. 控制台标准输入设备一般是指键盘。

3. do-while语句的循环体至少执行一次。

4. 循环体中continue语句的作用是结束整个循环的执行。

5. c语言规定,else子句总是与它上面的最近的if配对。

6. 数组的长度是固定的。

7. 若有说明:int a[3][4]; 则a[1+1][0]是对a数组元素的正确引用。

8. char a=不是正确的数组说明语句。

9. 字符串"this"大于字符串"that"。

10. 在用数组名作为函数实参时,传递的是数组的起始地址,所以就不允许使用形参数组的形式。

11. 如果在同一个源文件中,外部变量与局部变量同名,则在局部变量的作用范围内,局部变量被“屏蔽”,即它不起作用。

12. 函数中的局部变量与全局变量同名时,局部变量优先,全局变量暂时不起作用。

13. 全局变量可以被任何一个函数中的任何一个表达式使用。

14. 表达式i++与++i在任何场合功能完全相同。

15. 在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。

三、多项选择题(每题1分,共5分)

1. 下列关于switch语句和break语句的结论中,不正确的是( )

a. break语句用来退出switch语句。

b. 在switch语句中可以根据需要使用或不使用break语句。

c. 在switch语句中必须要使用break语句。

d. break语句用来重新执行switch语句。

2. 下面标识符中,不合法的用户标识符为( ①

a. pad

b. a_10

c. char

d. a#b

e. int

f. signed

C语言程序设计试卷A

c语言程序设计期末考试试卷 a 荆楚理工学院。2009 2010学年度第二学期期末考试。c语言程序设计 试题a卷。机制专业08年级120分钟2010年6月。说明 本试卷中的程序用于tc2.0,但均省略了getch 语句。一 用c语言描述下列命题 每小题1分,共5分 1 a小于b或a小于c。2 a或b...

C语言程序设计试卷A

山东师范大学2006 2007学年第二学期期末考试试题。时间 120分钟共100分 课程编号 4111108 课程名称 c语言程序设计适用年级 2006 学制 四适用专业 计算机科学与技术试题类别 a a b c 一 选择题 下面每题的选项中,只有一个是正确的,请选择正确的答案填入答题卡中对应的题号...

c语言程序设计试卷a

c语言程序试卷a 班级姓名分数 一 选择题 每小题2分,共30分 1.已知ch是字符型变量,下面不正确的赋值语句是 a ch 5 9 b ch a b c ch 0 d ch 7 6 2.正确的自定义标识符是 a a 2 b a b c name d default 3.设int a,b,c 执行表...