高级语言程序设计(c语言)
- 格式:docx
- 大小:31.41 KB
- 文档页数:7
徐州 08 计、徐州 08 机、江苏 08 机、江阴 08 计、
江阴 08 电、江阴 08 数、江阴 08 机、江技 08 数、
江技 08 电、常州 08 电、常州 08 数、
ZH 计 0824、ZH 机 0821
《高级语言程序设计( C 语言)》复习
一、选择题
1、设 x、y、z 都是整型变量,x、y 的初值都是 5,执行 z=(++x)+(y- -)+1 后,x、y、z 三变量的值按顺序是( D )。
A. 5, 5, 11 B.6, 6, 13 C.4, 6, 12 D.6, 4, 12
2、C 语言中运算对象必须是整型的运算符是( A )。
A、% B、/ C、! D、**
3、以十六进制形式输出整数的格式说明符是( D )。
A. %u B.%ld C.%x D.%o
4、引用结构体变量中的一个成员的方法是( D )
A、结构体变量名&成员名
C、结构体变量名*成员名 B、结构体变量名->成员名
D、结构体变量名.成员名
5、在 Turbo 2.0 中,若定义 char c;.则变量c 在内存中分配的字节数是( A )。
A.1 个 B .2 个 C.4 个 D.8 个
6、合法的 C 语言赋值语句是( D )。
A、a=b=58 B、k=int(a+b) C、a=58,b=58 D、+ + i
7、设有变量定义: int x=1,y=0;则表达式 x-->(y+x)?5:3 的值是(A )
A.3 B.5 C.0 D.1
8、C 语言规定:简单变量作实参时,它和对应形参之间的数据传递方式是( C )
A、由用户指定传递方式 B、地址传递
C、单向值传递 D、由实参传给形参,再由形参传回给实参
9、以下转义符中的表示“退格”的符号是( B )。
A.\n B.\b C.\t D.\f
10、下列运算符中优先级最高的运算符是( A )。
A、! B、% C、- = D、&&
11、下列程序段的输出结果是( C)。
x=9;
while(x>7)
{ printf("*");x--;}
A.**** B.*** C.** D.* 12、以下叙述不正确的是( D )
A、一个 C 源程序可由一个或多个函数组成
B、一个 C 源程序必须包含一个 main 函数
C、C 程序的基本组成单位是函数
D、在 C 程序中,main 函数可以被其他函数调用
13、结束 while(表达式)循环的条件是 (B )
A.当表达式的值为 0 时 B.当表达式的值不为 0 时
C.当表达式的值为 1 时 D.当表达式的值为非 1 时
14、为表示关系:x≥y≥z,应使用的 C 语言表达式是( A )。
A、( x > = y )&&( y > = z ) B、( x > = y ) AND ( y > = x )
C、( x > = y > = z ) D、( x > = y ) & ( y > = x )
15 定义一个变量使之保存值的范围是 0-65535,应该选择(A )类型。(2^16-1)
A.unsigned short int B. int
C.short int D.long int
16、下面不正确的字符串赋值或赋初值的方式是( A )
A、char str[7]; str[7]="string";
C、char str[ ]="string"; B、charstr[7]={'s','t','r','i','n','g'};
D、char str2[ ]="12345678";
17、请问:下面这个程序段的输出是( B )
int a,b,c;
a=7;b=8;c=9;
if(a>b)
a=b ; b=c ; c=a ;
printf("a=%d b=%d c=%d\n",a,b,c);
A、a=7 b=8 c=7 B、a=7 b=9 c=7 C、a=8 b=9 c=7 D、a=8 b=9 c=8
18、能正确表示逻辑关系:“a≥10 或 a≤0”的 C 语言表达式是( D)。
A.a>=10 or a<=0 B.a>=10| a<=0
C.a>=10 && a<=0 D.a>=10||a<=0
19、合法的数组定义是( B )
A、int a={1,2,3,4}; B、int a[5]={0,1,2,3,4}; C、int a[]=”string”; D、float
a[3]={1,2,3,4};
20、以下程序段共循环( A )次?
for(i=0;i<5;i++)
for(j=6;j>=1;j--)
{„„}
A、30 B、5 C、6 D、25
21、对以下说明语句的正确理解是( B )
int a[10]={6 ,7,8,9,10};
A、将 5 个初值依次赋给 a[1]至 a[5] B、将 5 个初值依次赋给 a[0]至 a[4]
C、将 5 个初值依次赋给 a[6]至 a[10] D、因为数组长度与初值的个数不相同,所以此语 句不正确
22、设有以下程序段:
int k=10;
while(k=0)
k=k-1;
则下面描述正确的是( C )
A、while 循环执行 10 次 B、循环是无限循环
C、循环体语句一次也不执行 D、循环体执行一次
23、C 语言中 while 与 do-while 循环的主要区别是( A )
A、do-while 的循环体至少无条件执行一次
B、while 的循环控制条件比 do-while 的循环控制条件严格
C、do-while 允许从外部转到循环体内
D、do-while 的循环体不能是复合语句
24、下面程序当输入 11 时,输出是( B )
main()
{ int sum=0,i;
scanf(“%d”,&i);
do
{ sum=sum+i;
i++; } while(i<=10);
printf(“sum=%d”,sum);
}
A、sum=0 B、sum=11 C、sum=55 D、没有结果
25、以下运算符中优先级最高的是( C(算术运算符) )。
A.&& B.+、- C.( ) D.%
二、填空题
1、C
语言中的标识符可分为
关键字 、用户标识符和预定义标识符三类。
2、C 语言规定,调用一个函数时,实参变量和形参变量之间的数据传递是 实参传递给形参。
3、指针变量是用来存放变量的 地址 ,用来指向另一个变量。
4、循环语句:for(k=1;k<=5;k++) 执行结束后,K 的值为 6 。
5、表达式“ 5.5+1/2 ”的计算结果是 5.5 。
6、C 语言中,数组元素的下标下限隐含为 0 。
7、写出下列矩阵的初始化语句
(1) x=
(2) y= 1 2
3 4
5 6
1 0 0
0 2 0
int x[3][2]={1,2,3,4,5,6};
int y[2][3]={1,0,0,0,2,0} 8、中止循环语句机构的命令是
break
。
9、for( i=0;i<=6;i++)
的循环次数为
7 。
10、一个 C 语言程序中必须存在的函数是 主函数。
11、若有以下整型的 a 数组,数组元素和它们的值如下所示:数组元素: a[0] a[1] a[2] a[3] a[4] a[5]
元素的值: 1 2 3 4 5 6
(1) 请写出对该数组的说明,并赋以上初值。
int a[6]={1,2,3,4,5,6};
(2) 该数组的最小下标值为 0 ,最大下标值为 5 。
(3) 写出下面各式的值: a[a[2]]的值为 4 ,a[a[0]+a[3]]的值为 6 。
12、定义函数时,默认的函数类型是 auto
13、C 语言中的逻辑运算符“ &&”比“||”的优先级 高 。
14、在函数外部定义的变量统称为 局部变量 。
15、数组中的每一个数组元素具有 相同 的名称, 不同 的下标。
16、若 a 是 int 型变量,则表达式((a=4*5,a*2),a+6)的值为 46 (,号运算取最后一个值)
17、C 语言中用 非 0 表示逻辑值“真”,用 0 表示逻辑值“假”。
18、若有定义: int x=3, y=2; float a=2.5,b=3.5;,则表达式 (x+y)%2+(int)a/(int)b
的值为 1
19、C 语言的语句都以 ; 结束。
20、在一个字符数组中,表示一个字符串结束的转义符为 '\n' 。
三、阅读下列程序,写出执行结果
1、main( )
{ int i,sum=0;
int a[3]={10,20,30};
for(i=0;i<3;i++)
sum=sum+a[i];
printf(“sum=%d\n”, sum); 结果:SUM=60
}
2、main( )
{ char c[ ]=”BASIC \nFoxbase”; 结果: BASIC
printf(“%s\n”,c); Foxbase
}
3、main( )
{ struct student