程序设计语言考试试题及答案
高职高专专用(时间100分钟,总分100分)
姓名: 学号 班级:
一、选择题(单选,每题2分,共40分)
1、 一个算法应该具有“确圧性”等五个特性,下面对另外4个特性的描述中错误的是(B)
A、有零个或多个输入 B、有零个或多个输岀 C、有穷性 D、可行性
2、 C语言中最简单的数据类型包括(B)
A、整型、实型、逻辑型 B、整型、实型、字符型
C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型
3、 设a和b均为double型变量,且a二5. 5、b二2. 5,则表达式(int)a+b/b的值是(D)
A、6.500000 B、6
C、5.500000 D、6.000000
4、 x、y、z被左义为int型变量,若从键盘给x、y、z输入数拯,正确的输入语句是(B)
A、INPUT x、y、z; B、scanf("$d%d%d", &x, &y, &z);
C、scanf ("%d%d$d", x, y, z); D、read("$d$d%d", &x, &y, &z);
5、 设 int x=l, y=l;表达式(!x y--)的值是(B)。
A、 0 B、 1 C、 2 D、 -1
6、 对两个字符数组 a 和 b 进行初始化 char a[]=”ABCDEF";char b[ ]={'A'.'B;'C','D'.E,'F};则 以下叙述正确的是(D)。
A、a与b数组完全相同 B、a与b长度相同
C、a和b中都存放字符串 D、a数组比b数组长度长
7、 为了避免在嵌套的条件语句if 一一else中产生二义性,c语言规定:else子句总是与(B)
配对。
A、缩排位置相同的辻B、其之前最近的辻 C、其之后最近的if D、同一行上的辻
8、 下而不正确的字符串常量是(A)
A、'abc' B、"12'12" C、"0" D、” ”
9、 以下错误的if语句是(C) °
A、 if (x>y) z二x;
B、 if(x= =y) z二0;
C、 if(x!=y) printfx) else printf("%d", y);
D、 if(x<y) { x++ ;y—;}
10、 若有说明:int a[3][4];则对a数组元素的非法引用是(D)。
A、a[0] [2*1] B、a[l][3] C、a[4-2] [0] D、a[0] [4]
11、 程序 char c[5]二{ 'a' , ' b' , ' \0' , ' c' c, ' \0' }; printf (“ %s”,c);}的运行 结果是(D)o
A、a ' b' B、ab C、ab c D、ab
12、 一个C程序的执行是从(A)。
A、 本程序的main函数开始,到main函数结束
B、 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C、 本程序的main函数开始,到本程序文件的最后一个函数结束
D、本程序文件的第一个函数开始,到本程序main函数结朿
13、 若变量已正确定义,以下非法的表达式是(B)
A> a/=b+c B、a%(4. 0) C、a=l/2*(x=y=20, x*3) D. a=b=c
14、 判断字符串a是否大于b,应当使用(D)。
A^ if (a>b) B. if (strcmp(a, b)) C^ if (strcmp (b, a)>0) D. if (strcmp(a, b) >0)
15、 以下关于运算符优先顺序的描述中正确的是(C)°
A、 关系运算符<算术运算符<赋值运算符<逻辑与运算符
B、 逻辑与运算符<关系运算符<算术运算符〈赋值运算符
C、 赋值运算符<逻借与运算符<关系运算符<算术运算符
D、 算术运算符<关系运算符<赋值运算符<逻辑与运算符
16、 使用语句scanf( “a=%f,b二%d”,&a,&b);输入数据时,正确的数据输入是:(A)
A> a—2. 2, b—3 B、a—2. 2 b—3 C、2. 2 3 D、2. 2、3
17、 表示关系12<=x<=y的C语言表达式为:(B)
A、(12<=x)&(xUy) B、(12<=x)&&(x<=y) C、(12<=x) (x<=y) D、(12<=x) (x<=y)
18、 语句 for (a=0, b=0: b! =100&&a<5;a++) scanf ( u%dM , &b); scanf 最多可执行次数 为:(C)
A、4 B、6 C、5 D、1
19、 设有如 F定义:struct janfint a; float b;}c2, *p;若有 p=&c2;贝!j对 c2 中的成员 a 的 正确引用是:(B)
A> (*p). c2. a B、(*p). a C、p->c2. a D、p. c2. a
20、 下列程序的输出结果是(C)o
main()
{ int a=7, b=5;
printf (z,%d\nz\ b=b/a);
}
A > 5 B、1 C、0 D、不确定值
二、填空题(每题2分,共30分)
1、 一个C源程序中至少应包含一个 main 函数。
2、 a是整型变量,则执行表达式a二25/3W3后a的值为。2
3、 C语言中的数组必须先 定义 ,然后使用。
4、 如果需要从被调用函数返回一个函数值,被调用函数必须包含 return 语句。
5、 下而程序的运行结果是。
#include<stdio. h>
mainO
{ int i, x, y;
i=x=y=0;
do {++i;
if(i%2!=0) {x二x+i;i++;}
y=y+i++;
} while (i<=7);
printf ("x=%d, y二%d\n", x, y);
}
运行结果是: x=l,y二20
6、 引用C语言标准库函数,一般要用 文件包含 预处理命令将其头文件包含进来。
7、 在C语言程序中,符号常量的建义要使用 宏泄义 预处理命令。
8、 逻辑运算符!是 自右至左 结合性。
9、 在一个C源程序中,注释部分二侧的分界符为。 /*和*/
10、 C语言标识符由 字母、数字和下划线 来构造。
11、 若 int x=5; while (x>0) printf ( , x--);的循环执行次数为 5 。
12、 若有说明和语句:int a=5> b二6 , y=6 : b-=a : yp卄则b和y的值分别是
1、 20 。
13、 C程序设计的三种基本结构是顺序结构、选择结构、循环结构。
14、 数组是表示类型相同的数据,而结构体则是若干 类型不同 数拯项的集
合。
15、 设x, y> z均为int型变量,请写出描述“x或y中有一个小于z”的表达式。x〈z I y〈z
3.判断题(每题1分共10分)
1、 C语言程序总是从main()函数开始执行。(T )
2、 执行程序段 int a=-l,b=4, k;k=(++a<0)&&! (b~<=0) ;printf ( a%d %d %d\n” , k, a, b);
后的输出结果是004。( T )
3、 C语言程序由函数组成,它的主函数必须在其它函数之前,函数内可以嵌套左义函数。 (F )
4、 用C语言实现的算法可以没有输岀但必须要有输入。(F )
5、 C语言本身有输入输岀语句。(F )
6、 若有 int a[3][5]二{2, 2}, {2, 6}, {2, 6, 2}},则数组 a 共有 7 个元素。(F )
7、 int 3=24; printf (^%0 a );输出结果是 30© ( T )
8、 C语言允许函数值类型缺省泄义,此时该函数值隐含的类型是整形。(T )
9、 在C语言中,字符串常量是用双引号括起来的一串字符。(T )
10、 若有inta[5], *p=a;则p+2表示第2个元素的地址。(F )
四、 编程题(每题5分,共20分)
1、 汁算并输岀200-400之间不能被3整除的整数的和
#include〈stdio. h>
void mainO
{ int i, sum=0;
for(i=200;i<=400;i++)
if(i%3!=0)
sum=sum+i;
printf (,z%d\n/z, sum);
}
2、 输入5个数,求和并输出。要求编写求和的函数。
#include〈stdio. h>
void mainO
int b(int x[], int n);
int sum^O;
int a[5]={l,2,3,4,5};
sum二b (a, 5);
printf ("sum=%d\n", sum);
}
int b(int x[], int n)
{
int i,sum=0;
for(i=0;i<5;i 卄)
sum二sum+x[i];
return sum;
}
3、 输入 3 个学生 4 门课的成绩{(60,70,65,75), (75,80,75,90), (95, 75,90,65)},计算每个 学生的总分和平均成绩并输出,结果保留一位小数
#include<stdio. h>
void mainO
{ int a [3] [4] = {{60, 70, 65, 75}, {75, 80, 75, 90}, {95, 75, 90, 65}};
int i, j;
float average, sum二0.0;
printf ("三个学生的总分和平均成绩依次为:\n");
for(i=0;i<3;i 卄)
{ sum二0.0;
for(j=0;j<4;j++)
sum=sum+a[i] [ j];
average=sum/4;
printf (z,%・ 2f, %・ 2f\n", sum, average);
}
}
4、 起泡法(选择法)对十个数排序
#include〈stdio. h>
void mainO
{
以下()是不正确的字符串常量int i, j, t;
int a[10];
printf ("请输入 10 个数:\n");
for(i=0;i<10;i++)
scanf f &a[i]);
for(j=0;j<9;j++)
for(i=0;i<9-j;i++)
if(a[i]>a[i+ll)
t=a[i]; a[i]=a[i+l]; a[i+l]=t;
}
for(i=0;i<10;i++)
printf (/z%d ”, a[i]); printf (,z\nz,);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论