中央广播电视大学秋季
C语言程序设计A课程试卷(1)
题 号一二三四五总 分得 分10月部队考
一、单选题(每小题2分,共20分)
1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。
A. main B. MAIN C. name D. function
2.每个C语言程序文件的编译错误分为( )类。
A. 1 B. 2 C. 3 D. 4
3. 字符串"a+b=12\n"的长度为( )。
A. 6 B. 7 C. 8 D. 9
4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为( )语句。
A. for B. if C. do D. while
5. 在下面的do-while循环语句中,其循环体语句被执行的次数为( )。
int i=0; do i++; while(i<10);
A. 4 B. 3 C. 5 D. 10
6. 将两个字符串连接起来组成一个字符串时,选用的函数为( )。
A. strlen() B. strcap() C. strcat() D. strcmp()
7. 若用数组名作为函数调用的实参,传递给形参的是( )。
A. 数组的首地址 B. 数组中第一个元素的值
C. 数组中全部元素的值 D. 数组元素的个数
8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。
A. 4 B. 8 C. 16 D. 32
9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为( )。
A. char *p=s; B. char *p=&s;
C. char *p;p=*s; D. char *p; p=&s;
10. 从一个数据文件中读入以换行符结束的一行字符串的函数为( )。
A. gets() B. fgets() C. getc() D. fgetc()
二、填空题(每小题2分,共26分)
1.C语言中的每条简单语句以________作为结束符。
2. C程序中的所有预处理命令均以______字符开头。
3. 当不需要函数返回任何值时,则应使用________标识符来定义函数类型。
4.十进制数25表示成符合C语言规则的十六进制数为________。
5. 假定不允许使用逻辑非操作符,则逻辑表达式a>b || b==5的相反表达式为________________。
6. 执行“typedef int DataType;”语句后,在使用int定义整型变量的地方也可以使用__________来定义整型变量。
7. 假定一维数组的定义为“char* a[8];”,则该数组所占存储空间的字节数为________。
8. 假定二维数组的定义为“double a[M][N];”,则该数组的列下标的取值范围在_________之间。
9. 存储一个空字符串需要占用________个字节。
10. strcpy函数用于把一个字符串________到另一个字符数组空间中。
11. 程序的编译单位是一个__________。
12. 假定a是一个一维数组,则a[i]的指针访问方式为________。
13. 执行int *p=malloc(sizeof(int))操作得到的一个动态分配的整型对象为________。
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
1. #include
void main()
{
int x=5;
switch(2*x-1) {