第一章 C语言基础知识
(C语言概述、算法、数据类型 运算符 表达式、位运算)
一、 判断题
R1.在C语言中,逗号运算符的优先级最低。
2.在C语言可执行程序的开始执行点是程序中第一个函数。
3.“5ch”是合法的变量名。
R4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。
5.当输入数据时,必须指明变量的地址,如scanf(\"%f\
N6.表达式i++与++i在任何场合功能完全相同。
7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。Float a; int b=1;a=b;
R8.C语言程序中,语句以逗号结尾。( )
9.在 C 程序中,APH 和aph 代表不同的变量。( )
10. a-=7等价于a=a-7。( )
1 / 16
N11. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按原字符长从左向右全部输出。( )
12.如果x>y为真或ay)&&(a13.C语言程序的变量必须先定义再使用。( )
14.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b中的值将丢失。( )
15.程序的执行总是从main函数开始,在程序的最后一个函数中结束。( )
N16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。()
17. 运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符()
18.对应float类型的变量,也可以用等号“==”进行数值的判断。()
19.表达式:1 && 3.14 和 1 & 3 的值一样大。()01&11=1
20. 为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。()
21.任何C程序都是从main函数开始和结束;
22. 在C程序中,使用分号“;”表示语句的结束。( )
2 / 16
23. C程序中的必须要有至少一个main的函数,可以有多个。( )
24. 在C程序中,无论是整数还是实数,都能准确无误的表示。( )
25. 在C程序中,赋值运算符的优先级最低。( )
26. 当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。( )
27. 在C程序中,变量可以一边定义一边使用。( )
28. C程序中的注释部分可有可无,可以省略。( )
29.字符型变量可以存放多个字符。( )
30.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。( )
31.运算符优先顺序:赋值运算符<逻辑运算符<关系运算符<算术运算符()
32.一个C程序的执行是从本程序的main函数开始,到main函数结束。()
二、 单项选择题
R1、以下标识符中,不能作为合法的C用户定义标识符的是:( )
A .a3_b3 B.void C._123 D.abc
3 / 16
R2、C语言规定:在一个源程序中,main函数的位置( )。
A.必须在最后 B.必须在系统调用的库函数的后面。
C.必须在最开始。 D.可以任意
R3、下列说法中正确的是( )。
A. C程序书写时,不区分大小写字母
B. C程序书写时,一行只能写一个语句
C. C程序书写时,一个语句可分成几行书写
D. C程序书写时每行必须有行号
4、 已知ch是字符型变量,下面不正确的赋值语句是 (A.ch = 5 + 9 ; B.ch= ' a' + b ';
C. ch = ' \\ 0 '; D. ch= '7' + '6' ;
5、 若有定义:int a = 7; float x = 2.5 , y = 4.7 ; x + a % 3 * (int) (x + y) % 2/4 的值是( )。
4 / 16
。
则表达式 )
A. 2.750000 B. 0.00000 C. 3.500000 D. 2.500000
6、已知ch是字符型变量,下面正确的赋值语句是( )。
A.ch = '123' ; B. ch=' \\08 '; C. ch =' \\xff '; D.ch =\" \\ \";
7、以下标识符中,不能作为合法的C用户定义标识符的是:____________。
A)a3_b3 B)void C)_123 D)abc
8、C语言中,运算对象必须是整型的运算符是__________。
A) % B) / C) %和/ D) *
9、在 C 程序中,用___________表示逻辑值“真”。
A)1 B)非 0 的数 C)非 1 的数 D) 大于 0 的数
N8.设int c=5和int a; a=2+(c+=c,c+8,++c), 则a=__________
A) 15 B) 14 C) 13 D) 16
10、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符________。
A)必须为字母或下划线。 B)必须为下划线。
5 / 16
C)必须为字母 D)可以是字母、数字和下划线中的任一种字符。
11、 下列说法中正确的是___________。
A) C程序书写时,不区分大表达式小写字母
B) C程序书写时,一行只能写一个语句
C) C程序书写时,一个语句可分成几行书写
D) C程序书写时每行必须有行号
12、为表示数学关系x≥y≥z,正确的C语言表达式是__________。
A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)
C) (x>=y>=z) D) (x>=y)&(y>=z)
13、不合法的八进制数是________
A) 0 B) 028 C) 077 D)01
14、以下不能定义为用户标识符是
A Main B _0 C _int D sizeof
6 / 16
15、若x=5,y=4 则y*=x+5;等价于y=y*(x+5) y的值为( )。
A. 40 B. 20 C B. 15 D. 30
16、组成C语言程序的基本单位是( )。
A) 过程 B) 子程序
C) 函数 D) 主程序和子程序
17、下列哪个标识符是C语言合法的标识符( )。
A) a*b B) -xyz
C) ba2 D) 5i
N18、若有定义:int a=7; float x=2.5, y=4.7; 则表达式x+a%3*(int)(x+y)/4的值是( )。
A) 2.75 B) 3.5
C) 2.5 D) 0
19、设int m=1,n=2;则++m= =n的结果是( )
A、0 B、1 C、2 D、3
7 / 16
N20、 若变量已定义并赋值,下列符合C语法的表达式是:( )
A、a:=b+1 B、a=b=c+2
C、int 18.5%3 D、a=a+7=c+b
20、 若变量已正确定义并赋值,表达式____________不符合C语言语法。
A)a*b/c; B)3.14%2 C)2, b D)a/b/c
R21、在C程序中,设一表达式中包含有int,long, unsigned和char类型的变量和数据,则表达式最后的运算结果类型是( )
A.int B.char C.unsigned D.long
R22、C语言中基本的数据类型包括__________。
A) 整型、实型、逻辑型 B) 整型、实型、字符型
C) 整型、字符型、逻辑型 D) 整型、实型、逻辑型、字符型
N23、 若定义x和y为double类型,则表达式:x=2,y=x+5/2的值是__________
A) 4 B) 4.5 C) 4.0 D) 3.0
24、在以下运算符中,优先级最高的运算符是__________
8 / 16
A) ? : B) ++ C) && D) +=
25.、若定义int x=7,y=5,z;则表达式:z=x+5/2*y的值是__________
A) 7 B) 7.5 C) 17 D) 19.5
26、以下说法中正确的是( )
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
27、设int a=2,b;则执行b=a&&1;语句后,b的结果是( )
A.0 B.1 C.2 D.3
N28、)逗号表达式(a=3*5,a*4),a+15的值是( )
A.15 B.60 C.30 D.75
29、若已经定义了一个字符型变量为a,下面哪个表达式的含义跟其余表达式不同:
9 / 16
A) a!=0 B) a!=’\\0’ C) a D) !a
30、在以下运算符中,优先级最高的运算符是__________
A) , B) [] C) && D) +=
31、在C语言中,逻辑值“真”用__________表示。
A) true B) 大于0的数 C) 非0的整数 D) 非0的数
32、 表达式__________是满足:当c的值为1、3、5三个数中任意一个时值为“真”,否则值为“假”的表达式
A) (c=1)||(c=3)||(c=5) B) (c!=1)&&(c!=3)&&(c!=5)
C) (c==1)&&(c==3)&&(c=5) D) (c==1)||(c==3)||(c==5)
33、C语言中,int类型数据占2个字节,则long类型数据占( )
A、1个字节 B、2 个字节 C、3个字节 D、4个字节
34、下列字符串是合法的标识符的是( )。
A、_HJ B、9_student C、 long D、LINE 1
35、下列说法中正确的是( )。
10 / 16
A、 C程序书写时,不区分大小写字母
B、 C程序书写时,一行只能写一个语句
C、 C 程序书写时,一个语句可分成几行书写
D、 C程序书写时每行必须有行号
36、在C语言中,要求参加运算的数必须是整数的运算符是( )。
A、/ B、! C、% D、= =
37、C语言中,逻辑“真“等价于( )。
A、大于零的数 B、大于零的整数
C、非零的数 D、非零的整数
38、C语言中基本的数据类型不包括__________。
A) 整型 B)字符串型
C)字符型 D)实型
39、假设在程序中a,b,c均被定义为整型,并且已赋大于1的值,则下列能正确表示代数式1/abc的表达式是( )。
11 / 16
A、1/a*b*c B、1/(a*b*c)
C、1/a/b/(float) c D、1.0/a/b/c
40、下列合法的字符常量是( )。
A、'\\084' B、'\\x43' C、'ab' D、\"\\0\"
41、在C语言提供的合法的关键字是( )
A、switch B、cher C、Case D、sturct
42、若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是
A、 2 B、 1 C、 2.0 D、2.5
三、 程序填空题
1、以下程序不用第三个变量实现两个数对调的操作。
#include\"stdio.h\"
main()
{
12 / 16
int a,b;
scanf(\"%d,%d\
a=a+b;
b=a-b;
a=a-b;
printf(\"%d,%d\
}
2、选择程序的运行结果 :
x=2
y=2
b=-2
main ( )
{ int x=1, y=2, z, a, b, c, d;
13 / 16
z = ++x||++y;(短路)
printf(\"x=%d\\n\
printf(\"y=%d\\n\输出结果(三个字符) */a=-1; b=-2; c=++a&&b++;
printf(\"b=%d\\n\输出结果 (三个字符)*/ 3以下程序的结果为:
13
4
main()
{
unsigned int a=3, b=10;
printf(\"%d\\n\输出结果<13> */
printf(\"%d\\n\输出结果<4> */
14 / 16
}
}
4 、若x=3,y=z=4,则下列表达式的值是。
(1) (z>=y>=x)? 1:0
/*值为<0> */
(2) z>=y&&y>=x
/*值为<1> */
5、已知float x=4.3,int y;执行语句y=(int)x后,x为int型(填写小写英文字母),且y=4(填写阿拉伯数字);
6、表达式’c’&&’d’的值为<1>(填写阿拉伯数字),’c’&&’d’||!(3+4)的值为1 (填写阿拉伯数字)。
7、若x为int类型,则与逻辑表达式“x”等价的表达式是x!=0, 与逻辑表达式“!x”等价的表达式是x==0。
8 、表示“整数x的值大于5”时逻辑值为“真”的表达式是x>5,逻辑值为“假”的表达式是x<=5
9、已知字母A的ASCII码为十进制数65,且设ch为字符型变量,则表达式ch=‘A’-‘4’+‘9’的值为’F’(一个字符常量);若定义:char c=‘\\72’;则变量c中包含的
15 / 16
字符个数为1(数字)。
10、C语言所提供的基本数据类型的整型类型包括:短整型、整型、长整型。(按每种类型所占字节数,从小到大排列)
16 / 16