C语言程序设计1-2
- 格式:pdf
- 大小:250.91 KB
- 文档页数:8


1、在C语言中,合法的字符常量是( )。
A.'字' B."A" C."ABC" D.'\x41'
2、 下面叙述正确的是( )。
A.程序中必须包含有输入语句 B.变量按所定义的类型存放数据
C.main函数必须位于文件的开头 D.每行只能写一条语句
3、 错误的叙述是( )。
A.一个C语言源程序可由一个或多个函数组成
B.若一条语句较长,也可分写在下一行上
C.C程序必须包含一个main()函数
D.构成C语言源程序的基本单元是算术表达式
4、 ( )是关于C语言数据类型的正确叙述。
A.变量必须先定义后使用 B.不允许使用空类型
C.枚举类型不是基本类型 D.数组并不是构造类型
5、 main( )函数的位置( )。
A.必须在自定义函数前面 B.可以在自定义函数后面
C.必须位于程序的最前面 D.必须在自定义函数后面
6、 C语言函数体由( )括起来。
A.<> B.( ) C.{ } D.[ ]
7、( )是不正确的叙述。
A.注释说明只能位于一条语句的后面 B.C源程序的基本组成单元是函数
C.C源程序可由一个或多个函数组成 D.每条语句最后必须有一个分号
8、 一个C语言源程序是由( )。
A.一个主程序和若干子程序组成 B.函数组成 C.若干过程组成 D.若干子程序组成
9、 结构化程序设计的三种基本结构是( )。
A.函数结构、判断结构、选择结构 B.平行结构、嵌套结构、函数结构
C.顺序结构、选择结构、循环结构 D.判断结构、嵌套结构、循环结构
10、 C源程序的调试是指对源程序进行( )。
A.录入与编辑 B.查错与编译 C.查错与排错 D.连接与运行
1、 C语言中,可将一系列语句置于一对( )之间从而构成复合语句。
A.尖括号"<>" B.圆括号"( )"C.花括号"{}" D.方框号"[ ]"
一、选择题(共20分,每小题2分)
题目1
当处理特定问题时的循环次数已知时,通常采用的语句是( )。
选择一项:
a. for
b. while
c. do-while
d. switch
正确答案是:for
题目2
在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是( )。
选择一项:
a. for
b. if
c. do
d. while
正确答案是:if
题目3
for语句能够被改写成的语句是( )。
选择一项:
a. 复合
b. if c. switch
d. while
正确答案是:while
题目4
下面循环语句执行结束后输出的i值为( )。
for(int i=0; in/2) {cout<
选择一项:
a. n/2
b. n/2+1
c. n/2-1
d. n-1
正确答案是:n/2+1
题目5
在下面循环语句中,内层循环体S语句的执行总次数为( )。
for(int i=0; i
for(int j=i; j
选择一项:
a. n2
b. (n+1)/2
c. n(n-1)/2
d. n(n+1)/2
正确答案是:n(n+1)/2
题目6 在下面的do循环语句中,其循环体被执行的次数为( )。
int i=0; do i++; while(i*i<10);
选择一项:
a. 4
b. 3
c. 5
d. 2
正确答案是:4
题目7
在下面的一维数组定义中,有语法错误的选项是( )。
选择一项:
a. int a[]={1,2,3};
b. int a[10]={0};
c. int a[];
d. int a[5];
正确答案是:int a[];
题目8
在下面的二维数组定义中,语法正确的选项是( )。
. . 一、选择题(共20分.每小题2分)
题目1
当处理特定问题时的循环次数已知时.通常采用的语句是( )。
选择一项:
a. for
b. while
c. do-while
d. switch
正确答案是:for
题目2
在switch语句的每个case块中.假定都是以break语句结束的.则此switch语句容易被改写成的语句是( )。
选择一项:
a. for
b. if
c. do
d. while
正确答案是:if
题目3
for语句能够被改写成的语句是( )。
选择一项:
a. 复合
b. if . . c. switch
d. while
正确答案是:while
题目4
下面循环语句执行结束后输出的i值为( )。
for(int i=0; in/2) {cout<
选择一项:
a. n/2
b. n/2+1
c. n/2-1
d. n-1
正确答案是:n/2+1
题目5
在下面循环语句中.内层循环体S语句的执行总次数为( )。
for(int i=0; i
for(int j=i; j
选择一项:
a. n2
b. (n+1)/2
c. n(n-1)/2
d. n(n+1)/2
正确答案是:n(n+1)/2
题目6 . . 在下面的do循环语句中.其循环体被执行的次数为( )。
int i=0; do i++; while(i*i<10);
选择一项:
a. 4
b. 3
c. 5
d. 2
正确答案是:4
题目7
在下面的一维数组定义中.有语法错误的选项是( )。
选择一项:
a. int a[]={1,2,3};
二级C语言-1-2
(总分:81.00,做题时间:90分钟)
一、{{B}}选择题{{/B}}(总题数:35,分数:51.00)
1.以下程序的输出结果是______。
int f()
{ static int i=0;
int s=1;
s+=i; i++;
return s;
}
main()
{ int i, a=0;
for(i=0; i<5; i++)
a+=f();
printf("% d/n", a);
A. 20
B. 24
C. 25
D. 15
(分数:2.00)
A.
B.
C.
D. √
解析:[解析] 函数f中变量i为静态变量,函数f调用结束后变量i所占据的存储单元不会释放,而在主函数中f被调用5次,具体过程如下: 第1次调用f:s=s+i=1+0=1,i=i+1=1,主函数中a=a+f()=0+1=1 第2次调用f:s=s+i=1+1=2,i=i+1=2,主函数中a=a+f()=1+2=3 第3次调用f:s=s+i=1+2=3,i=i+1=3,主函数中a=a+f()=3+3=6 第4次调用f:s=s+i=1+3=4,i=i+1=4,主函数中a=a+f()=6+4=10 第5次调用f:s=s+i=1+4=5,i=i+4=5,主函数中a=a+f()=10+5=15 所以printf语句的输出结果为15。
2.下列程序段的输出结果为{{U}} {{/U}}。
#include<stdio.h>
main()
{ static char a[]="language";
char *p;
p=a;
for(p=a;p<a+8;p+=2)
putchar(*p);
}
A. language
B. lnug
C. 有语法错误
D. lang
(分数:2.00)
A.
B. √
C.
D.
解析:[解析] 本程序首先定义了静态字符数组a,然后将指针p指向数组a的首地址。