答案第二章 C语言程序设计的初步知识
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章 C语言程序设计的初步知识
一、选择题
1.在C 语言中,下列类型属于构造类型的是 D 。
(0级)
A)整型B)字符型C)实型D)数组类型
2.在C 语言中,下列类型属于构造类型的是D 。
(0级)
A)空类型B)字符型C)实型D)共用体类型
3.在C 语言中,下列类型属于构造类型的是 D 。
(0级)
A)整型B)指针类型C)实型D)结构体类型
4.在C 语言中,下列类型属于基本类型的是 A 。
(0级)
A)整型、实型、字符型B)空类型、枚举型
C)结构体类型、实型D)数组类型、实型
5.下列类型属于基本类型的是 C 。
(0级)
A)结构体类型和整型B)结构体类型、数组、指针、空类型
C)实型D)空类型和枚举类型
6.下列字符串属于标识符的是 A 。
(0级)
A)INT B)5_student C)2ong D)!DF
7.下列字符串属于标识符的是 A 。
(0级)
A)_WL B)3_3333 C)int D)LINE 3
8.下列字符串不属于标识符的是 D 。
(0级)
A)sum B)average C).day_night D)M.D.JOHN
9.下列字符串不属于标识符的是 D 。
(0级)
A)total B)lutos_1_2_3 C)_night D)$ 123
10.下列字符串不属于标识符的是D 。
(0级)
A)_above B)all C)_end D)# dfg
11.C语言中不能用来表示整常数的进制是 D 。
(0级)
A)十进制B)十六进制C)八进制D)二进制
12.C语言中能用来表示整常数的进制是 A 。
(0级)
A)十进制、八进制、十六进制B)十二进制、十进制
C)六进制、八进制D)二进制、十进制
13.在C语言中,回车换行符是 A 。
(0级)
A)\n B)\t C)\v D)\b
14.在C语言中,退格符是 D 。
(0级)
A)\n B)\t C)\v D)\b
15.在C语言中,反斜杠符是 D 。
(0级)
A)\n B)\t C)\v D)\ \
16.在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII 码 A 。
(0级)
A)大32 B)大64 C)小32 D)小64
17.设d为字符变量,下列表达式不正确的是 C 。
(0级)
A)d=97 B)d=‟a‟C)d=”a”D)d=‟g‟
18.设d为字符变量,下列表达式正确的是 B 。
(0级)
A)d=678 B)d=‟a‟C)d=”d”D)d=‟gjkl‟
19.10+‟a‟+1.5-567.345/‟b‟的结果是 B 型数据。
(0级)
A)long B)double C)int D)unsigned float
20.语句int i=3;k=(i++)+(i++)+(i++);执行过后k的值为 A ,i的值为。
(0级)A)9,6 B)12,5 C)18,6 D)15,5
21.如果i=3,则k=(i++)+(++i)+(i++)执行过后k的值为 A ,i的值为。
(1级)
A)12,6 B)12,5 C)18,6 D)15,5
22.如果i=3,则k=(++i)+(++i)+(i++)执行过后k的值为 A ,i的值为。
(1级)A)15,6 B)12,5 C)18,6 D)15,5
23.如果i=3,则k=(++i)+(++i)+(++i)执行过后k的值为 C ,i的值为。
(1级)
A)9,6 B)12,5 C)18,6 D)15,5
24.如果int i=3,则printf(“%d”,-i++)的结果为 A ,i的值为。
(1级)
A)-3,4 B)-4,4 C)-4,3 D)-3,3
25.如果int i=3,int j=4,则k=i+++j执行之后k,i和j的值分别为 C 。
(1级)A)7,3,4 B)8,3,5 C)7,4,4 D)8,4,5
26.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为 B 。
(1级)
main()
{char x,y;
x=‟0‟;y=‟9‟;
printf(“%d,%d\n”,x,y);
}
A)因输出格式不合法,输出错误信息B)48,57
C)0,9 D)48,58
27.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为 C 。
(1级)
main()
{char c=‟A‟;int i=10;
c=c+10;
i=c%i;
printf(“%c,%d\n”,c,i);
}
A)75,7 B)75,5
C)K,5 D)因存在非图形字符,无法直接显示出来
28.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为 B 。
(1级)main()
{char c1=‟B‟,c2=‟Y‟;
printf(“%d,%d\n”,++c1,--c2);
}
A)输出格式不合法,输出错误信息B)67,88
C)66,89 D)C,X
29.C语言中最简单的数据类型包括 B 。
(1级)
A)整型,实型,逻辑型B)整型,实型,字符型
C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型30.C语言中,运算对象必须是整型数的运算符是A 。
(1级)A)% B)\ C)% 和\ D)* 31..下列常数中,合法的C 常量是 A 。
(1级)
A)-0. B)‟105‟C)‟AB‟D)3+5 32.下列常数中,合法的C 常量是 A 。
(1级)
A)”x-y”B)‟105‟C)‟Be‟D)7ff
33.下列常数中,合法的C 常量是 A 。
(1级)
A)‟\n‟B)e-310 C)‟DEF‟D)‟1234‟34.下列常数中,不合法的C 常量是 B 。
(1级)
A)-0x2al B)lg3 C)‟[‟D]”CHINA”35.下列常数中,不合法的C 常量是 B 。
(1级)
A)-0x3bl B)123e+2.3 C)‟}‟D)6e+7 36.下列符号中,可以作为变量名的是 C 。
(1级)
A)+a B)12345e C)a3B D)5e+0 37.下列符号中,可以作为变量名的是 C 。
(1级)
A)+c B)*X C)_DAY D)next day 38.下面程序的输出结果是 A 。
(1级)
main()
{int x;
x=-3+4*5-6;printf(“%d”,x);
x=3+4%5-6; printf(“%d”,x);
x=-3*4%-6/5; printf(“%d”,x);
x=(7+6)%5/2; printf(“%d”,x);
}
A)11 1 0 1 B)11 –3 2 1
C)12 –3 2 1 D)11 1 2 1
39.下面程序的输出结果是 B 。
(1级)
mian()
{int x=2,y=0,z;
x*=3+2; printf(“%d”,x);
x*=y=z=4; printf(“%d”,x);
}
A)8 40 B)10 40
C)10,4 D)8,4
40.下面程序的输出结果是 A 。
(1级)
main()
{int x=2,y=0,z;
x+=3+2; printf(“%d”,x);
x*=y=z=4; printf(“%d”,x);
}
A)7 28 B)无法计算C)7,4 D)8,4
41.下面程序的输出结果是 B 。
(1级)
main()
{int x=4,y=0,z;
x*=3+2; printf(“%d”,x);
x*=y= =(z=4); printf(“%d”,x);
}
A)14 40 B)20 0 C)20 4 D)14 4
42.下面程序的输出结果是 A 。
(1级)
main()
{int i,j;
i=16;j=(i++)+i;printf(“%d”,j);
i=15;printf(“%d %d”,++i,i);
}
A)32 16 15 B)33 15 15
C)34 15 16 D)34 16 15
43.在C语言中,以下合法的字符常量是BC 。
(1级)
A)'\084' B)'\x43' C)'0' D)"\0"
44.若已定义X和Y为double类型,则表达式:x=1,y=x+3/2的值为 C 。
(1级)
A)1 B)2 C)2.0 D)2.5
45.下列程序的执行结果是B 。
(1级)
#include<stdio.h>
#define sum 10+20
main()
{
int b=0,c=0;
b=5;
c=sum*b;
printf("%d",c);
}
A)100 B)110 C)70 D)150
46..下列程序的执行结果是 D 。
(1级)
#include<stdio.h>
#define sum(10+20)
mian()
{
int a=0,b=0,c=0;
a=sum;
b=5;
c=sum*b;
printf("%d",c);
}
A)100 B)110 C)70 D)150
47.表达式(int)2.1416的值为 A 。
(1级)
A)2 B)2.1 C)0 D)3
48.表达式(double)(20/3)的值为 B 。
(1级)
A)6 B)6.0 C)2 D)3
49. 在下面几组数据类型中, 全是基本数据类型是哪一组 A 。
(02~03第一学期试题)
A)整型实型字符型B)整型数组指针
C)数组结构体共用体D)指针逻辑型空类型
50. 以下说法正确的是 C 。
(02~03第一学期试题)
A)在C程序中, 每行只能写一条语句.
B)在C程序中, 无论是整数还是实数, 其存放形式都一致.
C)在C程序中, %是只能用于整数运算的运算符.
D)在C程序中, 变量可以不必先定义就可使用.
51. 假设所有变量均为整型, 则表达式( a=5, b=2, a++, a+b ) 的值是 A 。
(02~03第一学期试题)
A)8 B)7
C)6 D)5
52. 若有以下定义, 则正确的赋值语句为 A 。
(02~03第一学期试题)
int a, b ;
float x;
A)a=1, b=2, B)b++;
C)a=b=5 D)b= int (x) ;
53. .C语言规定标识符由 A 等字符组成. (01~02第二学期试题)
A)字母数字下划线B)中划线字母数字
C)字母数字逗号D)字母下划线中划线
54. 若有如下定义:int a=2,b=3; float x=3.5,y=2.5; 则表达式:
(float)(a+b)/2+(int)x%(int)y的值是 B 。
(01~02第二学期试题)
A)2.500000 B)3.500000 C)4.500000 D)5.000000
55. 以下表达式: 2+‟a‟+i*f, 其中i为整型变量,f为float型变量,则表达式的最终数据类型为 D 。
(01~02第二学期试题)
A)int B)float C)char D)double
56. 若有:int a,b=2;则a=(b*100+1.5,100)则a的值是 A 。
(01~02第二学期试题)
A)100 B)100.5 C)200.5 D)300.5
57. 有如下语句:
printf(“%s,%5.3s\n”,“COMPUTER”,“CMPUTER”);
执行语句后的最终结果为B 。
(01~02第二学期试题)
A)COMPUTER ,CMP . B)COMPUTER, CMP.
C)COMPU, CMP. D)COMPU, CMP
58.已知ch是字符型变量,下面不正确的赋值语句
是: B 。
(03试题)
A)ch=…\0‟ B)ch=…a+b‟
C)ch=…7‟+…9‟ D)ch=7+9
59.若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为:B 。
(03试题)
printf(“%f”,(x,y));
A)3.600000 B)5.800000
C)3.600000,5.800000 D)输出符号不够,输出不正确值
60.设变量a是整型,变量f是实型,变量I是双精度型,则表达式10 + …a‟+I * f 值的数据类型: C 。
(往届试题)
A)int B)float C)double D)不确定
61. 已知字母A的ASCII码为十进制65,下面程序段的运行结果为: A 。
(往届试题)
char ch1,ch2;
ch1= …A‟+5-3; ch2= …A‟+6-3;
printf(“%d, %c\n”, ch1,ch2);
A)67, D B)B, C C)C, D D)不确定值
62.以下不正确的C语言标识符是 D 。
(04~05第二学期试题)
A)ABC B)abc C)a_bc D)ab.c
63.设x、y均为float型变量,则以下不合法的赋值语句是 B 。
(04~05第二学期试题)
A)+ + x; B)y = ( x%2 ) / 10;
C)x *= y + 8; D)x = y = 0;
64.若有说明语句:char c= …\64‟ ;
则变量C包含: A 。
(往届试题)
A)1个字符B)2个字符
C)3个字符D)说明不合法,C值不确定。
65.表达式18/4*sqrt(4.0)/8值的数据类型为 C 。
(往届试题)
A)int B)float C)double D)不确定
66.设整型变量a值为9,则下列表达式中使b的值不为4的表达式: B 。
(往届试题)
A)b=a/2 B)b=a%2
C)b=8-(3,a-5) D)b=a>5?4:2
67.设有以下定义,则能使值为3的表达式是: D 。
(往届试题)
int k=7, x=12;
A)x%=(k%=5) B)x%=(k-k%5)
C)x%=k D)(x%=k)-(k%=5)
68.以下选项中是C语言的数据类型的是: C 。
(往届试题)
A)复数型B)逻辑型
C)双精度型D)集合型
二、填空题
1.C语言的数据类型有四大类,分别是.基本类型,构造类型, 指针类型,空类型。
(0级)2.C语言数据类型中构造类型包括三种,他们是数组类型,结构体类型,共用体类型。
(0级)
3.C语言基本数据类型包括整型字符型实型枚举类型。
(0级)
4.在C语言中,程序运行期间,其值不能被改变的量叫常量。
(0级)
5.在C语言中,常量有不同的类型,包括整型常量实型常量字符常量字符串常量等。
(0级)
6.符号常量是指.用一个标识符代表一个常量。
(0级)
7.整型常量和实型常量也称为数值型常量,它们有正负之分。
(0级)
8.在C语言中,在习惯上符号常量名用大写,变量用小写。
(大写或小写)(0级)
9.在C语言中,变量是其值可以改变的量。
(0级)
10.变量也有不同类型,如整型变量实型变量字符型变量等。
(0级)
11.C语言在定义变量的同时说明变量的.数据类型,系统在编译时就能根据变量定义及其数据类型为它分配相应数量的存储空间。
(0级)
12.在C语言中,用来标识变量名,符号常量名,函数名,数组名,类型名,文件名的有效字符序列称为标识符。
(0级)
13.在C语言中,标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须字母或下划线。
(0级)
14.在C语言中,要求对所有甬道的变量,遵循先定义后使用的原则。
(0级)15.可以用来表示C的整常数的进制是十进制、十六进制、八进制。
(0级)
16.整型变量可分为基本型、短整型、长整型、无符号四种,分别用int short long unsigned。
(0级)
17.在一个整常量后面加一个字母L和字母l,则认为是long int 型常量。
(0级)
18.在C语言中,实数有两种表现形式,是十进制数形式和指数形式
19.实型变量分为单精度和双精度,即float和double型。
(0级)
20.C的字符常量是用单引号括起来的一个字符。
(0级)
21.在一个变量定义语句中可以同时定义多个变量,变量之间用逗号隔开。
(0级)22.C语言中规定,在变量定义的同时也可以给变量赋初值,叫做.变量初始化。
(0级)
23.下面的程序
mian()
{printf("abc\tde\rfg\n");/*空白处分别为两个和一个空格*/
printf("h\ti\b\bjk"); /*空白处为三个空格*/
}
运行结果是fgc□□□□□de
h□□□□□□jk。
(1级)
24.int型的取值范围是-32768~+32767。
(0级)
25.在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能.字符形式输出,也可以整数形式输出。
(0级)
26.下面的程序
main()
{char c1,c2;
c1='a';c2='b';
c1=c1-32;c2=c2-32;
printf("%c %c",c1,c2);
}
运行结果为 A B。
(0级)
27.在ASCⅡ代码表中可以看到每一个小写字母比相应的大写字母的ASCⅡ代码大32。
(0级)
28.C的字符串常量是用双引号括起来的字符序列。
(0级)
29.在 C 语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”即’\0’,以便系统据此数据判断字符串是否结束。
(0级)
30.表达式10+'a'+1.5-0.5*'b'的结果75.5。
(1级)
31.表达式10+'a'+1.5-567.345/'b'的结果是.double型数据。
(1级)
32. 在TURBO中,单精度实数的取值范围在-231~231--1 之间。
(1级)
33.在C语言中,加减乘除这些运算符需要两个运算对象,称为双目运算符。
34.在C语言中,算术运算符的结合性是左结合。
(1级)
35.下面的程序
mian()
{float x;int i;
x=3.6;i=(int)x;
printf("x=%f,i=%d",x,i);
}
运行结果为x=3.600000,i=3。
(1级)
36.如果int i=3,则printf("%d",-i++)执行后输出是-3,i的结果是4。
(1级)
37.在C语言中,表达式的类型有赋值表达式,算术表达式,关系表达式, 逻辑表达式条件表达式, 逗号表达式。
(1级)
38.逗号表达式的形式如下:
表达式1,表达式2
则逗号表达式的结果是表达式2的值.(1级)
39.表达式x=(a=3,6*3)和表达式x=a=3,6*a分别是赋值表达式和逗号表达式,两个表达式执行完的结果是18和18.执行后X的值分别是18 , 3 .(1级)40.main()
{int i,j,m,n;
i=8;j=10;
m=++i;n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
运行后i,j,m,n的值是9,11,9,10 .(1级)
41.在C语言中的运算符优先级最小的是逗号运算符.(1级)
42.在C语言中,可以利用强制类型转换,将一个表达式的值转换成指定的类型。