《复习卷》试卷
总分
题号
题分
得分
得分
一、单选题(每题1分,共计30分)
1、下列选项中,不合法的变量是(D)。
A、int x = 3;
B、char ch = 'c'
C、float f ;
D、case c;
2、下列选项中,不合法的常量是(D)。
A、2
B、'\n'
C、'a'
D、'\483'
3、关于#include<stdio.h>这句代码,下列描述中错误的是(C)
A、"#"是预处理标志,用来对文本进行预处理操作
B、include是预处理指令
C、一对尖括号可以去掉
D、stdio.h是标准输入输出头文件
4、假设a、b、c、d、m、n均为int型变量,且a=5、b=6、c=7、d=8、m=2、n=2,那么逻辑表达式(m=a>b)&&(n=c>d)运算后,n的值为(  C )。
A、0
B、1
C、2
D、3
5、C语言程序的三种基本结构是( A  )。
A、顺序结构,选择结构,循环结构
B、递归结构,循环结构,转移结构
C、嵌套结构,递归结构,顺序结构
D、循环结构,转移结构,顺序结构
6、​关于下面的for循环语句 int i,k; for(i = 0,k = -1;k = 1;i++,k++)  printf(“*****”); 下列选项中,描述正确的是(B  )
A、判断循环结束的条件非法
B、是无限循环
C、只循环一次
D、一次也不循环
7、以下定义语句中,错误的是( D  )。
A、int a[]={1,2};
B、char *a[3];
C、char s[10]="test";
D、int n=5,a[n];
8、下列描述中不正确的是(C  )。
A、字符型数组中可以存放字符串
B、可以对字符型数组进行整体输入、输出
C、可以对整型数组进行整体输入、输出
D、不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值
9、C语言中数组名作为参数传递给函数,作为实在参数的数组名被处理为(  D)。
A、该数组的长度
B、该数组的元素个数
C、该数组中各元素的值
D、该数组的首地址
10、在C语言中,引用数组元素时,其数组下标的数据类型允许是( C)
A、整型常量
B、整型表达式
C、整型常量或整型表达式
D、任何类型的表达式
11、若有定义double x = 12.2;则表达式int a = x;则a的值为(C)。
A、0
B、0.0
C、12
D、12.2
12、若有定义: char *a= "China"; , 则 a+3 表示  (C)      。c语言如何创建字符串数组
A、该字符串的首地址
B、该字符串中字符 n 的值
C、该字符串中字符 n 的地址
D、该字符串中字符 i 的地址
13、下述对C语言字符数组的描述中错误的是(  C )。
A、字符数组可以存放字符串
B、字符数组中的字符串可以整体输入、输出
C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值
D、不可以用关系运算符对字符数组中的字符串进行比较
14、C语言中数组下标的下限是(B)。
A、1
B、0
C、视具体情况
D、无固定下限
15、若已定义x和y为double类型,则表达式x=1,y=x+3/2的值是( C)。
A、1
B、2
C、2.0
D、2.5
16、关于结构体作为函数参数,下列描述中错误的是(D )
A、结构体可以作为函数参数
B、结构体数组可以作为函数参数
C、结构体指针可以作为函数参数
D、结构体成员变量不可以作为函数参数
17、若有定义: struct  KeyWord { char Key[20]; int ID; }kw[] = { "void", 1, "char", 2, "int", 3, "float", 4, "double", 5 }; 则printf("%c,%d\n", kw[3].Key[0], kw[3].ID);语句的输出结果为(C )
A、i 3
B、n 3
C、f 4
D、l 4
18、下列关于指针变量的描述,不正确的是(C )
A、在没有对指针变量赋值时,指针变量的值是不确定的
B、同类指针类型可以进行相减操作
C、在使用没有赋值的指针变量时,不会出现任何问题
D、可以通过指针变量来取得它指向的变量值
19、关于C语言中print()函数与scanf()函数,下列描述中正确的是( B )
A、printf()函数可以向任何地方输出数据
B、printf()只向控制台输出数据
C、scanf()只能输入英文字母和数字
D、scanf()函数可以识别输入的空格
20、表示关系X<=Y<=Z的C语言表达式为(  A )。
A、(X<=Y)&&(Y<=Z)
B、(X<=Y)AND(Y<=Z)
C、(X<=Y<=Z)
D、(X<=Y)&(Y<=Z)
21、下列是多行注释的符号是(D)
A、//
B、/
C、/*
D、/**/
22、在以下定义中,正确的说明语句为(D  )。
A、int a[b]
B、int a[3,4]
C、int a[][]
D、int *a[10]
23、关于指针定义,下列选项中正确的是(B )
A、int x; int p = &x;
B、int x; int *p = &x;
C、int x; int p = *x;
D、int x; int *p = *x;
24、以下说法正确的是(C)
A、c语言程序总是从第一个函数开始执行
B、在c语言程序中,要调用的函数必须在main()函数中定义
C、c语言程序总是从main()函数开始执行
D、c语言程序中的main()函数必须放在程序的开始部分
25、要为字符型变量a赋初值,下列语句中哪一个是正确的(B )。
A、char a = "3";
B、char a = '3';
C、char a = %;
D、char a = *;
26、以下对C语言字符数组描述     (B)    是正确的。
A、可以用length函数计算字符数组中字符串的长度
B、使用printf函数整体输出字符数组中的字符串时,输出到字符’\0’结束输出
C、可以在赋值语句中通过赋值运算符”=”对字符数组整体赋值
D、字符数组只能存放字符串,不能存放字符
27、若有定义char s[5] = { 'h', 'e', 'l', 'l', 'o' };则printf(“%s”,s);的输出结果为(A )
A、输出字符串hello后乱码
B、hello
C、h
D、输出数组s的地址
28、sizeof(float)是( C  )。
A、一种函数调用
B、一个不合法的表示形式
C、一个整型表达式
D、一个浮点表达式
29、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B )。
A、input x,y,z;
B、scanf("%d%d%d",&x,&y,&z);
C、scanf("%d%d%d",x,y,z);
D、read("%d%d%d",&x,&y,&z);
30、​以下循环体的执行次数是( C  )。 void main() { int i,j; for (i=0,j=1; i<=j+1; i+=2,j--) printf("%d\n",i); }
A、3
B、2
C、1
D、0
得分
二多选题(每题2分,共计8分)
1、在调用外部函数时,下列描述中正确的是(B.D )(多选)
A、只要有函数名,就能调用外部函数
B、调用外部函数要包含外部函数所在的头文件
C、外部函数与调用者定义在同一个源文件下
D、在声明外部函数时,外部函数与原函数定义的返回值类型、函数名称和参数列表必须一致
2、下列语句哪些属于循环语句(A.B.C)。
A、for语句
B、do-while语句
C、while语句
D、switch语句
3、关于数组类型的定义,下列描述中正确的是(A.C )
A、数组的大小一旦定义就是固定的
B、一个数组中的各元素类型可以不一样
C、数组的下标类型为整型
D、数组元素的下标从1开始
4、C语言的程序结构语句包括(A.B.C)。
A、顺序结构语句
B、循环结构语句
C、选择结构语句
D、逻辑结构语句
得分
三、判断题(对的打“√”,错的打“×”;每题1分,共20分)
1、对于一维数组,例如int arr[3];则arr[2]表示数组的第2个元素。(X
2、注释在编译时也会被编译到程序中(X
3、标识符只能由字母和数字组成。(X
4、结构体指针存储的是结构体在内存中的首地址。(√)
5、在C语言程序中,以分号“;”作为结束标记的代码都可称为语句(√)
6、sizeof运算符的功能是获取某一数据或数据类型在内存中所占的字节数。(X
7、标识符命名有一定规范,它不能以数字作为第一个字符。(X
8、局部变量只有当它所在的函数被调用时才会被使用,当函数调用结束时局部变量还会一直存在。(X
9、在C语言中,strncmp()函数可以用来比较两个字符串中前n个字符是否完全一致。(√)
10、数组中的元素可以通过数组名和下标来引用。(√)
11、数组元素下标的个数也称为维数,根据维数的不同,可将数组分为一维数组、二维数组、三维数组、四维数组等。(√)
12、strcpy()函数实现字符串的复制,没有返回值。(X
13、在C语言中,strcmp()函数用于比较两个字符串的内容是否相等。(√)
14、若有定义int x = 1,y = 2;则表达式x==y是将y的值赋值给x。(X
15、常量指针的作用是使当前指针所指向变量的地址在程序运行时不能被修改。(X
16、结构体指针变量用于存放结构体变量的首地址,所以将指针作为函数参数传递时,其实就是传递结构体变量的首地址。(√)
17、表达式是一长串式子,常量与变量并不是表达式。(X
18、用于存放其他变量的地址的变量称为指针变量。(√)
19、取指针所指向的地址中的值可以取值符号&。(x
20、当字符数组中的初值个数小于数组长度时,没有赋值的元素会默认赋值为空字符。(√)
得分
四、填空题(每题2分,共计60分)
1、单行注释用_____//___符号表示。
2、C语言的比较运算中,“真”用数字____1____来表示,“假”用数字____0____来表示。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。