一.单选题题库
1.以下不正确的C语言标识符是( )。
A. ABC B. abc C. a_bc D. ab.c
2.C程序是由 构成的。
A. 主程序与子程序
B. 主函数与若干子函数
数组全部赋值为1C. 一个主函数与一个其它函数
D. 主函数与子函数
3.以下说法中正确的是: 。
A. 在C语言中,实参与其对应的形参各占独立的存储单元;
B. 在C语言中,实参与其对应的形参共占同一个存储单元;
C. 在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;
D. 在C语言中,形参是虚拟的,不占存储单元。
4.设n=3;则n++的结果是( )。
A. 2 B. 3 C. 4 D. 5
5.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是( )。
A. 0 B. 1 C. 2 D. 3
6.凡是函数中未指定存储类别的局部变量其隐含的存储类别是( )。
A. 自动(auto) B. 静态(static) C. 外部(extern) D. 寄存器(register)
7.在while(x)语句中的x与下面条件表达式等价的是: 。
A. x= =0 B. x= =1 C. x!=1 D. x!=0
8.若有以下说明和语句:
struct worker
{
int no;
char *name;
}work, *p=&work;
则以下引用方法不正确的是( )。
A. B. (*p).no C. p->no D. work->no
9.以下对二维数组进行正确初始化的是( )。
A. int a[2][3]={{1,2},{3,4},{5,6}};
B. int a[][3]={1,2,3,4,5,6};
C. int a[2][]={1,2,3,4,5,6};
D. int a[2][]={{1,2},{3,4}};
10.二维数组a有m列,则在a[i][j]之前的元素个数为: 。
A) j*m+i
B) i*m+j
C) i*m+j-1
D) i*m+j+1
11.假设已定义char a[10]和char *p=a, 下面的赋值语句中,正确的是:
A) a[10]=”Turbo C”; B) a=”Turbo C”;
C) *p=”Turbo C”; D) p=”Turbo C”;
12.下面关于运算符优先顺序的描述中正确的是:
A)关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符
B)逻辑 运算符< 关系运算符< 算术运算符< 赋值运算符
C)赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符
D)算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符
13、以下正确的描述是。
A)continue语句的作用是结束整个循环的执行
B)只能在循环体内和switch语句体内使用break语句
C)在循环体内使用break语句或continue语句的作用相同
D)从多层循环嵌套中退出时, 只能使用goto语句
14、用8位无符号二进制数能表示的最大十进制数为
A) 127 B) 128 C) 255 D)256
15、下列叙述中正确的是:
A) C语言中既有逻辑类型也有集合类型
B) C语言中没有逻辑类型但有集合类型
C)C语言中有逻辑类型但没有集合类型
D) C语言中既没有逻辑类型也没有集合类型
16、以下对C语言函数的有关描述中,正确的是:
A)调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B)函数既可以嵌套定义又可以递归调用
C)函数必须有返回值,否则不能使用函数
D) 程序中有调用关系的所有函数必须放在同一个源程序文件中
17、在C语言中,不正确的int类型的常数是:
A) 32768 B)0 C) 037 D) 0xaf
18、以下叙述中不正确的是:
A)在不同的函数中可以使用相同名字的变量
B)函数中的形式参数是局部变量
C)在一个函数内定义的变量只在本函数范围内有效
D)在一个函数内的复合语句中定义的变量在本函数范围内有效
19、以下说法中正确的是:
A)#define和printf都是C语句
B)#define是C语句,而printf不是
C)printf是C语句,但#define不是
D)#define和printf都不是C语句
20、若有以下定义和语句:double r=99,*p=&r; *p=r;则以下正确的叙述是:
A)以下两处的*p含义相同,都说明给指针变量p赋值
B)在“double r=99,*p=&r;”中,把r的地址赋值给了p所指的存储单元
C)语句“*p=r;”把变量r的地址值赋给指针变量p
D)语句“*p=r;”取变量r的值放回r中
21.C语言中基本数据类型包括( )。
A. 整型、实型、逻辑型
B. 整型、实型、字符型
C. 整型、字符型、逻辑型
D. 整型、实型、逻辑型、实型
22.已知 int i,a; 执行语句”i=(a=2*3,a*5),a+6;”后,变量a的值是( )。
A. 6 B. 12 C. 30 D. 36
23.C语言中规定函数的返回值的类型是由( )。
A. return语句中的表达式类型所决定
B. 调用该函数时的主调用函数类型所决定
C. 调用该函数时系统临时决定
D. 在定义该函数时所指定的函数类型所决定
24.不能进行++和--运算的数据类型是( )。
A. 指针 B. double C. int D. long
25.为了判断两个字符串s1和s2是否相等,应当使用( )。
A. if(s1==s2) B. if(s1=s2)
C. if(strcpy(s1,s2)) D if (strcmp(s1,s2))
26.若有以下说明和语句:
struct stu
{int no;
char *name;
}student, *p=&student;
则以下引用方法不正确的是( )。
A. B. (*p).no
C. p->no D. student->no
27.以下不是死循环的语句为( )。
A. for(; ; x+=k);
B. while(1){x++};
C. for(k=10; ;k--)sum+=k;
D. for(;(c=getchar())!=’\n’;)printf(“%c”,c);
28.以下错误的描述是( )。
A. 不同的函数中可以使用相同的变量名
B. 形式参数是局部变量
C. 一个函数内部定义的变量只能在本函数范围内有效
D. 在一个函数内部的复合语句中定义的变量可以在本函数范围内有效
29.若用数组名作为函数调用时实参,则实际上传递给形参的是( )。
A.数组首地址 B. 数组的第一个元素值
C.数组中全部元素的值 D. 数组元素的个数
30.已知 int a,*p=&a; 则为了得到变量a的值,下列错误的表达式是()。
A. *&p B.*p C. p[0] D.*&a
31.以下能对外部的二维数组a进行正确初始化的语句是: 。
A) int a[2][] = {{1,0,1},{5,2,3}};
B) int a[][3] = {{1,2,1},{5,2,3}};
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论