答案:B
4. 若数组名作为函数调用的参数,则传递给形参的是( )。 A. 数组的首地址 答案:A
5. 若调用一个函数,且此函数中没有return语句,则正确的说法是( )。 A. 没有返回值 答案:D
6. 在C语言中,以下说法正确的是( )。 A. 实参和与其对应的形参各占用独立的存储单元 B. 实参和与其对应的形参共占用一个存储单元 C. 只有当实参与其对应的形参同名时才共占用存储单元 D. 形参是虚拟的,不占用存储单元 答案:A
7. 以下正确的说法是( )。
A.用户若需要调用标准库函数,调用前必须重新定义
B.用户可以重新定义标准库函数,如若此,该函数将失去原有定义 C. 系统不允许用户重新定义标准库函数
D. 用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。
答案:B
8. 以下不正确的说法是( )。 A. 实参可以是常量,变量或表达式 B. 形参可以是常量,变量或表达式 C. 实参可以为任意类型
D. 如果形参和实参的类型不一致,以形参类型为准 答案:B
9.C语言规定,函数返回值的类型是由( )决定的。 A. return语句中的表达式类型 B. 调用该函数时的主调函数类型 C. 调用该函数时由系统临时 D. 在定义函数时所指定的函数类型 答案:D
10. 以下正确的函数定义是( )。 A. double fun(int x, int y) { z=x+y; return z; }
B.double fun(int x,y)
{ int z; return z }
B.返回若干个系统默认值
C. 能返回一个用户所希望的函数值
D. 返回一个不确定的值
B. 数组第一个元素的值
D. 数组元素的个数
C. 数组中全部元素的值
C. fun (x,y) D. double fun (int x, int y)
{ int x, y; double z; z=x+y return z } 答案:D 4.数组
{ double z; z=x+y; return z }
1. 在C语言中,引用数组元素时,其数组下标的数据类型允许是(C) A 整型常量 B 整型表达式
C 整型常量或整型表达式 D 任何类型的表达式 2.对以下说明语句的正确理解是(B) int a[10]={6,7,8,9,10};
A 将5个初值依次赋给a[1]至a[5] B 将5个初值依次赋给a[0]至a[4] C 将5个初值依次赋给a[6]至a[10]
D 因为数组长度与数组个数不相同,所以此语句不正确 3.若有说明:int a[3][4];则对a数组元素的非法引用是(D) A a[0][2*1] B a[1][3] C a[4-2][0] D a[0][4] 4.若:int a[3][4]={0};则下面正确的叙述是(D) A 只有元素a[0][0]可得到初值0 B 此说明语句不正确
C 数组a中各元素都可得到初值,但其值不一定为0 D 数组a中每个元素均可得到初值0
5.已有定义:char a[]=\以下叙述中正确的是( C )
A.数组a和b的长度相同 B.a数组长度小于b数组长度 C.a数组长度大于b数组长度
D.上述说法都不对
6.若有定义语句:char s[10]=\,则strlen(s)的值是(A)。 A.7 B. 8 C. 9 D. 10 7.如下代码: int k,a[3][3]={1,2,3,4,5,6,7,8,9}; for(k=0;k<3;k++)
printf(“%d ”,a[k][2-k]); 输出结果为(A)
A 3 5 7 B 3 6 9 C 1 5 9 D 1 4 7 8.判断字符串a和b是否相等,应当使用(D)
A if(a==b) B if(a=b) C if(strcpy(a,b)) D if(strcmp(a,b)==0) 9.有两个字符数组a、b,则以下正确的输入语句是(B) A gets(a,b) B scanf(“%s%s”,a,b); C scanf(“%s%s”,&a,&b); D gets(“a”),gets(“b”); 10.下述描述中错误的是(C) A 字符数组可以存放字符串
B 字符数组的字符串可以整体输入、输出
C 可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D 不可以用关系运算符对字符数组中的字符串进行比较 5.结构体
1.在说明一个结构体变量时系统分配给它的存储空间是( D )
A) 该结构体中第一个成员所需存储空间 B) 该结构体中最后一个成员所需存储空间
C) 该结构体中占用最大存储空间的成员所需存储空间 D) 该结构体中所有成员所需存储空间的总和
2. 以下对结构体类型变量的定义中不正确的是( D ) A) #define STU struct student B) struct student STU { int num;
{ int num; float age; float age; }std1; }; std1; C) struct D) struct { int num; { int num;
float age; float age; } student; }std1; struct student std1; 3. 设有以下说明语句
struct stu
{ int a; float b; }stutype; 则下面的叙述不正确的是( C )。
A) struct是结构体类型的关键字 B)struct stu是用户定义的结构体类型 C) stutype是用户定义的结构体类型名 D) a和b都是结构体成员名
4. 定义以下结构体数组 struct c { int x; int y;
}s[2]={1,3,2,7};
语句printf(\的输出结果为( C ) A) 14 B) 6 C) 2 D) 21 5. 根据下面的定义,能输出Mary的语句是( B ) struct person {
char name[9]; int age; };
struct person class[5]={\A) printf(\B) printf(\C) printf(\D) printf(\6. 定义以下结构体数组 struct {
int num;
char name[10];
}x[3]={1,\
语句printf(\的输出结果为(D) A)2,USA B)3,England C)1,china D)2,England
7.执行下面的程序后,输出的结果是( B ) struct abc {int a,b,c;}; void main()
{struct abc s[2]={{1,2,3},{4,5,6}}; int t;
t=s[0].a+s[1].b; printf(\,t); }
A) 5 B) 6 C) 7 D) 8 C 6. 指针
1. 有以下程序
#include
{ int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r;
printf(“%d,%d,%d,%d\\n”,m,n,*p,*q); }
程序运行后的输出结果是(B)
A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2 2.以下选项中正确的语句组是(d)
A)char s[];s=”BOOK!”; B) char *s;s={”BOOK!”}; C)char s[10];s=”BOOK!”; D) char *s;s=”BOOK!”; 3. 以下选项中正确的语句组是 若有以下定义 int x[10],*pt=x;
则对x数组元素的正确应用是(C)
A)*&x[10] B)*(x+10) C)*(pt+3) D)pt+3
4.若有定义语句:double x,y,*px,*py,执行了px=&x, py=&y;之后,正确的输入语句是(C) A)scanf(“%f%f”,x,y); B) scanf(“%f%f”,&x,&y); C) scanf(“%lf%le”,px,py); D) scanf(“%lf%lf”,x,y); 7. 文件
(1)下列关于C语言数据文件的叙述中正确的是(D)
A) 文件由ASCII码字符序列组成,C语言只能读写文本文件 B) 文件由二进制数据序列组成,C语言只能读写二进制文件
C) 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 D) 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 (2)有如下程序
#include
相关推荐: