大学生C语言期末考试试题汇总
第1-3章习题
一、单项选择题
1C语言属于()。
A.机器语言
B.低级语言
C.中级语言
D.高级语言
2一个C程序可以包含任意多个不同名的函数,但有且仅有一个。
A.函数
B.主函数
C.include
D.过程
3系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行?
A.编辑?编译
B.编译?连接
C.编辑?改错
D.编辑?连接
4C语言程序从开始执行。
A.程序中第一条可执行语句
B.程序中第一个函数
C.程序中的main函数
D.包含文件中的第一个函数
5C语言程序是由构成的。
A.一些可执行语言
B.main函数
C.函数
D.包含文件中的第一个函数
6一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是。
A.有效性
B.有穷性
C.有零个或多个输入
D.有零个或多个输出
7设变量a是整型,f是实型,i双精度型,则表达式10+’a’+i*f值的数据类型。
A.int
B.float
C.double
D.不确定
8在C语言中,变量所分配的内存空间大小是由。
A.均为一个字节
B.由用户自己定义
C.由变量的类型决定
D.是任意的
9执行scanf (“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分别为3和4,则正确的输入方法为。
A. 3 ,4
B.a:3 b: 4
C.a=3,b=4
D. 3 4
10在算术表达式中允许使用的括号类型是。
A.{ }
B.[ ]
C.( )
D.以上三项皆错
11存储以下数据,占用存储字节最少的是。
A. 0
B. ‘0’
C. “0”
D. 0.0
12设n=10,i=4,则运算n%=i+1执行后,n 的值是。
A.0
B.3
C.2
D.1
13C语言中运算对象必须是整型的运算符是。
A.%
B. /
C. =
D.〈=
14已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是.
A .0 B. 1 C. 5 D. 6
15若有以下类型说明语句:char w;int x;float y;double z;则表达式w-x*y/z的结果为类型
A.float
B.char
C.int
D.double
16在C语言的库函数中,可以输出char型变量x值的语句是。
A.getchar(x);
B.fputc(x)
C.putchar(x)
D.puts(x)
17已知int x;char y;则下面错误的scanf函数调用语句为。
A.scanf(“%d,%d”,&x,&y);
B.scanf(“%d,%c”,x,y)
C.scanf(“%d%d”,&x,&y)
D. scanf(“%d,%c”,&x,&y)
18若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是。
A.1
B.4
C.4.333333
D.4.6
19设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是。
A.b=1.0/a
B.b=(float)(1/a)
C.b=1/(float)a
D.b=1/(a*1.0)
20C语言中运算对象必须是整型的运算符是。
A.%=
B./
C.=
D.〈=
21若int类型数据占2个字节,则unsigned int类型数据的取值范围是。
A.0~255
B.0~65535
C.-32768~32767
D.-256~255
22在C语言中,字符型数据所占的内存空间是。
A.2个字节
B.4字节
C.1字节
D.由用户自定义
23C语言中字符型(char)数据在内存中的存储的是。
A.原码
B.补码
C.反码
D.ASCII码
24已知ch是字符型变量,不正确的赋值语句是。
A.ch='a+b' ;
B.ch=' \0 ';
C.ch='7' ;
D.ch=';
25已定义c为字符型变量,则下列语句中正确的是。
A.c='97'
B.c="97"
C.c='a'
D.c="a"
26下列可以正确表示字符型常量的是。
A.’\t’
B.”a”
C.”\n”
D.297
27下列C语言用户标识符中合法的是。
A.*y
B.sum
C.int
D.%5f
28下列正确的标识符是.
A.-a1
B.a2_i
C.a[i]
D.int t
二、判断题
29在C源程序中,注释信息也被编译,但对程序运行运果不发生影响。
正确错误
30将C程序编译成目标文件,其扩展名为EXE。
正确错误
31C程序的书写格式比较自由,一行内可写一个语句,也可以写多个语句。
正确错误
32被main函数调用的函数只能是库函数。
正确错误
33一个C语言程序中可以有多个函数,但只能有一个主函数。
正确错误
34结构化程序设计语言的三种基本结构是:顺序结构、选择结构、循环结构。
正确错误
35程序中的“=”是赋值号,与数学中等号的功能相同。
正确错误
36C语言中,格式说明"%10.4f"中10表示数据输出的最小宽度,4表示小数位数。
正确错误
37执行语句++i ; i=3;后变量i的值为4。
正确错误
38C程序中的一个变量可以被定义为两个或多个不同的类型。
正确错误
39自增1(++)、自减1(--)运算符都是双目运算符。
正确错误
40字符常量和字符串常量的存储是相同的,都是以字符的ASCII码值进行存放。
正确错误
41C语言中,字符数据用格式说明"%c"来输出,字符串数据用格式说明"%s"来输出。
正确错误
42C语言标准输出操作中,putchar()函数可以输出显示一个字符串。
正确错误
43C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。
正确错误
44一个变量的数据类型被强制转换后,它将保持被强制转换后的数据类型。
正确错误
45条件运算符?和:是一对运算符,不能分开单独使用。
正确错误
46表达式语句和表达式没有什么区别。
正确错误
三、填空题
47算法具有以下特点:有穷性、()、有零个或多个输入、有一个或多个输出、有效性。48解决问题的方法和步骤,称为()。
49如果i的原值等于3,则printf(“%d\n”, i++);的输出结果是()。
50如果i的原值等于3,则printf(“%d\n”, ++i);的输出结果是()。
51在C程序中,字符输出函数是()函数。
52在C程序中,字符输入函数是()函数。
53格式声明由%和格式字符组成,如%f,f格式符用来输出一个()。
54在输出字符数组中的字符串时,遇()就停止输出。
55格式声明由%和格式字符组成,如%s,s格式符用来输出一个()(不包括双引号)。
56格式声明由%和格式字符组成,如%c,c格式符用来输出一个()。
57格式声明由%和格式字符组成,如%d,d格式符用来输出一个有符号的()。
58在C程序中,用来实现输入的,主要是()函数,这个函数是格式输入函数。
59在C程序中,用来实现输出的,主要是()函数,这个函数是格式输出函数。
60在C程序中,格式化输出库函数是()函数。
61在C程序中,格式化输入库函数是()函数。
62语句x++;、++x;、x=x+1;、x=1+x;执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举相同)()。
63已知int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是()。
64赋值语句是在赋值表达式的末尾加一个()构成的。
65C语句分为以下5类:控制语句、函数调用语句、()、空语句、复合语句。
66根据c语言标识符的命名规则,标识符只能由数字、字母、下划线组成,而且第一个字母不能是()。
67在VC编译系统下,一个double型数据在内存中占()个字节。
68在VC编译系统下,一个float型数据在内存中占()个字节。
69在VC中,一个int型数据在内存中占()个字节。
70在VC中,一个char型数据在内存中占()个字节。
71在程序运行过程中,其值可以改变的量称为()。
72在程序运行过程中,其值不能改变的量称为()。
73在c语言中,十六进制整型常量以()作前缀。
74在c语言中,八进制整型常量以()作前缀。
四、问答题
75下面程序的输出结果是:
#include
#define M3
#define N(M+1)
#define NN N*N/2
void main()
{printf("%d\n",NN);
printf("%d",5*NN);
}
76下面程序的输出结果是:
#include
#define M3
#define N(M+1)
#define NN N*N/2
void main()
{printf("%d",5*NN);
}
77下面程序的输出结果是:
#include
#define M3
#define N(M+1)
#define NN N*N/2
void main()
{printf("%d\n",NN);
printf("%d",5*NN);
}
78下面程序的输出结果是:
#include
#define PT 5.5
#define S(x)PT*x*x
int main()
{int a=1,b=2;
printf("%4.1f\n",S(a+b));
return 0;
}
第4章习题
一、单项选择题
1有以下定义:int a=3,b=4,c=5;则表达式a||b+c&&b-c的值为()。
A.1
B.-1
C.3
D.9
E.0
2有以下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行(m=a>b&&(n=c>d)后n的值为()。
A.1
B.2
C.3
D.4
3若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。
则以下不能满足要求的表达式是()。
A.A%2==1 B.!(A%2==0) C.!(A%2) D.A%2
4已知x=43,ch=′A′,y=0;则表达式(x>=y)&&(′B′ &&! Y)的值是()。
A.0
B.语法错
C.1
D.“假”
5设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是()。
A.´x´&&´y´
B.x<=y
C.x||y+z&&y-z
D.!((x<y)&&!z ||1)
6判断char型变量ch是否为大写字母的正确表达式是()。
A.´A´<=ch<=´Z´
B.(cb>=´A´)&(ch<=´Z´)
C.(ch>=´A´)&&(ch<=´Z´)
D.(´A´<=ch)AND(´Z´>=ch)
7有如下程序段:w,x,y,z,m;w=1; x=2; y=3; z=4;m=(w A. 4 B. 3 C. 1 D. 5 8能正确表示“当x的取值在[-58,-40]和[40,58]范围内为真,否则为假”的表达式是()。 A.(x>= -58) && (x<= -40) && (x>=40) && (x<=58) B.(x>= -58) || (x<= -40) || (x>=40) || (x<=58) C.(x>= -58) && (x<= -40) || (x>=40) && (x<=58) D.(x>= -58) | |(x<= -40) && (x>=40) || (x<=58) 9逻辑运算符两侧运算对象的数据类型()。 A.只能是0或1B.只能是0或非0正数 C.只能是整型或字符型数据D.可以是任何类型的数据 10为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 11设x、y和z都是int类型变量,且x=3,y=4,z=5,则下面的表达式中,值为0的表达式为()。