程序设计语言考试试题及答案
高职高专专用(时间100分钟,总分100分)
姓名:    学号    班级:
一、选择题(单选,每题2分,共40分)
1、    一个算法应该具有“确圧性”等五个特性,下面对另外4个特性的描述中错误的是(B)
A、有零个或多个输入    B、有零个或多个输岀    C、有穷性 D、可行性
2、    C语言中最简单的数据类型包括(B)
A、整型、实型、逻辑型 B、整型、实型、字符型
C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型
3、    设ab均为double型变量,且a5. 5b2. 5,则表达式(int)a+b/b的值是(D)
A6.500000    B6
C5.500000    D6.000000
4、    xyz被左义为int型变量,若从键盘给xyz输入数拯,正确的输入语句是(B)
AINPUT xyz;    Bscanf("$d%d%d", &x, &y, &z);
Cscanf ("%d%d$d", x, y, z); Dread("$d$d%d", &x, &y, &z);
5、    设 int x=l, y=l;表达式(!x y--)的值是(B)
A0 B1 C2 D-1
6、    对两个字符数组 a b 进行初始化 char a[]=”ABCDEF";char b[ ]={'A'.'B'C','D'.E,'F};则 以下叙述正确的是(D)
Aab数组完全相同    Bab长度相同
Cab中都存放字符串    Da数组比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) zx;
B、    if(x= =y) z0;
C、    if(x!=y) printfx) else printf("%d", y);
D、    if(x<y) { x++ ;y—;}
10、    若有说明:int a[3][4];则对a数组元素的非法引用是(D)
Aa[0] [2*1] Ba[l][3] Ca[4-2] [0] Da[0] [4]
11、    程序 char c[5]二{ 'a' , ' b' , ' \0' , ' c' c, ' \0' }; printf (“ s”c);}的运行 结果是(D)o
Aa ' b' Bab Cab c Dab
12、    一个C程序的执行是从(A)
A、    本程序的main函数开始,到main函数结束
B、    本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C、    本程序的main函数开始,到本程序文件的最后一个函数结束
D、本程序文件的第一个函数开始,到本程序main函数结朿
13、    若变量已正确定义,以下非法的表达式是(B)
A> a/=b+c Ba%(4. 0) Ca=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    Ba—2. 2 b—3    C2. 2 3    D2. 23
17、    表示关系12<=x<=yC语言表达式为:(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)
A4    B6    C5    D1
19、    设有如 F定义:struct janfint a; float b;}c2, *p;若有 p=&c2;!jc2 中的成员 a 的 正确引用是:(B)
A> (*p). c2. a    B(*p). a    Cp->c2. a    Dp. c2. a
20、    下列程序的输出结果是(C)o
main()
{ int a=7, b=5;
printf (z%d\nz\ b=b/a);
}
A > 5 B1 C0 D、不确定值
二、填空题(每题2分,共30分)
1、    一个C源程序中至少应包含一个    main 函数。
2、    a是整型变量,则执行表达式a25/3W3a的值为。2
3、    C语言中的数组必须先 定义    ,然后使用。
4、    如果需要从被调用函数返回一个函数值,被调用函数必须包含    return 语句。
5、    下而程序的运行结果是。
#include<stdio. h>
mainO
{ int i, x, y;
i=x=y=0;
do {++i;
if(i%2!=0)    {xx+i;i++;}
y=y+i++;
} while (i<=7);
printf ("x=%d, y二%d\n", x, y);
}
运行结果是:    x=l,y20
6、    引用C语言标准库函数,一般要用    文件包含    预处理命令将其头文件包含进来。
7、    在C语言程序中,符号常量的建义要使用 宏泄义    预处理命令。
8、    逻辑运算符!是 自右至左 结合性。
9、    在一个C源程序中,注释部分二侧的分界符为。    /*和*/
10、    C语言标识符由 字母、数字和下划线 来构造。
11、    若 int x=5 while (x>0) printf (    , x--);的循环执行次数为    5   
12、    若有说明和语句:int a=5> b6 , y=6 b-=a yp卄则by的值分别是
1、    20
13、    C程序设计的三种基本结构是顺序结构选择结构循环结构
14、    数组是表示类型相同的数据,而结构体则是若干    类型不同    数拯项的集
合。
15、    设x, y> z均为int型变量,请写出描述“xy中有一个小于z”的表达式。xz I yz
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=ap+2表示第2个元素的地址。(F )
四、    编程题(每题5分,共20分)
1、    汁算并输岀200-400之间不能被3整除的整数的和
#includestdio. 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个数,求和并输出。要求编写求和的函数。
#includestdio. h>
void mainO
int b(int x[], int n);
int sum^O;
int a[5]={l,2,3,4,5};
sumb (a, 5);
printf ("sum=%d\n", sum);
}
int b(int x[], int n)
{
int i,sum=0;
for(i=0;i<5;i 卄)
sumsum+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, sum0.0;
printf ("三个学生的总分和平均成绩依次为:\n");
for(i=0;i<3;i 卄)
{    sum0.0;
for(j=0;j<4;j++)
sum=sum+a[i] [ j];
average=sum/4;
printf (z% 2f, % 2f\n", sum, average);
}
}
4、    起泡法(选择法)对十个数排序
#includestdio. 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小时内删除。