C语言编程思路及策略探讨试题及答案
姓名:____________________
一、单项选择题(每题2分,共10题)
1.C语言中,以下哪个不是合法的数据类型标识符?
A.int
B._int
C.1int
D.float
2.关于C语言中的数组和指针,以下描述正确的是:
A.数组名不能作为函数的参数
B.指针可以指向数组的元素,但不能指向整个数组
C.指针可以通过指针运算访问数组元素
D.以上说法均不正确
3.以下哪个不是C语言中的逻辑运算符?
A.
B.||
C.!
D.++
4.关于C语言中的宏定义,以下说法正确的是:
A.宏定义在编译时展开
B.宏定义在预处理时展开
C.宏定义的参数可以带有默认值
D.以上说法均不正确
5.在C语言中,以下哪个语句可以正确地输出字符A?
A.printf(%d,A);
B.printf(%c,A);
C.printf(%s,A);
D.printf(%c,65);
6.关于C语言中的函数,以下说法正确的是:
A.函数可以嵌套定义
B.函数可以嵌套调用
C.函数可以嵌套声明
D.以上说法均不正确
7.在C语言中,以下哪个变量属于全局变量?
A.intx;//在函数内部定义
B.inty;//在文件顶部定义
C.intz;//在函数内部声明
D.intw;//在函数外部声明
8.关于C语言中的结构体,以下描述正确的是:
A.结构体只能包含相同的数据类型
B.结构体可以包含不同数据类型的成员
C.结构体成员必须具有相同的名字
D.结构体不能在函数内部定义
9.在C语言中,以下哪个语句可以正确地初始化一个指针变量?
A.int*p;
B.int*p=0;
C.int*p=NULL;
D.int*p=(int*)0;
10.关于C语言中的文件操作,以下说法正确的是:
A.打开文件使用fopen()函数
B.读取文件使用read()函数
C.写入文件使用write()函数
D.以上说法均正确
二、填空题(每空2分,共10空)
1.C语言中的数据类型分为基本数据类型、用户定义数据类型和__________数据类型。
2.C语言中的运算符分为算术运算符、关系运算符、逻辑运算符、位运算符和__________运算符。
3.C语言中的__________语句用于执行多个语句。
4.C语言中的__________函数用于将字符输出到屏幕。
5.C语言中的__________函数用于将字符输出到文件。
6.C语言中的__________结构体用于定义复数。
7.C语言中的__________函数用于动态分配内存空间。
8.C语言中的__________函数用于释放动态分配的内存空间。
9.C语言中的__________函数用于判断一个字符是否是数字。
10.C语言中的__________函数用于将字符串转换为整数。
三、编程题(每题10分,共30分)
1.编写一个C语言程序,实现以下功能:
输入一个整数,判断该整数是否为偶数,并输出相应的信息。
2.编写一个C语言程序,实现以下功能:
定义一个结构体表示一个学生,包含姓名、年龄和成绩。编写一个函数,用于计算所有学生的平均成绩。
3.编写一个C语言程序,实现以下功能:
定义一个数组,包含10个整数。编写一个函数,用于找出数组中的最大值和最小值。
四、简答题(每题5分,共15分)
1.简述C语言中结构体和数组的区别。
2.简述C语言中指针的基本概念和应用。
3.简述C语言中函数参数的传递方式。
二、多项选择题(每题3分,共10题)
1.在C语言中,以下哪些是合法的标识符?
A.int
B._123
C.main
D.void
E.1main
2.以下哪些是C语言中的基本数据类型?
A.int
B.float
C.char
D.double
E.void
3.关于C语言中的数组,以下说法正确的是:
A.数组的大小必须在声明时指定
B.数组可以在运行时动态分配
C.数组的下标从0开始
D.数组的下标不能为负数
E.数组名可以作为函数的参数
4.以下哪些是C语言中的运算符?
A.+
B.-
C.*
D./
E.=
5.在C语言中,以下哪些是合法的赋值语句?
A.a=b+c;
B.a+=b;
C.a=a+b;
D.a=b-c;
E.a=b/c;
6.以下哪些是C语言中的控制语句?
A.if
B.switch
C.for
D.while
E.return
7.以下哪些是C语言中的