C 语言程序设计
一、单项选择题(共 15 小题,每题 4 分,共 60 分)
1、下列有关 C 语言的叙述中错误的是()。
A) C 语句必须以分号结束 B) 任何一个 C 程序中有且只有一个主函数
C) 复合语句在语法上可被看作一条语句 D) C 程序中对数据的任何操作都可由运算符实现
2、以下不能定义为用户标识符的是()。
A) MAIN B) _HJ C) 2ong D) LINE1
3、以下能正确定义一维数组的是( )。
A) int a[5]={0,1,2,3,4,5}; B) int a[5]=”012345”;
C) char a[ ]=”012345”; D) char a[5]={0,1,2,3,4,5};
4、以下关于 main()函数的说法,正确的是 。
A) main()必须是程序的第一行 B)main()可以有参数
C) 一个程序可以有多个 main() D)main()可以被用户自定义的函数调用
5、设 char str1[10] = “ABCDE”, str2[10] = “xyz”;
则执行语句 printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是()。
A) 9 B) 8 C) 5 D) 3
6、若用数组名作为函数调用的实参,则传递给形参的是()。
A) 数组的首地址 B) 数组第一个元素的值 C) 数组中全部元素的值 D) 数组元素的个数
7、在 C 程序中,若未在函数定义时说明函数类型,则函数默认的类型为( )。
A)void B)double C)int D)char
8、下面不能正确进行字符串赋值操作的语句是( )。
A) char s[5]={"ABCD"}; B) char s[5]; s="ABCD"; C) char *s;s="ABCDEF"; D) char *s="ABCD";
9、设有说明 int s[5]={1,3,5,7,9}; int *p=s; 则下列表达式中值为 3 的是 ( )。
A)++p B)++(*p) C) *(++p) D) *(p+=2)
10、变量的指针,其含义是指该变量的 。
A) 值 B) 地址 C) 名 D) 一个标志
11、若有说明 int (*p)[3];则以下 是正确的叙述。
A) p 是一个指针数组
B) p 是一个指针,它只能指向一个包含 3 个 int 类型元素的数组
C) p 是一个指针,它可以指向一个一维数组中的任一元素
D) (*p)[3]与*p[3]等价
12、指针变量一定不能进行的运算是 。
A)+ B)- C)= D)/
13、若有语句 int array[3][4];以下对下标为 i 和 j 的数组元素的引用不正确的是 。
A) array[i][j] B) *(*(array+i)+j) C) *(array[i]+j) D) *(array+i*4+j)
14、一般情况下, 文件占用存储空间较多。
A)二进制文件 B)文本文件 C)随机文件 D)顺序文件
15、若对文件的操作未到文件尾时,feof(fp)函数的返回值是 。
A)EOF B)1 C)0 D)不定的非零值
二、阅读下列程序,在程序后面的横线上,写出该程序的功能或给出运行结果。(共 3 小题,第 1、2 题 13 分,
第 3 题 14 分,共 40 分)
1. #include <stdio.h>
void main()