C语言复习卷带答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
姓名:__________________年级
专业:__________________ 学号:__________________
凡年级专业、姓名、学号错写、漏写或字迹不清者,成绩按零分记。
…………………………密………………………………封………………………………线…………………………
《复习卷》试卷
一、单选题(每题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
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) 。
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()函数开始执行