当前位置:
文档之家› C程序设计3套真题试卷及答案
C程序设计3套真题试卷及答案
DB
B
C
D
1、下列关于 C 语言的叙述中正确的是(D)。
A) C 程序可只能是一个函数
B) 注释说明只能位于一条语句的后面
C) C 程序的运行开始是从第一个函数开始 D) C 程序必须包含一个 main()函数
2、C 语言源程序文件经过 C 编译程序编译连接之后生成一个后缀为( C )的文件。
A) .c
4、执行语句“s=2;for(i=1;i<8;i++) {s+=i;i+=2; }"后,s 值为______。(第 5 章)
}
5、在执行如下语句后,s 的值是_________。(第 6 章) int a[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0; for (i=0;i<5;i++) s=s+a[b[i]];
一、单项选择题(每小题 2 分,共 30 分)
1
2
3
4
5
6
7
8
9 10
BA
C
B
D
C
D
C
B
D
11 12 13 14 15
AB
C
D
B
1、一个 C 语言程序总是从 ( )开始执行。(第 1 章)
A) 函数
B) 主函数
C) 子函数
D) 其他函数
2、下列选项中不属于算法的特点的是( )(第 2 章)
A) 及时性
第1空 n
第 2 空 s%i= =0
第 3 空 int a[]
第 4 空 a[i]=a[n-i-1]
1、求 Sn=a+aa+aaa+...+aa...a 之值,其中 a 是一个数字。 例如 2+ 22 +222+2222 ( 此时 n=4),n 由键盘输入。(第 4 和 5 章)
int main()
2
(2) }while(n<200)
if (n%5==0) }while(n<200);
1、(第 3 章) include <stdio.h> int main(){
int X; x=3;
四、程序分析题,根据下列程序,写出其运行结果。(每小题 4 分,
共 12 分)
1、(第 3 章)
int main() { float x; int i;
课程名称:《C 语言程序设计》
flag=0; break; } }
if (flag==1) printf("%d 是素数\n",n);
else printf("%d 不是素数\n",n);
return 0; }
(2) #include <stdio.h>
int main() {
int n,i; int flag; scanf("%d",&n); flag=1; for (i=2;i<=n/2;i++) {
B) 有效性
C) 有穷性
D) 确定性
3、下列标识符中,合法的用户标识符为( )。(第 3 章)
A) $abc
B) a 10
C) print
D) a+b
4、下面运算符优先级最低的是(
)。(第 3 章)
A) ++
B) =
C) +
D) >
5、若变量已正确定义,执行语句 scanf ("x=%d,y=%d",&x,&y);若要求 x、y 的值分别为 3 和 4,正确的数据输入是( )。(第 3 章)
A)0
B)1
C)2
D)3
10、若有定义 int a[10],i=4;则对数组元素的非法引用是( )。(第 6 章)
A) a[2*3]
B) a[0]
C) a[i]
D) a[10]
11、以下能正确定义数组并正确赋字符串初值的语句是( )。(第 6 章)
A) char s[10];s="test";
B) char s[]={’t’,’e’,’s’,’t’};
if (n%i==0) {
试卷:共 5 页第 4 页 适用专业:13 软件工程、网络工程、物联网工程专业
2、编写程序,对 N 个整数排序并输出。N 个整数和 N 在主程序中输入,最后在主函数中
输出。(要求使用指针变量指向数组的方法) 参考答案 #include <stdio.h> #define N 50
{
int a,n,count=1,Sn=0,Tn=0;
printf("请输入 a 和 n 的值:\n");
scanf("%d,%d",&a,&n);
while (count<=【第 1 空】)
{ Tn= Tn+a;
Sn=【第 2 空】;
a=a*10;
count++;
}
printf("a+aa+aaa+...=%d\n",Sn);
D) 函数的定义和函数的调用均可以嵌套
13、以下所列的各函数首部定义中,正确的是( )。(第 7 章)
A) void play(a,b)
B) void play(int a,b)
C) void play(int a,int b)
D) void play(int a,int b);
14、若 int x ,*p=&x; ,则正确的赋值表达式是( )。(第 8 章)
A) if (c<a) x=1; else x=3;
B) if (a<3) x=3; else x=1;
C) if (b<3 || a>3) x=c; else x=1;
D) if (a<b && a>3) x=c; else x=a;
8、程序段如下:则以下说法中正确的是( )。(第 5 章)
int k=-20; while(k=0) k=k+1;
int main() {
int *p,a[N]; int i,j,n; int t; scanf(“%d”,&n); for (i=0;i<n;i++)
scanf("%d",&a[i]); p=a; for (i=0;i<n-1;i++) {
for (j=0;j<n-i;j++) if (*(p+j)>*(p+j+1)) { t=*(p+j); *(p+j)=*(p+j+1); *(p+j+1)=t; }
A) 3 4
B) 3,4
C) x=3 y=4
D) x=3,y=4
6、若 x=2,y=3,则条件表达式 x>y?x:y 的结果为( )。(第 4 章)
A) 0
B) 2
C) 3
D) 1
7、有定义语句:int a=1,b=2,c=3,x;,则以下选项中各程序段执行后,x 的值不为 3 的
是( )。(第 4 章)
A) p=4
B) &x=4;
C) &p=4;
D) *p=4;
15、执行以下程序段的输出结果是( )。(第 8 章)
int a[5]={1,2,3,4,5},*p=&a; printf("%d",*(p++));
A) 0
B) 1
C) 2
D)3
试卷:共 5 页第 1 页 适用专业:13 软件工程、网络工程、物联网工程专业
C) char s[20]= "test";
D) char s[4]={ ’t’,’e’,’s’,’t’};
12、在 C 语言程序中,以下描述正确的是( )。(第 7 章)
A) 函数的定义可以嵌套,但函数的调用不可以嵌套
B) 函数的定义不可以嵌套,但函数的调用可以嵌套
C) 函数的定义和函数的调用均不可以嵌套
1
2
3
4
5
6
7
8
9 10
DC
A
B
D
B
D
A
B
A
11 12 13 14 15
A) int
B) float
C) double
D) void
11、在 C 语言程序中,在函数内部定义的变量称为( D )。
A) 动态变量
B) 静态变量
C) 外部变量
D) 内部变量
12、下列语句定义 p 为指向 float 类型变量 d 的指针,其中哪一个是正确的( B )。
printf("%d",n);
2、若 a=5,b=6,c=7,d=8,则表达式 d=a/2 && b==c||!a 的值为________。(第 3 章)
}while(n<200)
3、执行语句“x=3; y=4; n=(x>y)?x++:y--;"后,变量 n 值为______。(第 4 章)
return 0;
B) .obj
C) a.#e1x0e
三、程序改错题。指出下列程序错误代码并改正,使其能正确运行。(每
题只有 2 处错,指出 1 处得 1 分,改正得 2 分,每处 3 分,共 12 分)
题号
错误代码
改正后
(1) include <stdio.h> 1 (2) int X;