(一) 一、判断题
( )1、开发C语言程序通常要经过编辑、预处理、编译、连接、装入和执行6个阶段。 ( )2、C语言程序由一个或多个函数组成,其中有且只有一个main函数。
( )3、C语言中,所有标识符必须由一个字母 ( a ~ z , A ~ Z ) 或下划线 ( _ )开头。
( )4、同一程序的各函数中定义的局部变量不可以同名。
( )5、C语言中,主函数main中定义的变量称为全局变量,在整个文件中有效。 ( )6、C语言中,函数重载常用于设计多个进行类似任务而处理不同数据类型的同名函数。 ( )7、C语言中,数组名的值就是数组中第一个元素的值。
( )8、在C++中,指针的作用是用来表示一个变量指向另一个变量这样的指向关系。 ( )9、C语言中,定义结构时,结构体中的成员名不能与程序中的其它变量重名。 ( )10、C语言中,声明一个结构并不分配内存,只有在定义结构变量时,才分配内存。
二、填空题
1、在C语言中,定义double类型数组arr, 数组大小为20, 应写为( )。
22
2、写出公式S=a+b+2ab的C语言赋值语句:( )。
3、定义a为长度为10的字符串、并为字符串赋初值\的语句为( )。
4、设ch是字符变量,则判断ch是小写英文字母的逻辑表达式为( )。
5、函数的返回值也叫函数值,函数值是通过函数中的( )语句获得的。
6、链表是一种非常有用的动态数据结构,只有一个指针链的链表称为( )。
7、对数组a[]进行初始化的数据为{2,4,6,8,10,12,14},则a[3]被初始化为( )。 8、对于 int *p, i = 5, j = 6; 执行 p = &i; p = &j; 后(*p)的值为( )。 9、执行完下列语句段后, i的值为:( )。
int a[3][4]={{1,2,3},{4,5,6}}, i; i= a[1][2];
10、有语句struct point{int x;int y;}; point pExample; 则将pExample的成员x初始化为8的语句是( )。
三、单选题
1、int i=10; float x; 执行x=8.0/i; 后x的值为( )。 ① 0.8 ② 0 ③ 0.0 ④ 1.0
2、下列变量名,( )是合法的
① 1x ② Stu_No ③ int ④ A-1
3、若i是int型变量,则程序段:i=322; if(i%2==0)printf(“####”); else printf(“****”); 的输出结果是( )
① #### ② **** ③ ####**** ④ 语法错误
4、函数中的形式参数是( )。
① 全局变量 ② 局部变量 ③ 静态变量 ④ 函数
5、已定义x和y为double类型,则表达式:x=2,y=x+3/2的值是( ) ① 1 ② 3.0 ③ 2.0 ④ 2.5
6、语句:
for (int k = -90; k; k--)
printf (\ ( )
① 编译通不过 ② 能运行, 但会死循环 ③ 能运行, 且不会死循环 ④ 以上说法都不对
7、定义在函数外的变量具有( )
① 函数作用域 ② 文件作用域 ③ 块作用域 ④ 函数原型作用域
8、下列说法中不正确的是( )
① 指针变量的存储空间的大小是一定的 ② 指针中存放的是地址值 ③ 指针可以进行加、减等算术运算 ④ 指针变量不占用存储空间
9、有如下程序
main() {
int n=9; while(n>5)
{ n--; printf(“%d”,n); } }
该程序段的输出结果是( ) ① 987 ② 876 ③ 8765
④ 9876
10、在下面的一维数组定义中,哪一个有语法错误。( ) ① int a[ ]={0,1,2,3,4}; ② int a[5]={0,1,2,3,4}; ③ int a[]; ④ int a[5];
11、按位或运算:int a = 5, b = 7, c = a | b; 变量c的值是( )
① 2 ② 5 ③ 7 ④ 12
12、c语言中,while于do~while语句的主要区别是( ) ① while的循环体至少无条件执行1次 ② while的循环控制条件比do~while的严格 ③ do~while的循环体至少无条件执行1次 ④ do~while允许从外部跳到循环体内
13、若已定义short a[2]={8,10},*p=&a[0];假设a[0]的地址为2000,short int 字长为2字节,
则执行p++后,指针p的值为( )
① 2000 ② 2001 ③ 2002 ④ 2003
14、设有如下的程序段:char str[]=\( )
① `H` ② `e` ③ ’l’
15、结构体类型变量在程序执行期间( ) ① 所有成员驻留在内存中 ② 只有一个成员驻留在内存中 ③ 部分成员驻留在内存中 ④ 没有成员驻留在内存中
一、判断题 1~5 √、√、√、×、× 6~10 √、×、√、×、√
二、填空题
1、double arr[20]; 2、s=a*a+b*b+2*a*b;
3、char a[10]=”continue“; 4、ch>=’a’&&ch<=’z’ 5、return 6、单向链表 7、8 8、6 9、6
10、 pExample.x=8
三、单选题 1~5 ①、②、①、②、② 6~10 ②、②、④、③、③ 11~15 ③、③、③、②、①
则*(ptr+1)的值为 ④ ’\\0’ (二)
一、判断题
( )1、使用C语言语言编写的程序可以直接在计算机上执行,无需编译。 ( )2、任何一个C语言程序都是从函数main开始执行的。 ( )3、C语言中,用户定义的标识符可以与C语言的关键字相同。
( )4、C语言中,调用重载函数时,C语言编译器通过检查调用中的实在参数个数、类型和顺序来确定相应的被调用函数。
( )5、在C程序中,使用条件编译命令可以使目标程序更短。
( )6、C语言中,语句int a[10];声明了一个整型数组,它有10个整型元素,下标的变化范围是1~10。
( )7、C语言中,数组作为函数参数进行传递时,传递的是数组第一个元素的地址。 ( )8、C语言中,函数中的形式参数是局部变量。
( )9、C语言中,指针所对应的存储单元存放的是另一个变量的地址。 ( )10、C语言规定,结构体类型中的成员只能是基本数据类型。
二、填空题
1、在C语言中,定义字符指针数组arr, 数组大小为20, 应写为( )。
2
2、写出公式S=(a+b)的C语言语言赋值语句:( )。 3、描述命题“A小于B且B大于C”的表达式为( )。
4、设ch是字符变量,则判断ch是大写英文字母的逻辑表达式为( )。
5、为字符数组a赋值\的语句为( )。 6、执行完下列语句段后, i值为:( )。 static int a[3][4]={{1,2,3},{4,5,6},{7,8,9}}, i; i= a[2][2];
7、对数组a[]进行初始化的数据为{1,3,5,7,9,11,13},则a[5]被初始化为( )。
8、假定p所指对象的值为25,p+1所指对象的值为46,则执行“(*p)++;”语句后,p所指对象的值为( )。
9、链表是一种非常有用的动态数据结构,有两个指针链的链表称为( )。
10、有语句struct student{int no;char name[10];}; student stu; 则将stu的成员no初始化为8的语句是( )。
三、单选题
1、C语言语言函数的默认返回类型是( )
① 无 ② void ③ int ④ char
2、下列字符串不是标识符的是:( )
① _above ② all ③ _end ④ #eng
3、若x和y都是float型变量,x = 3.6,y = 5.8,则语句printf(“%f”, (x,y)); 的输出结果是( )
① 3.6 ② 5.8 ③ 3.6 5.8 ④ 语法错误
4、假设一个C语言的表达式中包含有int、short、double、char类型的变量和数据,则表达式最后的运算结果是( )类型数据。
① int ② long ③ double ④ char
5、若有说明int a[3][4];则对a数组元素的正确引用是:( )
① a[2][4] ② a[1,3] ③ a[1+1][0] ④ a(2)(1)
6、定义在函数原型参数列表中的变量具有( )
① 函数作用域 ② 文件作用域 ③ 块作用域 ④ 函数原型作用域
7、以下程序段运行后i值为( )
int i=0, a=1; switch (a) {
case 1: i+=1; break; case 2: i+=2; break; default: i+=3; break; }
① 1 ② 3 ③ 6 ④ 上述程序有语法错误
8、下列while循环,将执行几次( )
i= 4;
while (--i) printf(“%d ”, i);
① 3次
② 4次 ③ 0次
④ 无限次
9、下列说法中不正确的是:( ) ① 指针是一个变量
② 指针中存放的是地址值
③ 指针可以进行加、减等算术运算 ④ 指针变量不占用存储空间
10、若有int *p, a[10]; p=a; 则下列写法不正确的是:( ) ① p=a+2 ② a++ ③ *(a+2) ④ p++
11、设有说明语句int a = 6, b = 8, c = a | b;