高级语言程序设计(一)2016年10月真题及答案解析
-
从键盘为二维整型数组a输入数据,输出该二维数组的转置b。
#include
#define M 2
#define N 3
void main()
{
int a[M][N], b[N][M], i, j;
printf("二维数组a:\n");
for(i-0; i
{ for(j=0; j
{ scanf("%d",_______); /*第一空*/
printf("%5d",a[i][j]);
_______=a[i][j]; /*第二空*/
}
printf("\n");
}
printf("二维数组b:\n");
for(i=0; i<_______; i++) /*第三空*/
{ for(j=0; j
printf("\n");
}
}
-
(1)编写函数f计算的值。
(2)编写主函数,从键盘输入x和n的值,调用函数f计算并输出结果(保留两位小数)。
-
从键盘输入一串字符(以#作为结束标志)显示到屏幕上并写入文本文件ch.txt。
-
键入一串字符,以回车换行符为结束标志,统计并输出其中小写英文字母的个数。
#include
void main()
{
char letter;
int sum=_______; /*第一空*/
while((letter=getchar())!='\n')
if(_______) sum++; /*第二空*/
printf("小写英文字母个数sum=%d\n",_______); /*第三空*/
}
-
计算某学生三门课的平均成绩并输出。
#include
typedef struct student
{
char name[20];
float math, physics, chemistry, average;
}_______; /*第一空*/
void main()
{
STU s={"ZhangSan", 88.5, 90.0, 73.0};
s.average=_______; /*第二空*/
printf("平均成绩=%.1f\n",_______); /*第三空*/
}
-
#include
void main()
{
int i=10, j=0;
switch (i%3)
{ case 0: i--; j++;
case 1: --i; ++j; break;
default: ++i; j--;
}
printf("i=%d, j=%d\n", i, j);
}
-
#include
void main()
{
int i;
char *strp="****";
for(i=0; i<4; i++) printf("%s\n", strp+i);
}
-
#include
int i=1;
int fun(int j)
{
return (++i+j);
}
void main()
{
int j;
for(j=1; j<=3; j++) printf("%d\n", fun(j));
}
-
使用系统函数getchar( )和putchar( )时,用到的文件包含命令县_______。
-
#includevoid main()
{
int j;
char *color[]={"red", "yellow", "blue", "black", "white"};
for( j=0; j<5; j+=2) printf("%s\n", color[j]);
}
-
设int p=1,q=2,r=3;,表达式p>q
-
函数调用时参数传递方式除地址传递外,还有_______。
-
系统函数int rewind(FILE *fp)的功能是_______。
-
设struct { int a; float b; } c, *p=&c;,用指针引用成员b的方式是p->b或_______。
-
设float m=8.8; int n=6;,执行语句printf("%d\n", (int)m+n);后输出结果是_______。
-
三种逻辑运算符的优先级又高到低依次是_______。
-
设char s[10]= "Olympic";,执行语句printf("%d\n",sizeof(s));后输出结果是_______。
-
执行语句printf("%d\n", 8>>2);后的输出结果是_______。
-
设int n=11;,表达式n%5+n%7的值是_______。
-
当打开文件出现错误时,系统函数fopen( )的返回值是( )
- A.1
- B.-1
- C.非0
- D.NULL
-
设int u=1, *p;,下列语句正确的是( )
- A.p=&u;
- B.p=u;
- C.&p=u;
- D.u=&p;
-
设char ch=65;,下列语句错误的是( )
- A.printf("%f\n", ch);
- B.printf("%c\n", ch);
- C.printf("%d\n", ch);
- D.printf("%x\n", ch);
-
正确定义一维数组的是( )
- A.char s(20);
- B.int n=20; char s[n];
- C.#define N 20
- char s[N];
- D.int n; scanf("%d", &n);
- int s[n];
-
设float w=0; int x=1, y=2; char z='3';,下列语句错误的是( )
- A.switch(x) { case 0:
- case 1:
- case 2:
- default: ; }
- B.switch(y) { case 0:
- case 1:
- case 2:
- default: ; }
- C.switch(z) { case 0:
- case 1:
-
下列不是递归函数的是( )
- A.int t(int n) { if(n==0) return 0;
- else return (n-1); }
- B.int t(int n) { if(n==0) return 0;
- else return t(n-1); }
- C.int t(int n) { if(n==0) return 0;
- else return n+t(n-1); }
- D.int t(int n) { if(n==0) return 1;
- else return n*t(n-1); }
-
设int s[3] [4]={1,2,3,4,5,6};,值为2的数组元素是( )
- A.s[0] [0]
- B.s[0] [1]
- C.s[1] [0]
- D.s[1] [1]
-
关于函数正确的说法是( )
- A.函数必须有返回值
- B.函数可以嵌套定义
- C.返回值可以是指针类型
- D.函数必须有形式参数
-
函数中定义的变量类型可以是( )
- A.auto型
- B.static型
- C.register型
- D.以上三种类型
-
do{…)while(表达式)中“表达式”的类型是( )
- A.任意的
- B.关系的
- C.算术的
- D.逻辑的
-
设int a=1, b=2;,能将a的值赋给b的表达式是( )
- A.a=b
- B.b+=a
- C.a||(b=a)
- D.a&&(b=a)
-
设int a=0;,循环次数为无限的语句是( )
- A.while(a);
- B.for(a; a; a);
- C.for(a; a==0;);
- D.do{a++;} while(-a);
-
设int a, b;,表达式a=2, b=5, --a+b的值是( )
- A.5
- B.6
- C.7
- D.8
-
正确的C语言整型常数是( )
- A.3
- B.3.0
- C.1E0
- D.false
-
C语言的保留字(又称关键字)是( )
- A.add
- B.main
- C.real
- D.typedef